Интересное что-то
517 subscribers
2.71K photos
253 videos
138 files
4.51K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.iss.one/asisakov_channel
Чат: https://t.iss.one/youknowds_chat
Download Telegram
Forwarded from AbstractDL
Virtual Width Networks

Исследователи из ByteDance придумали забавный архитектурный трюк — Virtual Width Networks (VWN). Идея в том, чтобы увеличить размерность эмбеддинов (например, в 8 раз), а основные слои трансформера оставлять стандартной ширины. Связывается это всё через лёгковесные матрицы Generalized Hyper-Connections (GHC), которые сжимают эмбеддинги перед attention/FFN и обратно расширяют после.

Зачем? Ну, обычно увеличение ширины трансформера даёт прирост качества, но приводит к квадратичному росту параметров и вычислений. А тут получается, что расширяешь только эмбеддинги (это дёшево), а backbone почти не трогаешь.

На MoE модели с 3.3B параметров при x8 расширении они получили ускорение обучения в x2.5 для next-token и x3.5 для next-2-token prediction. Причём gap в лоссе растёт по мере обучения, что необычно. Обнаружили примерно логарифмически-линейную зависимость между коэффициентом расширения r и снижением лосса.

VWN особенно хорошо работает с Multi-Token Prediction (MTP) — когда модель учится предсказывать не только следующий токен, но и следующие 2-3. Видимо, расширенное пространство эмбеддингов позволяет лучше упаковывать планирование на несколько шагов вперёд.

Правда, у подхода есть серьёзное ограничение — современное железо не очень дружит с супер-широкими активациями. Авторы сами признают, что расширения в x1.5–x4 более реалистичны для продакшна.

Статья
Forwarded from Pavel Zloi
Хочу порекомендовать одну отличную публикацию "Векторный поиск: как выбрать систему и не пожалеть" на Хабр, там автор очень подробно рассказал о том как работает векторный поиск, как формируются векторы, как выполняется поиск, какие движки бывают.

Особый интерес представляет финальный бенчмарк большинства популярных решений для векторного поиска, тестирование проводилось на тему потребления ресурсов, времени отклика, скорости запуска и так далее.

В общем очень годная публикация, которая пригодится всем кто задумывается о перфомансе систем векторного поиска.
Forwarded from Душный NLP
Как заставить reasoning-модели меньше галлюцинировать (часть I)

Авторы сегодняшней статьи пытаются ответить на вопрос: можно ли обучить стратегии рассуждения, повышающие фактическую точность (R-)LLM? Отмечено, что reasoning-модели решают математические задачи и пишут код, но в длинных фактологических ответах галлюцинируют больше, чем обычные не-reasoning-версии этих же моделей.

Так, например DeepSeek-R1 и QwQ-32B выдают на 10–13 п.п. больше галлюцинаций, чем соответствующие базовые не-reasoning-версии DeepSeek-V3 и Qwen-2.5-32B на шести датасетах, созданных для проверки фактологичности длинных ответов. В первой части разбора обсудим проблему, заявленную в статье, и метод, предложенный авторами. А во второй — результаты и некоторые выводы.

Проблема в том, что стандартный RL для reasoning-моделей заточен под верифицируемые задачи, для которых награда вычисляется по заранее определённым правилам и проверку которых можно автоматизировать (математика, код). А для ответов, содержащих фактологическую информацию, не существует ни надёжной автоматической проверки (как в RLVR), ни возможности звать человека для проверки.

Эти трудности сильно ограничивают использование фактчек-сигнала в алгоритмах online-RL. Попытки автоматизировать фактчек с помощью FActScore/VeriScore в online-RL-сетапе приводят к «хакингу награды»: модель начинает писать слишком кратко (меньше фактов — меньше шансов ошибиться) или выдаёт длинный, но слабо связанный с вопросом поток общих, пусть и верных, сведений.

Так можно ли обучить стратегии рассуждения, повышающие фактическую точность (R-)LLM? Чтобы ответить на вопрос, авторы используют следующий подход.

Для получения обучающих промптов предлагают интересный ход: инженеры генерируют промпты с помощью Llama 4, обуславливая её на два множества grounding-промптов. Первый набор — WildChat (разнообразные реальные запросы пользователей), второй — LongFact (запросы, требующие фактологически точных ответов). Таким образом получается собрать порядка 7 тысяч синтетических промптов: 3 тысячи для SFT, 4 тысячи для RL, которые похожи на реальные запросы пользователей и в то же время требуют фактологически точных ответов.

Затем делают SFT: фью-шотят базовую Llama-3.1-8B-Instruct для генерации 10 Long-CoT-ответов в формате <think>…</think><answer>…</answer>, их прогоняют через VeriScore и берут ответ с наибольшей наградой за фактологическую точность.

Затем в качестве бейзлайна используют DPO: для сбора пар для обучения аналогично методу в SFT используется VeriScore c небольшой модификацией — берутся пары ответов с максимальной дельтой награды VeriScore и удовлетворяющие условиям:

1) дельта награды должна быть выше определённого порога, чтобы фактчек-сигнал был достаточно сильным;
2) разность длин ответов должна быть меньше определённого порога, чтобы не было «хакинга длины».

Для онлайн-RL в качестве нововведения предлагают награду, которая состоит из трёх слагаемых:

— фактическая точность (Pre): F/(T+1), где F — число подтвержденных фактов, T — всего найденных фактов в ответе (извлекаем их с помощью LLM) (для штрафа за фактологически неверные ответы);
— детальность (Dtl): log(1+F) — поощряет больше правильных фактов, но с дисконтированием на длину (для штрафа за слишком короткие ответы);
— релевантность/полезность (WR): LLM-as-a-judge-метрика — ответ политики сравнивается с ответам реверенсной модели, если судья считает, что ответ политики лучше, то метрика принимает значение 1, в противном случае — 0 (для штрафа за наличие нерелевантных верных фактов).

Чтобы такой reward можно было считать в онлайне, сильно оптимизируют VeriScore: батчуют извлечение фактов, параллелят веб-поиск и так же батчуют проверку утверждений поверх поисковой выдачи. Это позволяет сократить время инференса реворда с двух минут (базовый сетап VeriScore) до примерно пяти секунд на один ответ, что уже пригодно для online-RL. Полученный подход уже используют в GRPO-алгоритме в качестве модели награды.

Разбор подготовил Дмитрий Масный

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Душный NLP
Как заставить reasoning-модели меньше галлюцинировать (часть II)

Продолжаем разбирать статью Learning to Reason for Factuality. В первой части рассказали о проблеме и самом методе, а сегодня — о результатах и интересных выводах.
Оценка происходила на шести сложных бенчмарках фактологических ответов: LongFact, FAVA, AlpacaFact, Biography, FactBench-Hard и Factory-Hard.

Базовая Llama-3.1-8B даёт в среднем 45% фактической точности и 23,5 подтверждённых факта на ответ. После полного пайплайна (SFT + online GRPO с новым ревордом) модель достигает 68,1% фактической точности (Pre), при этом детальность ответа (Dtl) возрастает до 29%, а релевантность - составляет ~54%. Таким образом, в описанном сетапе ризонинг-версия модели стала меньше галлюцинировать без потери полезности относительно своей не-reasoning-версии.

В отличии от online-RL-сетапа «SFT + DPO»-эксперимент сильно просаживает полезность ответа, при примерно таком же качестве детальности (Dtl) и фактической точности (Pre) (сравнивая с SFT + GRPO). Это делает предложенный авторами подход довольно актуальным.

Кроме того, авторы попробовали определить meta-reasoning-страгении в CoT-рассуждениях модели. Для этого использовали Llama-3.1-70B-Instruct. Выяснилось, что стратегии ризонинга для повышения фактологичности ответов модели сильно отличаются от стратегий, которые используются в решении математических и кодинг-задач.

Так, например, наиболее частые стратегии решения математических задач — self-verification, exploration, calculation and backtracking, в то время как для описанного online-RL-подхода основными стратегиями являлись: synthesis, summarization, explanation, evaluation. Этот факт может быть одной из причин большего галлюцинирования ризонинг-моделей, которые обучаются в RLVR-сетапе на задачах математики и кода, на запросах, требующих фактологической точности.

Разбор подготовил Дмитрий Масный

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from .ml
Что делать с ошибочными разметками?

Это продолжение поста об асессорской разметке данных. Если мы нашли ошибки в разметке, то можем:

📌 Передать несогласованные примеры на доразметку эксперту. Это самый простой вариант, но не всегда есть возможность привлечь доменного эксперта.

📌 Использовать библиотеку CleanLab для работы с шумными данными. В её основе лежит алгоритм confident learning, который автоматизирует поиск ошибок. Как это работает:

1) Обучаем произвольную модель — от градиентного бустинга до нейросетей.
2) Строим совместную матрицу вероятностей, чтобы выявить взаимосвязи и ошибки в предсказаниях (например, частые путаницы между классами).
3) Ищем подозрительные примеры — экземпляры с низкой вероятностью истинного класса.

В нашей задаче по эмоциям CleanLab помог отфильтровать набор примеров, которые отправились на дополнительную экспертную проверку.

📌 Далее можем построить Dataset Cartography, чтобы визуализировать, как модель учится на каждом примере. Для этого обучаем модель и сохраняем эволюцию предсказаний по эпохам для каждого класса, а затем рассчитываем коэффициенты:

🔍 Confidence — средняя вероятность предсказания истинного класса.
🔍 Variability — дисперсия вероятностей по эпохам. Показывает, насколько часто модель меняет своё предсказание с течением эпох.
🔍 Correctness — доля эпох, когда пример классифицировался верно.

На выходе мы получаем график, который делит примеры на три зоны (график смотрите ниже):

📝 Easy-to-learn: простые примеры, которые модель легко распознаёт.
📝 Ambiguous: неоднозначные примеры, которые нужны для обучения модели, чтобы она обобщалась.
📝 Hard-to-learn: вероятные ошибки в разметке.

Таким образом, для первичной фильтрации ошибок можно использовать CleanLab. А затем использовать Dataset Cartography, чтобы глубже понять структуру данных.

В следующем посте — про синтетическую разметку данных с помощью GPT.
Forwarded from Data Blog
Ещё больше ссылок про трансформеры.

Привет, друзья! Наверное, уже мало кого можно удивить визуализациями attention flow и тем, как работает трансформер. Но, каждый раз находя новые, я всё ещё ловлю детский восторг.

Недавно нашла широкую и аккуратную визуализацию circuits в модели GPT-2, где видно, как признаки из разреженного базиса формируют цепочки.

Напомню, что circuits — это цепочки внутренних активаций признаков. Важное слово в определении — цепочки — вот этот токен активировал эту фичу, эта фича — другую, та — грамматический паттерн, и так далее до следующего предсказанного слова.

В терминах, circuits — это ориентированный ациклический граф, чьи вершины — внутренние признаки модели, а рёбра — доказанные причинные зависимости между ними.

Circuits на SAE.

Приложение отсюда демонстрирует circuits, найденные с использованием SAE. Как это построено:

1. Для каждого вектора берем его разреженное представление. Так как представление разреженно — у нас много неактивных признаков;

2. Далее фиксируется пример и для него выбираются активные признаки последнего слоя (пусть L)

3. Далее последовательно для каждого L-i выбираем значимые признаки с прошлого слоя, выключаем их (стаим, например, в 0) и смотрим, поменялись ли активации выше по слою. Если да, то считаем признак участвующим в формировании цепочки, тригерящей признак на слое будущем.

4. После процедуры 3 все найденные связи собираются в граф, который проходит через pruning. И так получается circuit.

В чём продуктивность circuits?

Если посмотреть на приложение может показаться, что circuits — просто что-то классненькое. Но на деле их применяют для дебаггинга, управления (при помощи патчинга) и для понимания моделей с точки зрения теории (в том числе для анализа внутренней геометрии).

Теоретически их можно масштабировать — если какой-то circuit появляется в GPT-2, GPT-2-medium и GPT-J — значит это может быть масштабируемым вычислительным механизмом, встроенным в архитектуру, что даёт больше понимания о моделях, как о сущности, хоть мы и не знаем, почему модели вообще учатся ещё на уровне проблем с лоссом.

Помимо этого материала у меня есть подборки тут, тут и даже конспект лекции о том, как работают трансформеры — тут. Кроме того, существует большой материал от 3Blue1Brown — и, наверное, это золотая отправная точка "входа" в трансфомеры. Так что если вдруг трансформеры входят в ваши планы на Новый год — рекомендую почитать.
Forwarded from Zero to Vibe[coding]
Tabular Review Tool.pdf
1.7 MB
Юридический вайбкодинг
С недавних пор я окунулась в мир LegalTech-стартапов и чуть больше читаю про юристов и их задачи, но вайбкодинг и тут меня нашёл!

По ссылке pdf с пошаговой инструкцией в картинках по созданию инструмента для анализа данных документов в сводных таблицах.
Юрист самостоятельно сделал её при помощи Manus AI и рассказал по шагам свой путь.

Примечательно, что функцию он взял из Harvey AI -- это очень модный LegalTech-ИИ-стартап в штатах, лицензия на 1 юриста у них стоит больше тысячи долларов в месяц. Конечно Harvey AI отрабатывают её стоимость десятком других возможностей и контролем за качеством того самом анализа, но вайбкодер-юрист взял только то, что ему нужно, и по цене токенов Manus закрыл свою (а может и ещё нескольких тысяч юристов) конкретную задачу. И выложил решение на Гитхаб.
https://github.com/jamietso/Tabular_Review

Это вам для вдохновения 🧚
Forwarded from Data Secrets
Самая громкая статья месяца – Hierarchical Reasoning Model

Без предисловий, сразу главный результат: у авторов получилось сделать модельку всего на 27 миллионов (!) параметров, которая обошла o3-mini на ARC-AGI-1. Неудивительно, что об этой работе сейчас говорит все комьюнити, а авторы ARC-AGI даже сами написали большой разбор результатов модели на их бенчмарке.

Погнали разбираться.

Итак, вся архитектура состоит из двух рекуррентных модулей: быстрого низкоуровневого и медленного высокоуровневого. Первый отвечает за быстрые локальные вычисления и решения частных задач, а цель второго – абстрактно управлять процессом и ставить таски первому.

Суть в том, что они обновляются с разной частотой. Исходная задача разбивается на несколько циклов рассуждения. В каждом из них верхний модуль обновляется только один раз и дает новый контекст нижнему модулю, который в свою очередь делает много мелких шагов и ищет локальное решение.

Сколько будет таких итераций, модель решает сама. Останавливаться (или не останавливаться) в правильный момент ее специально учили с помощью RL. Так что «думать» она может и пару секунд, и пару часов.

Обучается HRM не совсем привычно для рекуррентной модели: здесь, вместо того чтобы сохранять все внутренние состояния, авторы решили обновлять градиенты только по финальному стейту. Удивительно, но факт – это работает.

Кстати, вся конструкция и принцип обучения очень похожи на то, как работает наш мозг. Некоторые области отвечают за абстракцию, другие – за конкретные моментальные действия, а общаются они посредством обратных связей. Здесь те же принципы иерархии (отсюда и название). Плюс, мозг тоже не хранит промежуточные траектории и к сходимости приходит через схожие волновые циклы.

Итог: модель для своего размера просто беспрецедентно хороша на решениях всяких головоломок типа судоку, лабиринтов и индуктивных задач. В общем, именно в тех областях, где привычные LLM обычно фейлятся. Конечно, особенно поражают результаты на ARC-AGI, которые мы описали в начале.

Революция или нет, но выглядит действительно очень изящно и эффектно.

Обязательно почитайте работу полностью тут (+ вот еще один отличный разбор на русском языке)
Forwarded from Dealer.AI
LLM консилиум - или старые песни о society of mind в новой обертке.

Карпаты идёт по стопам Мински и реализовал рабочую механику концепции society of mind. Писал об этом аж 2 года назад. 🥳 Меня, честно, все седня в лс замотали, мол смотри, тут вау новье. Дипы уже 2 года, как запилили, а у Карпаты просто ток руки до идеи дошли реализовать. Но хорошо, что есть ещё одна вариация кода и алгоса.

Советую все ещё к прочтению базированную статью про клуб дебатов LLM. 🧑‍🎓

Алгоритм у Карпаты, кстати, напомнил "Покер оценку очков сложности тасок спринта" в agile. Кстати, а почему бы и не заделать такое на агентах, для вашего проекта в jira? 🧠 Дарю идею. 😎

А вообще, такие вот дебаты/консилиумы на агентах очень важный стрим на равне с эволюционными алгосами (о них позже). Советую всем интересующимся агентами почитать про теорию принятия решений, стратегии консенсуса и прочие темы с многокритериальным голосованием. Это база стратегий навигации и принятия решений для МАС и LLM. А если ещё в теорию игр залезите, вообще красавчики.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Neural Kovalskii
Лучшие практики и подходы для RAG
(буду наполнять)


Очередной раз спросили в чате канала что почитать про RAG (https://t.iss.one/neuraldeepchat)

Соберем тут все лучшее присылайте и ваши статьи и разборы

Тут материалы предыдущих ответов

1) https://t.iss.one/neuraldeepchat/3176
2) https://t.iss.one/neuraldeepchat/2953


1) Чанкование (sliding window) можно подглядеть концепты от langchain
https://github.com/langchain-ai/langchain/tree/master/libs/text-splitters

Tired of making your gazillionth chunker? Sick of the overhead of large libraries? Want to chunk your texts quickly and efficiently? Chonkie the mighty hippo is here to help!
https://github.com/chonkie-inc/chonkie



2) Векторные бд от pgvector до qdrant можно начать с chroma (IVF_Flat или HNSW)

3) Векторные модели для ру
ai-forever/FRIDA
BAAI/bge-m3
intfloat/multilingual-e5-large
Qwen3-Embedding-8B

4) Реранкер после KNN сделать доп ранжирование
BAAI/bge-reranker-v2-m3
Qwen3-Reranker-8B


5) LLM + vLMM (база qwen-2.5-7b-instruct)
RefalMachine/RuadaptQwen2.5-14B-Instruct
t-tech/T-lite-it-1.0
t-tech/T-pro-it-2.0

Agentic RAG(Qwen3-30B-A3B-Instruct-2507)
РЕПО(https://github.com/vamplabAI/sgr-agent-core/tree/tool-confluence)

Презентация от Дяди
Построение RAG систем от исследований до индустрии


Хорошо описанные подходы от Богдана
https://t.iss.one/bogdanisssimo/2047

Лучшее решение РАГ по документации от Ильи(@IlyaRice) которое выиграло первое место на ERC2
https://github.com/IlyaRice/RAG-Challenge-2/tree/main


Готовые фреймворки одобренные нашим сообществом
https://github.com/langgenius/dify/
https://github.com/Marker-Inc-Korea/AutoRAG
https://github.com/run-llama/llama_index
https://github.com/mastra-ai/mastra

Кейс red_mad_robot по RAG (DCD) для строительной компании (t-lite)
https://habr.com/ru/companies/redmadrobot/articles/892882/

Серия про file first от Рефата
https://t.iss.one/nobilix/182

Классика (Запись эфира по RAGу без эмбеддингов)
https://t.iss.one/oestick/397

#RAG
#best_rag_practice

Сохраняй в избранное чтобы не потерять
Forwarded from Dealer.AI
202512 deepseek paper.pdf
885.8 KB
DeepSeek3.2 техрепорт, где инкремент?

Ребята после поста новостей одной строкой попросили дать оценку тому, что нового завезли. В общем, тех.репорт в закрепе, зашёл на чирики даже, почитал и ща вам расскажу.

Что нового завезли в DeepSeek:
1. Усиление deep sparse attention. В целом, DSA не ново, даже в gpt-oss также использует global attention+sliding window. Это даёт вам сложность операций внимания не O(n^2), а O(n*w), где w размер окна в swa. Эти свойства были усилены специальным механизмом "выбора" на какие токены атендится global части в этом окне и таким образом, w стало в среднем падать от слайда к слайду. Что такое global часть?  Это внимание от Q0 до Qn, по отношению к KV0, на картинке ниже приложу. Крч даёт это те же O(n*<w>) ток теперь w<<n. А для выбора топ-К аттендов делается селектор, на картинке зелёный. Он как раз помещается на KV для роутинга.

2. Усиление MLA. Multi latent head attention это способ ускорить и уменьшить в памяти хранение qkv матриц.  Это получаем при помощи пожатия qkv в ещё меньший размер в Х раз. Также, чтобы не размыть информацию от изначального сигнала, прокинуть RoPE механизм туда. Однако, тк у нас на выходе и входе эмб изначального сайза, там стоит блок расширения. Это была база MHA. А теперь туда добавили как раз таки вместо старого DSA, DSA с топК селектором прям в латенты. И все это ускорило ещё сильнее модель.

3. Изменение RL лосса. А почему? Да потому, что в лоссе была посажена бомба, в прямом смысле, совершающая градиентый взрыв. Чтобы исправить это был внесён корректирующий коэффициент из твитта выше.
В чем заключается исправление?
Исправление касается оценки дивергенции KL в алгоритме GRPO. В оригинальном GRPO KL-регуляризация оценивалась с систематической ошибкой. Когда токены имели значительно более низкую вероятность под текущей политикой πθ, по сравнению со старой, политикой πold, градиент оригинального лосса назначал непропорционально большие веса для максимизации правдоподобия этих токенов - отсюда и взрыв.
Это приводило к:
1. Шумным градиентным обновлениям.
2. Нестабильной динамике обучения.
3. Деградации качества сэмплов на последующих итерациях.
Решением стало"Unbiased KL Estimate". Исправление заключается в перевзвешивании KL-члена с тем же самым коэффициентом важности (importance ratio), что и используется для основной функции потерь. Это делает градиент KL-ошибки несмещенным.
Фух... Жоско? Но это все.

В общем, такие мутки, гульки.
Please open Telegram to view this post
VIEW IN TELEGRAM