Forwarded from rizzearch
Towards General-Purpose Model-Free Reinforcement Learning
Скотт Фуджимото может быть известен вам как один из пионеров современных рл методов - TD3 & TD3-BC, а так же он в принципе один из тех кто сильно продвинул область оффлайн рл (точнее model-free offline rl), когда она еще называлась батч рл
теперь, полагаю, ему надоело перебирать гиперпараметры под каждый бенчмарк чтобы vydrochit’ сота перформанс на каждом в отдельности, а захотелось отскейлить это дело созданием метода, который может выступать на около-сота уровне с фиксированным набором гиперпараметров для каждого бенчмарка
но если не хочется vydrachivat’ гиперпараметры → стоит vydrochit’ многие аспекты в пайплайне, как уже примерно делал первый автор улучшения TD3-BC → TD7 по state-action репрезентациям
только здесь пошло еще дальше: авторы добиваются такой генерализации (относительно перебора гиперпараметров) на model-free методе при помощи внедрения model-based идей (и не только) для получения cупер-пупер крутых репрезентаций
а именно
- состояния переводятся в латентное пространство (что проприоцепция, что пиксельные обсервейшны) при помощи энкодера + так же есть энкодер под состояния и действия одновременно (те самые state-action репрезентации)
- эти энкодеры обновляются в model-based стиле “анроллом динамики”: надо по горизонту восстанавливать награду, следующее латентное состояние и флаг терминальности (булево значение, которое показывает, закончился ли эпизод)
- при том последние 2 явления обучаются классически в мсе стиле, а награда восстанавливается по бинам при помощи twohot трансформации (она так же используется в дримере для предсказания реварда, да и в последнее время все чаще фигурирует как вид обучения критика через классификацию а не регрессию)
- критик же обучается через мульти-степ сумму наград по заранее выбранному горизонту
- а политика после всего этого оптимизируется в более-менее классическом стиле (разве что за нестандартный прием имхо можно посчитать гамбел софтмакс для дискретных действий)
- и это все в конце полируется тем, что семплы подаются на вход во время обучения при помощи буффера LAP, который выставляет приоритет при семплировании в соответствии с ошибкой критика (в терминологии рл это называется Temporal Difference error, TD error)
ну и вроде по экспериментам вырисовывается что-то интересное - хоть и не везде выбивается сота, но метод ощутимо находится на высоком уровне. и это все при том, что гиперпараметры не перебирались в отличие от других методов, хотя конечно остается вопрос точно ли авторы ничего не перебирали хотя бы чуть-чуть, или же как именно они решили выставить неизменяемую конфигурацию гиперов (например момент с exploration noise, значение которого они позаимствовали из предыдущих работ по d4rl, но не по атари)
а вообще в целом результаты довольно классные - еще бы такая концепция повторялась бы, если и обучать в мультитаск/мета стиле (ведь название статьи тоже на это может намекать в плане general-purpose RL), так еще и model-based это типа world models так что хайп бррррррр
👀LINK
Скотт Фуджимото может быть известен вам как один из пионеров современных рл методов - TD3 & TD3-BC, а так же он в принципе один из тех кто сильно продвинул область оффлайн рл (точнее model-free offline rl), когда она еще называлась батч рл
теперь, полагаю, ему надоело перебирать гиперпараметры под каждый бенчмарк чтобы vydrochit’ сота перформанс на каждом в отдельности, а захотелось отскейлить это дело созданием метода, который может выступать на около-сота уровне с фиксированным набором гиперпараметров для каждого бенчмарка
но если не хочется vydrachivat’ гиперпараметры → стоит vydrochit’ многие аспекты в пайплайне, как уже примерно делал первый автор улучшения TD3-BC → TD7 по state-action репрезентациям
только здесь пошло еще дальше: авторы добиваются такой генерализации (относительно перебора гиперпараметров) на model-free методе при помощи внедрения model-based идей (и не только) для получения cупер-пупер крутых репрезентаций
а именно
- состояния переводятся в латентное пространство (что проприоцепция, что пиксельные обсервейшны) при помощи энкодера + так же есть энкодер под состояния и действия одновременно (те самые state-action репрезентации)
- эти энкодеры обновляются в model-based стиле “анроллом динамики”: надо по горизонту восстанавливать награду, следующее латентное состояние и флаг терминальности (булево значение, которое показывает, закончился ли эпизод)
- при том последние 2 явления обучаются классически в мсе стиле, а награда восстанавливается по бинам при помощи twohot трансформации (она так же используется в дримере для предсказания реварда, да и в последнее время все чаще фигурирует как вид обучения критика через классификацию а не регрессию)
- критик же обучается через мульти-степ сумму наград по заранее выбранному горизонту
- а политика после всего этого оптимизируется в более-менее классическом стиле (разве что за нестандартный прием имхо можно посчитать гамбел софтмакс для дискретных действий)
- и это все в конце полируется тем, что семплы подаются на вход во время обучения при помощи буффера LAP, который выставляет приоритет при семплировании в соответствии с ошибкой критика (в терминологии рл это называется Temporal Difference error, TD error)
ну и вроде по экспериментам вырисовывается что-то интересное - хоть и не везде выбивается сота, но метод ощутимо находится на высоком уровне. и это все при том, что гиперпараметры не перебирались в отличие от других методов, хотя конечно остается вопрос точно ли авторы ничего не перебирали хотя бы чуть-чуть, или же как именно они решили выставить неизменяемую конфигурацию гиперов (например момент с exploration noise, значение которого они позаимствовали из предыдущих работ по d4rl, но не по атари)
а вообще в целом результаты довольно классные - еще бы такая концепция повторялась бы, если и обучать в мультитаск/мета стиле (ведь название статьи тоже на это может намекать в плане general-purpose RL), так еще и model-based это типа world models так что хайп бррррррр
👀LINK
🔥13❤6👍4🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
ЛЛМам пора на завод. Там сделали енвайронмент-бенч для ллмок из игры Factorio.
Я не специалист по факторио, но в целом всегда казалось что тут можно тестить и учить рл. Вот ллмки тестят
https://jackhopkins.github.io/factorio-learning-environment/
Factorio Learning Environment
https://jackhopkins.github.io/factorio-learning-environment/assets/documents/paper.pdf
https://github.com/JackHopkins/factorio-learning-environment
2 режима
Lab-play где 24 задачи и фиксированными ресурсами
Open-play на процедурной карте нужно построить самый большой завод
Есть лидерборд (Factory-Bench Leaderboard) - https://jackhopkins.github.io/factorio-learning-environment/leaderboard/
Авторы тестили: Claude 3.5-Sonnet, GPT-4o, GPT-4o-Mini, Deepseek-v3, Gemini-2-Flash и Llama-3.3-70B-Instruct
Sonnet из протестированных лучше всех себя показывает
Выводы авторов:
Это просто бенч и тут просто потестили текущие ллмы. Результатам не сильно удивился.
Ждем пока специально пообучают ллмки, RL LLM накинут.
PS собираемся и собираем все крутое по нейронкам здесь: https://www.tgoop.com/researchim
Я не специалист по факторио, но в целом всегда казалось что тут можно тестить и учить рл. Вот ллмки тестят
https://jackhopkins.github.io/factorio-learning-environment/
Factorio Learning Environment
https://jackhopkins.github.io/factorio-learning-environment/assets/documents/paper.pdf
https://github.com/JackHopkins/factorio-learning-environment
2 режима
Lab-play где 24 задачи и фиксированными ресурсами
Open-play на процедурной карте нужно построить самый большой завод
Есть лидерборд (Factory-Bench Leaderboard) - https://jackhopkins.github.io/factorio-learning-environment/leaderboard/
Авторы тестили: Claude 3.5-Sonnet, GPT-4o, GPT-4o-Mini, Deepseek-v3, Gemini-2-Flash и Llama-3.3-70B-Instruct
Sonnet из протестированных лучше всех себя показывает
Выводы авторов:
1. Навыки в кодинге имеют значение
Модели с более высокими способностями программирования (Claude 3.5-Sonnet, GPT-4o) достигли более высоких Production Scores и выполнили больше лабораторных задач. Claude превзошёл остальных, заработав PS равный 293 206 и достигнув 28 вех, продвинувшись за рамки добычи ресурсов на ранних этапах.
2. Инвестиции в технологии стимулируют рост
Только Claude стабильно инвестировал ресурсы в исследования новых технологий, несмотря на их важность для долгосрочного прогресса. После внедрения электрических буровых установок на шаге 3 000, PS Claude вырос на 50% (с 200 000 до 300 000), что демонстрирует ценность стратегических инвестиций.
3. Планирование является ключевым фактором в режиме открытой игры
В режиме открытой игры агенты часто преследуют краткосрочные цели — например, Gemini-2.0 вручную изготовил более 300 деревянных сундуков за 100 шагов — вместо того чтобы инвестировать в исследования или масштабировать существующее производство. Это выявляет существенное расхождение: хотя Gemini-2 и Deepseek демонстрируют возможности автоматизации на ранних этапах в структурированном лабораторном режиме, они редко пытаются создать согласованную фабричную систему во время открытых исследований, что приводит к ухудшению общей производительности.
4. Способности к пространственному мышление пока недостаточны
Все модели продемонстрировали ограничения в пространственном планировании при создании много-секционных фабрик. Распространённые ошибки включали размещение объектов слишком близко друг к другу, недостаточное выделение пространства для соединений или неправильное расположение инсертеров — проблемы, которые существенно влияют на производительность в сложных заданиях, требующих координации нескольких производственных линий.
5. Сейчас ллмкам сложно исправлять ошибки
Модели часто оказываются в повторяющихся циклах ошибок, повторяя одни и те же неверные операции вместо того чтобы искать альтернативные решения. Например, GPT-4o неверно повторял один и тот же метод API на протяжении 78 последовательных шагов, несмотря на идентичные сообщения об ошибке.
6. Стили программирования существенно различаются
Модели демонстрировали различные подходы к программированию: Claude предпочитал стиль REPL с большим количеством операторов вывода (43,3% строк кода), но с малым числом утверждений (2,0%), в то время как GPT-4o использовал оборонительный стиль с большим числом проверок валидации (12,8% утверждений) и меньшим количеством операторов вывода (10,3%).
Это просто бенч и тут просто потестили текущие ллмы. Результатам не сильно удивился.
Ждем пока специально пообучают ллмки, RL LLM накинут.
PS собираемся и собираем все крутое по нейронкам здесь: https://www.tgoop.com/researchim
👍13🔥8❤1🥰1😁1
третий апдейт по Open R1
https://huggingface.co/blog/open-r1/update-3
Чем занимались
Созданием CodeForces-CoTs: датасетом, содержащим почти 100 тысяч высококачественных примеров, полученных в результате дистилляции R1 для генерации решений на C++ и Python.
https://huggingface.co/datasets/open-r1/codeforces - задачи
https://huggingface.co/datasets/open-r1/codeforces-cots - решения с трейсами от R1
IOI-бенчмарком: новым набором сложных задач с Международной олимпиады по информатике 2024 года
https://huggingface.co/datasets/open-r1/ioi задачи IOI’2020 - IOI’2024
https://huggingface.co/datasets/open-r1/ioi-cots - трейсы решений с R1
(еще много дополнительного в статье)
OlympicCoder: двумя дообученными моделями кода (7B и 32B), которые превосходят закрытые передовые модели, такие как Claude 3.7 Sonnet, при решении задач IOI
https://huggingface.co/open-r1/OlympicCoder-7B
https://huggingface.co/open-r1/OlympicCoder-32B
Уже было бы прикольно увидеть сам Open R1, но ребята еще только учатся тренить ризонинг модельки и пишут в посте подробности!
В том числе рассказывают что выяснили пока делали OlympicCoder
PS собираем полезное по ллмам тут https://www.tgoop.com/researchim
https://huggingface.co/blog/open-r1/update-3
Чем занимались
Созданием CodeForces-CoTs: датасетом, содержащим почти 100 тысяч высококачественных примеров, полученных в результате дистилляции R1 для генерации решений на C++ и Python.
https://huggingface.co/datasets/open-r1/codeforces - задачи
https://huggingface.co/datasets/open-r1/codeforces-cots - решения с трейсами от R1
IOI-бенчмарком: новым набором сложных задач с Международной олимпиады по информатике 2024 года
https://huggingface.co/datasets/open-r1/ioi задачи IOI’2020 - IOI’2024
https://huggingface.co/datasets/open-r1/ioi-cots - трейсы решений с R1
(еще много дополнительного в статье)
OlympicCoder: двумя дообученными моделями кода (7B и 32B), которые превосходят закрытые передовые модели, такие как Claude 3.7 Sonnet, при решении задач IOI
https://huggingface.co/open-r1/OlympicCoder-7B
https://huggingface.co/open-r1/OlympicCoder-32B
Уже было бы прикольно увидеть сам Open R1, но ребята еще только учатся тренить ризонинг модельки и пишут в посте подробности!
В том числе рассказывают что выяснили пока делали OlympicCoder
PS собираем полезное по ллмам тут https://www.tgoop.com/researchim
huggingface.co
Open R1: Update #3
A Blog post by Open R1 on Hugging Face
🔥11👍5🤔1
Тренили OlympicCoder со следующими параметрами:
Базовая модель: Qwen2.5 Coder Instruct 7B and 32B
количество эпох: 10
батч сайз: 128
Learning rate: 4e-5
Scheduler: Cosine with a decay to 10% of the peak learning rate
длина контекста: 32,768 токенов для 7B и 22,528 токенов 32B
И вот что выяснили
Урок 1: packing ухудшает качество рассуждений
(в trl трейнере за это отвечает параметр packing)
Урок 2: Используйте большой learning rate для лучшей производительности
Урок 3: Включение редакционных комментариев не повышает производительность
Урок 4: Используйте префилл с <think>, чтобы стабильно активировать длинные цепочки рассуждений
Урок 5: Используйте 8-битные оптимизаторы для масштабирования больших моделей с длинным контекстом
Базовая модель: Qwen2.5 Coder Instruct 7B and 32B
количество эпох: 10
батч сайз: 128
Learning rate: 4e-5
Scheduler: Cosine with a decay to 10% of the peak learning rate
длина контекста: 32,768 токенов для 7B и 22,528 токенов 32B
И вот что выяснили
Урок 1: packing ухудшает качество рассуждений
Упаковка образцов – это широко применяемый метод для эффективной обработки последовательностей переменной длины и ускорения обучения. "тот метод заключается в конкатенации обучающих образцов (раскрашенных) в чанки равного размера, что устраняет необходимость использования токенов заполнения) в батчах:
При упаковке образцы могут перекрываться через границы каждого чанка, но на практике это не имеет большого значения, если большинство образцов значительно меньше размера чанка.
Без упаковки производительность улучшается в течение нескольких эпох, прежде чем стабилизируется.
Тем не менее, мы обнаружили, что во всех анализируемых датасетах упаковка давала худшие результаты.
(в trl трейнере за это отвечает параметр packing)
Урок 2: Используйте большой learning rate для лучшей производительности
Для большинства экспериментов SFT, которые мы проводили с моделями Qwen, lr 2e-5 обычно достаточна для достижения высокой производительности. Однако при применении SFT с данными рассуждений к уже существующей модели-инструктору, мы обнаружили, что значительное улучшение результатов можно получить, используя гораздо большую скорость обучения — 4e-5. Как показано на диаграмме ниже, каждое удвоение скорости обучения давало улучшение почти на 10 пунктов по LiveCodeBench!
Урок 3: Включение редакционных комментариев не повышает производительность
Когда мы создавали поднабор solutions_w_editorials из open-r1/codeforces-cots, наша интуиция заключалась в том, что, предоставив R1 проблему и решение, мы получим лучшие трассы рассуждений. Однако, к нашему удивлению, эта интуиция не подтвердилась при оценке: наивная выборка из описаний задач давала скромное, но последовательное улучшение в процессе обучения.
Урок 4: Используйте префилл с <think>, чтобы стабильно активировать длинные цепочки рассуждений
При тестировании некоторых наших моделей мы столкнулись с любопытным явлением: при подаче запросов из той же предметной области (например, по конкурентному программированию) модель генерировала ожидаемую длинную цепочку рассуждений, заключённую между токенами <think> и </think>, за которой следовал окончательный ответ. Однако для запросов из другой области, таких как «Какая столица Швейцарии?», модель возвращалась к поведению исходной модели-инструктора!
Это показывает, что при дистилляции трейсов рассуждений в уже обученную модель-инструктора следует по умолчанию использовать префилл в шаблоне чата финальной модели. Кстати, именно так поступает DeepSeek со своими дистиллированными моделями, и описанное выше поведение может быть объяснением их подхода.
Урок 5: Используйте 8-битные оптимизаторы для масштабирования больших моделей с длинным контекстом
На одном узле 8xH100 авторы смогли обучить модели с контекстом в 32k используя DeepSpeed ZeRO-3. Однако при попытке применить подход к 32B модели возникло множество проблем с памятью. В частности, наши эксперименты приводили к ошибке Out Of Memory, когда контекст увеличивался свыше 20к токенов, даже на 16 узлах 8xH100. А в датасете CodeForces-CoTs 20% трейсов больше 20к токенов, значит они бы обрезались во время трена.
Корень проблемы в том, что и трансформеры, и trl пока не поддерживают параллелизм по контексту, хотя по данной проблеме можно следить по соответствующему issue.
В то же время мы изучили различные техники экономии памяти и обнаружили, что сочетание FSDP с оптимизатором paged_adamw_8bit позволило нам масштабировать контекст до 22,528 токенов: всё ещё не идеально, но теперь обрезается только 9% данных.
❤7👍7🔥5👏3
Там кстати большое обновление GRPO вышло в trl
завезли кучу оптимизаций из недавних статей + мультинод трейнинг
https://github.com/huggingface/trl/releases/tag/v0.16.0
завезли кучу оптимизаций из недавних статей + мультинод трейнинг
https://github.com/huggingface/trl/releases/tag/v0.16.0
🔥7❤2👍2
Агенты ИИ | AGI_and_RL
Reinforcement Learning: An Overview
https://arxiv.org/abs/2412.05265
https://arxiv.org/abs/2412.05265
Вышла вторая версия овервьюшки по RL (современному), теперь 177 страничек (было 144)
Reinforcement Learning: A Comprehensive Overview
https://arxiv.org/abs/2412.05265v2
Reinforcement Learning: A Comprehensive Overview
https://arxiv.org/abs/2412.05265v2
arXiv.org
Reinforcement Learning: An Overview
This manuscript gives a big-picture, up-to-date overview of the field of (deep) reinforcement learning and sequential decision making, covering value-based methods, policy-based methods,...
🔥19👍12✍5🏆1
Тут автор рассказывает про свои эксперименты с ллм и GRPO для улучшения алгоритмов сортировки
https://hrishbh.com/ai-as-algorithm-designer-teaching-llms-to-improve-sorting-through-trial-and-error-in-grpo/
PS подобные штуки мы собираем в https://www.tgoop.com/researchim
https://hrishbh.com/ai-as-algorithm-designer-teaching-llms-to-improve-sorting-through-trial-and-error-in-grpo/
PS подобные штуки мы собираем в https://www.tgoop.com/researchim
Telegram
ресечим/делаем (c) AI
чтобы ресечить
👍6
Коротенькая выжимка на английском по отличиям обжективов в алгоритмах REINFORCE, ReMax, RLOO, PPO, GRPO, Dr. GRPO
https://lancelqf.github.io/note/llm_post_training/
https://lancelqf.github.io/note/llm_post_training/
lancelqf.github.io
From REINFORCE to Dr. GRPO
A Unified Perspective on LLM Post-training
❤12👍2🥰1
Здесь автор пилит UI-шку для экспериментов с обычным рлем
https://github.com/dvalenciar/ReinforceUI-Studio
дока тут https://docs.reinforceui-studio.com/welcome
Мне показалось прикольным, хз почему раньше уишку никто не сделал, это может быть реально удобным для ознакомления
https://github.com/dvalenciar/ReinforceUI-Studio
дока тут https://docs.reinforceui-studio.com/welcome
Мне показалось прикольным, хз почему раньше уишку никто не сделал, это может быть реально удобным для ознакомления
👍12🔥9❤3