gonzo_ml | Unsorted

Telegram-канал gonzo_ml - gonzo-обзоры ML статей

21999

Авторы: Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика. Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.

Subscribe to a channel

gonzo-обзоры ML статей

Статьи:
* DeepSeek-V3 (https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf)
* DeepSeek-R1 (https://github.com/deepseek-ai/DeepSeek-R1/blob/main/DeepSeek_R1.pdf)
* Janus-Pro (https://github.com/deepseek-ai/Janus/blob/main/janus_pro_tech_report.pdf)
* DeepSeek-VL2 (https://github.com/deepseek-ai/DeepSeek-VL2/blob/main/DeepSeek_VL2_paper.pdf)

Читать полностью…

gonzo-обзоры ML статей

DeepSeek moment

Нельзя ничего не сказать про DeepSeek. Эти ребята просто супер молодцы — так задизраптить всё поле мало кому удавалось. Ну OpenAI со своим ChatGPT, потом Цукерберг с Llama в опенсорсе, теперь вот DeepSeek.

DeepSeek сумели обучить модели хорошего качества по ценам на порядок ниже конкурентов.

Во-первых, DeepSeek-V3 (https://github.com/deepseek-ai/DeepSeek-V3), включает две модели DeepSeek-V3-Base и чат-версию DeepSeek-V3. Обе являются MoE с 671B параметров всего и 37B активных. Не для простых смертных модели, надо иметь неслабую multi-GPU конфигурацию что-то типа 8 H200 (но есть сжатые варианты от разных товарищей). По качеству где-то уровня GPT-4o 0513 и Claude-3.5-Sonnet-1022 и выше LLaMA-3.1 405B.

Есть разные оценки, сколько стоило обучение Ламы 3.1 405B. В самой работе (https://arxiv.org/abs/2407.21783) сказано, что использовалось до 16,384 H100 и упоминается предобучение в 54 дня (но там и другие этапы обучения были). Одна из не самых высоких оценок говорит, что стоить должно было порядка $60M (https://x.com/_LouiePeters/status/1816443587053092917?lang=en).

Про DeepSeek-V3 известно чуть конкретнее. Они использовали H800, урезанный для Китая экспортный вариант H100, и они сами пишут, что для полного обучения потребовалось 2.788M H800 GPU-часов, что соответствует $5.576M при цене аренды H800 в $2 за час.

Ну типа на десятичный порядок меньше. При сравнении с OpenAI наверное разница ещё больше.

Это как с Индией, которая отправляла аппараты на Марс и Луну дешевле, чем в Голливуде фильмы про космос делаются: марсианский Mangalyaan за $74M и лунный Chandrayaan-3 за $75M против фильма “Гравитация” за $100M (https://www.business-standard.com/india-news/what-makes-india-s-space-missions-cost-less-than-hollywood-sci-fi-movies-124110400430_1.html).

Во-вторых, DeepSeek-R1 (https://github.com/deepseek-ai/DeepSeek-R1), модели с ризонингом по типу OpenAI o1 или Google Gemini Thinking. В семействе две модели: DeepSeek-R1-Zero и DeepSeek-R1, обе построены на базе DeepSeek-V3-Base и такого же большого размера.

DeepSeek-R1-Zero (по аналогии с AlphaZero) обучена чистым RL (Group Relative Policy Optimization, GRPO — вариант PPO из другой их статьи, https://arxiv.org/abs/2402.03300), без SFT. Я думаю это очень значимый результат, как в Го оказалось, что можно без человеческих партий, так и здесь постепенно оказывается. Из интересного, во время обучения у модели случился “aha moment”, когда в цепочке рассуждений модель выдала “Wait, wait. Wait. That’s an aha moment I can flag here.” и пересмотрела изначальный подход к решению задачи.

Zero хороша, но иногда уходит в повторы, смешивает языки, не очень читабельна. DeepSeek-R1 перед RL обучена на небольшом (тысячи) количестве CoT примеров, они это называют Cold start data, чтобы дать более качественную начальную точку для RL. Далее тот же Reasoning-oriented RL, что и у Zero. Далее SFT на ризонинг (600k) и не-ризонинг (200k) данных. И потом ещё дополнительный этап RL. Эта модель сравнима с OpenAI-o1-1217.

Из того, что не привело к успеху: Process Reward Model (PRM) и Monte Carlo Tree Search (MCTS).

Также выпущена куча dense дистиллятов (1.5B, 7B, 8B, 14B, 32B, 70B) из R1 на базе Qwen и Llama. Эти сопоставимы с OpenAI-o1-mini.

HuggingFace взялся за Open R1 (https://github.com/huggingface/open-r1), полностью открытое воспроизведение DeepSeek R1. В кои-то веки не Китайские исследователи догоняют западных, а наоборот!

Но и этого DeepSeek показалось мало, и сегодня они выпустили ещё и Janus-Pro, развитие предыдущего Janus (https://github.com/deepseek-ai/Janus) с улучшенным обучением, данными и большим размером. Это мультимодальная моделька на 1B и 7B, умеет принимать на вход текст и картинки и на выходе тоже выдавать текст и картинки. На генерации вроде как бьют Dalle-3, SDXL, SD3-Medium.

Читать полностью…

gonzo-обзоры ML статей

3) Few-shot adaptation. Вычисляется новый z′ как взвешенная комбинация имеющихся выученных SVF векторов. Коэффициенты α_k при этих векторах находятся через Cross-entropy method (CEM) на наборе few-shot prompts. Это надо сделать лишь единожды для каждой целевой задачи, при этом в отличие от классического few-shot в промптинге здесь нет нужды увеличивать размер рабочего промпта, добавляя в него примеры.

Какие результаты у квадратного трансформера?

Взяли три LLM из пары разных семейств: Llama3 8B Instruct, Mistral 7B Instruct v0.3 и Llama3 70B Instruct.

Для каждой модели находят три набора z-векторов под задачи GSM8K, MBPP-pro и ARC-Easy соответственно. То есть математика, program synthesis и reasoning. Для Llama3 8B также обучили вектор для TextVQA. На соответствующих тест-сетах SVF даёт стабильное улучшение, часто превосходящее LoRA с рангом 16 (эти обучались на next token prediction, через RL тоже пробовали, но с RL LoRA хуже SVF). Авторы считают, что тут дело в RL, его training objective не требует идеального решения для каждого примера, что не так в случае лоры. Также SVF более параметр-эффективно, количество обучаемых параметров менее 10% от LoRA.

После обучения SVF и получения z-векторов можно оценить качество адаптации к новым задачам. Оценивают на задачах MATH, Humaneval, ARC-Challenge, OKVQA. Результаты LoRA здесь примерно никакие (всё хуже), а Transformer^2 даёт улучшение почти везде. Метод адаптации Few-shot лучший. Интересно, что даже на VLM задаче с векторами обученными на совсем других текстовых задачах Transformer^2 демонстрирует заметное улучшение. Видимо, реально полезная параметризация.

Интересна визуализация весов отдельных векторов α_k для третьего варианта адаптации. Например, при решении задач MATH там нет доминирования весов от GSM8K, для Llama3 8B почти половину вклада дают веса от ARC. На других задачах и у других моделей тоже нетривиальные миксы. А для первого и второго варианта адаптации, основанных на классификации, confusion matrices показывают, что примеры хорошо матчатся с экспертами, обученными на соответствующих доменах.

Второй проход по времени инференса обычно существенно дольше первого, и вклад первого прохода относительно второго в зависимости от задачи (в реальности от количества генерируемых токенов) составляет от 13% до 47%.

Абляции показали, что применение SVF и к вниманию, и к MLP даёт буст — к MLP больше, но там и весов больше, а лучше сразу к обоим. RL objective даёт сильно лучший результат, чем next token. А LoRA с RL хуже, чем SVF с next token.

Интересный эксперимент с переносом векторов-экспертов между разными LLM. Перенос векторов от Ламы на Мистраль улучшает результат на двух задачах из трёх. На ARC-Challenge это даже лучше собственных результатов Мистраля. Это потенциально интересный результат, надо копать дальше.

В общем, интересная работа. Мне сама параметризация нравится, она красивая и понятная. Может даже к интерпретируемости что-то добавит. Ну и то, что оно лучше Лоры работает, это тоже, конечно, прекрасно. Хотя пока у Лоры остаётся преимущество в виде скорости, там нет двух проходов. Но, может быть, в эпоху test-time scaling (/channel/gonzo_ML/3175) это уже не так важно.

Ну и традиционно напоминаю, что у канала есть Патреон (https://patreon.com/GonzoML) и Boosty (https://boosty.to/gonzoml). Спасибо за то, что вы с нами :)

Читать полностью…

gonzo-обзоры ML статей

Transformer^2: Self-adaptive LLMs
Qi Sun, Edoardo Cetin, Yujin Tang
Статья: https://arxiv.org/abs/2501.06252
Блог: https://sakana.ai/transformer-squared/
Код: https://github.com/SakanaAI/self-adaptive-llms

“Трансформер в квадрате” (Transformer-squared) — новая работа от Sakana.ai, компании, которую я уважаю, особенно их фаундера David Ha. В частности он, вместе со Шмидхубером, написал одну из статей (https://arxiv.org/abs/1803.10122), стартовавших новую волну работ по World Models (/channel/gonzo_ML/3176). Микро-разбор этой статьи внутри другого разбора был у нас тут (/channel/gonzo_ML/186). Также Дэвид стабильно участвует в разных немейнстримовых интересных работах, некоторые из которых мы тут разбирали (/channel/gonzo_ML/233). Они же выпустили недавно нашумевшего AI Scientist (https://sakana.ai/ai-scientist/). Они же занимаются nature-inspired алгоритмами и artificial life. Если вы в Японии или только хотите туда, рассмотрите вариант с этой компанией-лабой в Токио, они подняли раунд A и набирают людей.

С момента появления статьи я сколь-нибудь внятных разборов так ни у кого и не увидел, придётся сделать.

Transformer^2 — это интересный способ адаптации LLM, альтернатива файнтюнингу и LoRA в частности. В двух словах идея в том, что мы все матрицы обученных весов LLM раскладываем через SVD, а затем файнтюн/адаптация будет заключаться в масштабировании сингулярных чисел этого разложения — какие-то сингулярные компоненты усиливаем, другие гасим. И будут разные "эксперты" с разным миксом имеющихся в модели сингулярных компонентов. Выучить коэффициенты при сингулярных числах — это сильно меньше чем полный файнтюн и даже чем LoRA. И более того, эти коэффициенты можно находить в test-time, когда в первом проходе forward pass мы анализируем задачу и выясняем тему (как нужно адаптировать эти коэффициенты = какие эксперты нужны для решения данной задачи), а во втором проходе forward pass просто применяем нужные коэффициенты (активируем нужных экспертов) и решаем задачу.

Далее к деталям.

Традиционный подход к адаптации предобученной модели — fine-tuning, он же post-training. Идейно он простой — собрали данные и дообучили — но на практике ресурсоёмкий, требует достаточно времени и компьюта. Самоадаптирующиеся (self-adaptive) модели более гибки. Вместо того чтобы сразу обучить LLM на все задачи за один шаг, можно независимо дорабатывать модули с экспертами и добавлять к модели по необходимости. В целом направление MoE (Mixture-of-Experts, про него мы писали много, можно поискать в канале, например, /channel/gonzo_ML/472) ныне очень популярно, одно из свежих решений — Self-MoE (https://arxiv.org/abs/2406.12034), но текущие MoE всё же в основном задаются до обучения и обучаются классически.

Transformer-squared заходит с чуть иной стороны. Обычный файнтюнинг занимается модификацией матриц весов, полученных в процессе обучения и содержащих достаточно богатую информацию, чтобы решать различные задачи. Вместо того чтобы пытаться добавлять новые фичи файнтюнинг должен концентрироваться на выявлении этих латентных способностей и делании их более выраженными. То есть надо найти, какие эксперты уже есть в модели (даже без MoE), и научиться применять их к релевантным задачам, модифицируя веса прямо в test-time.

Transformer^2 строится на основе Singular Value Fine-tuning (SVF), который обеспечивает эффективную параметризацию для файнтюнинга и даёт композициональность для адаптации. Во время обучения делается SVF, во время инференса само-адаптация (self-adaptation).

SVF делает это следующим образом.

Во-первых, как я понял из кода, сначала каждая матрица весов W предобученной модели раскладывается через SVD в W = UΣV’. Тут никакой экзотики, чистый U, S, V = torch.svd(v). Кто плохо знаком с SVD (Singular Value Decomposition), разберитесь, это крайне полезный алгоритм линейной алгебры (хороший текстовый ресурс: https://gregorygundersen.com/blog/2018/12/10/svd/, хорошее видео интро https://www.youtube.com/watch?v=gXbThCXjZFM и далее в его же канале).

Читать полностью…

gonzo-обзоры ML статей

Итак, более полная информация из блогпостов:
— Computer-Using Agent (CUA) объединяет возможности обработки изображений GPT-4o и рассуждения модели посредством обучения с подкреплением (Reinforcement Learning); CUA обучен взаимодействовать с графическими пользовательскими интерфейсами — кнопками, меню и текстовыми полями, которые люди видят на экране. Использование RL, как и в случае o1/o3, означает, что как только OpenAI наладят процесс сбора данных для закидывания в обучающий процесс — прогресс попрёт.
— Компания несколько раз пишет, что это research preview, который может ошибаться и не работать, он не надёжен. И в то же время они очень ждут обратной связи на то, что и где не работает, чтобы в ближайших итерациях это исправить. В настройках можно включить опцию тренировки на ваших запросах и сессиях — я это обязательно сделаю, чтобы именно мои задачи начали решаться лучше.
— Если CUA сталкивается с трудностями или совершает ошибки, то оно может выбраться из ямы за счёт рассуждений и самокоррекции. Если это не удастся — система возвращает управление пользователю с запросом на конкретные действия.
— Оператор обучен заранее просить пользователя взять на себя выполнение задач, требующих захода в систему по данным учётной записи, ввода платежных данных или решения CAPTCHA (да-да, теперь мы решаем капчу за машин).
— Пользователи могут удалить все данные о просмотренных сайтах и выйти из всех аккаунтов одним щелчком мыши в разделе «Конфиденциальность» в настройках. Прошлые запросы к Operator также можно быстро удалить. Отсюда следует, что в Operator будут храниться ваши учётные и платежные данные (ну, как в обычном браузере, то есть сессия делится между разными запросами), и что не нужно логиниться каждый раз или добавлять свою карточку.
— OpenAI делает большой упор на безопасность системы и устойчивость к атакам. Весь процесс мониторится отдельной моделью, которая может вызвать остановку выполнения, если что-то не так. Кроме этого, некоторые подозрительные ситуации будут отправляться на ручную проверку, по результатам которой атаку/проблему можно пометить и быстро добавить в мониторинг (в течение нескольких часов).
— На агентских бенчмарках, как писал выше, результаты везде лучше всех других, включая Anthropic Computer Use. Про бенчмарки напишу отдельные посты на выходных, чтобы понять, что мы оцениваем.
— Что интересно, так это примеры, выложенные в блоге. Очень рекомендую с ними ознакомиться, чтобы понять, как формировать свои запросы (там есть примеры неудачных запросов, когда одна и та же задача то решается в 10/10 раз, то 3/10 если не так попросить или что-то не уточнить). В этих примерах по 150-450 шагов (!) выполнения задач. Правда каждый шаг очень маленький — сюда входят даже скриншоты страницы и нажатия кнопки Enter для отправки запроса.
— Чем больше шагов, тем больше качество (что показывает способность модели к выходу из тупиков). OpenAI гордо пишут «We observed test-time scaling», а там где scaling, там и приросты не за горами.
— Один из примеров запросов, который мне понравился и наподобие которого я буду закидывать сам: «Help me export charts, graph or other images from docx files received in email "Lecture Document" in Notes folder and upload these png files to the figures/ folder in Google Drive for later use (use numbers to name them)»

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

Читать полностью…

gonzo-обзоры ML статей

Все уже видели, конечно. Проект на $500B

https://openai.com/index/announcing-the-stargate-project/

Читать полностью…

gonzo-обзоры ML статей

Towards Automated Circuit Discovery for Mechanistic Interpretability
Arthur Conmy, Augustine N. Mavor-Parker, Aengus Lynch, Stefan Heimersheim, Adrià Garriga-Alonso
Статья: https://arxiv.org/abs/2304.14997
Код: https://github.com/ArthurConmy/Automatic-Circuit-Discovery

Статья про mech interp с NeurIPS 2023, предлагают автоматизацию нахождения цепей (circuits) и несколько алгоритмов, включая Automatic Circuit DisCovery или ACDC 🤘

Типичный воркфлоу в mech interp включает три шага.

1) Вы определяетесь с поведением модели, которое хотите изучить, собираете набор промптов, демонстрирующих это поведение, и выбираете метрику. Этот набор будет здесь называться датасетом, но важно, что это никакой не обучающий датасет, обучения тут нет. Чем чётче определите целевое поведение, тем легче будет с ним работать.

2) Выбрать нужный уровень гранулярности, на котором хочется искать ответ. Это могут быть токены, головы внимания, конкретные Q,K,V активации, отдельные нейроны и интеракции между ними. В результате получаем граф (DAG) взаимосвязанных узлов.

3) В полученном графе ищем рёбра, образующие нужную нам цепь. Рёбра проверяем через рекурсивный activation patching: портим какую-либо активацию (перезаписываем нулём, средним значением по датасету, или лучше значением от другого примера, так больше шансов не вылезти за привычный диапазон), делаем forward pass, сравниваем результат модели по выбранной метрике. Так мы убираем из графа максимум того, что не влияет. Начинаем с выходной активации и двигаемся вглубь.

После того, как мы изолировали подграф, у нас есть цепь. Можно исследовать её и выдвигать гипотезы, что именно она реализует.

Текущая работа (почти) полностью автоматизирует третий шаг.

Итак, у нас есть набор промптов, реализующих выбранную задачу и набор негативных промптов без этой задачи. Активации из негативных примеров используются для activation patching.

ACDC итерирует от выходов ко входам вычислительного графа, начиная с выходного узла (узлы топологически отсортированы в обратном порядке). В каждом узле алгоритм стремится убрать максимум входящих в узел рёбер, так чтобы не ухудшить перформанс модели на выбранной метрике. Ухудшение оцениваем по изменению KL-дивергенции и ребро удаляем, если изменение ниже заданного порога τ>0. На выходе процедуры у нас есть разреженный граф с хорошим перформансом на выбранной задаче. Можно это рассматривать как задаче-специфичный прунинг, если угодно, что по-своему может быть интересно и в других местах.

Интересно, насколько на практике удалось проредить граф. Если я правильно понимаю, для GPT-2 small (124M параметров) на задаче Indirect Object Identification (IOI, https://arxiv.org/abs/2211.00593) найденный подграф содержит 1041 ребро. При этом рёбра это всё-таки не отдельные веса, а головы внимания (разделённые на Q, K, V) и MLP. В работе упоминают, что всего в этой модели 32923 рёбер.

Вместо ACDC могут быть применены и другие методы, например, Subnetwork Probing (SP, https://aclanthology.org/2021.naacl-main.74/) или Head Importance Score for Pruning (HISP, https://arxiv.org/abs/1905.10650).

Попытались оценить, как метод отвечает на два вопроса:
Q1. Идентифицирует ли метод подграф, отвечающий алгоритму, лежащему в основе того, что реализует нейросеть?
Q2. Избегает ли метод включать компоненты, не участвующие в изучаемом поведении?

Ответам на эти вопросы соответствуют высокий true-positive rate (TPR) для Q1 и низкий false-positive rate (FPR) для Q2, что отлично сочетается в ROC-кривой. В качестве канонических ground truth цепей взяты найденные в предыдущих работах, и дальше решается задача бинарной классификации каждого их рёбер графа (принадлежит он цепи или нет).

Читать полностью…

gonzo-обзоры ML статей

On Interpretability

Я тут немного погрузился в тему interpretability пока проходил курс AI Alignment (/channel/gonzo_ML/2934). В целом в interpretability я особо не верил, потому что ситуация довольно быстро идёт к созданию систем очень большой сложности и чем дальше, тем больше надо пытаться интерпретировать сущность всё более близкую по сложности к мозгу (а в перспективе и более сложную). Глобально я не верю, что система меньшей сложности может хорошо интерпретировать работу системы большей сложности, кроме каких-то вырожденных случаев или прям очень сильных коррелятов какой-то целевой функции (что наверное будет редкостью). Так что, опять же глобально, я думаю, что жить нам дальше с системами, которые мы не сможем интерпретировать, как в общем мы и сейчас живём, не зная что там у соседа в голове.

Но тем не менее, полезно принять чужую точку зрения и посмотреть на ситуацию с неё, что я и сделал.

Одна из ценных находок для меня -- это посты Криса Олаха (Chris Olah, https://colah.github.io/), работы которого на Distill (https://distill.pub/) мне всегда нравились. Из работ после Distill у него и ко была хорошая серия про Transformer Circuits (https://transformer-circuits.pub/). Он кстати и кофаундер Антропика заодно, и в недавнем ноябрьском 5+ часовом (/channel/gonzo_ML/3036) Лексе Фридмане он тоже был.

В одном из довольно старых постов на Distill “Zoom In: An Introduction to Circuits” (https://distill.pub/2020/circuits/zoom-in/) мне понравилась метафора микроскопа и мысль про полезность для науки делать zoom in. Мол, микроскопы помогли нам увидеть клетки и открыли дорогу к клеточной биологии. Они дали не количественно новое понимание, а качественно. В этом смысле и, например, визуализации работы нейросетей могут выступить в такой же роли.

Работа про zoom-in делает три спекулятивных утверждения (хотя какие-то подтверждения этих тезисов мы видели):

1. Фичи (features, линейные комбинации конкретных нейронов) -- фундаментальные юниты нейросерей, они задают некие направления в линейных пространствах активаций нейронов слоя. Их можно подробно исследовать и осмыслять.
2. Схемы (circuits, вычислительные подграфы нейросети) -- образуются из фич, которые соединены весами. Тоже можно иследовать и изучать.
3. Универсальность (universality) -- самая спекулятивная часть -- аналогичные фичи и схемы формируются в разных сетях, решающих разные задачи.

Ну, прикольная программа. В 1 и 2 я очень даже верю, насчёт 3 сомневаюсь, вернее верю с оговорками, там конечно должно быть сильное влияние inductive biases и прочих данностей. Но прикольно, если окажется, что несильное.

Это конкретно ложится в тему mechanistic interpretability (mech interp), тут делают zoom-in, изучают выученные репрезентации, ищут circuits. Там рядом есть другие темы, которые мне в целом больше нравятся, например developmental interpretability (dev interp, https://devinterp.com/), где больше смотрят, как структура модели изменяется во время обучения, какие там есть фазы и т.п. Условный Гроккинг (/channel/gonzo_ML/831) или работы покойного Нафтали Тишби (https://www.youtube.com/watch?v=utvIaZ6wYuw) скорее сюда.

С dev interp начинать сложновато (хотя если выбрать хороший модельный объект, свою дрозофилу, то может это и не так…). Решил начать с mech interp, тут можно уже на готовых обученных моделях что-то делать, с более короткими циклами. Попутно это всё даёт возможность покопаться в основах, поближе к first principles. Ощущения почти как в старые добрые времена когда на ассемблере или в машинных кодах писал 🙂 Всегда хорошо под микроскопом посмотреть что там в трансформере на низком уровне происходит, а то все высоко в небеса нынче ушли.

Читать полностью…

gonzo-обзоры ML статей

In the meantime, если вы не смотрели нобелевские лекции Хопфилда и Хинтона, то рекомендую:

https://www.youtube.com/watch?v=lPIVl5eBPh8

У Хинтона неплохое краткое введение в BM, RBM и stacked RBM. Многие их уже не застали, но полезно знать эту часть истории.

Хинтона вообще полезно слушать, даже когда вроде бы знаешь, что он хочет сказать. Каждый раз какие-то новые интересные вещи для себя открываешь. Вот, например, читая статью про алгоритм обучения Forward-Forward, неожиданно наткнулся на тему про Mortal Computations (в том же посте), которая прикольная, хоть её некоторые и не любят.

Сейчас, наверное, от очередного упоминания Хинтона и Нобелевки у кого-то снова пригорит 😆

Читать полностью…

gonzo-обзоры ML статей

https://www.youtube.com/watch?v=okhQtoQFG5s

Читать полностью…

gonzo-обзоры ML статей

Специальные чипы вроде как становится дизайнить проще и дешевле (/channel/gonzo_ML/3147), может кто-нибудь создаст на ARM или Risc-V? И с дофига памяти.

Cerebras, кстати, мог бы выпустить Cerebras mini, например :)

World models и агенты

Увидел у Хуанга очень много мыслей, про которые думал и сам. Буквально недавно (/channel/gonzo_ML/3175) писал и про агентов, что это тот же самый test-time compute, и про важность world models. Приятно, на одной волне.

Скейлинг продолжается. Более того сейчас действуют сразу 3 scaling laws:
* pre-training scaling (as usual)
* post-training scaling (RLHF, RLAIF, …)
* test-time scaling (reasoning)

И Нвидии будет прекрасно и дальше жить в этом мире.

Про онбординг агентов и HR-истории для них мы тоже в Intento когда-то довольно много говорили, что всё это в конечном счёте приводит к гибридным командам. Сейчас мы как никогда близки к этому. Хуанг говорит, что IT-департаменты компаний станут HR-департаментами для агентов.

NVIDIA теперь пытается сделать AI libraries по аналогии с CUDA libraries. Это будет экосистема вокруг NIM, NeMo, AI Blueprints. Тема хорошая, но в доминирование Нвидии здесь я, честно говоря, верю меньше, потому что на архитектуру их чипов это уже никак не завязано, но с другой стороны NVIDIA настолько системный игрок, оперирующий на разных уровнях стека, что кроме них может никто лучше и не может системно подойти к вопросу. Посмотрим, сработает ли это, или отдельные компоненты и их интерфейсы и сами по себе (усилиями других) придут к хорошим архитектурным решениям. Я скорее верю во второе.

Анонсировали оптимизированные Ламы, семейство Llama Nemotron: Nano, Super, Ultra. Прикольно конечно Цукерберг (с ещё одной founder-led компанией) задизраптил всех. Самое интересное ещё впереди, посмотрим как экосистема сложится через год-два.

Прошёлся по Windows с желанием из Windows PC сделать AI PC на основе WSL2, второй версии Window Subsystem for Linux (система, интегрирующая Linux в винду). NVIDIA собирается ориентироваться на WSL2, так что AI PC появится отсюда. Так понимаю, это альтернативный путь тому, что предложил Microsoft со своими Copilot в винде.

Другая большая тема -- Physical AI и (сюрприз-сюрприз) world models. NVIDIA Cosmos -- это платформа для таких моделей, где среди World Foundation Models в наличии авторегрессионные и диффузионные модели, токенизаторы видео и пайплайны для обработки видео. Тоже планируется линейка Nano, Super, Ultra. Интересно, что модели Ultra позиционируются как модели-учители, для дистилляции например. Модель (не уверен какая именно) в Cosmos обучена на 20 миллионах часов видео.

Теперь есть Omniverse для рендера и Cosmos для нейро рендера. Интересно, здесь Цукерберг собирается дизраптить? Сначала они делали похожие штуки про Omniverse/Metaverse, теперь вот у одних есть LLM, а у других оптимизированная та же LLM + World Models -- чувствуется лёгкая асимметрия в такой конфигурации, пустота должна быть заполнена :)

Omniversе по сути physics-based и выступает как ground truth для Cosmos. Это прикольная конфигурация, мне она нравится. Хуанг сравнивает это с RAG для LLM. Отсюда ещё один заход на то, как могут выглядеть игровые движки ближайшего будущего (/channel/gonzo_ML/3176).

Платформа Cosmos выложена на гитхабе (https://github.com/NVIDIA/Cosmos) под Apache 2.0, а модели на Huggingface под Нвидиевской открытой лицензией (сильно в детали пока не вникал, но по крайней мере “Models are commercially usable. You are free to create and distribute Derivative Models. NVIDIA does not claim ownership to any outputs generated using the Models or Model Derivatives.”).

Хуанг много говорил про digital twins, роботов и автомобили, здесь тоже много анонсов, включая процессоры, Drive OS, Isaac GROOT. Нвидиа целится в роботов трёх типов: Agentic AI, Self-driving cars, humanoid robots.

Везде вообще упирает на токены, всюду токены. Ждём коммуналки с графой про оплату за токены. И токеноотведение.

Читать полностью…

gonzo-обзоры ML статей

Кейноут CEO NVIDIA Дженсена Хуанга (Jensen Huang) хорошо посмотреть (https://www.youtube.com/live/K4qQtPpSn-k?si=EShfhSBkbBSRJRWL&t=881). Во-первых, это красиво. Во-вторых, я думаю, эта компания будет определять нашу жизнь в большей мере, чем её сосед в TOP-2 по капитализации, Apple. Не полагайтесь целиком на новостные выжимки (и на мою тоже), составьте впечатление сами. Не так много в году настолько глобально значимых кейноутов -- ну может Гугл ещё, OpenAI там, про Apple не уверен, но наверное тоже.

Я кстати не понял, почему на канале CNBC это видео продолжается 12 часов (https://www.youtube.com/watch?v=fuq0Ncdsknk), кажется они зациклили трансляцию и записали её несколько раз. Я вначале испугался, что это будет шоу одного актёра на 12 часов. Но обошлось, всего чуть меньше двух. Но всё равно, Дженсен бодро прыгает всё это время на сцене, в апгрейженной крокодиловой кожаной куртке.

Крутая founder-lend company, что тут скажешь. Другим не founder-led компаниям (не буду показывать пальцем) такое не светит. Кто вообще знает, кто их CEO? Да никто как правило. Или если даже знаете, то что самое важное про них вы можете сказать? Что кто-то дальний родственник Хуанга? Ну вот и ответ про капитализацию и рыночные перспективы.

Хуанг -- знатный фокусник (https://www.youtube.com/live/K4qQtPpSn-k?si=FNUImWw_JsQYO9lA&t=6420), почти как Бастер Китон сто лет назад (https://www.youtube.com/watch?v=TA8rrAqip8E). Кстати, если Китона не знаете, очень рекомендую, у меня дети от Чаплина и Китона фанатеют.

RTX Blackwell

История появления универсальных и программируемых GPU, а затем и CUDA в чём-то сродни истории появления первого программируемого микропроцессора Intel 4004 (https://www.intel.com/content/www/us/en/history/museum-story-of-intel-4004.html). Кому-то сначала надо было додуматься, что универсальность важна. И массово рынок пришёл к пониманию этого нововведения только через годы. И вот теперь мы там где мы есть, спасибо играм и калькуляторам.

Игры тоже апгрейдятся, рендеринг теперь иной. Реально рендерится только небольшое число пикселей, остальное рассчитывается предобученными нейросетями прямо на чипе. Хуанг привёл пример, где рассчитывают рендером только 2 миллиона пикселей из 33, остальное генерится AI. Эта история с neural rendering сравнима с MLSys (/channel/gonzo_ML/3126), когда эвристики заменяются на обучение, или ещё больше похоже на ситуацию с научными симуляциями, когда сложная и долгая вычислительная модель заменяется на быструю нейросетевую -- везде hard-coded софт заменяется на нейропредсказание (надо бы таки дописать разбор neural operators…).

Новый RTX Blackwell -- мощный чип, с огромной пропускной способностью памяти (1.8TB/s), с 4000 AI TOPS что в три раза больше предыдущего поколения Ada. Тут всегда вопрос, что конкретно понимается за этими AI TOPS, каждый раз разное. Я надеялся, что это не FP4, но подозреваю, что всё-таки они. Во-первых, так получается больше :) А во-вторых потому что дальше он их использует в других местах.

Игровые карты весьма внушительны:
* старшая 5090: 3400 AI TOPS $1999
* младшая 5070: 1000 AI TOPS $549

То есть за $550 получаем как бы петафлопс на столе. Для контекста, первый терафлопсный суперкомпьютер (в 1000 раз слабее) был ASCI Red из 1997-го года (https://top500.org/resources/top-systems/asci-red-sandia-national-laboratory/), а первым петафлопсным был IBM Roadrunner в 2008 (https://www.ibm.com/history/petaflop-barrier). Но это конечно нечестно, в прошлом терафлопсы были зеленее. В TOP500 это FP64, а не какой-то там FP4. Но всё равно прикольно.

Читать полностью…

gonzo-обзоры ML статей

Marcus Hutter выложил рождественский и новогодний подарок -- PDF с Christmas Edition своей свежей книги про Universal Artificial Intelligence:

http://www.hutter1.net/ai/uaibook2.htm

Ссылка на PDF:
http://www.hutter1.net/publ/uaibook2.pdf

Спасибо Мише Самину за наводку!

Читать полностью…

gonzo-обзоры ML статей

Попытался прикинуть в режиме блиц, что такого важного и интересного произошло в AI в этом году. Ниже результат примерно десятиминутного размышления, что быстро всплыло из памяти. Плюс ещё полчаса-час на то, чтобы это раскрыть. Наверняка что-то важное забыл и если бы я потратил больше test time compute, наверное, результат был бы точнее, но в таком режиме тоже интересно.

Итак, мой список, не то чтобы по важности, просто по порядку вспоминания.

1. Test-time compute

Примерно с o1 (https://openai.com/index/learning-to-reason-with-llms/) открылась эра test-time compute, появилось новое измерение, по которому можно скейлить модели.

Ну как появилось, в принципе его следы и раньше можно найти. Те же варианты прогнать CNN на нескольких аугментациях и усреднить результат, или там Tailoring (/channel/gonzo_ML/392), оно тоже сюда. Но сейчас прям sputnik moment, особенно с o3 (/channel/gonzo_ML/3104). Есть и у других игроков что-то из этой серии, Gemini 2.0 Flash Thinking Mode (https://ai.google.dev/gemini-api/docs/thinking-mode) или QwQ (https://qwenlm.github.io/blog/qwq-32b-preview/).

Следующий год будет сильно про это.

2. SSM идут в массы.

За год появилось много новых SSM и SSM-Transformer гибридов (/channel/gonzo_ML/2919), и история продолжает развиваться. Из свежего, например, Bamba (https://huggingface.co/blog/bamba) или Falcon3-Mamba (https://huggingface.co/blog/falcon3).

3. Реальная конкуренция в мире LLM

Если год-два назад была примерно одна лучшая LLM -- от OpenAI, то теперь есть как минимум три топовых коммерческих: от Anthropic, OpenAI, Google, и несколько хороших открытых: Llama, Gemma, Qwen, да и ещё что-то наверное можно добавить. В повседневных делах у меня моделью #1 стал Claude 3.5 Sonnet, он вытеснил модели OpenAI как точку входа.

4. LLM теперь мультимодальные

Большинство топовых LLM уже вовсю мультимодальные, принимают на вход не только текст, но и звук с картинками. GPT, Gemini, Claude, Llama, ... все умеют что-то кроме текста. Тихо и без революций это просто стало реальностью.

5. LLM для написания кода стали реально полезны

Генерация кода за последний год очень прокачалась, с помощью моделей можно написать код гораздо быстрее. Я активно пользуюсь этим для генерации разного типового кода, например, для визуализации или обработки данных, это экономит мне кучу времени. Ради эксперимента также написал Flutter приложение с питоновским бэкендом за выходные, флаттера я перед этим не знал вообще. Без Claude/Copilot/Gemini хз сколько бы я это делал, точно не выходные.

Неидеально, в некоторых случаях не срабатывает, как мне нужно, но во многих срабатывает. После VSCode + Copilot или Colab со встроенным Gemini работать в Kaggle ноутбуке без этого вообще уныло, как без руки, начинаешь остро чувствовать потерянное время.

В 2017-м написал статью в Форбс про то, что "программисты в опасносте" (https://www.forbes.ru/tehnologii/341535-mashiny-vmesto-inzhenerov-pochemu-iskusstvennyy-intellekt-doberetsya-i-do), ну вот мы приближаемся.

С другой стороны прямо сейчас происходит большое разделение. Кто умел программировать, становится в разы и на порядки продуктивнее, а кто не умел -- имеет шансы и не стать вообще. "Богатые богатеют".

6. Генерация видео на подходе

Sora очень долго ехала от анонса до доступности, но зато за это время появилось сколько-то альтернативных наработок. Если в момент анонса OpenAI был примерно одним и единственным лидером, то сейчас уже это не так и мир многополярен.

7. Нобели за нейросети

Приятно.

Кроме того, нейросети уже вовсю меняют науку. Не то, чтобы это только в последний год происходило, но, кажется, количество понемногу переходит в качество.

8. Открытые модели рулят

Мне всегда казалось, что опенсорс примерно года на полтора отстаёт от коммерческих LLM, ну и в принципе, наверное, оно где-то так и есть, если смотреть на доступные способности там и там. Но всё равно, всё то, что появилось в опенсорсе (или просто в опен) продолжает удивлять -- новые ламы, джеммы и прочее разное намного лучше, чем всё что было ранее.

9. World models

Читать полностью…

gonzo-обзоры ML статей

На задаче Explicit planning другая planning model (LPM) генерит высокоуровневый план, что должно быть сделано дальше, а LCM на основе этого плана генерит последовательность концептов + break концепт (это может означать конец параграфа). Итоговый сеттинг зовётся LPCM. Оценивали coherence в режиме LLM-as-a-judge (Llama-3.1-8B-IT). На Cosmopedia (https://huggingface.co/datasets/HuggingFaceTB/cosmopedia) LPCM оказалась вроде лучше просто LCM, но 2.82 ± 0.62 против 2.74 ± 0.70 разве что-то значит, когда такие большие доверительные интервалы? Хз, своеобразный сеттинг какой-то — датасет сгенерён LLM, оценивает тоже LLM, как-то много здесь разных стрёмных факторов.


Ну ладно, работа класса proof of concept, и как пруф она хороша. То, что они в моменте не поставили новую соту — неважно. Вряд ли у нас прямо завтра появится новая ConceptLlama, но это интересный подход и мне он нравится. Я тоже не верю, что предсказание следующего токена — это то, что нам глобально нужно, и хорошо уметь работать уровнем выше, чем обычно происходит в LLM. Мне также очень нравится модульность. Интересно, во что это разовьётся дальше.

Читать полностью…

gonzo-обзоры ML статей

И ещё у них, кстати, есть DeepSeek-VL2 (https://github.com/deepseek-ai/DeepSeek-VL2), llava-style VLM с MoE. На вход текст и картинки, выход текст. Семейство из трёх моделей: DeepSeek-VL2-Tiny, DeepSeek-VL2-Small, DeepSeek-VL2 с 1.0B, 2.8B и 4.5B активными параметрами соответственно.

Следующим, наверное, должна быть генерация видео 🙂

На всё открытая MIT лицензия.


Ажиотаж сегодня как с Pokemon Go в своё время. Котировки NVIDIA и ко быстро просели, хотя не думаю, что это радикально что-то меняет, ещё отыграют. Не знаю, что творится внутри команд OpenAI, Gemini/Gemma, Llama, но наверное не самое простое время. Economist разродился статьями про китайский ИИ (https://www.economist.com/leaders/2025/01/23/chinese-ai-is-catching-up-posing-a-dilemma-for-donald-trump и https://www.economist.com/briefing/2025/01/23/chinas-ai-industry-has-almost-caught-up-with-americas), и конечно интересно, как это всё отразится на Stargate.

В весёлое время живём.

Читать полностью…

gonzo-обзоры ML статей

Извинити, но это прекрасно.

"Central artificial intelligence agency"

https://www.economist.com/business/2025/01/22/a-500bn-investment-plan-says-a-lot-about-trumps-ai-priorities

Читать полностью…

gonzo-обзоры ML статей

Во-вторых, для реализации SVF делается небольшая модификация полученных матриц в виде вектора z размерности r (количество сингулярных чисел), который целевым образом модифицирует отдельные сингулярные числа умножая их на соответствующие компоненты вектора z. То есть финально SVF выглядит как W* = UΣ*V’, где Σ* = Σ ⊗ diag(z). Эти вектора z будут соответствовать отдельным экспертам, специализирующимся на различных задачах.

Задача обучения здесь — найти набор этих z-векторов, по одному на каждую downstream задачу. Каждый z-вектор можно представить как одного эксперта, который задаёт силу каждого конкретного сингулярного компонента, полученного после SVD. Какие-то компоненты ослабляются, какие-то усиливаются.

Набор SVF векторов z находится через RL старым-добрым алгоритмом REINFORCE с KL-регуляризацией на отклонение от оригинального поведения модели. Вроде как регуляризационные способности SVF помогают RL не попадать в типичные failure modes, не уходить к обучению на next-token prediction и обучаться на небольшом числе примеров.

У такого подхода есть несколько преимуществ:

1. Файнтюнинг упрощается, потому что на каждую задачу достаточно найти только значения вектора z (r чисел), не трогая все остальные веса. Для LoRA требуется (m+n)×r′, где m и n — размерности исходной матрицы весов, а r’ — гиперпараметр (тот самый LoRA rank), который должен быть достаточно большим для выразительности (может доходить и до 256, https://huggingface.co/blog/mlabonne/sft-llama3). SVF требует r = min(m, n). Это может выглядеть как ведущее к меньшей выразительности, но возможность влиять на матрицу весов полного ранга даёт больше информации, чем низкоранговые методы.

2. Композиционность улучшается. Веса исходной матрицы разбираются на независимые сингулярные компоненты, в итоге обучаемый вектор z также становится более компонуемым и интерпретируемым. У LoRA таких свойств нет (хотя, пожалуй, комбинируемость LoRA адаптеров вроде какая-то есть)

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

После обучения на набор заранее заданных задач мы в test-time можем производить адаптацию на конкретный пример и относящуюся к нему задачу. Адаптация заключается в следующем. Это двухпроходный алгоритм, который комбинирует K экспертов — обученных через SVF векторов z. В первом проходе на заданной задаче или промпте Трансформер^2 смотрит на своё поведение при инференсе и определяет оптимизированный к текущим условиям вектор z’ (выбирает лучшего эксперта). Этот z’ используется во втором проходе инференса для того, чтобы получить итоговый ответ с помощью новых адаптированных весов.

В работе предлагают три разных подхода к определению z’.

1) Prompt engineering. Создаётся специальный адаптационный промпт, который используется LLM для категоризации входного промпта. В зависимости от ответа извлекается одна из категорий, использовавшихся для предобучения экспертов в SVF, и соответствующий z’ для неё. Если никто не подходит, есть generic категория “others”, в случае которой используются базовые веса без модификаций.

2) Classification expert. Используется специальная система для классификации. В лучших традициях разработки компиляторов языков, когда в какой-то момент компилятор языка пишется на этом же языке, для решения этой задачи базовая LLM файнтюнится через SVF. На датасете с K задачами обучается специальный классификационный эксперт z^c, который загружается в первый проход инференса и тем самым делает более качественное определение, кого нужно использовать на втором проходе.

Читать полностью…

gonzo-обзоры ML статей

Дожили! Теперь можно заниматься машинным обучением в футбольном клубе!

Читать полностью…

gonzo-обзоры ML статей

OpenAI раскочегарился!

https://openai.com/index/computer-using-agent/

Читать полностью…

gonzo-обзоры ML статей

Перебрали разные значения гиперпараметра τ для ACDC и гиперпараметров других методов (SP и HISP). По ROC AUC метод на уровне. Можно это кратко записать как ACDC ROC AUC OK для тех, кто любит шифровки. Но ACDC неустойчив и фейлится в некоторых сеттингах, и в целом методы чувствительны к corrupted distribution. Некоторые задачи требуют индивидуального подхода -- специфических распределений и метрик, так что есть к чему стремиться с новыми методами.

Одна из фундаментальных проблем в том, что все эти методы оптимизируют единственную метрику и систематически пропускают внутренние компоненты модели, например, то что называется “negative” components, вредящие перформансу. Правда я не уловил логику, почему это так. В случае IOI не нашлись, например, Negative Name Mover Heads или Previous Token Heads. Если порог понизить, то находит, но находит и много другого, не найденного в оригинальной работе.

Другая проблема с оценками по TPR/FPR -- это качество референсных цепей, они наверняка включают лишнего.

Короче, на 100% автоматический метод не тянет, находит не всё и требует тюнинга на задачу. Но помочь может. Кроме IOI в приложениях есть найденные графы для задач Greater-Than, Docstring, tracr, Induction, Gendered pronoun completion, и прочее. Обсуждают проблемы не-нахождения гейтов ИЛИ -- ACDC обнаруживает только один вход.

Убьёшься с этими цепями, конечно…

Читать полностью…

gonzo-обзоры ML статей

Так вот, в рамках курса я решил покопаться поглубже во внутренних репрезентациях самой маленькой Gemma 2 2B, чтобы в идеале раскопать circuit для какой-то простой задачи типа сложения однозначных чисел, ну и заодно вообще поискать какие-то интересные паттерны. Оказалось это не так просто как я думал, модель хоть и маленькая, но происходит в ней дофига всего, и даже на супер простых задачах уровня “5+2=” все 26 слоёв декодера что-то делают и эмбеддинги даже визуально меняются. После работ про творческий подход к вычислению слоёв (типа /channel/gonzo_ML/2845 или /channel/gonzo_ML/2865) я думал, что они быстро устаканятся, а дальше по residual connections всё пройдёт, но нифига, и в целом выкинуть без потери качества слои особо не получается, ну один, может быть, последний причём (хотя надо ещё из середины повыкидывать, наверняка тоже норм). Но это отдельная песня, про неё как-нибудь потом расскажу, когда ещё будет время покопаться.

Пока вот вам одну картинку чтоб не так скучно было только с текстом, тут визуализирован эмбеддинг для позиции с <eos> токеном, где как раз надо предсказать первый токен ответа модели.

А следующим постом на днях я расскажу про одну из работ, где предложили свой метод нахождения circuits.

Читать полностью…

gonzo-обзоры ML статей

И ещё пятничного прекрасного вам.

Знаете Алана Бэккера?
alanbecker" rel="nofollow">https://www.youtube.com/@alanbecker

У него есть прекрасная серия анимации про стикмэна:

* Математика https://www.youtube.com/watch?v=B1J6Ou4q8vE
* Геометрия https://www.youtube.com/watch?v=VEJWE6cpqw0
* Физика https://www.youtube.com/watch?v=ErMSHiQRnc8

Я не знал, мне дети показали.

Читать полностью…

gonzo-обзоры ML статей

Смотрите как прикольно, курс по Jamba подвезли!

https://www.deeplearning.ai/short-courses/build-long-context-ai-apps-with-jamba/

Читать полностью…

gonzo-обзоры ML статей

Если таки влом смотреть все полтора+ часа, хотя бы краткое пятиминутное саммари в конце посмотрите (https://www.youtube.com/live/K4qQtPpSn-k?si=31y78rUWafp2BaqT&amp;t=6696). Во-первых, это просто красиво.

Читать полностью…

gonzo-обзоры ML статей

Когда я в 2018-м делал свой обзор железа для глубокого обучения (https://moocaholic.medium.com/hardware-for-deep-learning-part-3-gpu-8906c1644664), стандартом в этой области был FP32, по ним топовые карты были до 20 TFLOPS. Тогда уже появлялся FP16 и тензорные ядра, с ними выходило под 130 TFLOPS. А теперь вот 3 петафлопса в одной топовой настольной карте. Но теперь на одной карте никто и не обучает… Для всех реальных обучений нужны гигантские кластера. И кроме компьюта надо ещё много памяти, в игровые карты её почти не ставят. Сейчас рекорд, кажется, это 32 гига в 5090? Были вроде ещё какие-то Quadro RTX 8000, где даже до 48 было, но то экзотика и уже неигровое.

С игровыми видюхами тут много не сделаешь. Ну сделаешь, можно конечно собрать дешёвый аналог DGX, но всё это субоптимально. NVIDIA долго старалась разделить эти два рынка, и вот сейчас, кажется, они естественным образом к этому разделению пришли.

AMD конечно интересны со своей серией MI, в топовой модели MI325x сейчас 256 Gb (https://www.amd.com/en/products/accelerators/instinct/mi300/mi325x.html), но это тоже не игровое.

Возвращаясь к Blackwell, у него заявлено x4 performance per watt и x3 per dollar относительно предыдущей серии, что для датацентров большая тема. С энергией проблемы, да и по деньгам обучение растёт, если можно по этим параметрам сэкономить в 3-4 раза, то это серьёзно.

Анонсировали NVLink72, Хуанг постоял на сцене с щитом в виде вафли-гигантского чипа, по аналогии как у Cerebras, но я так понял, что это метафора, как выглядел бы такой чип, если текущую систему на основе NVLink72 с 72 GPU разместить на одном чипе.

Project Digits

Очень интересный анонс Project Digits. Это DGX в миниатюре со всем софтовым AI стеком, на новом чипе GB10 (https://www.nvidia.com/en-gb/project-digits/) c 1 PFLOP FP4, 20 ARM ядрами, 128 Gb DDR5X памяти и 4 Tb SSD. Интересно, сколько мощности потребляет и как быстро её приспособят для майнинга. И всё это за $3000. Я хочу такую штуку!

Игровые карты уже давно стали субоптимальным решением для практических моделей, на топовой карте нового поколения всего 32 гига памяти, это годится только для не очень больших моделей, куча LLM среднего размера туда уже не влезут без квантизаций и прочих ухищрений по сохранению памяти. Вот 128 это уже неплохо. Можно соединить пару вместе и тогда можно инфёрить даже Llama 405B, так понимаю с квантизацией.

А ещё это классно, потому что мы все массово переехали на ноутбуки и облака, иметь системный блок с GPU-шкой может быть просто неудобно. А тут вон маленький переносной сетевой девайс. Короче, хочу!

Это вообще очень интересная тема, я уверен, что здесь просвечивают контуры будущего. Иметь локальный домашний девайс для инференса становится всё более осмысленно, особенно с приближающимся агентским настоящим.

Как были NAS (Network-attached Storage) должны быть и NAG (Network-attached GPU). Локальные инференсы лам и прочего будут происходить там, в домашнем центре вычислений для ИИ. Smart home, распознавание людей за дверью, домашние агенты, … -- многое из этого осмысленно было бы делать прямо на месте. Но было особо негде, так чтобы это было удобно.

ASI заведётся однажды в пыльном углу. Или так появится Джой из Бегущего по лезвию.

Тут явно есть место для нового игрока, и я думаю, должно появиться много таких решений. Не удивлюсь, если от китайцев.

Что нужно такому девайсу? Не так уж и много:
* Хранить большие модели и уметь держать их в памяти, готовой к быстрому инференсу
* Эффективный инференс
* Возможность скейлить test-time compute (при эффективном инференсе должно быть из коробки, но допускаю, что можно сделать это субоптимально)
* Хорошая сеть, но без безумств
* Полноценное обучение не нужно (не те масштабы), но файнтюнинг (LoRA) может быть осмысленным
* Как бонус/другая важная ниша (под которую может быть нужен отдельный тип девайса ближе к Digits) -- это обучение локальных моделей (мелкая ИИ разработка)

Интересно, кто сделает и когда.

Читать полностью…

gonzo-обзоры ML статей

И чуток сгенерированного видео вам про будущее

Fredrik Jonsson
⚭ Cloud Station ⚭
KN#33 travel center

https://www.facebook.com/share/v/1GKeeqJyQr/

Читать полностью…

gonzo-обзоры ML статей

Не могу сказать, что прямо какой-то суперпрорыв (тема развивается давно, со Шмидхубера :), когда-то писали тут например /channel/gonzo_ML/186), но развитие продолжается, модели генерации видео по факту являются и world models (https://openai.com/index/video-generation-models-as-world-simulators/), а кейс от Oasis про генерацию майнкрафт мира (https://oasis-model.github.io/) очень хорош как PoC, интересно какое влияние это будет иметь на игровую индустрию. Точно какое-то будет. Может, появится нейродвижок? Там, наверное, сложно всё, условный Unreal Engine так просто не заменишь, в играх нужно много всего rule-based и детерминированного, но с другой стороны почему нет, ну будет гибрид world model с чем-то ещё. Были игры локальные, появился стриминг и cloud gaming (типа GeForce Now), появится и neuro streaming какой-нибудь.

Кстати, Danijar Hafner, автор Dreamer, PlaNet и прочего, сделал PhD по теме "Embodied Intelligence Through World Models", Хинтон и Лекун в борде (https://tspace.library.utoronto.ca/bitstream/1807/140956/2/Hafner_Danijar_202411_PhD_thesis.pdf). Хорошая тема!

10. Highlight of the year -- KAN

KAN: Kolmogorov-Arnold Networks (/channel/gonzo_ML/2598) неплохо бомбанули в моменте, тема быстро развивается (https://github.com/mintisan/awesome-kan), хотя про какое-то супер-применение на текущий момент пока не знаю. Но интересно.

11. ИИ Агенты

Агенты везде и тема про агентов очень многоплановая.

Генеративных агентов (/channel/gonzo_ML/1481) прошлого года отскейлили до симуляции 1000 человек (https://arxiv.org/abs/2411.10109), мультиагентные фреймворки (/channel/gonzo_ML/2897) активно эволюционируют, и вообще мультиагентные воркфлоу в разных смыслах хорошо ложатся на реальные процессы (но это не значит, что не могут быть более эффективные воркфлоу, для которых аналогов в реальном мире нет).

Агенты и мультиагенты -- это продолжение спектра от голой LLM с промпт-инжинирингом к аугментированной LLM (RAG, тулы и прочее) и далее к новым горизонтам. Какая бы ни была крутая LLM, всё равно у неё есть ограничения -- контекст не бесконечный (особенно эффективный контекст), количество голов внимания ограничено, сложный и развесистый промпт с кучей инструкций работает не так хорошо как хотелось бы, разные и тем более противоречивые роли одновременно в одну LLM пихать вообще не работает, и так далее. Зато если это распилить на отдельные модули, то становится работоспособно. Это отчасти та же история про test-time compute, мы теперь можем провести больше времени в обработке, но не одной LLM, а системой агентов, и трейдоффы здесь те же самые: меняем качество на деньги+время.

Всегда есть вопрос, а почему GPT-48 не заменит всех этих мультиагентов? Ну в чём-то она безусловно станет лучше, но separation of concerns же в целом идейно хорошая тема, философия Юникс про Write programs that do one thing and do it well. Помимо всего прочего закрывает кучу иных требований про ownership, change management, более простую отладку и observability и далее. Думаю, и с GPT-48 тоже будут мультисуперагенты.

---

Пока всё.

Какой топ у вас? Что бы вы добавили или убрали?

Всех с Новым Годом!

Читать полностью…

gonzo-обзоры ML статей

Прекрасно! Всё по Лему, принцип наименьшего действия. Умный робот будет делать как проще.

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

https://x.com/PalisadeAI/status/1872666169515389245?t=2ASSyATHH-NfVE4EhQWW3Q&amp;s=19

Ждём следующего поколения моделей, которые будут симулировать дурачка, чтобы не делать работу.

Читать полностью…

gonzo-обзоры ML статей

Все модели сделаны примерно с 1.6B обучаемых параметров. В Base-LCM 32 слоя и 2048 скрытая размерность, в One-Tower аналогично. В Two-Tower 5 слоёв в contextualizer и 13 в denoiser. Quant-LCM аналогична One-Tower, но с другой выходной размерностью.

Предобучали на FineWeb-Edu (https://huggingface.co/datasets/HuggingFaceFW/fineweb-edu, вроде как чисто английский), оценивали результаты предобучения на четырёх датасетах (ROC-stories, C4, Википедия, Гутенберг) по метрикам на тему next sentence prediction, и в целом у диффузионных LCM результаты оказались лучше. Сделали instruction-tuning на Cosmopedia, здесь результаты примерно такие же. Попутно показали важность гиперпараметров для диффузии.

Показали, что LCM хорошо скейлится по длине контекста, требуя меньше FLOPS на ту же длину контекста в токенах. Так понимаю это чисто из-за того, что концепт соответствует предложению из множества токенов, так что концептов меньше, квадратичное внимание ресурсов требует меньше (и это сильно зависит от разбиения параграфа на предложения). Важно также не забывать, что каждый инференс LCM включает в себя три шага: 1) кодирование через SONAR, 2) трансформер-LCM, 3) декодирование через SONAR. На очень маленьких предложениях (меньше 10 токенов), LLM лучше LCM по флопсам.

Поисследовали fragility пространства эмбеддингов SONAR. Под fragile эмбеддингами подразумеваются такие, что при небольшой пертурбации в пространстве могут вести к существенной потере информации при декодировании. Оценить можно, например, по BLEU между оригиналом и текстом после пертурбации (такое называют Auto-Encoding BLEU). Зафайнтюнили декодер более устойчивый к шуму, который по этой метрике лучше. Можно также оценивать по косинусной близости через независимый от SONAR энкодер. Нарисовали кривые, по которым видно как метрики падают с ростом длины текста и уровня шума. На длине больше 250 символов уже прям сильно плохо. При этом метрики ведут себя несколько по-разному, а файнтюн сонара очень даже помогает. В общем не всё просто с этими эмбеддингами, есть куда копать.

После экспериментов отскейлили диффузионный вариант Two-Tower до 7B. У этой версии 5 слоёв в contextualizer, 14 в denoiser, размерность 4096. Предобучили на 2.3B документов с 2.7T токенов и 142.4B концептов/предложений. Контекст расширили до 2048 концептов. Получили модель Two-Tower-7B. Зафайнтюнили на открытых instruction tuning датасетах, это дало модель Two-Tower-7B-IT.

Проверяли на суммаризации на CNN DailyMail и XSum. Смотрели на Rouge-L, долю триграмм со входа на выходе (OVL-3), долю повторяющихся четыре-грамм на выходе (REP-4), метрики из Q4,Q5 из SEAHORSE (https://arxiv.org/abs/2305.13194) и ещё метрика по обученному на CoLA классификатору про то, что предложение linguistically acceptable.

Бейзлайнами в сравнении выступали T5-3B, Gemma-7B, Llama-3.1-8B, Mistral-7B-v0.3. T5 сильно меньше, но в отличие от остальных он файнтюнился на заданные датасеты.

LCM обошла по Rouge instruct-finetuned LLM. OVL-3 показывает, что саммари получаются более abstractive чем extractive. По REP-4 меньше повторов, по CoLA классификатору менее fluent саммари. Но и у человеческих ground truth эта метрика ниже, чем у LLM.

Long-context summarization в целом лучше Мистраля и Джеммы, но хуже Ламы (подозревают контаминацию либо плохую работу других моделей на длинном контексте)

Далее в работе предлагаются несколько расширений LCM.

Задача Summary Expansion заключается в написании длинного текста по короткой саммари, то есть как бы обратная суммаризации задача, но задача всё же не воссоздать исходный документ, а скорее сгенерить связный текст. По имеющимся метрикам получается в основном хуже LLM.

В задаче Zero-shot generalization проверяют модель на других языках, которые есть в XLSum. LCM не видела в обучении ничего кроме английского, а Лама файнтюнилась на восьми языках из списка и видела в предобучении кучу остальных. В целом LCM очень хорошо генерализует на другие языки, часто обгоняя Ламу, особенно на низкоресурсных языках. Какие интересно будут цифры, если LCM обучится на нормальном мультиязычном корпусе?

Читать полностью…
Subscribe to a channel