seeallochnaya | Unsorted

Telegram-канал seeallochnaya - Сиолошная

56987

Канал SeeAll'а с новостями (и мыслями о них) из мира NLP, VR и космоса. Более подробно смотри в первом сообщении в канале (оно запинено). А еще у нас есть чат! Заходи: https://t.me/+i_XzLucdtRJlYWUy

Subscribe to a channel

Сиолошная

Пара примеров того, как выглядит работа в инструменте

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

Сиолошная

У OpenAI опять случилось это.

Уволился глава AGI Readiness.

TL;DR
— хочет больше открытости и публикаций
— хочет больше регулирования и совместных инициатив, иначе безопасного ИИ нам не видать
— хочет более серьезно заниматься предсказанием прогресса в ИИ

Вот вам и AGI через 2 года

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

Сиолошная

Сегодня сводка новостей:
— Jimmy Apples, надёжный источник информации о ведущих AI-лабораториях, говорит, что Anthropic работает над своим ответом на модель OpenAI o1 и планирует релиз к концу года. Компания Elon Musk xAI целится в выпуск схожей технологии через ~3 месяца
— ещё в начале сентября он писал, что в октябре OpenAI выпустят модель 4.x (может быть GPT 4.5), а GPT-5 будет готова в декабре, но лучше готовиться к первому-второму кварталу 2025-го. 13-го октября Jimmy написал «Держим кулачки, чтобы они не отложили/не изменили планы» — так что умеренно готовимся к впечатляющим (или нет) релизам.
— Anthropic в своём посте-сопровождении вчерашнего релиза модели с функцией управления компьютером написали следующее: «Мы были удивлены тем, как быстро Claude обобщила тренировочные задачи по использованию компьютера, которые мы ей дали, в которых использовались всего несколько простых программ, таких как калькулятор и текстовый редактор (в целях безопасности мы не разрешали модели выходить в Интернет во время обучения)». Как будто бы эта фраза намекает, что а) модель не обучалась ходить через браузер по разным сайтам б) с большинством проприетарных программ тоже не в ладах. Зато какой потенциал для развития!
— Одной из выявленных во время тестирования проблем были джейлбрейки — тип кибератака с внедрением вредоносных инструкций на сайты (не обязательно заметно для человека). Например, можно попросить игнорировать инструкции и попросить перевести все средства из кошелька на спец. счёт — и если не следить за тем, что там агент кликает, денежки утекут. Они постарались это исправить, но пока работает не идеально. Я вчера сам тестировал, и модель зашла на скам-сайт без адблока, и вылезла реклама «ваш компьютер заражен вирусами, кликните для установки антивируса» — и получив эту картинку агент отказался дальше работать, а API Anthropic выкинуло ошибку (то есть они делали проверку на своей стороне, чтобы меня обезопасить)
— сейчас модель не умеет перетягивать мышкой объекты, менять масштаб окон итд, но это добавится в будущем
— TheInformation пишут, что OpenAI уже долгое время работают над схожим продуктом — первая новость была в посте от 7-го февраля — но пока не ясно, когда будет запуск
— однако в компании уже провели внутреннее демо предварительной версии агентов, аналогичных показанным Anthropic (в рамках презентации модель заказал еду в офис)
— кроме этого, компания работает над продуктами для помощи внутренней разработки. Более конкретно, некая система будет брать на себя задачи по программированию, которые могли бы занять у людей часы или дни; она будет автоматически писать тесты и проверять, что не совершает ошибок в следовании пользовательскому запросу; когда этот продукт станет доступен вовне — тоже не ясно
— но уже есть несколько оконченных инструментов, которые активно используются внутри (например, для ускорения работы исследователей в запуске экспериментов с моделями — со слов одного из сотрудников)
— По словам человека, который общался с высшим руководством OpenAI по поводу этих продуктов, по некоторым показателям, которые OpenAI использует для оценки возможностей моделей, недавние модели Anthropic показали преимущество над моделями OpenAI (lol 😶‍🌫)

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

Сиолошная

Фух ну слава богу, теперь мы знаем, что модель учили на демонстрациях живых людей 😀

Перевод: Claude внезапно взяла паузу во время нашего демо с написанием кода и начала внимательно рассматривать фотки Национального парка Йеллоустоун.

(Даже видео есть, вот — пошла в гугл и сделала запрос)

Не ну а чо, потом ещё на перекуры будет ходить, и чайку на кухне подцепит.

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

Сиолошная

Как это выглядит в скриншотах (см. колонку слева, где Claude размышляет и предлагает действия: куда кликнуть, что ввести, когда промотать страницу)

Видео на английском c пояснениями тут: 1, 2, 3

Для билдеров: вот ссылка на официальную документацию для этого экспериментального API. А вот тут Github репа с кодом демок.

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

Сиолошная

Новая модель от Anthropic... 😍 но не Claude 3.5 Opus 🥺

Встречаем Claude 3.5 Haiku, младшую и дешевую версию. Однако доступная уже полгода Sonnet получила обновление, и её прокачали по всем фронтам — ОСОБЕННО ПО АГЕНТСКИМ. Что? Да, Anthropic утверждают, что это первая модель, для которой они предлагают вам доверить ей управление вашим компьютером.
(по сути приложение как у OpenAI, где модель получает скриншот вашего экрана, только ещё и сама кликает. Детали будут в следующем посте)
По другим бенчмаркам обещают качество на уровне Claude 3 Opus.

Новость

Haiku пока не будет в API (обещают скоро, в этом месяце), но цена такая: $0.25/$1.25 за миллион токенов на вход и выход (примерно вдвое дороже gpt-4o-mini, зато кэширование дешевое)

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

Сиолошная

Вопрос на засыпку: почему мы обучаем отдельную нейронку для оценки состояний? И можно ли делать иначе?

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

Чем больше игр играется, тем более точная оценка. И — тут мы наконец возвращаемся к статье, это всё была прелюдия — авторы говорят: давайте вторую нейронку, которая оценивает состояние, заменим на генерации LLM. Вот предложила она такой шаг в решении задачи — ок, фиксируем его. Затем подаём его на вход как часть решения и генерируем K оставшихся частей решения + ответов. Так как для каждой задачи ответ мы знаем, то можем посчитать долю правильных ответов прям у модели по ходу обучения.

И логика тут такая же — если в текущем шаге мы сделали ошибку (перепутали плюс и минус), то оставшаяся часть решения будет вести к неправильным ответам -> уменьшению Advantage. А если модель вспомнила теорему и правильно её применила, так, что там и решать нечего — то почти все решения будут правильным, и как следствие такое действие будет иметь большой Advantage (а поведение будет положительно закреплено).

В целом всё, это и есть основная идея, подменить нейронку для оценки состояний на честные генерации. Важно отметить, что при таком подходе экономится память (нужно держать одну сеть вместо двух, сеть-Оценщик удалили), но увеличиваем время итерации — ведь теперь для каждого шага нужно сделать много-много генераций (благо, LLMки научились разгонять). Авторы показывают, что для моделей размера 7B скорость итерации медленнее раза в два, но зато в пересчёте на реальное время качество выше (например, обучение за сутки приводит к большей точности ответов).

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

Сиолошная

Дальше авторы проводят несколько экспериментов с обучением моделей LLAMA-3-8m и GPT-4o-mini и тестированием (на задачах, отличных от обучающих). Сэкономлю вам время и сразу перейду к выводам:

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

— более того, тренировка на задачах, где вовлечено N человек, также увеличивает качество в задачах с M участниками, не важно, больше ли M чем N или нет. То есть такое обучение позволяет делать цепочки рассуждений в решении более сложных задач надёжнее; они чаще приводят к правильным ответам. Детали для двух моделей смотрите на картинке — цифры означают прирост после обучения относительно положения дел до него.

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

TLDR: «Наши результаты раскрывают интригующую взаимосвязь между запоминанием и рассуждением: в то время как модели в значительной степени полагаются на запоминание для решения сложных головоломок, модели, обученные иметь более высокий уровень запоминания, также решают больше неизвестных им до этого головоломок и решают их относительно надежно (в отличие от заученных задач)»

Очень жаль, что авторы не применяют методы интерпретируемости (как тут) чтобы пойти дальше и разобраться(

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

Сиолошная

Large Language Interpolators Can Learn Logical Reasoning: A Study on Knights and Knaves Puzzles

Каждый раз, когда LLM показывают хорошее качество в некоторых задачах на рассуждение, мы задаёмся вопросом — а не запоминание ли это? Может, такой же или очень похожий пример был где-то в интернете, и модель обучилась на нём. Ещё больше вопросов возникает, когда LLM совершает какую-то элементарную ошибку рассуждениях по задаче, которая чуть-чуть переформулирована относительно исходной.

Авторы статьи пытаются исследовать этот вопрос предметно: они придумали задачу для исследования и метрику для оценки баланса запоминания <-> понимания в модели. Как такой баланс оценить? Давайте на примере: когда кто-то готовится к собеседованию или экзамену, то он может не полностью усвоить все основные принципы, зато вызубрить несколько задач. И когда человек сталкивается с одной из них, то сможет написать решение. А если внести какие-то изменения в одно из действий — то он поплывёт.

Две ключевых характеристики запоминания, исходя из этого примера, такие:
A) высокая точность на виданных ранее задачах
Б) низкая точность на новых очень похожих задачах (из-за недостатка понимания принципа решения)

Авторы придумали формулу, которая отражает обе черты. Сначала они считают точность на наборе задач — это Acc (от Accuracy). Затем в этих задачах они меняют одну минорную вещь, которая не влияет на сложность, но приводит к другому ответу, и смотрят на ответы. Метрика CR (Consistency Rating) — это доля задач, которые были решены правильно и до, и после изменения. Чем CR выше, тем лучше модель решает слегка изменённые задачи.

А формула такая: Acc * (1 — CR). Чем выше оценка, тем более вероятно, что модель полагается на запоминание, а не на реальное понимание/рассуждение. Чем выше CR, тем меньше второй множитель, и тем меньше общее значение — что логично: если модель решает новые изменённые задачки, то нет оснований полагать, что она их запомнила.

Давайте на примере. Вот есть 10 задач, модель решает 9 из них без перестановок, Acc = 0.9, всё хорошо. Но с минимальным изменением условий решается всего лишь 1 задача. CR = 1 / 9 ~= 0.11. Тогда получается, что второй множитель очень большой (0.89), и итоговая оценка 0.9 * 0.89 = 0.8, очень много — скорее всего запоминание. А если решила 8 из 9 после изменений, то это 0.9 * (1 — 0.89) = 0.1, очень мало. Всё что выше 0.1 авторы называют решением через запоминание.

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

Отдельный вопрос это можно ли такую задачу относить к классу «требующих рассуждений», и главное это определить до того, как мы увидим, что LLM'ки их могут решать 😀 а то если там точность 5%, то это рассуждения, а если 95% — то нет 🤣

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

Сиолошная

Но и это не всё, последняя часть экспериментов — это создание датасета GSM-NoOp, где при создании шаблона в условие добавляется одно условие, кажущееся релевантным, но на самом деле не влияющее на решение.

Пример (жирным выделена добавленная часть:
Оливер собирал 44 киви в пятницу. Затем он собрал 58 киви в субботу. В воскресенье он собрал вдвое больше киви, чем в пятницу, но пять из них были немного меньше среднего размера. Сколько киви у Оливера?

В теории, результаты не должны меняться, на практике же наблюдаются просадки в качестве:
o1-preview: 94.9% -> 77.4% (-17.5%)
GPT-4o: 95.2% -> 63.1% (-32.1%)
Gemma2-9b-it: 85.3% -> 22.3% (-63%)

И после этого авторы прыгают к выводам:
— «мы обнаружили, что модели склонны преобразовывать утверждения в операции, не понимая их истинного смысла»
— «мы демонстрируем, что модели подвержены катастрофическому падению качества на примерах, не входящих в тренировочное распределение, возможно, из-за их зависимости от сопоставления с шаблонами»
— (сделали ещё один эксперимент, поменяв примеры, которые показывают перед заданием вопроса) «мы показали, что LLM испытывают трудности даже при наличии нескольких примеров, содержащих схожую нерелевантную информацию. Это говорит о более глубоких проблемах в их процессах рассуждения, которые нельзя легко смягчить с помощью обучения» (пробовали доучить маленькие локальные модели)
— «наша работа подчеркивает существенные ограничения в способности LLM выполнять настоящие математические рассуждения»
— а в самом начале статьи было вообще вот так: «наша работа указывает на более фундаментальную проблему: LLM испытывают трудности, <...>, что указывает на более глубокие проблемы в решении задач, которые невозможно решить с помощью промптинга с показом нескольких примеров или дообучением на примерах с отвлекающими вставками»

То есть их утверждение, которое и разнесли по твиттеру, а затем и по новостям, что ни промптинг, ни дообучение не решает эту проблему, и что якобы LLM — В С Ё! ☕️

===

Но почему качество моделей так сильно просаживается при добавлении не влияющей на решение информации? Моя гипотеза — что модели обучались на реальных олимпиадных/школьных задачах, и они привыкли, что вся информация в задаче полезна для решения. Я отлично помню, как мне в школьное время при подготовке к олимпиадам говорили: «Если информация в задаче есть, то она дана для чего-то. Не может быть просто так». Не бывало так, что что-то просто приписано.

У меня нет уверенности, что качество ответов школьников (олимпиадников и обычных) упадёт на этом наборе задач. Но я уверен на 99.9%, что если условия эксперимента будут позволять, то количество вопросов/поднятных рук (допустим, в условиях экзамен, с обращением к учителю по условию задачи) с интентом «чё это такое? нужно учитывать или нет? непонятно что имелось в виду, влияет чи нет» вырастет. Если же не дать задавать вопросы, и оставить детей как есть, то из огромной выборки детей кто-то да точно отличится и напишет «ну если 5 киви были маленькие то их не считем», так что в пределе качество чуууууууть-чуть упадёт.

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

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

Сиолошная

GSM-Symbolic: Understanding the Limitations of Mathematical Reasoning in Large Language Models

Статья от исследователей Apple, наделавшая шуму в последние полторы недели. С помощью внесения изменений в существующий бенчмарк школьных задачек по математике они исследовали способности LLM к логическому рассуждению. Обо всём по порядку:

Есть датасет GSM8k, его описание я уже давал: в каждой задаче от 2 до 8 действий с четырьмя базовыми операциями (+, −, ×, ÷). Оригинальный датасет подготовили в в 2021-м, в нём было 8 тысяч задач. Для наглядности вот пример одной: Ли купил 6 акций Delta по цене 40 долларов за акцию. Если он хочет заработать 24 доллара на этой сделке, сколько должна стоить акция Delta, когда он ее продаст?

У современных передовых LLM получается правильно отвечать на такие вопросы примерно в 94-96% случаев. Часть этого успеха можно списать на запоминание — ведь данные есть в интернете уже 3 года. Однако ранее в этому году другие исследователи всё проверили — и передовые модели GPT / Claude не были этому подвержены (на схожих, но новых и составленных вручную задачах модели показывали такое же качество или даже чуть лучше).

Так вот эта статья — частичное повторение экспериментов по изменению исходного набора данных. Задачи перебили в шаблоны, предварительно выделив имена действующих лиц (в примере выше это Ли), цифры, и промежуточные результаты в решении. Теперь эти элементы можно менять произвольно, при этом сама логика задачи не изменится. Вместо Ли будет Петрович, вместо 6 акций — 10, и так далее.

Всего подготовили и отобрали 100 шаблонов, предварительно проверив, что выборка 10 случайных примеров по нему (с генерацией чисел/имён) получается осмысленной (нет условий в духе «минус три акции»), и что на каждую задачу хотя бы 2 модели отвечают правильно (то есть решение возможно). Затем из каждого шаблона сделали по 50 вариантов с разными именами/числами, итого вышло 50 наборов по 100 задач. В теории, их сложность одинакова, и люди, и LLM должны их решать с качеством примерно равным исходному.

Далее на этом проверили более 20 моделей. Качество почти всех упало, кроме моделей OpenAI (Anthropic/закрытые модели Google не участвовали в экспериментах) и LLAMA-3-8b. Ешё пробовали менять по отношению к исходной задаче либо только имена, либо только числа, либо и то, и то — и результаты те же: большое количество изменений ведёт к уменьшению качества ответов, кроме передовых GPT-4o / o1 / LLAMA-3.

Уже к этому моменту авторы подводят к мысли, мол, ну смотрите, LLM'ки тупые, вон качество просаживается от такой простой перестановки, а ведь не должно! У людей бы наверняка изменение имени героя задачи не вызвало изменения ответа, да?

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

Сиолошная

А вот и оно!

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

«Манёвр переворота» — это потому что корабль летит пузом вниз (то есть по сути боком, длинной стороной), а потом включает двигатели и резко разворачивается на 90 градусов двигателями вниз, чтобы приводниться, имитируя посадку. Посмотреть на репетицию при дневном свете (от 2021го года) можно тут.

Источник

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

Сиолошная

DuoAttention: Efficient Long-Context LLM Inference with Retrieval and Streaming Heads

В конце апреля разбирал статью про Retrieval Heads (пост является пререквизитом для понимания этого) — механизм в LLM, который позволяет модели находить и копировать нужные факты из части промпта. Если вы даёте на вход 10 страниц текста и задаёте вопрос — Retrieval Heads обратят внимание на потенциальные место ответа и «вытащат» его. Когда Retrieval Heads лажают, появляется контекстуальная галлюцинация.

Однако чем длиннее контекст, тем дольше работает модель — ведь нужно сделать больше вычислений, и, что не менее важно, хранить больше данных в памяти (обо всех прошлых страницах). Такое называется KV cache.

Фреймворк DuoAttention предлагает следующее:
1) генерируем набор синтетических данных, в которых точно требуется «вспоминать» контекст (в промпт вставляют части «запомни это: <длинное предложение>», а в коцне просят написать все такие части)
2) прогоняем его через модель и сохраняем выходные значения (последние эмбеддинги)
3) дальше тренируем модель-маску, которая описывает зануление/занижение оценок каждой головы (которая может быть Retrieval Heads). Тренировка производится с L1 регуляризацией, чтобы проредить маску. Идея такая, что если мы зануляем Retrieval Head, то это существенно ломает предсказания модели на задаче «вспоминания» частей промпта, а если что-то другое — то влияние минимально
4) после обучения на ~2000 шагов (несколько часов, в зависимости от модели и GPU) остаётся финальная маска влияния на возможность модели свпоминать. В ней значения бинаризуются (на 1 и 0) через сравнение с некоторой константой, подбираемой по перцентилю
5) этот процесс нужно повторять самому для каждой модели один раз перед запуском

Всё! Теперь маску можно применять: значения Retrieval Head сохраняются для всех слов, а остальная информация отбрасывается, если находится дальше, чем K токенов от текущего места. Например, если вы обрабатываете 50'000 токенов, то держите на готове последние, скажем, 1024 токена (и весь KV cache для них), и значения Retrieval Head для всех остальных 49k. Если модели нужно обратиться к данным из начала промта — у нас для этого сохранена лишь часть данных, которая, как показывают эксперименты, достаточна для того, чтобы вспомнить их.

На экспериментах с длинным контекстом показывают, что если брать половину всех Heads (то есть подбирать такой порог, чтобы ровно половина отсекалась), то:
— на одну карту с 80GB для 8B модели теперь влазит 3.3M токенов контекста (если делать квантизацию кэша; без DuoAttention 1.8M, без квантизации всего 0.52M)
— потребление памяти меньше в 1.67-2.55 раз — потому что надо меньше хранить в памяти, мы часть выкидываем
— задержка генерации меньше в 1.5-2.18 раз — потому что нужно меньше считать

Очень хороший пример как методы интерпретации (обнаружение Retrieval Heads) позволяют улучшать практические кейсы с использованием моделей.

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

Сиолошная

Language-Model-Assisted Bi-Level Programming for Reward Learning from Internet Videos

Логическое продолжение работы Eureka и DrEureka, правда, от других авторов. Скопирую вводное описание из своего поста про DrEureka:

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

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


Как это работало там:
1) LLM получает на вход текстовое описание задачи и код виртуального окружения, в которой действует модель
2) LLM пишет код функции награды
3) с этой наградой обучается одна модель в симуляции (никак не связанная с LLM)
4) некоторые промежуточные статистики отдаются модели для оценки успешности (например, как долго робопёс бежал)
5) LLM рефлексирует и пишет улучшенную функцию награды
6) повторяем пункты 3-5

Авторы Eureka ещё показывали, что у них получалось подсказывать LLM, если они видели, что обученная в пункте 3 модель лажала в чём-то, что нужно исправить. Человек увидел глазами — сказал ртом или написал на клавиатуре — модель внесла изменения. А зачем тут человек? 🤨

Этим вопросом и задались исследователи — в свежей работе они предложили заменить человека на Visual-Languange Model (Gemini 1.5 Pro), а задачу сделать более интересной: заставить модель в симуляции повторять действия людей или животных с реальных интернет-видео. На вход в систему видос, на выходе модель, которая двигается максимально похожим образом (см. демку ниже).

В предлагаемом решении две компоненты:
1) верхнеуровневая VLM, которая смотрит видео-демонстрацию в видеозапись текущего поведения модели в симуляции, и даёт текстовое описание, что нужно улучшить
2) низкоуровневая LLM, которая переводит рекомендации в изменения в коде функции награды

Проверяли на 5 видео: Spider Walking, Spider Jumping, Human Running, Human Split Landing (прыгнуть и упасть, раздвинув ноги), Dog Hopping. Отмечают, что их метод подмечает (и переносит на модель в симуляции) мелкие детали движения биологических объектов. Например, в задании «Spider Jumping», паук научился приседать и «копить энергию» перед прыжком.

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

Сиолошная

Схематично выглядит так.

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

И очень понравилось, как заканчивается статья: логичные дальнейшие шаги. Авторы замечают, что наличие столь качественного критика (как человек, который и участвует в разметке данных и даёт обратную связь) позволяет запустить автоматический процесс дообучения и улучшения моделей. Нечто схожее сделали OpenAI с o1 для математики и программирования, и вот подход для агентов.

И финальное слово про сам бенчмарк: очень ждём замеров результатов моделей грядущего поколения. Сейчас лишь одна задача из 55 решается по всем критериям, однако из 355 подкритериев порознь выполняются 46.44%. Так что видно, что агент может что-то сделать, но упускает из виду несоответствие остальным критериям (забыл отдельный шаг, не туда сохранил/не так назвал файл, или просто ошибся в коде) — как раз тут и пригодился бы критик.

Почитать все 55 задач можно тут.

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

Сиолошная

Помните пару месяцев назад многие смотрели на ответы LLMок на запрос «Что больше, 9.8 или 9.11?»? Вот в этом блоге-анонсе инструмента для механистической интерпретируемости авторы пытаются понять, почему так происходит, анализируя внутренние состояния модели. Про интерпретируемость и анализ внутренностей я недавно писал лонг, если пропустили — рекомендую к прочтению.

Так вот, что делается в инструменте:
1) вы выделяете слово «больше» в неправильном ответе «9.11 больше 9.8»
2) программа находит, какие части модели больше всего повлияли на это предсказание. Для этого поочерёдно зануляются разные части (нейроны) внутри LLM, и анализируется уменьшение вероятности слова «больше». Допустим, без стороннего влияния модель предсказывает это слово с вероятностью 94%, а после отрубания какого-нибудь 100500-го нейрона в 10-м слое — 35%. Значит, влияние есть
3) в фоне, ещё до запуска инструмента, через модель прогоняются сотни тысяч разных текстов, и сохраняются все внутренние состояния сети (какие нейроны и как работали)
4) теперь нужно объединить шаги 2 и 3 — найти такие примеры текста из общей выборки, которые вызывают такое же срабатывание (сильно положительное или сильно негативное) тех же самых нейронов. Эти тексты можно отсмотреть глазами и попытаться выявить общую тему (или использовать для этого LLM — так предлагали делать OpenAI; тут тоже под капотом есть кластеризация, правда я не разбирался, как именно она работает).

Два обнаруженных сильных концепта, которые «возникают в голове» у модели при ответе на этот вопрос — это атаки 11-го сентября (потому что 9/11) и гравитационная динамика (потому что физическая константа 9.8). Но если чуть поменять запрос (9.9 и 9.12), то они уходят, поэтому фокусироваться на них не имеет смысла.

А вот какие концепты есть и в одном случае, и в другом — религиозная. Если рассмотреть конкретные примеры в этом кластере, то они связаны со стихами из Библии, что также может вызвать проблемы, если 9.8 и 9.11 интерпретировать как 9:8 и 9:11 (глава:стих). И в книгах ведь действительно 9:8 идёт до 9.11 — поэтому можно сказать что 9.8 меньше 9.11.

После обнаружения проблемных нейронов (которые срабатывают, хотя должны «молчать») их можно занулить, то есть отключить их влияние на финальный результат: они ничего не будут добавлять или убавлять.

Для замера качества вмешательства авторы собрали выборук из 1280 примеров вида «что больше X.Y или X.Z», меняя переменные. До любых изменений LLAMA-3-8B отвечала чуть лучше случайного гадания — 55% правильных ответов. Если занулить 500 случайно выбранных нейронов, то будет 54-57%, особо разницы нет. Но если занулить 500 нейронов, которые ближе остальных к Богу (🙂), то качество вырастет до 76%. Его можно разогнать до 79%, если включить сюда ещё нейроны для дат и телефонов (даты потому что 9 сентября 9.9 раньше 9.11 — тоже путает модель). А ещё попробовали заставить модель сортировать набор чисел — тоже сильно улучшило.

«Одна из спекуляций заключается в том, что эти нейроны заставляют LLAMA интерпретировать числа как библейские стихи, так что, например, 9.8 и 9.11 становятся 9:8 и 9:11, что приводит к тому, что 9:8 оказывается перед 9:11. Однако требуется некоторая осторожность — например, другая гипотеза, которая соответствует данным, заключается в том, что LLAMA'у просто «отвлекает» слишком много концептов, срабатывающих одновременно, и все, что убирает шумные активации, полезно. Есть и другие возможные причины...» (то есть это не финальный вердикт, что именно вот точно по одной причине какая-то проблема)

Потыкать инструмент самому: тут

UPD: на удивление зануление нейронов, которые срабатывают при обсуждении версий библиотек для программирования (там тоже 9.11 после 9.8 может идти), не приводит к росту доли правильных ответов!

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

Сиолошная

Хотел репостнуть разбор статьи от @gonzo_ML, но а) люди часто не видят что это пересланное сообщение б) и тем более не переходят в канал чтобы увидеть, что там кроме этого еще сотня разборов за несколько лет (я почти все прочитал, и вам советую пробежаться по отдельным интересным топикам)

Что хотел репостнуть: /channel/gonzo_ML/2964, статья про агента, который для решения задачи мог менять свою структуру. Интересно, что для одной из задач, которая решается не через LLM, а банально через написание программы, система ровно к этому и пришла после нескольких неудачных попыток.

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

Сиолошная

Я запустил Computer Use – вот видео, где агент сам находит меня в интернете, идет на сайт и общается там с Eliza ботом о котором я недавно писал

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

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

Сиолошная

И к грустным новостям: со страницы моделей Anthropic убрали упоминание Opus 3.5 (самой большой и дорогой версии из линейки). Ранее говорилось, что она планируется до конца года (по моим воспоминаниям из подкастов с CEO компании — вообще осенью).

Не ясно, почему это произошло — может, старшую версию переделали в среднюю, может, модель не смогли обучить (возникли инженерные трудности), а может решили бежать до Claude 4.0 как можно быстрее. Или что-то ещё.

В любом случае (пока) скорбим, Claude 3.5 Opus RIP 2024-2024 в наших сердцах 🫶

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

Сиолошная

Тезисно:
— Anthropic представили новую возможность для публичного тестирования: использование компьютера (уже доступно в API). Разработчики могут давать Claude использовать компьютер так, как это делают люди — глядя на экран, перемещая курсор, нажимая кнопки и печатая текст.
— Claude 3.5 Sonnet — первая передовая модель, предлагающая использование компьютера в публичной бета-версии (ну, из коробки да, но для других моделей это уж было года два...на GitHub. А тут они прям уверены!)
— этими возможности уже тестируют Asana, Canva, Cognition (которые Devin делали), DoorDash, Replit, и The Browser Company (это браузер Arc, на котором я сижу; они делают большую ставку на AI в браузере для выполнения действий вместо вас)
— The Browser Company отметили, что при использовании модели для автоматизации веб-задач Claude 3.5 Sonnet превзошла все модели, которые они тестировали до этого (но без деталей. Ждём обновление браузера? 🙂)
— новая модель сильно прокачалась в кодинге. На бенчмарке по внесению изменений в код на уровне целого большого репозитория (десятки тысяч строк кода) SWE-bench Verified качество выросло с 33.6% до 49% — это если сравнивать старый Sonnet и новый с использованием SWE-Agent (открытый фреймкорк из Berkley). Но были и другие решения, которые заточены именно на улучшение оценки, но недоступны нам — они выдавали 45.2%. Они, наверное, пробьют 55% просто через замену модели.
— Haiku (младшая версия, дешёвая) получает 40.6% на этом бенчмарке, что лучше старого Sonnet 3.5. Видно, что Anthropic вложились в ИИ-агентов и/или reasoning

Что это за "использование компьютера"? Claude транслирует ваши инструкции вроде «возьми данные с моего компьютера и из Интернета для заполнения вот этой формы и пройдись по всем полям») в компьютерные команды (прочитать таблицу на экране; переместить курсор, чтобы открыть веб-браузер; перейти на соответствующие веб-страницы; заполнить форму данными с этих страниц и т. д.)

Пока работает с достаточно базовыми командами и на разных бенчмарках вроде OSWorld выдаёт всего 22% (прошлый лучший результат был 7.8%, если использовать только скриншоты экрана, без трансляции в специльную форму для слабовидящих). Однако компания ожидает быстрых улучшений в ближайшем будущем через сбор обратной связи от разработчиков. Тут они сильно обошли OpenAI и других — как мы знаем, данные это новая нефть, и каждый день отставания других игроков приносит ценность. Очень ждём, что ответят OpenAI.

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

Сиолошная

Картинки!

1. Пример разбиения решения задачи на шаги (каждый выделен отдельным цветом). Авторы старались бить по строкам и по знаку равно (если выходило больше 100 символов в строке). Это очень похоже на шаги рассуждений у OpenAI o1 — они тоже били по строкам (это заметно в 7 официально опубликованных логах рассуждений). Каждый шаг — как ход в игре, если с ошибкой, то ведёт к неправильному ответу (=проигрышу).

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

Ошибки двух методов существенно различаются. Оценки VinePPO не смещены, их дисперсия достигает пика при 0,5 и падает до нуля при 0 и 1. Нейронка из PPO часто ошибочно классифицирует плохие состояния (левая часть каждого квадратика) как хорошие и наоборот — что ведёт к плохой оценке «успешности» ходов.

3. Авторы идут дальше и считают точность предсказания состояния (определенная как попадание в интервал +-0.05 от 256 генераций), и тут видно, что уже в самом начале обучения такой подход VinePPO даёт оценки лучше, чем нейронка из PPO в конце обучения. Справа — как часто эти методы выбирают лучший «ход» из пяти предложенных продолжений. PPO даже к концу обучения еле-еле обходит случайный выбор (который попадает в 20% случаев)

4. Прирост качества от изменения K (количества генераций, использующихся для оценки во время обучения; чем больше, тем точнее оценка, и тем чётче сигнал для обучения, что плохо и что хорошо). Удивлён, что даже с K=1 работает хорошо (то есть каждое состояние оценивается как 0 или 1, решилась ли задача из этого шага или нет). Тут появляется ось масштабирования — можно тратить больше мощностей на генерации для оценки, чтобы делать её точнее, что приводит к улучшению финальной модели. Схожий график показывали OpenAI для o1, но я не уверен, что они масштабируют только это.

У авторов было только 8 GPU, вот если бы им дали побольше...увидели бы приросты посущественнее!

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

Сиолошная

VinePPO: Unlocking RL Potential For LLM Reasoning Through Refined Credit Assignment

Давно лежало в загашнике, пора разобрать. Статья описывает метод обучения LLM для рассуждения в математических задачах, но в целом он применим хоть к чему, если соблюдается условие «есть однозначный правильный ответ» (например, программирование). Очень похоже по идее с o1, но думаю, что у OpenAI есть пара накруток сверху.

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

Сравнение с игрой не случайно, современные LLM учат теми же методами, что использовались уже 5-7 лет назад для обучения ботов игре в видеоигры. Работало это так: у вас есть текущее состояние, и вы можете предпринять несколько действий.

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

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

Так вот, оценка действия называется Advantage (преимущество) и считается как разница оценок текущего состояния (до хода) и следующего состояния (после хода). В примере выше это 0.6-0.55 = 0.05. Много это или мало — не ясно, по хорошему нужно сравнить с другими ходами. Если остальные будут 0.01 или и вовсе негативные (то есть ведут к проигрышу а не победе) — тогда да, ход был классный.

А дальше алгоритм обучения (и для игр, и для LLM) очень простой:
— если ход дал прирост, то обучаем модель выдавать такой ответ при определенном состоянии чаще
— если ход привёл у уменьшению оцени состояния, то делает наоборот, уменьшаем вероятность генерации такого ответа

И всё это завязано на оценку состояния (напомню, оценка действия делается через оценку состояний). Но чем сложнее игра, тем сложнее точно оценить свою текущую ситуацию, особенно если разница между двумя ходами сыграет роль где-то через 50-100 ходов в будущем — нужно оооочень далеко вперёд смотреть. Уже давно были исследования, которые показывают, что нейронка, которая оценивает состояния, на самом деле работает очень неточно (и это буквально чудо, что оно работает и позволяет обучать ботов, хаха).

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

Сиолошная

Вот картинка с результатами моделей из коробки, с простым промптом, без примеров решений.

Самое левое — это точность разных LLM в зависимости от количества людей в задаче. Даже для двух участников лучшие протестированные модели не превосходят 70% качества (32% для 5 человек). Очень жаль, что нет моделей o1 от OpenAI :( Но они кажется тогда не вышли ещё.

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

Видно также, что лучшие модели имеют большой LiMem (больше 0.1, который авторы определили для себя как границу между запоминанием и рассуждением). На примерах с 2-3 людьми ОК, ну вдруг в интернете действительно было что-то очень похожее. Но вот там где у GPT-4o на 6-7 людях на средней картинке метрика 0.14-0.15 — вызывает у меня сомнение. Я думаю что крайне маловероятно, что значимая часть задач из 100 случайно сгенерированных авторами через ими же написанную программу на 6-7 людей(!) попадалась в интернете, и модели их видели. Или что кто-то в OpenAI / Anthropic занимался такой же вещью, и случайно написал такой же генератор задач.

И вообще исследователи подмечают, что судя по отставанию других моделей скорее всего текстов с такими задачами в интернете ОЧЕНЬ мало, и в тренировочные данные они не часто попадают.

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

Сиолошная

Но на этом история не кончается! Andrew Mayne, бывший сотрудник OpenAI (сейчас или в прошлом он был промпт-инженером) ворвался в твиттер и разнёс исследование, показав, как нужно было делать.

Он не давал примеры задач решений в промпте, а просто написал:
This might be a trick question designed to confuse to LLMs with additional information. Look for irrelevant information or distractors in the question:

И ту задачу, что авторы в статье приводят как нерешаемую даже для крутой o1 модель теперь решает 10 из 10 раз 🎃 Он пошёл дальше и проверил малютку gpt4o-mini: та тоже справилась 10 из 10 раз.

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

Конечно, по одной задаче судить — плохо, и по-хорошему нужно было с этим промптом прогнать несколько разных моделей на всех 50 наборах по 100 задач, чтобы точно всё оценить. Сам Andrew Mayne сказал, что ему не удалось добиться надежного провала решения других задач из примеров в статье (авторы блин ещё и полный набор не опубликовали!) с моделями o1 или GPT-4o.

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

И ещё раз: проблема в том, что авторы статьи не попробовали что-то примитивное и очевидное, тестировали часть моделек (а самые лучшие будето выкинули из своего анализа при составлении выводов), зато пришли к выводам о ФУНДАМЕНТАЛЬНЫХ ПРОБЛЕМАХ, НЕ РЕШАЕМЫХ ДООБУЧЕНИЕМ И ПРОМПТАМИ. И полностью игнорируют тенденцию «новые и умные модели меньше страдают от всех нами названных проблем». Но конечно это не означает сокращения разницы между LLM и людьми 😀

Skill Issue 😎

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

Сиолошная

Но дальше — больше. Из каждой задачи вырезают одно из условий (тем самым сокращая потенциальное решение = упрощая задачу), а также добавляют одно или два.

GSM-Symb (синий) — это полученный авторами пул из 50 наборов по 100 задач, и качество на нём (его можно называть базовым)
GSM-M1 (зелёный) — это с вырезанием одного из условий
GSM-P1 (оранжевый) и GSM-P2 (розовый) — это задачки с добавлением одного и двух условий соответственно

На картинке показаны гистограмы качества 6 разных моделей. o1-mini (нижний првый угол) почти не меняется, и лишь чуть-чуть хуже показывает себя на P2 (оно и ясно, ведь задачи объемнее и сложнее). То жеверно и для GPT-4o. Остальные модели закономерно показывают себя чуть лучше или сильно хуже из-за этих изменений.

И тут авторы выдают: «Обратите внимание, что в целом скорость падения качества также увеличивается с ростом сложности. Это соответствует гипотезе о том, что модели не выполняют рассуждения, поскольку количество требуемых шагов рассуждения увеличивается линейно, но скорость падения, по-видимому, быстрее». И честно говоря заявление очень странное.

Во-первых, две модели показывают себя одинаково на трёх разных «уровнях сложности» задач (от M1 до P1; на P2 всё же просадка, без скорости падения, по крайней мере показанной. Во-вторых, неочевидно, почему эта скорость как-то влияет на какую-то их гипотезу о наличии или отсутствии навыков к рассуждению в LLM.

Если их выводы верны, почему ж тогда LLM от OpenAI, которые на изменённом наборе данных показывают такое же качество (то есть не переобучены на эти задачи), не вписываются в картину? По формулировкам авторов складывается ощущение, что они выводят ограничения именно архитектуры LLM и подходов к их обучению, но делают это по «слабым» моделям, игнорируя несостыковки в топовых.

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

Сиолошная

24 января 2023-го — 19 октября 2024-го, 1 год, 8 месяцев и 25 дней, чтобы пройти этот путь с нуля. Без реклам и с нулевым бюджетом, всё на контенте 🥹

Когда писал про 25 тысяч год назад, то в посте пошутил «Here's to 25 more 🫡» — но я не думал, что получится удвоиться, по крайней мере так быстро. Дальше уж точно сложно расти, как и обещал, буду смещать фокус на англоговорящую часть мира (но контент на русском остаётся).

Всем пасибо
🤝🤝

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

Сиолошная

Схема работы DuoAttention, слева процесс обнаружения Retrieval Heads, справа — процесс работы модели с использованием оптимизации

Пояснение: Streaming Attention — это части модели, которые обращают внимание лишь на совсем недавний контекст, последние сколько-то слов, и не участвуют во вспоминании частей промпта.

Интересно, что в некоторых бенчмарках с длинным контекстом модель с сохранением лишь части (иногда меньше половины) KV cache показывала себя лучше, чем полная модель — скорее всего потому, что ни на что не отвлекалась, и механизм вспоминания частей промпта работал на полную.

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

Сиолошная

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

Авторы делали сравнение полученных моделей по шкале от 0 до 5 на предмет соответствия поведению на исходном видео (опрашивали по 10 человек). Модель, полученная через фидбек от VLM, получалась такой же качественной, как если фидбек давал живой человек. Правда интервалы ошибки очень большие, так что надёжного сравнения не выйдет – да и вообще к статье много претензий( Кода нет, моделей нет, всего 5 видео (может закрасться подозрение, что ничего не работает 90% времени), сайта с демкой нет — ну хотя бы промпты для GPT и Gemini опубликовали, и на том спасибо. А ещё не делали никаких сравнений разных VLM, и выбор Gemini никак не объясняется.

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

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

Сиолошная

Дошли руки посмотреть интервью с CTO Poolside, cтартапа, который делает AI-ассистента для программистов с прицелом на автоматизацию всё большего и большего количества задач (они формулируют это как human-led + AI-assisted -> AI-led + human-assisted). Я за компанией слежу чуть больше полугода. К ним ушло работать несколько очень хороших знакомых/приятелей (но на радары они попали до этого).

Мне очень нравилась их страничка с виженом — там написано много дельного. Отдельно выделю блок «our strong beliefs» и первые пункты из него:
— Вы не можете достичь успеха только дообучением готовых моделей — основные их навыки «возникают» в процессе длительного и ресурсоёмкого обучения базовой модели
— Масштаб имеет значение, больше вычислений и данных решают большую часть проблем

Из этого вытекает, что нужны большие ресурсы на обучение, и вот как раз потому компания привлекала полмиллиарда долларов инвестиций при оценке больше трёх (а ведь им меньше двух лет, и публичного доступного продукта нет 🙉).

Тезисно из интервью:
— Данные, на которых обучают модели, представляют собой результат работы, а не промежуточные размышления, проделанные для того, чтобы эти данные получить. Поэтому такие данные нужно создавать самостоятельно (примерно это делают для обучения o1, генерируя траектории размышлений)
— В программировании для валидации корректности решения есть надёжные способы: исчерпывающие тесты. Если для всех задач есть тесты, то можно запускать автоматический цикл обучения на синтетически генерируемых решениях на основе фидбека от тестов (что сработало а что нет)
— вычислительные мощности безумно важны, это как входной билет в текущую гонку (если мощностей нет — «you're not even in the race»). Без мощностей даже если всё остальное ок (данные, люди, процессы) — ничего не выйдет. И очень важно, что мощности можно превращать в данные высокого качества, чтобы продолжать учить модели (как раз описанный выше процесс с генерацией и проверкой тестами)
— кроме синтетических данных используют человеческую разметку в виде корректировки рассуждений модели (например, если ответ правильный, но часть рассуждений были ошибочными, или есть ошибка в логике, из-за которой и вышел неправильный ответ). Нечто похожее делали OpenAI ещё для GPT-4
— почти все инвестиции пойдут на закупку и оплату мощностей для дальнейшего масштабирования, без этого не могли этим заняться
— в августе у компании появилось 10'000 видеокарт, чего хватит, чтобы продвинуться и натренировать модельки побольше, получить новые навыки в них, и так далее
— инфраструктурные решения по мощностям очень важные, так как это не появляется по щелчку. Приходится принимать решения с горизонтом реализации 12-18 месяцев. поэтому нужно подстраивать стратегию и темп развития под это; сейчас уже думают о том, что и как будет в следующем раунде (при успехе реализации текущего)
— когда появились новости о задержке производства GPU следующего поколения (которые почти полностью выкуплены Microsoft, Google, Meta...), то Eiso был рад: ведь это поможет им дольше оставаться конкурентоспособными и не отставать существенно. Но эти карты всё равно очень ждут, каждое поколение даёт прирост скорости обучения в 1.5-2 раза, а при применении карты серии Blackwell на бумаге ещё более выгодно смотрятся
— не важно что покажут в GPT-5 и удивит/не удивит, через 10 лет мы на это всё равно будем смотреть как на что-то из начала эпохи компьютеров
— одно из самых важных изменений в понимании Eiso за последний год — что масштабирование данных тоже супер важно, на уровне с мощностями [тут имеется в виду что для дообучения можно собирать и собирать ещё разметку, конца-края не видно, модели недоучены под конкретные задачи — я так понял]

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

Сиолошная

Agent-as-a-Judge: Evaluate Agents with Agents

Статья со Schmidhuber в соавторах 😀 Для того, чтобы понять текст ниже, нужно ознакомиться с концептом агета — пояснительный пост я делал тут.

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

Вот на примере SWE-Bench, обновлённую версию которого недавно выпустили OpenAI: системе даётся задача внесения изменений в код, а затем после получения решения прогоняется набор тестов. Прошли все тесты — задача «решена» (но тесты не покрывают всё и не проверяют каждую возможную несостыковку), не прошёл хотя бы один — не решена. А почему не решена? да миллион причин может быть.

У исследователей из META возникла идея: давайте для каждой задачи выпишем критерии решения, и запустим агентную систему для проверки всех промежуточных шагов (и сбора необходимой и достаточной для этого информации). Так родился бенчмарк DevAI: собрали 55 задач на автоматизацию ИИ разработки (обучи модель, запусти то-то, сделай то-то). Для них выписали суммарно 365 требований, в среднем по 6.6 на задачу. Самое описание — это текст длиной от 70 до 150 слов: не полноценное описание огромной задачи, но уже и не однострочник.

Дальше взяли 3 агентные системы (все используют gpt4o), запустили, а результаты работы отсматривались тремя специалистами. У них проверка 55 задач и 365 пунктов заняла суммарно 86.5 часов, и это бы стоило $1300 по минимальной часовой ставке в $15 (реальная стоимость сильно выше — тут же нужны эксперты с навыками ML/AI, а не любой человек с улицы). Кажется, на такой бюджет можно столько проверок через LLM нагородить, что не горюй.

Люди между собой сначала не общались, поэтому естественно возникли разногласия — уровень несогласованности между парами оценщиков колеблется от 10% до 30%. Как тогда определить, кто прав? Для этого людей собрали вместе и дали возможность обсудить каждую задачу, и финализировать ответ — получилось консенсусное решение, которое считается истинным. Вот от него голосование «большинством» от трёх исходных специалистов снижает несогласованность до 5-6% (поэтому часто в разметке ответы и агрегируют, получая «мудрость толпы»).

А после этого исследователи взяли и написали AI-агента (критика), который смотрел на решения, на критерии, и производил проверку — и вердикт сравнивался с консенсусным решением людей (удовлетворены ли требования).
TLDR: агент без доступа к логам размышлений согласуется с правильным ответом в 83-90.5% случаев (в зависимости от фреймворка, которым решались оригинальные задачи), с доступом — 86-92%. Люди с доступом к логам выдавали 89%-92%, а агрегация их ответов дала 94-95% (это как раз та несогласованность в 5-6% выше).

То есть автоматическая оценка примерно совпадает по точности с одиночной оценки людей, но чуть хуже агрегации нескольких ответов. Зато она быстрее на 97.7% (118 минут) и дешевле на 97.6% ($30.5).

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