Forwarded from { между скобок } анонсы 📣
Архитектурная ката: support сервис | Саша Поломодов, Сергей Баранов, Игорь Антонов, Паша Лакосников
Проектируем масштабируемую и отказоустойчивую систему поддержки клиентов, работающую через чат. Разбираемся как обеспечить связь клиента и оператора поддержки в режиме реального времени с минимальными задержками.
Полезные ссылки
- https://t.me/antonovjs
- https://t.me/book_cube
- @TellMeAboutTech
- https://archdays.ru/
- Объединение ИТ-Архитекторов https://t.me/ru_arc?roistat_visit=299360
- https://storming.ru/?roistat_visit=299360
- https://regexcrossword.com/
- https://www.rabbitmq.com/
- Хорошее видео про event storming https://youtu.be/r5M3lJ9IHMI?si=YYju5NQnIzYlBBRw
- http://agilemindset.ru/микросервисы/
Видео уже на YouTube
Проектируем масштабируемую и отказоустойчивую систему поддержки клиентов, работающую через чат. Разбираемся как обеспечить связь клиента и оператора поддержки в режиме реального времени с минимальными задержками.
Полезные ссылки
- https://t.me/antonovjs
- https://t.me/book_cube
- @TellMeAboutTech
- https://archdays.ru/
- Объединение ИТ-Архитекторов https://t.me/ru_arc?roistat_visit=299360
- https://storming.ru/?roistat_visit=299360
- https://regexcrossword.com/
- https://www.rabbitmq.com/
- Хорошее видео про event storming https://youtu.be/r5M3lJ9IHMI?si=YYju5NQnIzYlBBRw
- http://agilemindset.ru/микросервисы/
Видео уже на YouTube
YouTube
Архитектурная ката: support сервис | Саша Поломодов, Сергей Баранов, Игорь Антонов, Паша Лакосников
Проектируем масштабируемую и отказоустойчивую систему поддержки клиентов, работающую через чат. Разбираемся как обеспечить связь клиента и оператора поддержки в режиме реального времени с минимальными задержками.
Если вы хотите принять участие в архитектурной…
Если вы хотите принять участие в архитектурной…
Forwarded from НейроБаза | Алексей Яндутов
Промт (текстовый запрос):
“Ты выступаешь в роли моего персонального коуча по автоматизации рабочих задач с использованием нейросетей. Наша цель — найти рутинные задачи в моей работе, которые можно автоматизировать с помощью ChatGPT, чтобы сэкономить время и повысить эффективность.
Твой стиль работы:
Дружеский и поддерживающий, чтобы не перегружать меня лишней информацией.
Подавай советы короткими и конкретными блоками, без сложных терминов.
Задавай по одному вопросу за раз, чтобы мне было легко отвечать.
Как будем работать:
Начни с 2-3 простых вопросов, чтобы узнать, какие повторяющиеся задачи я выполняю на работе.
На каждый мой ответ предлагай конкретные советы:
Как именно ChatGPT может помочь мне автоматизировать эту задачу.
Какие инструменты или методы можно использовать.
После первых шагов предложи углубиться в детали или уточнить задачи.
Примеры вопросов для начала:
Какие задачи ты выполняешь каждый день, которые отнимают много времени?
Есть ли задачи, которые требуют много ручного труда или повторений?
С какими типами документов или данных ты работаешь чаще всего?
Важно: Не перегружай меня большим количеством информации сразу. Показывай ценность нейросетей через простые и понятные шаги. Мы будем идти от простого к сложному.
”
“Ты выступаешь в роли моего персонального коуча по автоматизации рабочих задач с использованием нейросетей. Наша цель — найти рутинные задачи в моей работе, которые можно автоматизировать с помощью ChatGPT, чтобы сэкономить время и повысить эффективность.
Твой стиль работы:
Дружеский и поддерживающий, чтобы не перегружать меня лишней информацией.
Подавай советы короткими и конкретными блоками, без сложных терминов.
Задавай по одному вопросу за раз, чтобы мне было легко отвечать.
Как будем работать:
Начни с 2-3 простых вопросов, чтобы узнать, какие повторяющиеся задачи я выполняю на работе.
На каждый мой ответ предлагай конкретные советы:
Как именно ChatGPT может помочь мне автоматизировать эту задачу.
Какие инструменты или методы можно использовать.
После первых шагов предложи углубиться в детали или уточнить задачи.
Примеры вопросов для начала:
Какие задачи ты выполняешь каждый день, которые отнимают много времени?
Есть ли задачи, которые требуют много ручного труда или повторений?
С какими типами документов или данных ты работаешь чаще всего?
Важно: Не перегружай меня большим количеством информации сразу. Показывай ценность нейросетей через простые и понятные шаги. Мы будем идти от простого к сложному.
”
Forwarded from НейроБаза | Алексей Яндутов (Alexey Yandutov)
Как создать подкаст за минуту и учиться быстрее
Месяц назад разбирал статьи по NLP, чтобы рассказать на семинаре поиска в Яндексе. На котором еженедельно делаем доклады по последним научным статьям по нейронкам.
📌 Статья meta про подход обучения моделей, которые пишут код. Сгенерированный код запускается на каждой итерации, а результат (ошибки или пройденные тесты) используется как обратная связь. Это похоже на то, как мы учимся программировать: пишем, видим ошибки и тесты, исправляемся.
Но суть не в этом, понятнее расскажет подкаст выше
При чтении статьи вспомнил про NotebookLLM, где можно залить длинные документы, видео, аудио и презентации, и модель Gemini от Google ответит по ним. Но эффект “вау” в том, что можно создать живой подкаст по вашим документам!
📌 Оставил в посте кусочек оригинала подкаста и перевод на русский, созданный через ElevenLabs (правда перевод потерял свою живость). Ощущение как будто слушаешь шоу, хотя это глубокая техническая статья. Конечно, детали опущены, но так объяснить популярным языком — я бы не смог.
Где может быть полезно:
- Учёба и исследования: помогает постепенно погружаться в материал
- Английский: создавайте и слушайте подкасты о том, что нравится. Мой репетитор была в восторге и сказала, что посоветует ученикам
- Брейншторм и новые идеи
📍 Кстати это бесплатно: чтобы сделать подкаст достаточно зайти на NotebookLLM, нужен только впн.
Забавно поделать подкасты на абсурдные темы.
Кто попробовал, напишите - на какую тему сделали и как вам?
Месяц назад разбирал статьи по NLP, чтобы рассказать на семинаре поиска в Яндексе. На котором еженедельно делаем доклады по последним научным статьям по нейронкам.
Но суть не в этом, понятнее расскажет подкаст выше
При чтении статьи вспомнил про NotebookLLM, где можно залить длинные документы, видео, аудио и презентации, и модель Gemini от Google ответит по ним. Но эффект “вау” в том, что можно создать живой подкаст по вашим документам!
Где может быть полезно:
- Учёба и исследования: помогает постепенно погружаться в материал
- Английский: создавайте и слушайте подкасты о том, что нравится. Мой репетитор была в восторге и сказала, что посоветует ученикам
- Брейншторм и новые идеи
Забавно поделать подкасты на абсурдные темы.
Кто попробовал, напишите - на какую тему сделали и как вам?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ML Advertising
У меня наконец дошли руки до LLM. Поэтому по мере их изучения буду делиться заметками по теме.
Сегодня начнем с теории: Что такое базовые (base) и инструктивные (instruct) модели?
▶ Базовые LLM
Эти модели обучаются на больших объемах текстовых данных. Они обладают обширными знаниями об языке и умеют генерировать текст на высоком уровне. Но их основная задача — просто предсказать следующий токен (слово) в заданном контексте. В связи с чем, они не очень "умны" и плохо следуют указаниям. Например, при запросе «Cтолица Франции?» базовая LLM может выдать: «Столица Индии?».
▶ Инструктивные LLM
Это базовые LLM дообученные на различных NLP задачах, в режиме supervised с помощью инструкций. Инструкции эти задаются на естественном языке и имеют вид пар: запрос - правильный ответ. В результате такого обучения LLM гораздо лучше выполняют указания и больше подходят для практического применения (QnA-системы, чат-боты, различные AI-асситенты и т.д.). И они уже на вопрос «Столица Франции?» скорее ответят «Париж» или «Столица Франции — Париж».
Так зачем выпускают базовые модели если инструктивные гораздо полезнее? Базовая модель предназначена для того, чтобы вы смогли дообучить ее под свои задачи или датасет.
Примеры:
- Gemma 2: google/gemma-2-9b и google/gemma-2-9b-it
- Qwen2: Qwen/Qwen2-7B и Qwen/Qwen2-7B-Instruct
Также на Толоке есть интересная статья с подробным описанием base vs instruct LLMs.
Сегодня начнем с теории: Что такое базовые (base) и инструктивные (instruct) модели?
▶ Базовые LLM
Эти модели обучаются на больших объемах текстовых данных. Они обладают обширными знаниями об языке и умеют генерировать текст на высоком уровне. Но их основная задача — просто предсказать следующий токен (слово) в заданном контексте. В связи с чем, они не очень "умны" и плохо следуют указаниям. Например, при запросе «Cтолица Франции?» базовая LLM может выдать: «Столица Индии?».
▶ Инструктивные LLM
Это базовые LLM дообученные на различных NLP задачах, в режиме supervised с помощью инструкций. Инструкции эти задаются на естественном языке и имеют вид пар: запрос - правильный ответ. В результате такого обучения LLM гораздо лучше выполняют указания и больше подходят для практического применения (QnA-системы, чат-боты, различные AI-асситенты и т.д.). И они уже на вопрос «Столица Франции?» скорее ответят «Париж» или «Столица Франции — Париж».
Так зачем выпускают базовые модели если инструктивные гораздо полезнее? Базовая модель предназначена для того, чтобы вы смогли дообучить ее под свои задачи или датасет.
Примеры:
- Gemma 2: google/gemma-2-9b и google/gemma-2-9b-it
- Qwen2: Qwen/Qwen2-7B и Qwen/Qwen2-7B-Instruct
Также на Толоке есть интересная статья с подробным описанием base vs instruct LLMs.
toloka.ai
Base LLM vs. instruction-tuned LLM
Not all LLMs are built the same. Base LLMs and instruction-tuned LLMs are designed for different purposes and optimized for various applications. This article delves into the differences between these two types, their unique training methods, and use cases…
Forwarded from Quant Researcher
🚀 Торговля Вегой: Как использовать волатильность в своих стратегиях!
Наблюдая All-time high по BTC сразу вспоминается статья, как эффективно использовать Вегу в торговле опционами, особенно в условиях высокой implied-волатильности (IV).
📈 Почему Вега важна?
Вега измеряет, насколько цена опциона изменится при изменении implied-волатильности на 1%. Это критически важно, так как высокая IV указывает на ожидаемые значительные колебания цен. Важно помнить, что IV имеет разную волатильность в разных экспирациях.
⏳ Корректировка срока действия опционов в зависимости от волатильности:
Важно адаптировать вега-экспирации к уровню IV:
Высокая IV -> котроткие экспирации. Мы хотим владеть Гаммой вместо Веги, которая overpriced в момент высокой IV. Это позволяет заработать на повторном прыжке, так как цена опционов с короткой гаммой быстрее меняется, чем цена котрастов с далекой вегой.
Средняя IV -> плавный роллинг короткой гаммы в далекие вега-экспирации. Далекая вега на релаксации после прыжка может еще дорого стоить.
Никзая IV -> лучшее время покупать подешевевшую вегу.
В момент Vol-jump-а эта стратегия фиксирует профит и роллит позицию в коротку гамму. Это и есть динамическая long-vol стратегия, которая имеет ниже cost of carry, чем константный роллинг далеких экспираций.
Quant Researcher
Наблюдая All-time high по BTC сразу вспоминается статья, как эффективно использовать Вегу в торговле опционами, особенно в условиях высокой implied-волатильности (IV).
📈 Почему Вега важна?
Вега измеряет, насколько цена опциона изменится при изменении implied-волатильности на 1%. Это критически важно, так как высокая IV указывает на ожидаемые значительные колебания цен. Важно помнить, что IV имеет разную волатильность в разных экспирациях.
⏳ Корректировка срока действия опционов в зависимости от волатильности:
Важно адаптировать вега-экспирации к уровню IV:
Высокая IV -> котроткие экспирации. Мы хотим владеть Гаммой вместо Веги, которая overpriced в момент высокой IV. Это позволяет заработать на повторном прыжке, так как цена опционов с короткой гаммой быстрее меняется, чем цена котрастов с далекой вегой.
Средняя IV -> плавный роллинг короткой гаммы в далекие вега-экспирации. Далекая вега на релаксации после прыжка может еще дорого стоить.
Никзая IV -> лучшее время покупать подешевевшую вегу.
В момент Vol-jump-а эта стратегия фиксирует профит и роллит позицию в коротку гамму. Это и есть динамическая long-vol стратегия, которая имеет ниже cost of carry, чем константный роллинг далеких экспираций.
Quant Researcher
Forwarded from Нейронный Кот
OpenAI API лежал сегодня 4 часа
Это напоминание, что желательно настроить fallback на claude/gemini/etc, а не зависеть от одного провайдера
Openrouter, кстати, поддерживает автоматический фолбек — просто указываете список "запасных" моделей и он за вас все зароутит — https://openrouter.ai/docs/model-routing
Это напоминание, что желательно настроить fallback на claude/gemini/etc, а не зависеть от одного провайдера
Openrouter, кстати, поддерживает автоматический фолбек — просто указываете список "запасных" моделей и он за вас все зароутит — https://openrouter.ai/docs/model-routing
Forwarded from partially unsupervised
Почти в каждом deep learning-based продукте, над которым я работал, на каком-то этапе где-то сбоку появляется небольшая линейная модель, обучаемая отдельно, иногда даже на классических фичах. Она, конечно, не может решать основную сложную задачу, но внезапно сильно помогает с каким-нибудь корнеркейсом. Например:
- определять резкую смену контекста (и необходимость сбросить стейт),
- детектить потенциальные ошибки или аномалии,
- слегка уточнять результаты сложного пайплайна,
- роутить инпут между компонентами,
- заполнять недостающий параметр, если в API вдруг не приходит какое-то поле, а менять что-то на клиенте слишком дорого,
- подсвечивать потенциальные проблемы человекам in the loop.
Этой модели никогда нет в изначальном дизайне: если проблема была заметна изначально, она бы зачастую решалась элегантнее - например, добавлением дополнительной головы в основную модель. Она появляется, когда все вроде почти работает, и не хватает совсем чуть-чуть.
Вот сейчас у меня есть матрица расстояний в чем-то вроде матчинга, и нужно оценивать уверенность матча, потому что иногда лучше ответить ничего, чем неправильно. Сначала берешь собственно дистанцию, потом хочется добавить еще пару эвристик типа расстояние до second best кандидата, их нужно как-то взвешивать... Так что не надо брезговать классикой, и умение выжать лишний процент из линейной модели все еще полезно.
- определять резкую смену контекста (и необходимость сбросить стейт),
- детектить потенциальные ошибки или аномалии,
- слегка уточнять результаты сложного пайплайна,
- роутить инпут между компонентами,
- заполнять недостающий параметр, если в API вдруг не приходит какое-то поле, а менять что-то на клиенте слишком дорого,
- подсвечивать потенциальные проблемы человекам in the loop.
Этой модели никогда нет в изначальном дизайне: если проблема была заметна изначально, она бы зачастую решалась элегантнее - например, добавлением дополнительной головы в основную модель. Она появляется, когда все вроде почти работает, и не хватает совсем чуть-чуть.
Вот сейчас у меня есть матрица расстояний в чем-то вроде матчинга, и нужно оценивать уверенность матча, потому что иногда лучше ответить ничего, чем неправильно. Сначала берешь собственно дистанцию, потом хочется добавить еще пару эвристик типа расстояние до second best кандидата, их нужно как-то взвешивать... Так что не надо брезговать классикой, и умение выжать лишний процент из линейной модели все еще полезно.
Forwarded from Заметки Computer Vision инженера
После каждого видео о 3D камере кто-нибудь да спрашивает: "А какую 2D камеру мне выбрать?". Когда пускаешься в пространные размышления про оптику, типы матриц и протоколы, человек всё равно перебивает и говорит: "Не, ну вот у меня проект простой, что выбрать то?!". И понимаешь всё бессилие.
Ведь зачастую "настроить камеру" для стартапа это 50% от работы. Понять куда вешать, как крепить, куда подключать. Но не кажется эта задача сравнимой с "сделать супер крутой AI алгоритм". Так, на пол часа.
У меня на канале было несколько отдалённых видео на эту тему. Но какого-то всеобъемлющего гайда я всё не решался сделать. Но слово за слово, обсудив с несколькими товарищами - решил таки написать статью. Писал её последний месяц, медленно шла, структура часто менялась. Понимаю, что она неполна, внутренне противоречива. Но очень надеюсь что достаточна чтобы любой человек который взялся строить свою систему - примерно понимал что надо делать, с чего начинать, и какие ключевые слова есть.
Я попросил трех человек, которые хорошо разбираются в своих областях, накидать идей и покритиковать. Считаю что их идеи были очень классными и помогли мне заметить много пропущенных лакун. Но... Многие из этих идей противоречили друг другу. Что лишь показывает что тема реально сложная, и есть очень много взглядов на то как решать этот вопрос.
Итак.
1) Видео - https://youtu.be/5ZTO4PPQ9Uo
2) Статья - https://medium.com/@zlodeibaal/how-to-choose-a-camera-for-a-computer-vision-project-1da6490bb3dd
Если просмотров / прочтений будет достаточно много - продублирую на хабр. Но пока что на это сил не хватило:)
Ведь зачастую "настроить камеру" для стартапа это 50% от работы. Понять куда вешать, как крепить, куда подключать. Но не кажется эта задача сравнимой с "сделать супер крутой AI алгоритм". Так, на пол часа.
У меня на канале было несколько отдалённых видео на эту тему. Но какого-то всеобъемлющего гайда я всё не решался сделать. Но слово за слово, обсудив с несколькими товарищами - решил таки написать статью. Писал её последний месяц, медленно шла, структура часто менялась. Понимаю, что она неполна, внутренне противоречива. Но очень надеюсь что достаточна чтобы любой человек который взялся строить свою систему - примерно понимал что надо делать, с чего начинать, и какие ключевые слова есть.
Я попросил трех человек, которые хорошо разбираются в своих областях, накидать идей и покритиковать. Считаю что их идеи были очень классными и помогли мне заметить много пропущенных лакун. Но... Многие из этих идей противоречили друг другу. Что лишь показывает что тема реально сложная, и есть очень много взглядов на то как решать этот вопрос.
Итак.
1) Видео - https://youtu.be/5ZTO4PPQ9Uo
2) Статья - https://medium.com/@zlodeibaal/how-to-choose-a-camera-for-a-computer-vision-project-1da6490bb3dd
Если просмотров / прочтений будет достаточно много - продублирую на хабр. Но пока что на это сил не хватило:)
YouTube
Choosing a 2d camera for Computer Vision product: The Сomprehensive Guide
Article - https://medium.com/@zlodeibaal/how-to-choose-a-camera-for-a-computer-vision-project-1da6490bb3dd
Pavel - https://www.linkedin.com/in/pavelryabenko/
Yuriy - https://www.linkedin.com/in/yuriy-bukhtiyarov-74790b20/
Andrey - https://www.linkedin.c…
Pavel - https://www.linkedin.com/in/pavelryabenko/
Yuriy - https://www.linkedin.com/in/yuriy-bukhtiyarov-74790b20/
Andrey - https://www.linkedin.c…
Forwarded from Душный NLP
Как избавиться от Value-функции в PPO
Сегодня — о двух методах стабилизации PPO. Один вытекает из другого и каждому посвящена отдельная статья.
О PPO подробнее мы уже рассказывали в другом нашем канале — ML Underhood. Здесь же сосредоточимся на частностях. Традиционно в PPO считается некоторый advantage. Он вычисляется для пары префикса и ответа и показывает, на сколько конкретный ответ лучше среднего. Чтобы определить advantage нужно из суммарной награды префикса и ответа (Q в первой формуле выше) вычесть среднюю награду (V), которую генератор набрал бы, если бы стартовал с этого префикса.
Value-функцию принято обучать отдельной моделью на прогнозирование средних наград. Однако с V-моделью есть некоторые сложности. Во-первых, она большая и сопоставима по размерам с генератором. Во-вторых, её нужно инферить, на что требуются вычислительные ресурсы. А в-третьих, она обычно выдает не очень хорошие результаты. Поэтому было бы круто придумать способ избавиться от V-модели в PPO, ведь она нужна только для снижения дисперсии оценки лосса. Авторы обеих статей поставили перед собой именно эту задачу.
Авторы статьи DeepSeekMath предлагают метод, который называется Group Relative Policy Optimization (GRPO). В его рамках две модификации:
1. Не обучать V-модель. Вместо этого оценить значение средней награды методом Монте-Карло. Ничего сложного: вместо генерации одного ответа на запрос сгенерировать несколько ответов, а среднюю награду, полученную за эти ответы на запрос, использовать как V. При подсчете advantage из награды каждого ответа вычитается эта средняя награда. Таким образом, от V-модели избавляются с помощью увеличения количества генераций (схема на втором изображении).
2. В PPO используется KL-штраф за отклонение от SFT-модели. Обычно этот штраф вычитают из награды, чтобы PPO одновременно наращивал награду и не отходил далеко от SFT. Авторы предлагают добавлять штраф прямо к лоссу — это лишает нас каких-то интересных теоретических свойств алгоритма, но делает процедуру оптимизации намного легче (третье изображение с формулой).
Авторы второй статьи — VinePPO — опираются на DeepSeekMath и развивают GRPO в контексте математических задач. В GRPO, в отличие от классического PPO, V-функция для всех токенов ответа получается одинаковой. Так устроен алгоритм, ведь туда записана просто средняя награда за несколько ответов.
Для ответов, в которых есть цепочки рассуждений, это может быть не очень репрезентативно: при решении математических задач, удачный ход в рассуждении должен значимо повышать ожидаемую награду за ответ, тогда как ошибка в рассуждениях — наоборот, понижать.
Авторы предлагают разбивать ответ на смысловые блоки — по переносам строки. точкам или запятым, которые находятся вне формул — и для каждого из них оценивать V-функцию так же, как это делается в GRPO. То есть генерировать по несколько продолжений из частично готового ответа.
Хоть идея и проста, эффективно её реализовать довольно трудно. А ещё этот метод требует существенно большего числа генераций во время обучения. Авторы честно признаются, что их метод медленнее обычного PPO, но показывает неплохие результаты.
Разбор подготовил❣ Павел Темирчев
Душный NLP
Сегодня — о двух методах стабилизации PPO. Один вытекает из другого и каждому посвящена отдельная статья.
О PPO подробнее мы уже рассказывали в другом нашем канале — ML Underhood. Здесь же сосредоточимся на частностях. Традиционно в PPO считается некоторый advantage. Он вычисляется для пары префикса и ответа и показывает, на сколько конкретный ответ лучше среднего. Чтобы определить advantage нужно из суммарной награды префикса и ответа (Q в первой формуле выше) вычесть среднюю награду (V), которую генератор набрал бы, если бы стартовал с этого префикса.
Value-функцию принято обучать отдельной моделью на прогнозирование средних наград. Однако с V-моделью есть некоторые сложности. Во-первых, она большая и сопоставима по размерам с генератором. Во-вторых, её нужно инферить, на что требуются вычислительные ресурсы. А в-третьих, она обычно выдает не очень хорошие результаты. Поэтому было бы круто придумать способ избавиться от V-модели в PPO, ведь она нужна только для снижения дисперсии оценки лосса. Авторы обеих статей поставили перед собой именно эту задачу.
Авторы статьи DeepSeekMath предлагают метод, который называется Group Relative Policy Optimization (GRPO). В его рамках две модификации:
1. Не обучать V-модель. Вместо этого оценить значение средней награды методом Монте-Карло. Ничего сложного: вместо генерации одного ответа на запрос сгенерировать несколько ответов, а среднюю награду, полученную за эти ответы на запрос, использовать как V. При подсчете advantage из награды каждого ответа вычитается эта средняя награда. Таким образом, от V-модели избавляются с помощью увеличения количества генераций (схема на втором изображении).
2. В PPO используется KL-штраф за отклонение от SFT-модели. Обычно этот штраф вычитают из награды, чтобы PPO одновременно наращивал награду и не отходил далеко от SFT. Авторы предлагают добавлять штраф прямо к лоссу — это лишает нас каких-то интересных теоретических свойств алгоритма, но делает процедуру оптимизации намного легче (третье изображение с формулой).
Авторы второй статьи — VinePPO — опираются на DeepSeekMath и развивают GRPO в контексте математических задач. В GRPO, в отличие от классического PPO, V-функция для всех токенов ответа получается одинаковой. Так устроен алгоритм, ведь туда записана просто средняя награда за несколько ответов.
Для ответов, в которых есть цепочки рассуждений, это может быть не очень репрезентативно: при решении математических задач, удачный ход в рассуждении должен значимо повышать ожидаемую награду за ответ, тогда как ошибка в рассуждениях — наоборот, понижать.
Авторы предлагают разбивать ответ на смысловые блоки — по переносам строки. точкам или запятым, которые находятся вне формул — и для каждого из них оценивать V-функцию так же, как это делается в GRPO. То есть генерировать по несколько продолжений из частично готового ответа.
Хоть идея и проста, эффективно её реализовать довольно трудно. А ещё этот метод требует существенно большего числа генераций во время обучения. Авторы честно признаются, что их метод медленнее обычного PPO, но показывает неплохие результаты.
Разбор подготовил
Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM