Про ии, RL и в целом @tokarev_i_v https://t.me/researchim
Инженер LLM (Оптимизация и RL Alignment)
Стартап в области безопасности ИИ
Чем предстоит заниматься:
Дообучение и Оценка Sota llm, аттаки на blackbox модели
Улучшение RL для аттак на модели, настройки моделей (PPO, RLHF, стабильность обучения).
Бенчмаркинг и оценка качества моделей (ELO-метрики, alignment).
Оптимизация инференса (vLLM, SGLang, TRT).
Требования:
Опыт работы с LLM (архитектуры, RL, alignment).
Знание PyTorch/JAX.
Реальная практика с RL методами (DPO, RLHF — плюс).
Опыт с системами инференса (vLLM, kuber, docker).
Публикации в NeurIPS/ICML/ICLR и др. — сильный плюс.
Преимущество:
Экспертиза в байесовской оптимизации, эволюционных алгоритмах, гиперпараметрическом поиске, автоматической оптимизации промптов.
Условия:
Зарплата: 80K–130K usd + опционы.
Релокация в Париж🥐, полная занятость.
Работа с передовым стеком (AI research, model alignment).
Отклик:
https://forms.gle/z45WwdBTRHrd8inM9
Ребята, я зашел на сайт дипсиков и они и правда упоминают в коде OpenAI 😱😱😱
Вот так вот верь им теперь. Думал RL придумали свой и вон какие крутые
https://api-docs.deepseek.com/
Мнение
DeepSeek просто респект за то, что могут вот так шуму навести. Мне стало казаться, что никто и не собирается уже. Основной кайф что многое опенсорсят. Остальные могут повторять и ресечить мощно.
Кроме них есть Qwen, Mistral которые очень большие молодцы, много выкладывают. Mistral Nemo вон какой крутой, квены постоянно тюнят и делают локальные модельки.
OpenAI - локомотив. У них суперребятки (хотя чот в последнее время куча народу ушло, да? Зачем?), у них много ресурсов, старгейт вон. Кажется, что они смогут в любом случае. Часто цены снижают, модельки обновляют на более новые, RL двигают (это кстати они в очередной раз сделали RL великим). Но вот в РФ допустим они просто так не работают...
Мне лично гораздо ценнее иметь крутую локальную модельку, чем где-то там в облаке.
Кажется, что для всех лучше если они будут там друг друга поджимать, выкладывать модельки и цены снижать. Поэтому просто кайфуем.
Я кстати за DeepMind 😃 (Что у них там вообще происходит?)
Где можно просто початиться:
Дипсик - https://www.deepseek.com/ (но щас им плохо, толком не работает, надеюсь полегчает)
Квен - https://chat.qwenlm.ai/
Mistral - https://chat.mistral.ai/
А Дэвид Сильвер (лидил в DeepMind ресеч по AlphaGo, AlphaZero и ко-лидил AlphaStar) кстати показывал вот такие слайдики на RL Conference в августе.
График внимание к RL и время. Суперхуман ии будет если вот очень много внимания уделять, получается 🕺
Взял фоты тут:
https://x.com/pcastr/status/1822636670220431485
HuggingFace 🤗 хотят повторить модельки семейства DeepSeek-R1 и расшарить пайплайны для воспроизведения
Хотят нагенерить данных из R1 и дистильнуть в свои модельки, потренить аналог R1-Zero (будет Open R1-Zero) и еще сделать Open R1
https://github.com/huggingface/open-r1
Мы будем использовать техотчет DeepSeek-R1 в качестве руководства, который можно примерно разделить на три основных этапа:Читать полностью…
* Реплицировать модели R1-Distill путем дистилляции высококачественного корпуса из DeepSeek-R1.
* Реплицировать чистый RL-пайплайн, который использовался DeepSeek для создания R1-Zero. Это, вероятно, потребует создания новых крупномасштабных датасетов для математики, рассуждений и кода.
* Продемонстрировать возможность перехода от базовой модели к RL-тюнингу через многоэтапное обучение.
Куда ни глянь везде RL, реварды, агенты... шьто за время)
Читать полностью…Salt
Мы начали собирать эту модель в августе, в конце августа получили первый прототип, а потом стало выходить миллион вариантов вида: а давайте whisper для речи+GAN для генерации аудио, а потом вышел FishAudio который лучше работает, да и в целом хорошая модель.
Мы шли с другого конца, собрали решение поверх lm с расширенным токенайзером, использовали WavTokenizer для токенизации аудио.
Учили около 150 а100 часов для финального экспа, но количество экспов и денег сожженых в этот проект переваливает за то сколько я потратил на оригинальные Вихри.
По итогу получился не трансформер который понимает речь и генерирует речь, а Dalle1 like tts на основе llama3 3b.
Сейчас идут работы по дообучению на музыку/аудио, вероятно проект получит папир и обновление.
Сейчас модель неплохо работает на английском, на русский мы доучиваем модель.
huggingface
collab
А еще мы учимся на ошибках и в этот раз выкладываем весь код для обучения и aulate для подсчета аудио метрик
В релизе участвовали: Ksenya (основной контрибьютор), Костя писал метрики и сапортил инфру, а я ходил пинал чтобы оно все не развалилось и доехало до какого то состояния.
Интересная книжечка вышла вчера на архиве на 200 страниц по LLMам.
От BERTов до ревард моделей, DPO, алайнментов и тюнингу моделек думать step-by-step.
На английском. Читаем 🥳
Foundations of Large Language Models
https://arxiv.org/abs/2501.09223
smolagents - новые агенты от HF
Будет заменой для transformers.agents (да, есть такие)
Давят на простоту в первую очередь и это правильно
Есть кодовый агент который пишет действия и вызовы тулов кодом (на картинке пример с кодовым агентом), а не просто jsonы с параметрами как обычно принято делать
можно импортить тулы из langchain
+ можно делать мультиагентные систему
Сейчас сделали 3 примера: text-2-SQL, RAG агента, мультиагент
Реп https://github.com/huggingface/smolagents
Пост https://huggingface.co/blog/smolagents
дока + туторы https://huggingface.co/docs/smolagents/index
Думаю, что как и многие smol проекты от хф - это в первую очередь чтобы взять, поковырять и поизучать. Пока что проекту месяц) Но мб со временем мощь получится
Прикручивая ризонингу к RAGу (retrieval-augmented generation - генерации по внешним источникам информации/ответы по документам)
Попробовали просто раг поверх QwQ (на ней весь ризонинговый ресерч стоит) + еще сделали так назвываемый o1-search (тоже работает поверх QwQ), который состоит из двух модулей:
"Агентный RAG-механизм":
* Модель сама решает, когда искать внешние данные.
* Запросы для поиска формируются автоматически в процессе рассуждения
* Многократное использование поиска в одной задаче.
Моделька рассуждает, когда она считает что ей нехватает знаний, то сама вызывает поиск, получает документы, дальше рассуждает уже с новой информацией.
Модуль Reason-in-Documents (ризонит релевантным документам):
*анализирует полученные документы (по текущему запросу, полученным релевантным документам и по предыдущей цепочке рассуждений)
*выделяет только полезную информацию
Как это все в целом работает на инференсе:
На вход получаем вопросы пользователя + инструкция по задаче;
*генерим по каждому (вопросу + инструкция) цепочку рассуждений которую нужно будет завершить.
*Начинаем генерить цепочку. Модель может захотеть поискать инфу - и сгенерит запрос в <|begin_search_query|> запрос <|end_search_query|> - идем ищем в документе, получаем релевантные чанки;
* (вопрос + инструкция) + найденные релевантные части документов + текущая цепочка рассуждений -> в Reason-in-Documents модуль, из которого нам уже возвращается хорошо подготовленная информация (формируется результат поиска) в <|begin_search_result|> результаты <|end_search_result|> тегах, вставляем это в текущую цепочку рассуждений;
* продолжаем рассуждать
И так пока все сформированные изначально цепочки не сгенерим.
Так понял, результы на скринах (RAgent и o1-search).
Search-o1: Agentic Search-Enhanced
Large Reasoning Models
https://arxiv.org/abs/2501.05366
https://github.com/sunnynexus/Search-o1
Ризонинговый дождь ☔️
Ребятки захотели сделать свою опенсорсную ризонинговую ллмку.
https://novasky-ai.github.io/posts/sky-t1/
Взяли Qwen2.5-32B-Instruct , еще взяли QwQ-32B-Preview. Обе эти модельки от Qwen, QwQ - ризонящая.
Собственно ребята пособирали траекторий размышлений решения задач с QwQ, затем подправили (приводили в нужный формат) их с помощью GPT-4o-mini. Ну и потом тюнили на этом Qwen2.5 32B.
Наши финальные данные содержат 5 тысяч данных по программированию из APPs и TACO, а также 10 тысяч математических данных из подмножеств AIME, MATH и Olympiads датасета NuminaMATH. Кроме того, мы добавили 1 тысячу данных по науке и головоломкам из STILL-2.
Ребятки, вот тут очень крутой курс по DL. Единственное только что на английском
Читать полностью…Ни дня без агентов - на этот раз помощник ресерчера. (AMD + университет Джона Хопкинса)
Лаборатория Агентов состоит из трех основных фаз, которые систематически направляют исследовательский процесс: (1) Обзор литературы, (2) Экспериментирование и (3) Написание отчета. В каждой фазе специализированные агенты, управляемые большими языковыми моделями, сотрудничают для достижения отдельных целей, интегрируя внешние инструменты, такие как arXiv, Hugging Face, Python и LaTeX, для оптимизации результатов. Эта структурированная рабочая схема начинается с независимого сбора и анализа соответствующих научных работ, проходит через совместное планирование и подготовку данных и заканчивается автоматизированным проведением экспериментов и созданием подробных отчетов. Детали конкретных ролей агентов и их вклад на каждом этапе обсуждаются в статье.
Наткнулся на проект (выложен 3 часа назад первый коммит) где чел учит мелкие 9/26м параметров RWKV (подвид RNNок, конкурент трансформерам) модельки играть в Othello
Применяет test-time scaling (моделька может делать альфа/бета прунинг по дереву ходов)
Короче что-то прикольное, надо поразбираться
https://github.com/Jellyfish042/RWKV_Othello
А вот есть у нас SFT (Supervised fine-tuning) и RL (reinforcement learning) на посттрейне ллмов.
Вот бы померить а есть ли там разница с обобщающими способностями и запоминанием после этих тюнов.
Сделали бенч из двух задачек. В каждой задачке был текстовый вариант и визуальный вариант.
The V-IRL Environment (первая картинка):
Тестируют способности к пространственному рассуждению и навигации в открытом мире с использованием реалистичных визуальных данных.
Цель — добраться до целевого местоположения, следуя набору инструкций.
Основная визуальная сложность в V-IRL заключается в распознавании различных ориентиров на основе визуальных наблюдений перед выполнением действия
Тренировались на навигации по Нью-Йорку, а тестились на бенче из навигаций по разным городам.
The GeneralPoints Environment: (Пример на 2м скрине)
Цель — составить уравнение, которое равно заданному числу (по умолчанию 24), используя все 4 числа с карт ровно один раз.
Еще нужно интерпретировать буквы в числа на картах: 'J'->'11', 'Q'->'12' и 'K' ->'13' (либо все они как 10 считаются).
Тут тренировали тоже и текстовые варианты и визуальные, используя черные масти для трена, красные для теста.
3 и 4 скрин результаты. После RLя лучше справляется с задачами которые не видел на трене, после SFT работает хуже на невиданных задачах.
SFT помогает запоминать информацию, а RL помогает генерализоваться (прям как строчкой ниже написано)
SFT Memorizes, RL Generalizes: A Comparative Study of Foundation Model Post-training
https://arxiv.org/abs/2501.17161v1
кстати для статей по RLю и многому другому есть /channel/researchim
Самый интересный и популярный алгоритм для тренировки ллмок GRPO заехал в trl
https://github.com/huggingface/trl/blob/main/docs/source/grpo_trainer.md
Вообще оригинальная статья с этим алгоритмом выходила 5 февраля 2024, но заимплементили ток щас (почему??):
DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models
https://arxiv.org/abs/2402.03300v3
🚀 @SBERLOGASCI webinar on data science:
👨🔬 Алексей Трепецкий "Введение в RL алгоритм Actor-Critic"
⌚️ Среда (29 января 2025) 19.00 (по Москве)
Actor-Critic — популярная концепция в обучении с подкреплением, позволяющая увеличить эффективность получаемых данных и сократить время обучения политике, основанная на объединении policy и value подходов.
На семинаре мы подробно разберем, как устроен метод Actor-Critic, зачем необходимо совместное обучение политики и функции ценности и как это улучшает алгоритм REINFORCE.
Zoom link will be in @sberlogabig just before start. Video records: https://www.youtube.com/c/SciBerloga - subscribe !
А тут еще ребята делают модельку с ризонингом по типу R1-Zero (т.е. трененая RLем чисто)
Делают поверх небольших Qwen2.5 моделек 0.5B, 1.5B, 3B
Пишут что 3B base норм учится
https://github.com/Jiayi-Pan/TinyZero
Полезный листик на гитхабе в котором собирают статьи по ризонингам и рлю для llms, агентам и вот этому всему
https://github.com/open-thought/system-2-research
а в телеге собираем полезное в /channel/researchim
Агенты OpenAI
Нам показывают Operator: https://openai.com/index/introducing-operator/
агент для работы в вебе на базе новой модельки Computer-Using Agent - это типа GPT-4o + ризонинг 🎹 (учился с помощью reinforcement learning),
работает с внутренним браузером смотрит на скриншоты и выполняет действия с GUI как делал бы человек используя клаву + мышку, а когда надо - рассуждает (если что-то не выходит сделать например), а если совсем никак - отдает управлению юзеру.
Ну т.е. эту штуку можно просить делать что угодно что в интернетике через браузер можно делать. (и кстати это самая развитая область сегодня - вебагенты)
При этом он научен просить пользователя самого работать с задачами типа логина и ввода капчи. (security)
Пишут, что sota на WebArena и WebVoyager
Ссылочки
https://openai.com/index/operator-system-card/
https://openai.com/index/computer-using-agent/
TREAD: Token Routing for Efficient Architecture-agnostic Diffusion Training - Этот простой трюк ускорит претрен вашего DIT в 25 раз!
Идея такая: не все токены одинаково полезны на всех слоях, не все слои одинаково полезны для всех токенов. Давайте дадим модели самой выбирать на какие слои передавать токены, а на какие слои нет.
авторы получают х25 ускорение претрена и модель лучшую по метрикам чем классический DIT.
paper
Проект Stargate — это новая компания, по инвестированию $500 миллиардов в течение следующих четырех лет в создание новой инфраструктуры для искусственного интеллекта (ИИ) в OpenAI на территории США. Мы начнем с немедленного выделения $100 миллиардов. Эта инфраструктура обеспечит лидерство Америки в области ИИ, создаст сотни тысяч рабочих мест в США и принесет огромные экономические выгоды всему миру. Проект не только поддержит реиндустриализацию США, но и предоставит стратегические возможности для защиты национальной безопасности Америки и ее союзников.
Изначальными инвесторами капитала в Stargate являются SoftBank, OpenAI, Oracle и MGX. SoftBank и OpenAI выступают ведущими партнерами: SoftBank отвечает за финансовую составляющую, а OpenAI — за операционную деятельность. Масайоси Сон будет председателем совета директоров.
Ключевыми технологическими партнерами на начальном этапе являются Arm, Microsoft, NVIDIA, Oracle и OpenAI. Реализация проекта уже началась с Техаса, и мы рассматриваем потенциальные площадки по всей стране для создания дополнительных кампусов по мере завершения окончательных соглашений.
В рамках проекта Stargate компании Oracle, NVIDIA и OpenAI будут тесно сотрудничать для создания и эксплуатации этой вычислительной системы. Этот проект основывается на давнем сотрудничестве между OpenAI и NVIDIA, начавшемся еще в 2016 году, а также на новом партнерстве между OpenAI и Oracle.
Кроме того, проект базируется на существующем партнерстве OpenAI с Microsoft. OpenAI продолжит увеличивать использование платформы Azure для проведения исследований и тренировки передовых моделей, а также предоставления качественных продуктов и услуг.
Мы все с нетерпением ждем возможности продолжать развивать ИИ — и в особенности искусственный общий интеллект (AGI) — на благо всего человечества. Мы верим, что этот новый шаг является критически важным и поможет творческим людям находить способы использовать ИИ для улучшения жизни человечества.
Есть вот такая эксплорилка архива.
https://www.alphaxiv.org/explore
Что-то типа https://huggingface.co/papers
Показывает тренды папир на архиве
К статьям можно оставлять комменты, ставить 👍 (если зарегаться)
Еще есть сообщества по темам, где статьи собираются по тематике
https://www.alphaxiv.org/communities
Короче прикольно, я точно буду пользоваться
PS А в телеге есть /channel/researchim
Пару часов назад завершилось долгожданное дообучение o1
модели на GigaChat 20B-A3B, выполнялось оно на одной RTX 4090 с 24Гб VRAM при помощи проекта impruver и конфигурации GigaChat/20B-A3B_lora_o1 на датасете Egor-AI/Russian_thinking_dataset.
Залил полученный LoRA-адаптер на HuggingFace: evilfreelancer/o1_gigachat-20b-a3b_lora
Он оказался на удивление толстеньким, аж цельных 639 мегабайт весит, вероятно это как-то связанно с особенностями MoE архитектуры модели.
На всё про всё потребовалось примерно 117 часов (почти 5 дней), на данный момент понятно, что если бы я выставил eval_steps не 100, а хотя бы 500 или даже 1000 цель бы удалось достигнуть гораздо быстрее, так как 1 eval прогон выполняется на моей 4090 примерно 46 минут, а за 10 с небольшим тысяч шагов тестов eval было всего 102 (то есть примерно 77 часов выполнялась валидация, тут я конечно переборщил, но зато красивый график получился).
Отчёт W&B тут: evilfreelancer/nlec8bt8
Прикладываю предварительные тесты обученной модели в формате gist, из того что видно на первый взгляд модель отвечает строгим и профессиональным языком, однако, из-за особенностей датасета не всегда отвечает корректно, хотя цепочка "рассуждений" каждый раз крайне любопытная.
Для работы модели в режиме инференса необходимо внести правки в файл generate.py, там надо на этапе вызова токенизатора будет добавить return_token_type_ids=False
, позже проверю не нарушит ли это работу остальных моделей, обученных через impruver, и если потребуется добавлю операцию ветвления специально для моделей семейства DeepSeek MoE (к коему относится GigaChat).
PS. Чекпоинты GGUF выложу на HF и ollama позже.
PPS. Картинку eval/train loss добавил первым сообщением под постом.
Вообще в работе про которую писал выше опираются на (и во многом воспроизводят) другую про обучение ризонингу.
Imitate, Explore, and Self-Improve: A Reproduction Report on Slow-thinking Reasoning Systems
https://arxiv.org/abs/2412.09413
https://github.com/RUCAIBox/Slow_Thinking_with_LLMs
(эта работа и некоторые другие входят в проект STILL: Slow Thinking with LLMs, данная работа обозначена как STILL-2)
Конкретно в этой работе авторы исследовали ту же QwQ и DeepSeek-R1-Lite-Preview (в DeepSeek chat надо включить Deep Think), задавали им вопросы, сравнивали ответы и собирали данные, на которых затем потюнили свою Qwen2.5-32B-Instruct.
Вообще процесс обучения состоит из трех фаз (по ним статья и называется, круто да?):
1. Imitate (Имитация): Модель обучается генерировать цепочки размышлений и решение в одном ответе. Используются данные, полученные из существующих систем или сгенерированные вручную.
Модель обучается следовать формату:
<|begin_of_thought|>
{многошаговый процесс размышления}
<|end_of_thought|>
<|begin_of_solution|>
{финальное решение с подробным объяснением шагов}
<|end_of_solution|>
А тут находка для всех изучающих Deep Learning.
Набор ноутбуков из Университета Амстердама по курсу DL в рамках магистратуры по AI.
Всё удобно и готовое к запуску, понравилось.
Введение, трансформеры (без них никуда), Vision трансформеры, атаки на нейронки, multi GPU программирование, meta learning и куча других нужных тем.
Всё на PyTorch + JAX.
В каждом ноутбуке объяснение с реализациями + курс лекций на ютубе.
Но на английском. Но всё равно сохраняем и изучаем.
UvA Deep Learning Tutorials:
https://uvadlc-notebooks.readthedocs.io/en/latest/index.html
https://github.com/phlippe/uvadlc_notebooks/tree/master
Курс на YouTube
Еще кайфец от HF 🤗 - smol course по всем видам тюнингов LLMок (все на скрине видно)
Построен вокруг семейства моделек HF SmolLM2 в размерах 135M, 360M, and 1.7B parameters как раз предназначенные для изучения трейнов и разных манипуляций у себя на дому
https://github.com/huggingface/smol-course
https://github.com/huggingface/smollm
Изучаем
Боремся с проклятыми токенами 😎
Люблю статьи от авторов phi — очень простые с топорными методами, но работают хорошо.
В тех репорте phi-4 показали, что
🔹 Проклятые (и благословенные) токены существуют
🔹 Предложили, как с этим бороться
Для задач, где есть правильный ответ, мы можем найти токены, которые негативно или позитивно влияют на вероятность успешного ответа p(success)
Как найти такие токены? — авторы называют их pivotal tokens
Считаем условную вероятность, что ответ будет правильным при заданном префиксе ответа. То есть просто эмпирически считаем, какой процент правильных ответов будет при префиксе `import Flask`
Таким макаром находим все pivotal tokens в нашем трейн сете. И учим модель различать хорошие токены от плохих. Для этого формируем пары
prompt = promt + answer prefix
good response = good token
bad response = bad token
Уверен, что многих интересует как вот там реализуются методы распределенного трейна, может кто-то хотел бы сам реализовать (а это очень полезно).
Ребята из HF 🤗 начали проект по учебной реализации таких методов (dataparallel, tensorparallel, pipelineparallel, contextparallel) :
https://github.com/huggingface/picotron
https://github.com/huggingface/picotron_tutorial
Вместе с проектом идут лекции на ютубе.
Это как проект nanoGPT по учебной реализации гптшки 2, чтобы разобраться, но он прям уже круто разросся и народ там уже наоптимизировал всякого, мб и тут крутое что-то будет