Прикручивая ризонинг к 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
Ризонинговый дождь☔️
Попробовали просто раг поверх 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
Ризонинговый дождь
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Pavel Zloi
Пару часов назад завершилось долгожданное дообучение
Залил полученный 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, там надо на этапе вызова токенизатора будет добавить
PS. Чекпоинты GGUF выложу на HF и ollama позже.
PPS. Картинку eval/train loss добавил первым сообщением под постом.
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 добавил первым сообщением под постом.
huggingface.co
evilfreelancer/o1_gigachat-20b-a3b_lora · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
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 проекты от хф - это в первую очередь чтобы взять, поковырять и поизучать. Пока что проекту месяц) Но мб со временем мощь получится
Будет заменой для 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 проекты от хф - это в первую очередь чтобы взять, поковырять и поизучать. Пока что проекту месяц) Но мб со временем мощь получится
Есть вот такая эксплорилка архива.
https://www.alphaxiv.org/explore
Что-то типа https://huggingface.co/papers
Показывает тренды папир на архиве
К статьям можно оставлять комменты, ставить 👍 (если зарегаться)
Еще есть сообщества по темам, где статьи собираются по тематике
https://www.alphaxiv.org/communities
Короче прикольно, я точно буду пользоваться
PS А в телеге есть https://www.tgoop.com/researchim
https://www.alphaxiv.org/explore
Что-то типа https://huggingface.co/papers
Показывает тренды папир на архиве
К статьям можно оставлять комменты, ставить 👍 (если зарегаться)
Еще есть сообщества по темам, где статьи собираются по тематике
https://www.alphaxiv.org/communities
Короче прикольно, я точно буду пользоваться
PS А в телеге есть https://www.tgoop.com/researchim
Интересная книжечка вышла вчера на архиве на 200 страниц по LLMам.
От BERTов до ревард моделей, DPO, алайнментов и тюнингу моделек думать step-by-step.
На английском. Читаем🥳
Foundations of Large Language Models
https://arxiv.org/abs/2501.09223
От BERTов до ревард моделей, DPO, алайнментов и тюнингу моделек думать step-by-step.
На английском. Читаем
Foundations of Large Language Models
https://arxiv.org/abs/2501.09223
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
АГИ через 500 лярдов:
Forwarded from Love. Death. Transformers.
TREAD: Token Routing for Efficient Architecture-agnostic Diffusion Training - Этот простой трюк ускорит претрен вашего DIT в 25 раз!
Идея такая: не все токены одинаково полезны на всех слоях, не все слои одинаково полезны для всех токенов. Давайте дадим модели самой выбирать на какие слои передавать токены, а на какие слои нет.
авторы получают х25 ускорение претрена и модель лучшую по метрикам чем классический DIT.
paper
Идея такая: не все токены одинаково полезны на всех слоях, не все слои одинаково полезны для всех токенов. Давайте дадим модели самой выбирать на какие слои передавать токены, а на какие слои нет.
авторы получают х25 ускорение претрена и модель лучшую по метрикам чем классический DIT.
paper
Forwarded from Vikhr models
This media is not supported in your browser
VIEW IN TELEGRAM
Salt
Мы начали собирать эту модель в августе, в конце августа получили первый прототип, а потом стало выходить миллион вариантов вида: а давайте whisper для речи+GAN для генерации аудио, а потом вышел FishAudio который лучше работает, да и в целом хорошая модель.
Мы шли с другого конца, собрали решение поверх lm с расширенным токенайзером, использовали WavTokenizer для токенизации аудио.
Учили около 150 а100 часов для финального экспа, но количество экспов и денег сожженых в этот проект переваливает за то сколько я потратил на оригинальные Вихри.
По итогу получился не трансформер который понимает речь и генерирует речь, а Dalle1 like tts на основе llama3 3b.
Сейчас идут работы по дообучению на музыку/аудио, вероятно проект получит папир и обновление.
Сейчас модель неплохо работает на английском, на русский мы доучиваем модель.
huggingface
collab
А еще мы учимся на ошибках и в этот раз выкладываем весь код для обучения и aulate для подсчета аудио метрик
В релизе участвовали: Ksenya (основной контрибьютор), Костя писал метрики и сапортил инфру, а я ходил пинал чтобы оно все не развалилось и доехало до какого то состояния.
Мы начали собирать эту модель в августе, в конце августа получили первый прототип, а потом стало выходить миллион вариантов вида: а давайте whisper для речи+GAN для генерации аудио, а потом вышел FishAudio который лучше работает, да и в целом хорошая модель.
Мы шли с другого конца, собрали решение поверх lm с расширенным токенайзером, использовали WavTokenizer для токенизации аудио.
Учили около 150 а100 часов для финального экспа, но количество экспов и денег сожженых в этот проект переваливает за то сколько я потратил на оригинальные Вихри.
По итогу получился не трансформер который понимает речь и генерирует речь, а Dalle1 like tts на основе llama3 3b.
Сейчас идут работы по дообучению на музыку/аудио, вероятно проект получит папир и обновление.
Сейчас модель неплохо работает на английском, на русский мы доучиваем модель.
huggingface
collab
А еще мы учимся на ошибках и в этот раз выкладываем весь код для обучения и aulate для подсчета аудио метрик
В релизе участвовали: Ksenya (основной контрибьютор), Костя писал метрики и сапортил инфру, а я ходил пинал чтобы оно все не развалилось и доехало до какого то состояния.
Агенты 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/
Нам показывают Operator: https://openai.com/index/introducing-operator/
агент для работы в вебе на базе новой модельки Computer-Using Agent - это типа GPT-4o + ризонинг
работает с внутренним браузером смотрит на скриншоты и выполняет действия с GUI как делал бы человек используя клаву + мышку, а когда надо - рассуждает (если что-то не выходит сделать например), а если совсем никак - отдает управлению юзеру.
Ну т.е. эту штуку можно просить делать что угодно что в интернетике через браузер можно делать. (и кстати это самая развитая область сегодня - вебагенты)
При этом он научен просить пользователя самого работать с задачами типа логина и ввода капчи. (security)
Пишут, что sota на WebArena и WebVoyager
Ссылочки
https://openai.com/index/operator-system-card/
https://openai.com/index/computer-using-agent/
Please open Telegram to view this post
VIEW IN TELEGRAM
Openai
Introducing Operator
A research preview of an agent that can use its own browser to perform tasks for you. Available to Pro users in the U.S.