Привет! Меня зовут Света Маргасова, и я руковожу бригадой моделей с внешней информацией в Яндексе. В этом году в большой компании коллег впервые побывала на конференции ICLR (Learning Representations (ICLR) — обучение представлений), которая проходила в Вене. Масштаб и формат ICLR 2024 подтверждают её статус — A*. Конференция продолжалась 5 дней, на неё подали больше 7000 статей, 2260 из которых приняли. Участников тоже было очень много — все старались успеть познакомиться с авторами на постер-сессиях, послушать доклады и попасть на воркшопы.
Получилось насыщенно. Как интеллектуально, так и по времени: каждый день программа начиналась в 8:30 и заканчивалась в 18:00. Охватить всё в таких условиях невозможно, поэтому важно было выбирать, куда сходить, что послушать и с кем пообщаться. И если речи приглашённых гостей порой носили философский характер и касались трендовых тем вроде экологичности, элайнмента и безопасности AI, то на постерах было много практичных и полезных штук, пусть местами и довольно нишевых.
В этой статье я расскажу о самом интересном, по моему мнению и по отзывам коллег, — над постом также работали Илья Удалов и Максим Кузин, которые занимаются ML в Рекламе. Здесь же вы найдёте нашу коллективную подборку полезных статей.
Популярность конференции увеличивается с каждым годом благодаря росту интереса к ML. В этот раз конференция проходила в огромном выставочном центре. Со стендами приехал весь MAMAA:
Meta* рассказывала про V-JEPA, на стенде можно было застать Яна Лекуна.
Google DeepMind и Google Research устраивали спонтанные презентации на тему последних AI-внедрений и инструментов.
Amazon организовывал стартап-встречи и старался, чтобы новые AI-сервисы партнёрились с их облаком.
Была Q&A-сессия с авторами Phi-3 на стенде Microsoft.
Zhipu AI рассказали про свою линейку моделей на основе GLM для генерации текста, изображений, видео и работы с кодом. Многие модели выложены в открытый доступ, даже GLM-130B. Ещё было много китайских компаний (WeChat, ByteDance и другие), на стендах которых была только китайская раздатка.
Больше всего внимания собрали роботы от компании Unitree Robotics :)
Акцент на больших конференциях традиционно делается на постер-сессии, и на ICLR 2024 они были напряжёнными: проходили два раза в день — утром и вечером, длились по два часа, за раз представляли по 300 постеров. Постеры не делили по тематикам, и в этом есть своя логика — так специалисты разных направлений не разбиваются на кучки, а могут посмотреть доклады из смежных областей, — но навигацию это несколько осложняет, ведь докладам по «родной» тематике всё равно хочется уделить больше внимания.
Вокруг самых крутых постеров всегда толпятся люди, и приходится ждать, чтобы задать вопрос, но оно того стоит! Периодически мы подходили к постеру и понимали, что делаем в Яндексе то же самое. Иногда мы смотрим новые статьи и пробуем подходы оттуда, но бывает и так, что мы придумываем какой-то подход, а потом видим его в чьей-то статье с ICLR. Например, сейчас мы пробуем улучшить фактологичность LLM на этапе DPO, используя сигнал фактчека (подробнее про то, как мы делали фактчек, можно почитать здесь), и увидели на конференции статью от Stanford, где делают похожие вещи.
Доклады на ICLR были самые разные: генеративные модели для текстов, изображений и видео, графовые сети, робототехника, но самым популярным словом ивента было, конечно же, «LLM». Второе по популярности — «RL» (лидер прошлого года), а третье — «диффузионные модели», о которых стали писать намного больше.
Крупные компании (Google, Meta*, Apple) в основном рассказывали, как делают отдельные компоненты больших мультимодальных систем: обработку звука, видео и изображений, поступающих на вход в AI-ассистентах.
Было много работ, исследующих возможности уже обученных моделей (GPT-4, LLaMA) и добавляющих в них новые возможности: внешнюю память, самокритику и рефлексию. Также рассказывали, как дотюнить LLM на хитрые срезы задач вроде математики, программирования, рассуждений, научить работать с табличными данными и выжимать больше качества из RLHF. Были даже статьи о генерации неорганических химических соединений, что очень в духе тренда на максимальное расширение области применения LLM.
Другая интересная вещь — агенты для LLM, которые могут выполнять специализированные задачи от пользователей. Как заметил Илья Удалов, в коридорах на стартаперской вечеринке ходили слухи, что большинство LLM-стартапов с платящими клиентами — именно в агентских сценариях.
В эпоху высокой конкуренции среди разработчиков больших языковых моделей актуальны бенчмарки и подходы к оценке качества. Можно выделить основные проблемы, волнующие исследователей:
Наличие открытых бенчмарков обесценивает метрики качества, полученные на них (Goodhart's Law: «Если улучшение метрики становится самоцелью, то метрика перестаёт быть хорошей»).
Человеческая оценка моделей — дорогая и медленная.
У Scale AI был большой доклад про эти проблемы, в котором они представили:
GSM1K — новый бенчмарк, в котором сложность заданий сопоставима с GSM8K. Оказалось, что некоторые семейства современных LLM (Phi, Mistral) переобучены под GSM8K, и на GSM1K их качество хуже. В то же время самые мощные модели (Gemini, GPT, Claude) имеют схожее качество как на GSM8K, так и на GSM1K.
SEAL (WIP) — частично закрытый бенчмарк, покрывающий большинство срезов: кодинг, следование инструкциям, математика, безопасность и этика, мультиязычность. Его главные фишки:
высокое качество и строгий отбор асессоров;
попасть в лидерборд бенчмарка можно единожды, а для новых версий моделей будет дисклеймер о потенциальном переобучении;
прозрачная методология оценки моделей в каждом из срезов (методология будет опубликована в открытом доступе).
Комбинированный метод оценки моделей, который состоит из автоматической оценки с помощью других LLM и асессоров (WIP). Таким образом можно получить оптимум между скоростью, стоимостью и качеством разметки.
Также стоит отметить несколько работ (первая, вторая), в которых авторы предложили методы для определения попадания данных из бенчмарков в обучение моделей. Правда, этим алгоритмам необходим доступ к логитам, что не позволяет применять их для оценки большинства закрытых моделей.
Значительная часть статей была посвящена in-context learning — навыку модели работать с новыми задачами через демонстрацию в промте. Несколько наблюдений:
Декомпозиция на простые и понятные подзадачи позволяет достичь лучшего качества и решать очень сложные задачи → статья на эту тему.
Модели неплохо генерируют гипотезы (может, LLM в скором времени будут предлагать идеи для научных открытий?) и улучшают их через фидбэк → две статьи на эту тему: раз и два.
Саморефлексия без внешнего фидбэка пока не показывает стабильных результатов и может вызывать деградацию.
Ещё было много докладов про Parameter-Efficient Fine-Tuning, потому что всех интересуют эффективные и оптимальные с точки зрения ресурсов методы дообучения LLM под конкретную задачу без полной разморозки весов. Бо́льшая часть работ — про всем известную LoRA: увидели как минимум 11 статей про неё. Самая нашумевшая — LongLoRA об эффективном файнтюнинге на длинный контекст.
Один из главных трендов — использование данных, созданных не человеком, а LLM. Чаще всего на них обучают другие модели (самый очевидный пример — Phi-3) или оценивают их качество.
Примеры из статей:
LMSYS-Chat-1M — датасет реальных диалогов людей с LLM из Chatbot Arena.
ToRA — семейство моделей для решения математических задач, которые обучались на синтетически полученных с помощью GPT-4 16K примерах и показывают очень хорошие результаты на GSM8K и MATH.
PandaLM — авторы обучили LLM для SbS-оценки двух ответов на 300K примерах (как reward, только с reasoning), размеченных с помощью GPT-3.5. К сожалению, train-данные не выложили, но зато 1K human-annotated test можно найти на GitHub.
MuSR — синтетический датасет для оценки возможностей модели рассуждать в различных сценариях, например определить убийцу по описанию убийства и подозреваемым.
MUSTARD — синтетический датасет для генерации и доказательства теорем.
Конечно, у синтетических данных есть ограничения, но не стоит игнорировать их преимущества, которые обсуждались на конференции:
возможность работы с приватными данными через создание синтетических аналогов;
скорость и стоимость разметки — особенно для простых задач.
Детекция и устранение галлюцинаций — до сих пор открытый вопрос в мире LLM. Универсального решения проблемы, к сожалению, пока нет, но можно выделить следующие подходы:
Уменьшение фактических ошибок без дообучения модели. Так, в подходе DoLa выяснили, что на генерацию фактов больше всего влияют последние слои трансформера. Используя это знание, авторы предлагают использовать метод контрастивного декодирования. При этом скорость генерации замедляется, так как приходится считать вероятности токенов не только после последнего слоя, но и после промежуточных.
Улучшение подходов к обучению. В современном фреймворке обучения LLM практически невозможно устранить галлюцинации на этапе претрейна, поэтому основная работа происходит на этапе элайнмента. Например, в этой статье улучшают фактологичность, используя RLAIF: синтетически генерируют пары текстов, выбирают более фактологичный ответ и дообучают модель с помощью DPO.
Наконец, одно из самых многообещающих направлений — RAG, или добавление источников внешних знаний (поиск, базы знаний). Про самую нашумевшую работу о Self-RAG расскажу ниже, а здесь хочу перечислить похожие подходы:
CRITIC — авторы предлагают итеративно улучшать ответ LLM, опираясь на правдоподобие и правдивость ответа, с помощью внешних инструментов: интерпретатора кода, поиска, калькулятора и т. д. Этот процесс продолжается, пока хотя бы один из инструментов не подтвердит, что ответ верен.
RA-DIT — предлагают отойти от парадигмы end-to-end-обучения генератора и эмбеддера, популярной в прошлые годы благодаря подходам REALM, RETRO и Atlas, и обучать их раздельно. При этом модель эмбеддингов всё так же учить без разметки на сигнал LLM. Мы в своих исследованиях пришли к похожим выводам.
RAPTOR — про RAG c иерархической суммаризацией индекса: идея в том, что для ответа может быть полезна информация разной степени детализации.
Themis — авторы предлагают использовать различные API для модели награды: поиск, калькулятор, календарь. Так можно повысить качество оценки и снизить количество фактических ошибок, а также получить более качественный PPO с таким ревордом.
По мотивам Q&A-сессий хочется упомянуть тренд на AI Safety во всех аспектах. Например, был интересный рассказ от Кейт Даунинг про юридические аспекты в ML. Он касался законодательной системы США, но кажется, принципы везде похожие: законотворчество в мире AI отстаёт от технологий, поэтому каждый случай нужно рассматривать индивидуально.
Разработчикам важно заранее думать о том, как технологии будут использоваться, и стремиться предотвращать злоупотребления. Впрочем, по теме безопасности AI вопросов пока больше, чем ответов.
ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs
Отличная статья про работу с различными инструментами через 16 464 (!) API. Авторы внесли большой вклад в Open Source, все наработки — в открытом доступе:
синтетический датасет ToolBench для работы с API;
ToolLlaMa — LLaMA, обученная на ToolBench;
метод оценки ToolEval с использованием ChatGPT;
API Retriever — модель, которая выбирает лучший API на конкретной стадии решения задачи;
DFSDT — алгоритм выбора оптимальной цепочки запросов к API.
Такой подход к работе с внешними инструментами позволяет использовать LLM практически в любых задачах. А огромное количество API помогает модели обобщать знания и использовать даже те API, которых она раньше не видела.
Towards a statistical theory of data selection under weak supervision
Есть представление, что, если мы обучим модель на очень большом количестве данных, её обобщающая способность вырастет. Однако авторы отметили довольно очевидную вещь: не все примеры одинаково полезны для обучения.
Они утверждают, что модель, обученная на подвыборке, сформированной суррогатной моделью (т. е. той, которая отбирает данные), может быть лучше аналога, обученного на всех данных. Например, авторы оценивают вклад от простых примеров выше, чем от самых сложных, и предлагают выбирать оптимально сложные примеры, которые модель может выучить.
Исследования проводили как на синтетических данных, так и на реальных (классификация изображений). Статья получила награду от организаторов конференции.
Model Tells You What to Discard: Adaptive KV Cache Compression for LLMs
Во время инференса для каждого входного токена генерируются тензоры K и V, которые затем сохраняются в памяти GPU для генерации следующих токенов. Такие закешированные тензоры называют KV-кешем. KV-кеш занимает достаточно большой объём памяти: например, для LLaMA-65B с batch_size=32 и seq_length=512 требуется 21,5 ГБ памяти на GPU.
Авторы предложили алгоритм FastGen, который позволяет достичь сжатия KV-кеша почти до 40% (для 65B-модели), что является отличным результатом и позволяет значительно ускорить инференс.
MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework
В этой работе авторы пытаются научить GPT-4 качественнее писать программы, используя мультиагентный подход. С помощью системных промтов они настроили разные роли: менеджер, тестировщик, программист и т. д. Каждая система получает задачу на вход и может ставить задачи «коллегам».
Подход выглядит забавно, но авторы утверждают что GPT-4 из коробки не умеет писать популярные игры (вроде «2048»), а их метод — умеет и показывает прирост 68% > 90% успешно написанных программ. Отдельно хочется отметить интерфейс: авторы выводят чат, где показано, как «идёт работа» в «компании».
Также авторы добавили питоновскую библиотеку, с помощью которой можно всем этим управлять.
Правда, на вопрос из зала, умеет ли модель писать софт, который не был написан заранее тысячу раз (в статье приводятся в качестве примеров только популярные и простые игры), авторы ответили, что пока не умеет, но они работают над этим.
A Real-World WebAgent with Planning, Long Context Understanding, and Program Synthesis
Google обучает модель, которая может по инструкции пользователя посещать веб-страницы и выполнять на них различные действия. Например, по инструкции «где я могу съесть сэндвич» может зайти на сайт с картами и построить маршрут до ближайшего Subway.
Также авторы обучили HTML-T5 — модель, которая понимает, с какими блоками на сайте взаимодействует пользователь при решении определённой задачи. Действия, такие как клик по кнопке, ввод текста и прочее, заменили на Python-код и селекторы. С использованием этой модели по инструкции пользователя генерируется последовательность действий на сайте, приводящих к решению задачи.
Understanding In-Context Learning in Transformers and LLMs by Learning to Learn Discrete Functions
Похожих работ на конференции было много — здесь авторы пытаются понять возможности и ограничения архитектуры трансформеров и предобученных моделей. Они исследовали способности разных моделей к few-shot-обучению на булевых функциях нескольких переменных и посмотрели, на каких классах модели работают хорошо, а на каких — плохо.
На постер-сессиях были похожие работы, где исследовалось, умеет ли предобученная модель выполнять простые операции над массивами, такие как сортировка, переворот, мода и прочее, и можно ли обучить трансформер складывать числа. В целом выводы неутешительные: во всех этих задачах есть простые классы функций, которые человек решает легко, но даже самые большие модели с ними не справляются.
Provable Robust Watermarking for AI-Generated Text
Очень простой и наглядный постер: авторы рассказывают, как защитить свою LLM с помощью водяных знаков. Для этого предлагается немного подкрутить вероятности токенов. Таким образом, сгенерированный этой LLM текст можно будет отличить от других текстов.
Похожая по духу идея из другого домена — защита изображений от использования в диффузионных моделях: DIAGNOSIS: Detecting Unauthorized Data Usages in Text-to-image Diffusion Models.
Ещё одна смежная идея — Raidar: geneRative AI Detection viA Rewriting. Модели плохо умеют переписывать тексты, которые сами же и сгенерировали, что можно использовать для детекции синтетического текста.
Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection
Авторы учат модель доставать полезную информацию из источников (как в простом RAG), но при этом добавляют специальные токены Retrieve, то есть модель идёт за дополнительной информацией только в тот момент, когда решила, что ей это нужно. Также вводят токены про критику — модель может отклонить какие-то факты из Retrieve и собрать ответ из оставшихся.
Главные выводы: модель не ходит за внешней информацией, если этого не требуется, может ходить много раз, пока не найдёт хороший факт, и может отклонять плохие факты, если они не подходят под контекст. Подход показывает рост метрик относительно обычного RAG. А ещё авторы показывают, что стандартный подход RAG может приводить к деградации качества.
SWE-bench: Can Language Models Resolve Real-world Github Issues
SWE-bench — бенчмарк с issues с GitHub, пул-реквестами, исправляющими баги, и тестами, которые запускались при проверке работоспособности PR.
Оказывается, что GPT-4 и похожие модели плохо умеют генерировать такие PR. В основном из-за того, что у проекта огромная кодовая база и скормить её в один промт не получается. Авторы обучали LLaMA 3 и делали RAG по кодовой базе проекта. Смогли закрыть 60% issues против 40% у GPT-4.
Neural Fine-Tuning Search for Few-Shot Learning
Авторы претрейнят одну большую модель, а потом эволюционным алгоритмом добавляют LоRA/Residual Connections и прочие трюки, чтобы достичь наилучшей метрики на файнтюне.
How I Warped Your Noise: a Temporally-Correlated Noise Prior for Diffusion Models
Статья посвящена генерации шума при денойзинге видео. Проблема в том, что, если при денойзинге разных кадров использовать наивные подходы (один и тот же шум или случайный шум), возникают различные артефакты. В этой работе предлагается метод, который переносит шум и убирает артефакты на основании отображения пикселей из optical flow.
Is ImageNet worth 1 video? Learning strong image encoders from 1 long unlabelled video
Авторы смогли предобучить модель на одном очень долгом видео (10-часовой тур от первого лица) и получить результаты качественнее, чем претрейн ImageNet.
Суть метода в том, чтобы с помощью анализа весов cross-attention без разметки понимать, что на изображении есть различные объекты, и следить за тем, как они двигаются между кадрами. Авторы назвали свой метод DORA — DiscOvery and tRAcking. Он позволяет предобучать модели на одном видео вместо огромных и разнообразных датасетов с картинками.
Vision Transformers Need Registers
В основе статьи лежит простая цепочка размышлений с гипотезой и доказательством. Авторы замечают, что в vision-трансформере больше всего на класс-токен по attention map влияет патч голубого неба, в котором нет никакой полезной информации, отличающей его от соседних патчей. Получается, что сеть сохраняет метаинформацию об изображении в этом токене, используя его как регистр. Чтобы проверить гипотезу, автор добавляет регистры, после чего такое поведение исчезает.
Интересно, что похожая идея встречается и в LLM. В работе Think before you speak: Training Language Models With Pause Tokens в модель также добавляются пустые <pause>-токены, которые позволяют модели «подумать». В них агрегируется некое глобальное состояние, позволяющее лучше решать задачу.
AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning
Статья с популярной имплементацией для генерации видео с помощью Stable Diffusion. О методе давно знают в сообществе SD-энтузиастов на Reddit, так что странно, что авторы так сильно задержались с рассказом о своей работе.
SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis
Постер от stability.ai о StableDiffusion XL — сейчас это лучшая генерация изображений по тексту, доступная обывателю в опенсорсе, невероятно популярная на r/stablediffusion. Смысл постера сводился к тому, что авторы сделали SDXL и он очень крут 🙂 Самая соль:
Авторы сделали денойзинг во второй стадии, то есть в SDXL появилась base-модель и refinement. Base-модель получает начальное представление желаемого изображения в латентном пространстве, а refinement тоже выполняет денойзинг в латентном пространстве, но специализируется на дорисовке деталей. Увеличивая количество итераций refinement-модели, можно получить более детальное изображение.
Из датасета не выбрасывали изображения, которые имеют низкое разрешение или неудачные кропы. Вместо этого авторы пробросили оригинальный размер и координаты кропа в U-net, которой на этапе генерации тоже можно управлять.
Зафайнтюнили модель на различные соотношения сторон, а не только на квадрат.
ASID: Active Exploration for System Identification in Robotic Manipulation
Работа на небольшом примере показывает, как поведение из симуляции переносится в реальность. Робот один раз взаимодействует с палкой, определяя её центр тяжести по совпадению траектории реальной палки с симуляцией. Это, в свою очередь, позволяет роботу сбалансировать палку на подставке.
Learning Interactive Real-World Simulators
Ещё одна работа от Google на стыке генерации видео и робототехники. Презентация началась с демонстрации модели, которая умеет генерировать видео по тексту, и утверждения, что эта модель была обучена за полгода до Sora от OpenAI.
Тем не менее самое интересное здесь — применение в робототехнике. Авторы с помощью LLM генерируют план решения задачи и потом — видео каждого шага. После этого обучают робота выполнять действия, которые внешне неотличимы от сгенерированных на видео.
Это сильно отличается от популярных подходов, когда компании нанимают кучу асессоров, «показывающих» роботам много примеров решения задачи. В теории подход из этой статьи — полностью unsupervised.
Вот, пожалуй, и всё, что хотелось рассказать об ICLR 2024, — там было здорово! А материалов с конференции точно хватит, чтобы изучать и разбирать их до следующего года. Надеюсь, вы отметите и прочитаете понравившиеся статьи. А возможно, даже попробуете применить некоторые находки на практике — это была бы самая большая польза от нашего обзора.
*Компания Meta признана экстремистской организацией, а её продукты, Facebook и Instagram, запрещены на территории РФ