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

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

View in Telegram

Recent Posts

Long Term Memory: The Foundation of AI Self-Evolution
Xun Jiang, Feng Li, Han Zhao, Jiaying Wang, Jun Shao, Shihao Xu, Shu Zhang, Weiling Chen, Xavier Tang, Yize Chen, Mengyue Wu, Weizhi Ma, Mengdi Wang, Tianqiao Chen
https://arxiv.org/abs/2410.15665

Summary

The paper explores the concept of AI self-evolution, arguing that current AI models, particularly Large Language Models (LLMs), are limited by their inability to learn and adapt from personalized data over time. The authors propose that long-term memory (LTM) is crucial for achieving true AI self-evolution, enabling models to continuously learn and personalize their capabilities based on accumulated experiences. The paper examines different methods for constructing and integrating LTM into AI models, including data collection, data synthesis, and various memory utilization strategies like Retrieval-Augmented Generation (RAG) and fine-tuning (SFT). The authors also propose a multi-agent framework, Omne, which incorporates LTM into a collaborative environment to enhance task planning and decision-making in complex scenarios. Ultimately, the paper envisions a future where AI models, equipped with LTM, can continuously evolve and adapt to new challenges, potentially achieving a "second emergence of intelligence" through personalized learning and interaction.


Key Themes

* AI Self-Evolution: The paper introduces the concept of AI self-evolution, where AI models, particularly Large Language Models (LLMs), continually evolve and adapt their capabilities during the inference stage, not just during training. This is inspired by biological systems and theories like the Thousand Brains Theory.
* Long-Term Memory (LTM): The paper emphasizes the crucial role of Long-Term Memory (LTM) in achieving AI self-evolution. LTM allows models to retain and utilize information from past interactions, similar to how human memory shapes our behavior.
* LTM Implementation: The paper explores different ways to implement LTM, including:
— External Knowledge Bases: LTM data is stored externally and accessed using techniques like Retrieval-Augmented Generation (RAG) and In-Context Learning (ICL).
— Model Parameterization: LTM data is directly encoded into the model parameters through continued pre-training, instruction tuning, and alignment tuning.
— Hybrid Approaches: Combining external retrieval with model fine-tuning for optimized precision and efficiency.
* Multi-Agent Systems: The paper discusses the potential of LTM in multi-agent systems, where agents can collaborate and share LTM data to achieve global optimization and co-evolution.
Тут что-то про долгосрочную память завезли. Снова огромная статья, которую разбирать полноценно некогда, только автоматом. Подкаст и ссылка на ютуб видео там же в канале.
Горький урок ABBYY: как лингвисты проиграли последнюю битву за NLP 

Недавно СМИ облетела новость об увольнении всех российских программистов из компании ABBYY (тоже в прошлом российской, а теперь уже совсем нет). Теперь, когда страсти вокруг обсуждения дискриминации сотрудников по паспорту улеглись, хочется поговорить о более глубокой истории. Закат ABBYY — это фиксация проигрыша последней битвы лингвистов за автоматическую обработку языка. Мир Data Science победил. Главный редактор «Системного Блока» Даниил Скоринкин, работавший ABBYY в 2013–2017, подводит итоги и пытается сформулировать уроки из этой истории.

Что за ABBYY и при чем тут лингвисты и NLP?

История ABBYY началась в 1989 году, когда студент МФТИ Давид Ян решил сделать электронный словарь для подготовки к экзамену. Так появились Lingvo, а затем — система распознавания символов FineReader. Продукты ABBYY развивались, и компания стала глобальным лидером оптического распознавания в 1990-е и 2000-е. Затем ABBYY двинулась покорять машинный перевод. 

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

Что пошло не так?

В 2006-м появилась первая версия Google Translate. Она была несовершенной, но главное, что в ней был другой — статистический — подход. И масштабируемость. Для её улучшения не нужны были сотни лингвистов, только еще больше примеров перевода. В 2010-х стало ясно, что никаких шансов тягаться с Google Translate у ABBYY не было. С перевода ABBYY переключилась на задачи информационного поиска и извлечения информации из текста, но и там столкнулась с теми же проблемами: описания языка на базе лингвистической теории оказались немасштабируемыми, а решения уступали подходам на основе чистого машинного обучения. 

C новой проблемой компания столкнулась весной 2022 – им пришлось выехать из России, чтобы сохранить зарубежных клиентов. Следующим ударом стали большие языковые модели, который научились выполнять те же задачи, что и классические системы распознавания от ABBYY. Сейчас от компании осталась только вывеска, действующие продукты и небольшое количество менеджеров и специалистов по продажам.

Какие уроки мы извлекаем?


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

И всё-таки ABBYY успела сделать много важного: открывала кафедры на Физтехе и в РГГУ, оцифровывала наследия Льва Толстого и архива Большого театра. А еще благодаря ей появился «Системный Блокъ», ведь сооснователи издания познакомились именно там. И именно там вы сможете прочитать полную версию поста с мемами, фотографиями и более детальным описанием цифровой «Вавилонской башни», которую пыталась строить ABBYY.

🤖 «Системный Блокъ» @sysblok
Ещё по близкой теме
Кое-какие материалы на шетландском языке в сети есть, так что в обучающих датасетах они скорее всего должны были появиться. И оказывается, с помощью LLM вполне можно собрать переводчик с шетландского (я это сделал тут: https://gonzoml.substack.com/p/discovering-shetlandic), и результат на глаз весьма неплохой. Совершенно точно лучше, чем у этих попыток Google Translate перевести всё с другого языка.

В общем интересная тема, главное успеть все языки спасти. Сейчас очередной язык умирает каждые 40 дней (символично), или получается 9 языков в год. Большим и средним языкам пока ничего не грозит, но с другой стороны с распространением мультиязычных моделей и появлением всё более хорошего перевода стимулы учить новые языки понемногу уходят. Хофштадтер (который “Гёдель, Эшер, Бах”) недавно написал проникновенный пост Learn a Foreign Language Before It’s Too Late (вероятно за пейволлом) с мыслью “AI translators may seem wondrous but they also erode a major part of what it is to be human”. Ну, что-то в этом есть. Учите языки, пока не поздно. Английский понятно, он сейчас просто must, без него в AI, например, вы отстаёте сразу на несколько лет. Выберите себе ещё что-нибудь, чтобы лучше узнать какую-то другую культуру. Я вот сейчас выбрал себе исландский, 330 тысяч носителей, примерно как один район мегаполиса.
Сегодня больше гуманитарного плана, про языки.

Как известно, в мире огромное количество языков, примерно 7100, из них больше 90% имеют меньше 100 тысяч носителей. К 2100 половина языков может вымереть. Около половины языков не имеют письменной формы, а даже многие из тех, что имеют, всё равно практически нигде не присутствуют в цифровом виде, по оценкам таких порядка 6000.

Декада с 2022 по 2032 объявлена Юнеско как Indigenous Languages Decade, и разные инициативы нацелены на то, чтобы помочь сохранить это богатство и перенести в цифровой век. К некоторым проектам даже я успел приложиться, например, к Language Digitization Initiative и гайду “Zero to Digital: Language Data Gathering Guidelines”.

То есть с нижнего конца распределения всё плохо, надо всё спасать. С верхнего конца распределения понятно, что во-первых в вебе доминирует английский с примерно 50%, затем идут испанский, немецкий, японский, французский, русский из тех, кто перевалил 4%, ну португальский ещё рядом. Ну и ещё там есть какой-то хвост на 100-200 языков (обычно меньше, если модель намеренно мультиязычная), которые обычно попадают в датасеты для обучения LLM.

Неудивительно при всём этом, что с английским оно лучше всего работает, дальше начинает ухудшаться (вот один из примеров). Топовые модели типа GPT-4o, Gemini 1.5, Claude 3.5 в целом хорошо работают и на части неанглийских языков, по крайней мере из той группы, что достаточно представлена в интернете. Но дальше всё равно хуже, по-другому быть не может, когда у тебя данных в датасете почти нет.

Создатели Ламы 3 например пишут: “over 5% of the Llama 3 pretraining dataset consists of high-quality non-English data that covers over 30 languages. However, we do not expect the same level of performance in these languages as in English”

Плюс есть ещё влияние токенизации, ибо она тоже обучаемая и собирает словарь наиболее частотных единиц из того, что видела. Есть менее умные (полезные) токенизации, есть более умные. У Gemma и Gemini, кстати, весьма неплохая в сравнении с другими.

Но в любом случае для языков ниже топа 100-200 обычно всё плохо. Они мало где поддерживаются, разве что в специализированных моделях. Хорошо, по крайней мере, не вымирают, но при таком дисбалансе в поддержке, этот bias может и усиливаться.

Ситуация понемногу улучшается, вот, например, этим летом Гугл добавил 110 новых языков в свой переводчик, причём сделал это через LLM. Недавно они и до API перевода наконец доехали. У них есть “1,000 Languages Initiative”, у соседей есть “No Language Left Behind”, что хорошо.

Специализированные модели, конечно, тоже появляются. Развиваются и региональные модели, можно вспомнить про скандинавские языки у Poro от Silo AI (что интересно, куплена AMD недавно). С индийскими LLM тоже пошла движуха с разных сторон (https://arxiv.org/abs/2403.06350, ещё, щё, ё), ну и так далее.

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

Мой свежий пример — шетландский язык/диалект, который ещё можно встретить в Шетландии (не путать с Шотландией, в которую Шетландия формально входит, но культурно от неё очень далека, и большую часть своей истории относилась не к Шотландии, а к Норвегии). На этом языке говорит порядка 3500 человек, он развился из языка скотс с примесью норна, который в свою очередь произошёл от древнескандинавского. У языка даже нет ISO 639-3 кода, и никакими онлайн-переводчиками он не поддерживается. Гугл транслейт поддерживает шотландский гэльский (из кельтской ветви индоевропейской семьи языков), но не шотландский, который скотс (из германской ветви, как и английский), и определяет его как мэнский (ещё один язык из кельтской ветви). Интересно, что Гугл транслейт вообще скотс не поддерживает, хотя у него с полтора миллиона носителей. Ну да ладно, недоработка, думаю, исправят скоро.
Лучше вот такое смотрите :)

https://youtu.be/Hxn9OBH4hWY?si=LgFlpFHjMlLC0UfI
Для тех, кто не в теме, напомню, как оно было на самом деле.
В свете пошедших слухов про GPT-5/Orion и бразиллион её параметров, вот вам новая картинка и почти такая же старая. Не ведитесь, короче, на эту хрень.
В свете пошедших слухов про GPT-5/Orion и бразиллион её параметров, вот вам новая картинка и почти такая же старая. Не ведитесь, короче, на эту хрень.
Продолжаем авторазбор того, что не успевается вручную. Помните KAN'ы?

KAN or MLP: A Fairer Comparison

Runpeng Yu, Weihao Yu, Xinchao Wang
Paper: https://arxiv.org/abs/2407.16674

https://t.me/gonzo_ML_podcasts/10

Вроде как получается, что MLP почти везде лучше, а там где хуже, при замене функции активации на learnable B-spline, то и везде лучше.
Продолжаем авторазбор темы про SAE (Sparse Autoencoders)

Scaling and evaluating sparse autoencoders
(OpenAI) Leo Gao, Tom Dupré la Tour, Henk Tillman, Gabriel Goh, Rajan Troll, Alec Radford, Ilya Sutskever, Jan Leike, Jeffrey Wu
https://arxiv.org/abs/2406.04093

https://t.me/gonzo_ML_podcasts/7

Аудио-часть, кажется, получилась совсем вводная и болтологическая, ну да ладно, продолжаем экспериментировать :)

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

Lecture Series in AI: “How Could Machines Reach Human-Level Intelligence?”
https://www.youtube.com/watch?v=xL6Y0dpXEwc

Animals and humans understand the physical world, have common sense, possess a persistent memory, can reason, and can plan complex sequences of subgoals and actions. These essential characteristics of intelligent behavior are still beyond the capabilities of today's most powerful AI architectures, such as Auto-Regressive LLMs.

I will present a cognitive architecture that may constitute a path towards human-level AI. The centerpiece of the architecture is a predictive world model that allows the system to predict the consequences of its actions. and to plan sequences of actions that that fulfill a set of objectives. The objectives may include guardrails that guarantee the system's controllability and safety. The world model employs a Joint Embedding Predictive Architecture (JEPA) trained with self-supervised learning, largely by observation.

The JEPA simultaneously learns an encoder, that extracts maximally-informative representations of the percepts, and a predictor that predicts the representation of the next percept from the representation of the current percept and an optional action variable.

We show that JEPAs trained on images and videos produce good representations for image and video understanding. We show that they can detect unphysical events in videos. Finally, we show that planning can be performed by searching for action sequences that produce predicted end state that match a given target state.

Слайды:
https://drive.google.com/file/d/1F0Q8Fq0h2pHq9j6QIbzqhBCfTXJ7Vmf4/view

Надо будет JEPA и её вариации таки разобрать. Давно в очереди уже.
Долгим и бесплодным обсуждениям сознания в чате посвящается!

Свежий Анохин

https://youtu.be/9hzvAY2tlWY?si=zt-UcrzLoB0ricf9
Продолжаю автоматический разбор статей в свежесозданном параллельном канале gonzo_ML_podcasts.

Сегодня свежая работа Тегмарка и ко про разреженные автоэнкодеры:

Decomposing The Dark Matter of Sparse Autoencoders
Joshua Engels, Logan Riggs, Max Tegmark
https://arxiv.org/abs/2410.14670

https://t.me/gonzo_ML_podcasts/5

Ссылка на подкаст в телеграме и на ютубе там же. Зачётно гонят! :)
NotebookLM

Не все ещё знают про такую прекрасную штуку, как NotebookLM, в прошлом Project Tailwind:

https://notebooklm.google.com/

NotebookLM -- это AI ноутбук для работы со статьями и документами (https://blog.google/technology/ai/notebooklm-google-ai/). В него можно загрузить статьи (например, в pdf или txt), аудио (mp3), документы или слайды с Google Drive, ссылки на страницы, видео на Youtube, просто скопипастить текст. А дальше работать с ним с помощью гугловой LLM Gemini -- задавать вопросы, делать суммаризацию, генерить идеи, в целом на что фантазии хватит.

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

Недавно добавились аудио обзоры (https://blog.google/technology/ai/notebooklm-audio-overviews/), когда два диктора обсуждают заданную тему, например, статью, гуглодок или что угодно, хоть ваши логи :) Пока только на английском. С октября эти обзоры ещё и можно кастомизировать (https://blog.google/technology/ai/notebooklm-update-october-2024/), давая инструкции, чего именно вы хотите. Это, правда, ничего не гарантирует, агенты всё равно могут уйти обсуждать другие вещи и пока не прослушаешь результат -- не узнаешь, но всё равно прикольно. Годится как развлекательный жанр.

Я попробовал сделать обзор статьи Gödel Agent, которую только что разобрал (https://t.me/gonzo_ML/2964). Генерил четыре раза, пытаясь добиться полноценного разбора конкретной статьи с небольшой отсылкой к оригинальной Шмидхуберовской про Машину Гёделя. Каждый раз косячило по-разному, иногда вообще сторонние темы уходило обсуждать (например, так получился обзорчик по RNN, который сам по себе может и ничего, и будет достоин отдельного поста), или обсуждало статью, но фантазировало (так, гёделевским агентам оно приписало вероятностный логический вывод и прочее, чего там не было). Выбрал итоговый вариант, где баланс того и другого :)

Заодно завёл канал для постинга гонзо-мл-подкастов: https://t.me/gonzo_ML_podcasts🙂 Буду экспериментировать и ждать, когда оно наконец сможет заменить меня.

В продукт я очень верю. Мне кажется, мы на пути к персональному агенту-помощнику для различного рода исследований. Может оно когда-нибудь и с генерацией кода сольётся, и вызов функций появится, так что можно будет интегрировать с чем-то ещё. У новых моделей (свежий новый Claude 3.5 Sonnet) появляются ручки и ножки, в смысле они могут взаимодействовать с компьютером (https://www.anthropic.com/news/3-5-models-and-computer-use), так что и рисёч-агент со временем может стать очень способным. Ждём.

А пока вот вам 8 советов как начать жить пользоваться NotebookLM: https://blog.google/technology/ai/notebooklm-beginner-tips/.
Схематично выглядит так.

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

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

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

Почитать все 55 задач можно тут.
Agent-as-a-Judge: Evaluate Agents with Agents Статья со Schmidhuber в соавторах 😀 Для того, чтобы понять текст ниже, нужно ознакомиться с концептом агета — пояснительный пост я делал тут. Современные методы оценки не очень хорошо подходят для агентных систем.…
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).
See more posts

View in Telegram