Telegram Web
Самые интересные статьи с ICLR 2024

В начале мая прошла ICLR 2024 — конференция, которая собирает специалистов в области машинного обучения со всего мира. Мы побывали на мероприятии и теперь в карточках рассказываем о статьях, которые запомнились больше всего.

А вот ссылки на все тексты:

1. Fast-DetectGPT: Efficient Zero-Shot Detection of Machine-Generated Text via Conditional Probability Curvature

2. LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models

3. DoLa: Decoding by Contrasting Layers Improves Factuality in Large Language Models

4. Never Train from Scratch: Fair Comparison of Long-Sequence Models Requires Data-Driven Priors

5. ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs

6. Towards a statistical theory of data selection under weak supervision

Рассказывайте в комментариях, какие статьи понравились вам, и делитесь впечатлениями!

Душный NLP
Instruction Tuning для MoE-моделей

Техника Mixture of Experts (MoE) предполагает использование в сети нескольких специализированных блоков — экспертов — для решения одной задачи. Модели на архитектуре MoE сильно выигрывают от грамотного файнтюнинга. Об этом и говорится в статье, которую мы сегодня разберём.

Преимущества инстракшн-тюнинга

Секрет, как утверждают авторы, в предварительном инстракшн-тюнинге — после претрейна и до файнтюнинга. Проверяют эту гипотезу на нескольких сетапах. Первый — Switch Transformer, у которого каждый слой MoE и только топ-1 гейтинг. Далее — GShard с топ-2 гейтингом, expert-choice, дающий возможность экспертам выбирать токены и ST-MoE.

На графике можно увидеть результаты файнтьюнинга моделей с инстракшн-тюнингом (приставка Flan) и без него, сразу после претрейна. В первом случае МоE выбивается вперёд, а вот во втором её показатели хуже, чем у Т5. Это происходит потому, что при обычном файнтюнинге МоЕ-моделей они теряют преимущество, ведь «эксперты» начинают сходиться во мнениях.

Как устроен инстракшн-тюнинг

Авторы использовали задачи из FLAN-датасета и применяли auxillary loss. Это нужно, чтобы все токены не отправлялись одному «эксперту». Также применяли дропаут (0,05) и экспертный дропаут (0,2). Коэффициент скорости обучения — на уровне 1e −4.

Результаты

Авторы статьи утверждают, что их FLAN-MoE, требующий 32 миллиарда операций при форварде (32.1 GFLOPs/token), показывает себя лучше, чем FLAN-PALM, у которого в 3 раза больше количество операций 91.6 GFLOPs/token. В итоге после инстракшн-тюнинга показатели модели выросли в три с лишним раза. Выглядит слегка подозрительно, но впечатляет. Более того, при росте модели сохраняется тенденция к росту показателей после инстракшн-тюнинга. Но авторы подчёркивают, что количество данных важнее, чем число «экспертов».

Разбор подготовил Александр Мазитов

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Ускорить обучение LLM 70B на 25%? Легко! YaFSDP

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

Библиотека даёт ускорение до 25% — результат зависит от архитектуры и параметров нейросети. С помощью YaFSDP также можно расходовать до 20% меньше ресурсов графических процессоров (GPU), которые требуются для обучения.

Несколько подходов нашего метода:

— выделить два буфера под все собираемые веса, чтобы не отдавать их на отĸуп аллоĸатору памяти torch. Каждый нечётный слой будет использовать первый буфер, ĸаждый чётный — второй. Это уменьшит нагрузку на память и сделает её использование более предсказуемым;
— не делать чеĸпоинт аĸтиваций для ĸаĸ можно большего числа слоёв. Это позволит убрать избыточные вычисления за счёт сэкономленной памяти;
— выделить два стрима: вычислений и ĸоммуниĸаций, а синхронизацию построить таким образом, чтобы forward не начинался до завершения all_gather того же слоя, а all_gather не начинался до освобождения соответствующего буффера на предыдущем слое;
— разово собирать RMSNorm/LayerNorm в начале итерации и тольĸо в ĸонце усреднить градиенты;
— вынести predivide в самый ĸонец backward, таĸ ĸаĸ при reduce_scatter в bf16 или fp32 рисĸа переполнения нет.

Более подробно про проблемы обучения на множестве GPU можно почитать на Хабре. Приходите в репозиторий библиотеки YaFSDP, ставьте лайк и приносите вопросы в Issues. А ещё — делитесь своими впечатлениями здесь в комментариях.

Душный NLP
Mamba — что это такое и как себя показывает

Mamba — это LLM, которая основана на SSM (State Space Models). О ней рассказывается в статье, которую мы сегодня и разберем.

Для начала напомним, что такое SSM. Это модели, которые позволяют эффективно работать с длинными последовательностями данных. Что-то вроде RNN, но без нелинейности, благодаря чему запись можно осуществлять в виде одной большой матричной операции.

Mamba сочетает в себе преимущества SSM и Gated MLP. Вот, как это работает. Сначала к последовательности применяется in projection, увеличивается количество каналов. Затем используется 1D-конволюция и нелинейность. После этого, как в Gated MLP, происходит поэлементное умножение параллельного входа и выходной projection. Таких блоков может быть несколько.

Какие преимущества даёт такой подход

• Mamba использует recomputation во время backward pass, что позволяет эффективно утилизировать памяти. Это соответствует таким подходам, как Flash Attention, которые разработаны для оптимизации памяти.

• На длинных последовательностях Mamba превосходит Transformer++, особенно при увеличении числа FLOPS и размера модели. При этом на коротких последовательностях результаты сравнимы с Transformer++.

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

• Mamba показывает превосходные результаты на различных бенчмарках, таких как LAMBADA и PIQA, даже при сравнении с моделями в два раза больше.

• В экспериментах Mamba демонстрирует высокую эффективность на задачах копирования текста.
На этом всё. Рассказываете, что вы думаете о Mamba в комментариях!

Разбор подготовил Александр Мазитов

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
SpecExec: cпекулятивное декодирование для запуска больших моделей на потребительских GPU

Генерация текста LLM на GPU потребительского класса — сложная задача. Стандартные алгоритмы требуют исполнения всех слоёв модели для получения каждого токена. Модели размером в 10+B не помещаются в память GPU — приходится прибегать к офлодингу (offloading), поочерёдно подгружая слои из основной памяти в VRAM. Это долго: одна итерация загрузки и генерации одного токена Llama-2-70B в 16-битном режиме с PCIe gen 4 может занять > 5 секунд.

Спекулятивное декодирование ускоряет генерацию. Это достигается за счёт дополнительной «черновой» модели — более компактной и быстрой. Она предлагает варианты продолжения цепочек токенов. Основная модель проверяет эти варианты, выбирая один с помощью стохастического алгоритма выборки. Производительность измеряется числом токенов, сгенерированных за итерацию.

SpecExec — самый производительный метод в классе. Он генерирует до 20 токенов за итерацию и достигает ускорения x15 при офлодинге. Вместо стохастического метода, SpecExec создаёт «кеш» в форме дерева продолжений, используя не случайные, а самые вероятные токены из модели-черновика. Целевая модель проверяет их за один проход.

Алгоритм SpecExec производительнее, т.к. использует высокую пиковость распределений вероятностей токенов в современных LLM. Например, в Llama-2-70B высочайшая вероятность токена составляет более 90%.

Сравнение производительности

В выгрузке SpecExec превосходит SpecInfer — особенно с большими бюджетами токенов. в то время как производительность SpecInfer перестаёт расти с ростом бюджета, наш метод генерирует более 20 токенов за шаг при бюджетах 1000+ токенов.

В тестах с офлодингом SpecExec показывает стабильный прирост скорости на видеокартах от высококлассных исследовательских GPU A100/H100 до потребительских GPU: 4090 и даже 2080. С квантованными моделями SpecExec достигает ускорения от 4.6x до 10.6x, генерируя от 3 до 6 токенов в секунду.

***

SpecExec упрощает доступ к мощным LLM и обеспечивает инференс тяжёлых моделей на оборудовании, считавшемся недостаточно мощным. Узнать о нём больше можно в статье, а пощупать — на GitHub.

Разбор подготовил Руслан Свирщевский

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
О файнтюнинге после квантизации

Сжатие языковых моделей трансформеров, таких как LLaMA, OPT и GPT — важно для повышения их эффективности и скорости работы. Этому аспекту посвящена статья, которую мы сегодня разберём. Результаты в этой публикации оказались лучше, чем в январской статье Extreme Compression of Large Language Models via Additive Quantization благодаря улучшению шага файнтюнинга после основной квантизации.

Наиболее популярный и эффективный метод сжатия — квантизация. Это уменьшение количества бит, используемых для представления весов модели, что позволяет снизить размер LLM и ускорить её работу. При этом важно поддерживать баланс между степенью сжатия и качеством, поскольку экстремальное сжатие (например, до двух или одного бита) может значительно ухудшить качество.

Квантизация без файнтюнинга часто приводит к снижению качества. Поэтому после квантизации модель следует дообучать для приближения к результатам неквантизованной модели. Это особенно важно при экстремальных уровнях сжатия — до одного или полутора бит.

Популярная техника файнюнинга квантизированных весов — straight-through estimation. Однако в её рамках улучшение может идти непредсказуемо плохими градиентами.

Авторы статьи предлагают другой способ. Достаточно обновлять лишь небольшую долю весов в рамках одного шага — те, у которых самый большой градиент. Эти весы нужно обучить, а остальные — «заморозить». Затем следует пройтись большими шагами между «выжившими» весами. Таким образом, обновятся все или почти все веса.

Этот метод позволяет достичь оптимума по Парето, например, для моделей семейства LLaMA-2 при 2 битах. А для моделей сжатых до 1-1,5 бита на параметр результаты оказались лучше чем у аналогов.

Рассказывайте в комментариях, что вы думаете об этом методе и делитесь опытом!

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

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Mamba и трансформеры

SSM вроде Mamba — неплохая альтернатива трансформерам, но с ними всё не так просто. Сегодняшняя статья об этом.

Трансформеры, такие как BERT и GPT, показывают отличные результаты в NLP-задачах, но испытывают сложности при работе с большими контекстами —при увеличении длины входного текста качество начинает деградировать. Причина в росте вычислительных затрат и сложности поддержания высоких скоростей обучения и инференса.

Решают проблему разными оптимизациями: линейными аттеншн-механизмами, структурированными масками токенов. Однако у этих способов есть ограничения. Более удачная альтернатива — Mamba и Mamba 2. О ней мы уже писали в этом посте.

Mamba и Mamba 2 используют иной подход к обработке длинных текстов, основываясь на структурированных состояниях. В отличие от трансформеров, они не требуют обработки всех токенов одновременно.

Авторы статьи сравнили Mamba, Mamba 2 и классический трансформер на нескольких задачах. В некоторых результаты Mamba были сопоставимы с результатами трансформеров, но Mamba тоже испытывает трудности при работе с большими контекстами.

Для решения проблемы авторы предложили гибридную модель — смесь Mamba 2, селф-атеншн и MLP-слоёв. У первой модели было 130М параметров с 24 слоями. Доля селф-аттеншн и MLP среди них менялась. Наименьшей потери валидации удалось достичь при 8% селф-аттеншн слоёв. Эти данные подтвердили эксперименты и с моделью на 840М параметров. При этом доля MLP достигала около 50%, что позволило ускорить инференс на 20%.

Авторы натренировали 8B-модель Mamba-2-Hybrid. Она сравнялась по качеству с трансформерами. Благодаря замене слоёв аттеншена SSM-слоями в теории можно добиться ускорения x7. Также есть гипотеза, что уменьшение кэша key-value позволит модели использовать более крупные батчи, чем трансформерам, и ещё сильнее ускорить инференс.

Как вам такой подход? Делитесь впечатлениями в комментариях!

Разбор подготовил Никита Шаповалов

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Mixture-of-Agents — простой способ улучшения ответов LLM

Сегодня рассмотрим статью, которая описывает метод улучшения результатов LLM на разных бенчмарках без дообучения. Он называется Mixture-of-Agents (MoA).

Суть метода заключается в использовании нескольких LLM для генерации ответов. Авторы статьи создали многослойную структуру с несколькими агентами — собственно, моделями — на каждом слое. На вход подавали один вопрос. Каждый из агентов давал ответ. Затем полученные данные агрегировались и вместе с промптом передавались на следующий слой, где процесс запускался заново.

В итоге получался ответ, который превосходит по качеству все предыдущие. Интересно то, что модели показывают лучшие результаты, когда имеют доступ к выходным данным других LLM — даже если ответы последних не слишком качественные. Этот феномен авторы назвали «коллаборативностью LLM» (Сollaborativeness of LLMs).

Эксперименты показали, что использование разных LLM на разных слоях улучшает результаты. Агрегаторы тоже играют важную роль — если пропоузеры могут быть относительно простыми и легкими, то агрегаторы требуют значительных вычислительных ресурсов.

Бенчмарки подтвердили, что MoA — эффективный метод. Скажем, на AlpacaEval 2.0 и MT-Bench применение такой архитектуры дало прирост производительности до 8% по сравнению с GPT-4 Omni.

Впрочем, MoA есть куда расти. Например, в области уменьшения времени до первого токена. Из-за итеративной агрегации конечному пользователю приходится долго ждать ответа на вопрос. Авторы статьи намерены бороться с этим недостатком.

Рассказывайте в комментариях, что думаете о MoA?

Разбор подготовил Никита Шевченко

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Как устроена Nemotron-4 340b

Компания NVIDIA выпустила одну из самых крупных и качественных open source моделей — Nemotron-4 340B. Сегодня разберём сразу две статьи, в которых рассказывается об её устройстве.

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

Вопреки современным трендам, NVIDIA использовала функцию активации squared ReLU, но при этом отказалась от гейта. Параметризация layer-norm также нестандартна: вместо инициализации единицами применяется инициализация нулями с добавлением единицы на каждом форварде.

В датасетах alignment NVIDIA использовала небольшое количество человеческой разметки. Датасет обучения reward-модели включает в себя всего лишь 10 тысяч пар ответов, размеченных по пяти параметрам: от общей пользы до связности и сложности.

SFT также включал лишь 10 тысяч написанных человеком примеров. При этом суммарно в SFT-датасетах вышло порядка миллиона примеров, из которых почти все были сгенерированы. Интересно, что сгенерированы были и сами промты — для этого NVIDIA использовала Mixtral 8x7B.

По итогу получилось два SFT-датасета и два раунда обучения. Сперва модель обучали Code SFT на 800 тысячах примеров. А затем ту же модель — дообучали General SFT ещё на 200 тысячах примеров.

Далее следовал один раунд DPO и три раунда собственного метода NVIDIA — RPO (Reward-aware Preference Optimization). Для обучения стандартного DPO используется только порядок внутри пары: оптимальная политика максимизирует расстояние между наградой за выбранный и отклонённый ответ. Такой подход может приводить к переобучению, поэтому в RPO авторы предложили аппроксимировать саму разницу между наградами, которые считают Reward-моделью.

После всех этапов обучения и тестирования модель Nemotron показала хорошие результаты на бенчмарках вроде MMLU. Интересно, что модель почти не росла после раунда DPO, но последующие RPO способствовали улучшению.

Nematron опережает большинство других open source-решений и тягается почти на равных с закрытыми. Скажем, в Arena Hard модель NVIDIA показала результат 54,2, что выше чем у Claude 3 Sonnet (46,8) и Qwen2 72b (48,1).

В сравнении, проведённом людьми, у Nemotron практически паритет c GPT-4 по всем задачам, исключая переписывание текста. Здесь модель NVIDIA справлялась лишь в 3,03% случаев. Однако стоит учитывать, что «живые» замеры проводилось на небольшом количестве примеров — их было всего 136.

Рассказывайте в комментариях, что думаете о Nemotron-4?

Разбор подготовил Руслан Васильев

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
DeepSeek-V2 — MoE-модель с технологией MLA

Компания DeepSeek представила MoE-модель DeepSeek-V2 на 236 миллиардов параметров. Сегодня мы разберём статью, которая рассказывает об особенностях этой модели.

Модель состоит из 236 миллиардов параметров, однако на каждый токен активно используется лишь 27 миллиардов. Это позволило значительно увеличить длину контекста до 128 тысяч токенов.

Для сравнения и оценки результатов в DeepSeek использовали dense-модель на 67b. Авторы смогли существенно снизить стоимость обучения и уменьшить размер KV-кэша, что позволило увеличить скорость генерации токенов почти в 8 раз. Эти достижения обеспечили модели преимущество в производительности.

В DeepSeek-V2 внедрён модифицированный attention, который получил название MLA (Multi-Head Latent Attention). Этот механизм позволяет кэшировать уменьшенный вектор с последующим его восстановлением, что значительно снижает объём ресурсов, необходимый для работы модели. Как устроен MLA в сравнении с MHA, GQA и MQA, вы можете увидеть на изображении выше.

При таком подходе нельзя напрямую использовать RoPE (Rotary Position Embedding) — в противном случае матрица RoPE становится неразделимой с остальными операциями, что значительно снижает эффективность вывода. В DeepSeek предложили стратегию так называемого «развязанного RoPE» (decoupled RoPE), в которой дополнительные ключи несут позиционную информацию.

Модель показала хорошие результаты в бенчмарках. В MMLU она добилась показателя в 78,3%, а в тестах на китайском языке, таких как CLUEWSC, C-Eval и CMMLU, DeepSeek-V2 показала лучшие результаты среди всех открытых моделей.

Разбор подготовил Сергей Горбунов

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Масштабирование и параметризация

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

Авторы статьи Tensor Programs V предлагают использовать Maximal Update Parametrization (µP) — перенос параметров с маленькой модели на большую без дополнительной настройки.

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

Чтобы достичь стабильности гиперпараметров, нужно правильно масштабировать спектральную норму матриц весов — показатель максимально возможного растяжения или сжатия вектора при его умножении на матрицу. Авторы статьи отмечают, что добиться стабильности можно двумя способами: правильным масштабированием инициализаций и послойных LR, либо напрямую спектральной нормализацией матриц весов и их обновлений в процессе обучения.

Благодаря такому решению масштаб признаков и их изменений на каждом шаге сохраняется при увеличении размера сети — этого оказывается достаточно для стабильности гиперпараметров. В статье A Spectral Condition for Feature Learning предполагается, что обновления весов в градиентном спуске имеют низкий ранг и хорошо согласуются с векторами активаций. Однако предположение о такой согласованности на самом деле выполняется не всегда, поэтому в более свежей статье Scaling Exponents Across Parameterizations and Optimizers авторы предлагают дальнейшее улучшение метода с поправкой на это.

Расскажите в комментариях, что думаете по поводу этих методов!

Разбор подготовил Дмитрий Лунин

Душный NLP
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
ICML 2024 — ещё интересные статьи

Соскучились? Специально для Душного NLP Роман Горб из команды ускорения инференса YandexGPT поделился релевантными его рабочей области статьями с ICML 2024.

Towards Efficient Generative Large Language Model Serving

Отлично структурированная статья и рассказ об LLM Serving — о челленджах, их причинах и решениях. Сначала описывается генеративный сценарий и его природа. Авторы отмечают, что корпорации вкладываются в LLM, размеры моделей растут и появляются новые семейства. Но есть и платформы, на которых модели хочется деплоить, что требует инженерных усилий. Где-то между находится LLM Serving. Задача области — поиск компромисса между качеством и скоростью (compute budget), о чём и рассказывает статья.

На первой картинке — 2 подкласса методов: алгоритмические и системные. С подробностями предлагаю ознакомиться самостоятельно, но выделю часть из них.

Speculative Decoding

Базово для этого метода нужны 2 модели: draft и verifier. Первая быстро и дёшево генерирует гипотезы; вторая — выбирает из них валидное продолжение так, чтобы генерация происходила из распределения verifier-модели. Чем больше токенов «угадывает» draft-модель, тем выше ускорение. В продвинутых версиях растёт утилизация ресурсов GPU.

Свежие работы (EAGLE и MEDUSA) предлагают уменьшить draft-модель для большего ускорения при сохранении качества. Авторы дообучают небольшие головы поверх verifier-модели, что снижает оверхэд и ускоряет процесс даже в сложных сценариях с высоким throughput токенов. Draft-головы генерируют гипотезы в виде дерева, а не списка (см. картинку 2), что повышает точность принятия токенов.

Архитектурная Оптимизация

В MobileLLM и Rethinking Optimization and Architecture for Tiny Language Models исследуют вопрос оптимальной архитектуры моделей до 1B для мобильных устройств. Авторы за тот же compute получили значительные + 4 пп качества на бенчмарках с помощью SwiGLU-активаций, глубоких, а не широких сети, shared-эмбеддингов, Grouped Query Attention, init из весов более крупных моделей и прунинга.

Душный NLP
2025/05/12 10:01:41
Back to Top
HTML Embed Code: