Но на этом история не кончается! 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).
Нечасто в последнее время пишу про новые модели, так как они почти никогда не открывают ничего нового — тут стало на пару процентов получше, там чуть прокачали, здесь воспроизвели чужой результат, но не более. Наконец-то появился повод — на прошлой неделе вышла Aria, открытая мультимодальная модель.
Основных фишки две: это модель с микстурой экспертов (когда для обработки данных в каждый момент времени используется лишь малая часть сети, несколько экспертов из большого множества) и длинным контекстом в 64k токенов. Всего в модели 25B параметров, но в один момент времени активируется лишь 3.5B (3.9B для картинок).
Вкупе с поддержкой картинок как входных данных получается, что модель может очень быстро обрабатывать видео (быстрота за счёт экспертов, ведь не нужно гонять всю сеть) или скриншоты страниц целых статей/отчётов: и то, и то представляется как набор картинок и подаётся в модель.
Каждая картинка (или кадр видео) может подаваться в модель в трёх разрешениях:
— низкое: длинная сторона до 490 пикселей, займёт 128 токенов «текста» (то есть модель переведет картинку в понятные ей, но не нам, слова и вставит их в ваш промпт)
— высокое: 980 пикселей, 256 токенов
— ультравысокое: картинка нарезается на N кусков с высоким разрешением (как выше), итого N*256 токенов
Отсюда легко посчитать, что максимум в контекст можно подать ~255 картинок высокого разрешения. Если брать по 2 кадра в секунду, то выйдет 2 минуты — не очень долго (не как у Gemini), но уже что-то. А если вам нужна общая суть, а не прям каждая деталь, то можно брать и по 1 кадру раз в 2-3 секунды — это уже 8-12 минут.
Блог, статья, веса (под Apache 2.0, делать можно что угодно)
Корабль успешно приводнился в отведённой зоне в Индийском океане — настолько точно, что рядом стоял буй, с которого сняли посадку (в прошлый раз из-за повреждений закрылков упали в зону на 6 км дальше нужного).
В этот раз, увы, крылья тоже повреждены, но куда слабее (и это произошло позже в полёте, так что и тут прогресс есть). Это не очень большая проблема — всё равно их дизайн переработан в следующей версии (Starship v2).
Ждём видео с буя в воде прямо на само приводнение!
✅ все цели миссии выполнены, теперь ждём следующий пуск. Очень надеюсь, что до конца года!
Основное развлечение сегодняшнего дня — запуск Starship — начинается ровно через час. Через полчаса запустится официальный стрим (в Твиттере, там уже более-менее нормально смотреть, особенно если без VPN), но тем, кому привычнее ютуб, могу порекомендовать рестрим NasaSpaceFlight или любительскую трансляцию от Everyday Astronaut.
Пока всё выглядит благоприятно, дороги перекрыты, а самолёты, с которых ведётся воздушная съемка, уже вылетели.
Напомню, почему запуск очень важен: это будет первая попытка посадки первой ступени (ускорителя) на «руки» пусковой башни. Первая ступень очень дорогая и ценная — на ней установлено 33 двигателя, и сама возможность их возврата и переиспользования существенно влияет на экономику запусков. Даже если корабль (вторая ступень, которая выходит в космос, и в которую помещают полезную нагрузку/космонавтов) никогда не смогут вернуть и посадить— программа Starship всё равно перевернёт космическую индустрию: на орбиту и к Луне можно будет выводить невиданные ранее объемы и массу за копейки.
Никто никогда не пробовал посадить никакую часть ракеты на башню — да посадка и в целом остаётся очень сложной операцией: несмотря на успех программы Falcon, до сих пор нет ни одной коммерческой или государственной программы, которая бы произвела успешный нетестовый орбитальный пуск (в Китае есть несколько стартапов, которые очень стараются, и уже умеют сажать с ~10 КМ) с посадкой.
Самое интересное произойдет на 7й минуте полёта: именно в этот момент должна быть посадка. Однако она может не состояться, если система решит, что что-то не в порядке (например, отказало больше двигателей, чем возможно), или если директор полёта из центра управления примет решение не нажимать кнопку. SpaceX хотят избежать рисков разрушения площадки — ведь в этом случае программу откинет на несколько месяцев назад (особенно критичны пусковой стол и башня).
В прошлом пуске несмотря на отказ 2 двигателей на этапе набора высоты и 1 при снижении ускоритель смог сесть на воду с точностью в полсантиметра (со слов представителя SpaceX). Но вообще даже меньшая точность позволяет выполнить задачу — зазор на ошибку есть.
Будем болеть за успешную посадку 🙏 надеюсь, будут суперские кадры подлёта прямо с земли. Ну а если нет — будет бум 😐
===
UPD: о, и да, про ускоритель — это 20-этажная хреновина, которая падает с высоты более 70 километров на скорости больше 3000 километров в час. И вот этому зданию нужно аккуратненько подлететь к башне на ручки.
https://fixupx.com/DrFuturo_/status/1844785822450467068
В разговоре про автопилоты почти всегда речь заходит об ответственности и этической составляющей. Кто виноват в аварии, и правильно ли сработал алгоритм?
Наткнулся вот на такой пример в ленте. Я не смог найти подтверждения, что машина была на автопилоте, но судя по скорости реакции — скорее всего так и было.
Порадуемся за человека 🙏, а теперь внимание, вопрос: после просмотра вы бы захотели купить машину с таким пилотом больше или меньше? Ведь выруливая из ситуации пилот пришёл к достаточно жесткому лобовому столкновению.
Но машинки для меня менее интересны (у меня нет прав...), чем роботы Optimus. По ним обновлений не так много: новое поколение готовится, данные для обучения собираются. Но из нового железа показали только кисть, у которой 22 степени свободы (у текущей версии 11; степень свободы — грубо говоря независимое направлений движения, в которых механизм может перемещаться или вращаться).
Поэтому делюсь несколькими видосами из сети. Учтите, что в большей части демок (с баром и разлитием напитков — 100%) действует не сам робот, а телеоператор, который сидит где-то в очках виртуальной реальности и с контроллерами. А вот про голосовой режим не уверен, похоже на AI-фичу, и голос на разных демках одинаковый.
Так что дальше всё просто:
— улучшить железо и батарейку
— собирать больше данных для тренировки
— поставить более мощный компьютер на борт
— посмотреть, насколько способным получился робот
Elon прогнозирует, что роботы — новые смартфоны, будут в каждом доме, и всего их будет несколько миллиардов. Важно оптимизировать производство и цену, пока что компания целится в 20-30 тысяч долларов за штуку.
Источники видео 1, 2, 3, 4
А ещё пробовали давать больше железа (2 GPU) и времени (вместо 24 часов), и тоже видели улучшения.
Оно в целом понятно, и это здорово, что можно вкинуть больше ресурсов не меняя ничего и растить качество. Не зря миллиардные датацентры строят на будущее 🤗
===
Для того, чтобы проверить влияние запоминания gpt-4o соревнований, исследователи вручную переписали описания всех 75 задач, убрали всякие упоминания Kaggle, померили качество при 10 запусках — и разницы нет, и так и так 8.4% медалек (в стандартом сетапе 1 GPU 24 часа 1 попытка).
Очень ждём оценок o2 и GPT-5 через полгодика-годик, как люди обкатают для них промптинг (ну и как сами модели появятся, ха-ха). И интересно было бы увидеть аналог Live-лидерборда (как LiveCodeBench), где агент на основе o1 участвует в актуальных текущих соревнованиях (которые точно не видел) и зашибает медальки.
UPD: по ценам, OpenAI пишут что запуск o1-preview на 75 соревнований тратил 127M входных токенов и модель генерировала 15M (как я понял, это без промежуточных размышлений, которые тоже оплачиваются, хотя может и ошибаюсь). При текущих ценах стоимость прогона составляет $2812 + оплата сервера с GPU для тренировки моделей (75x24=1800 GPU-часов). С одной стороны «нихрена себе, больше трёх тыщ!», с другой — это решение целых 75 задач соревнований (некоторые — лучше 90% ML-специалистов, которые в них участвовали); оплата мясных инженеров куда выше.
MLE-bench: Evaluating Machine Learning Agents on Machine Learning Engineering
Новые бенчмарки это хорошо и интересно — если они не решаются моделями сегодняшего дня (а то на многих уже 90%+ выбили, дальше не интересно). OpenAI представляют MLE-BENCH — бенчмарк для измерения того, насколько хорошо ИИ-агенты решают задачи по машинному обучению. Зачем? Потому что одна из целей компании — это сделать систему-автономного исследователя, которая будет автоматизировать части работы команды.
Бенчмарк состоит из данных 75 разных соревнований на платформе Kaggle — площадке, где компании размещают данные + методы оценки и выдают денежные призы за участие. Чем лучше ваше решение оценивается на неизвестной части данных, тем выше вы в рейтинге. Порой соревнуются тысячи команд, и ребята там реально топовые. К сожалению, сам формат соревнований далёк от реальной жизни ML инженеров — данные тут уже приготовлены (и в некотором роде очищены), выбрана легко интерпретируемая метрика (зачастую не связанная с бизнесом, не рубли/штуки), но хотя бы задачи такие, за которые компании готовы платить.
ИИ-агент получает на вход описание задачи, в том числе метод оценки успешности решения, файлы с данными, а на выходе предложенное решение с обученными моделями оценивается с историческими решениями участников. Если заходит в топ-10, то это золотая медаль, топ-5% серебро, топ-10% — бронза. В реальности люди могут делать по несколько посылок в день (обычно 3-5), чтобы проверять свои решения на предмет улучшений; для этого бенчмарка ИИ-агент может сделать отправку и удостовериться, что формат правильный, но не получит оценку.
Так как многие LLM уже могли видеть код решений, в том числе топовых (на Kaggle принято делиться идеями после соревнований), все решения, которые на 60% совпадают с хотя бы одним из 50 топовых решений, исключаются.
Исследователи сравнивают несколько имплементаций агентов с GPT-4o, а затем выбрав лучшую прогоняют на ней остальные модели. Какие фреймворки тестировались: AIDE, ResearchAgent, and CodeActAgent (в табличке ниже будет как “OpenHands"). AIDE оказалось лучшим, вот ссылка почитать побольше (мб сделаю разбор).
«А как тестировать-то?» — отличный вопрос! Авторы предлагают смотреть, в каком проценте соревнований агент попал в медали (то есть хотя бы наскрёб на бронзу).
Но и это не всё, последняя часть экспериментов — это создание датасета 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:
Результатом выступает модель, обученная полностью в симуляции, которая выполняет какую-то функцию (в том примере — балансирование робопса на шаре для йога). В такой задаче много сложностей и вопросов, один из основных: как запрограммировать награду для обучения, чтобы очень точно описывать наше желание бота научиться выполнять эту функцию?
Под «наградой» подразумевается некоторая математическая формула, в которую подставляют значения из симуляции и оценивают успешность работы модели. Алгоритм обучения старается максимизировать награду. Например, если мы хотим научить робопса бегать в симуляции, то примером награды может быть модуль горизонтальной скорости (чем быстрее движешься, тем лучше оценка).
Схематично выглядит так.
В самом низу агент-проверяльщик имеет доступ ко всем файлам, которые требовались агенту-решателю для выполнения задачи. Проверяльщик может их отсмотреть и делать выводы о том, что и как было решено, и совпадает ли это с исходными критериями.
И очень понравилось, как заканчивается статья: логичные дальнейшие шаги. Авторы замечают, что наличие столь качественного критика (как человек, который и участвует в разметке данных и даёт обратную связь) позволяет запустить автоматический процесс дообучения и улучшения моделей. Нечто схожее сделали OpenAI с o1 для математики и программирования, и вот подход для агентов.
И финальное слово про сам бенчмарк: очень ждём замеров результатов моделей грядущего поколения. Сейчас лишь одна задача из 55 решается по всем критериям, однако из 355 подкритериев порознь выполняются 46.44%. Так что видно, что агент может что-то сделать, но упускает из виду несоответствие остальным критериям (забыл отдельный шаг, не туда сохранил/не так назвал файл, или просто ошибся в коде) — как раз тут и пригодился бы критик.
Почитать все 55 задач можно тут.
Качество мерили на двух бенчмарках:
— LongVideoBench (подают до 256 кадров из видео, задают вопрос - иногда с таймстемпами - и просят выбрать один из 4 вариантов ответа)
— MMLongBench-Doc (подают документ с диаграмами, текстом, картинками, в среднем 47 страниц, и просят ответить на вопрос; треть вопросов требует комбинирования информации с нескольких разных страниц документа)
И там и там видно, что имеющиеся опенсурсные аналоги LLAMA и Pixtral просаживаются; они могут работать с несколькими картинками, но когда их становится очень много — не вывозят. Выгодно выделяется Qwen-2-VL от Alibaba, но модель огромная — 72 миллиарда параметров, и экспертов там нет; будет работать долго (ещё есть LLAVA-video-72b, но как подсказывает название она базируется на той же большой модели). Aria можно запустить в 16-битном варианте на одной 80GB карте, и в 40/48GB-варианты тоже влезет.
Aria занимает место где-то рядом с gpt-4o/gemini-1.5-pro на первом и mini-версиями этих моделей на втором бенчмарке.
Короткая заметка: помните весной вышел AI-программист Devin, а потом на него выпустили критическое 25-минутное видео с обзором демки? Не удивляйтесь если не помните — я об этом не писал в канале 🎃Я не был согласен со всей критикой (и часть мне казалось дикой типа «он совершает такие ошибка а мы бы так не ошиблись и вот он теперь их устранил но ошибок то таких вообще не должно быть!»), и не стал писать.
Канал того автора вообще во многом состоит из критики AI-инструментов и моделей. В основном, эмпирической: вот это не работало, ну вот заработало, а другое это всё ещё не работает.
Сегодня там появилось видео «ChatGPT-O1 меняет программирование как профессию. Мне очень не хотелось это говорить.», где, как вы понимаете, некоторые из хотелок наконец-то удовлетворились. Блоки кода по 300-400 строк начали выдаваться за раз, и работают без правок или почти без них. Автор пишет, что «До сих пор ИИ не могли работать так же хорошо, как профессиональные программисты. Для небольшого подмножества вакансий программистов начального уровня это уже не так.»
И конечно нет никаких оснований полагать, что в ближайшие 2-3 года прогресс остановится, что доля этого «подмножества», как и уровень программистов, не будет увеличиваться.
Башня готова к посадке
Бустер получил команду лететь на башню
Смотреть:
— официальный стрим
— рестрим NasaSpaceFlight
— любительскую трансляцию от Everyday Astronaut.
Через минуту
⚡ FAA выдали лицензию на пятый полёт системы Starship!
SpaceX:
— Нацеливаемся на 5-й испытательный полёт системы Starship в воскресенье, 13 октября. 30-минутное стартовое окно открывается в 15:00 МСК
🚀📸Фотографии стыковки от SpaceX
В компании ожидают, что лицензия будет готова до 13 октября
Ночью прошла презентация Tesla «We, Robot»
Показали робо-такси (в машине нет руля) и робо-вен (мини-автобус) на 20 человек. Такси должно запуститься в Техасе в 2025-м и к 2027-му глобально (без уточнений, в каких регионах, быть может только США, просто во всех штатах). По картинкам и видео дизайн — бомбовый, создает футуристичные вайбы. Многие формы реально напоминают дизайны из sci-fi фильмов; получилось какое-то самосбывающееся пророчество.
Все мы знаем, как хорошо Elon умеет предсказывать сроки, но думаю, что в Техасе они уже со всеми договорились и реально будет тест в 25-м. С федеральными законами и отдельными штатами сложнее, так что 27-й может уехать дальше. Как я понял из презентации, Tesla не будет заниматься организацией и менеджментом — для этого будут компании на местах, которые покупают машины и платят процент от выручки. Для них Tesla уже предусмотрели робота-уборщика и индукционную беспроводную зарядку (как у телефона или часов), чтобы эксплуатация не требовала найма большого количества людей.
«Да мы про автопилот уже тыщу раз слышали!» — да, но основной проблемой долгое время была мощность алгоритмов, которые нужно было запускать на борту. Как и с GPT, чем больше модель, принимающая картинки/видео и предсказывающая действия на дороге, тем лучше она работает. Машины такси Waymo уже ездят в 2 штатах, хоть и в ограниченных (но больших) зонах, что показывает возможность достижения такого результата. Первые официальные результаты показывают, что они безопаснее людей. В машины Tesla планируется вставлять чип, который в 10 раз мощнее текущего (который в 3-8 раз мощнее того, что было 2 года назад). Так что модели = машины станут умнее, и посмотрим, будет ли этого достаточно для переубеждения населения.
Все машины были реальными и функционирующими (и как минимум первой машины было несколько штук), на них люди катались между павильонами презентации.
Вот результаты в виде таблички.
Авторы также замеряли процент задач, на котором агент доходил до отправки (Made Submission %) и что отправка проходила успешно (Valid Submission %). Видно, что кроме o1 много моделей на этом погорело — агенты просто не смогли «допинать» задачу хотя бы до чего-то.
Самая интересная колонка — последняя, это как раз хотя бы какая-то медаль. Разницу между o1 <> фронтир модели <> опенсурс заметит любой (ещё одна монетка в копилку «в открытом доступе есть модели, не уступающие проприетарным!»). o1 выбила золото на 7 задачах (среднее 3 запусков), чего достаточно, чтобы получить звание Грандмастера (там нужно 5 золотых).
В ходе ручного анализа логов выполнения авторы обнаружили вот что. Одной из причин неуспешности выполнения задачи было ограничение по ресурсам (1 GPU, 440 GB памяти) и времени — 24 часа на всё про всё. Все три агента не смогли эффективно учесть эти в своих стратегиях. Например, они выполняли команды, которые перегружали диск или оперативную память машины, что приводило к преждевременному завершению.
Если o1 дать 8 попыток (грубо говоря запустить в параллель, а затем выбрать лучшее решение по приватной оценке), то количество задач взлетает с 16.9% до 34% — уже серьёзно. Причём, модель именно качественно лучше — gpt-4o с 18 попытками хоть и улучшает оценку с 8.7% до 22%, прирост качества быстро затухает (у о1 картинка более оптимистична, см. второе изображение).
И картинки! Первая — план роста выручки компании на ближайщие годы в разбивке по источникам.
— OpenAI полагает, что ChatGPT (прямая подписка на продукт) продолжит приносить большую часть своего дохода в течение многих лет, значительно опережая другие источники
— OpenAI утверждает, что их бизнес-модель улучшится, и в следующем году валовая прибыль (gross margin) составит 49%, а в 2028 году — 67%, поскольку доходы компании растут быстрее, чем затраты на вычисления. («Gross margin is the percentage of revenue left over after you subtract your company's direct costs (i.e., the cost of producing or selling your goods or services», и видимо в cost of producing как раз кладут затраты на железо)
— обратите внимание на рост API. Он не кажется прям очень существенным, и как будто бы компания не верит в рост использования их моделей в других продуктах, но помните, что модели дешевеют. Увеличение выручки в 5 раз и удешевление моделей в 5 раз дают рост использования (=проникновения в другие продукты) в 25 раз.
И вторая картинка — структура расходов на этот год. Крупнейшие операционные расходы OpenAI — это траты на сотрудников, которые, как ожидается, составят около $700 млн. в этом году (не включая компенсацию на основе акций, там наверное ещё миллиард+). Компания рассчитывает расширить свою базу сотрудников в следующем году, что почти утроит ее расходы в этой графе до $2 млрд.
Вот буквально на днях открылся Нью-Йоркский офис, и вместе с ним: Seattle, Paris, Brussels, и Singapore. И закрыли сделку по аренде нового крупного офиса в Сан-Франциско — сделка стала самой масштабной с начала года. С новосельем 🎉