Авторы: Гриша Сапунов, ранее руководитель разработки Яндекс-Новостей, ныне CTO Intento. Области интересов: AI/ML/DL, биоинформатика. Лёша Тихонов, ранее аналитик в Яндексе, автор Автопоэта, Нейронной Обороны... Области интересов: discrete domain, NLP, RL.
Я думаю, что следующий большой шаг в демократизации LLM случится, когда кто-то опубликует открытую модель среднего размера (скажем, 20-50B, но хорошо если и маленькие тоже, до 10B) со следующими свойствами:
1. Мультиязычность by design. Идеально с поддержкой хотя бы нескольких десятков, а лучше сотни языков, покрывающих разные языковые семьи и письменности.
Прямо сейчас, хоть отдельные модели как-то умеют работать с неанглийским из коробки или могут быть достаточно хорошо зафайнтюнены благодаря удачным токенизаторам и не только, это не оптимальное решение для рабочих продуктов, где надо покрывать широкий спектр культур и языков.
2. Function calling, который пока массово отсутствует в открытых моделях больших игроков. Только комьюнити файнтюны.
Это откроет дорогу к сильно более полезным локальным агентным историям, чем можно собрать на открытых моделях сейчас.
Может ещё есть какое-то полезное свойство, но сходу на ум не пришло. Напишите в комментариях, если считаете что есть ещё что-то важное.
Здесь наверное могла бы быть мультимодальность, но мне кажется и без неё уже будет огонь 🔥
Может быть супер длинный контекст, но кажется, что его расширить можно проще, чем добавить в трейнсет много языков.
Интересно, кто будет первым и оставит этот след в истории. Я больше верю в какого-то не самого большого игрока, Мистраль, например. Либо вообще кто-то новый с ресурсами. От больших не дождёмся, кажется.
Гугл сегодня выкатит Gemma 2, в том числе большую модель на 27B.
Видимо ближе к вечеру по Европе и утром Америки.
1) В задачах на код надо надо сгенерить код, решающий задачи из LeetCode Hard. Постановка выглядит так:
Code-Refinement Objective = LLM(Problem + Code + Test-time Instruction + Local Test Results), где выделенный жирным Code оптимизируется через TextGrad.
Результат 36% Completion Rate.
2) На следующей задаче надо сделать solution optimization — улучшить решение сложной задачи из Google-proof Question Answering (GPQA), например, вопрос из квантовой механики или органической химии. Задача задана следующим образом:
Solution Refinement Objective = LLM(Question + Solution + Test-time Instruction)
TextGrad делал три итерации обновления решения с последующим мажоритарным голосованием. Получили 55%, лучший известный на момент результат. На MMLU с физикой или ML результат выше, чем у CoT.
3) Задача оптимизации промпта для reasoning на задачах из Big Bench Hard и GSM8k:
Answer = LLM(Prompt, Question)
Evaluation Metric = Evaluator(Answer, Ground Truth)
Оптимизировали промпт под более дешёвую gpt-3.5-turbo-0125 через фидбек от более сильной gpt-4o. Использовали минибатчи размера 3 и 12 итераций, то есть модель видела 36 обучающих примеров. Промпт обновлялся, если на валидации результат становился лучше.
Обошли Zero-shot Chain-of-Thought и DSPy.
4) Оптимизация молекулы, заданной SMILES нотацией с получением скоров affinity из тула Autodock Vina и druglikeness через Quantatiative Estimate of Druglikeness (QED) score из RDKit, то есть multi-objective loss:
Evaluation = LLM((Affinity(SMILES_i, target), Druglikeness(SMILES_i))
SMILES_{i+1} = TGD.step (SMILES_i, ∂Evaluation/∂SMILES_i)
Молекула инициализировалась маленьким фрагментом из функциональной группы, в качестве LLM использовалась gpt-4o. Применяли TextGrad к 58 таргетам из бенчмарка DOCKSTRING.
На каждом шаге TextGrad неплохо улучшал результаты и итоговые молекулы вполне достойны. При этом используются хемоинформатические тулы и получаются объяснимые решения.
5) Оптимизация плана радиотерапии. Задача с двумя вложенными циклами, оптимизировали внешний — гиперпараметры для внутреннего. Гиперпараметры θ задавались строкой.
Лосс для плана лечения P выглядел так: L = LLM(P(θ), g), g здесь — клинические цели.
Результат вроде как тоже осмысленный.
Интересный заход, выглядит достаточно универсально и применимо. Авторы оформили это всё в библиотеку (https://github.com/zou-group/textgrad) с API похожим на PyTorch. Вычисление лосса, градиента и шаг оптимизатора выглядят неотличимо.
Ожидаю большое и интересное будущее 🙂 Интересно было бы посмотреть и на фидбек в других модальностях, картинка там или звук, должно быть прикольно. Также напрашивается дальнейшее расширение фреймворка на тулы и RAG.
Интересное
Language is primarily a tool for communication rather than thought
Evelina Fedorenko, Steven T. Piantadosi & Edward A. F. Gibson
https://www.nature.com/articles/s41586-024-07522-w
Language is a defining characteristic of our species, but the function, or functions, that it serves has been debated for centuries. Here we bring recent evidence from neuroscience and allied disciplines to argue that in modern humans, language is a tool for communication, contrary to a prominent view that we use language for thinking. We begin by introducing the brain network that supports linguistic ability in humans. We then review evidence for a double dissociation between language and thought, and discuss several properties of language that suggest that it is optimized for communication. We conclude that although the emergence of language has unquestionably transformed human culture, language does not appear to be a prerequisite for complex thought, including symbolic thought. Instead, language is a powerful tool for the transmission of cultural knowledge; it plausibly co-evolved with our thinking and reasoning capacities, and only reflects, rather than gives rise to, the signature sophistication of human cognition.
Из других новостей на сегодня, Verses представит нам через час свои разработки!
https://www.verses.ai/genius
Продолжение истории
https://ssi.inc/
Safe Superintelligence Inc.
Superintelligence is within reach.
Building safe superintelligence (SSI) is the most important technical problem of our time.
We have started the world’s first straight-shot SSI lab, with one goal and one product: a safe superintelligence.
It’s called Safe Superintelligence Inc.
SSI is our mission, our name, and our entire product roadmap, because it is our sole focus. Our team, investors, and business model are all aligned to achieve SSI.
We approach safety and capabilities in tandem, as technical problems to be solved through revolutionary engineering and scientific breakthroughs. We plan to advance capabilities as fast as possible while making sure our safety always remains ahead.
This way, we can scale in peace.
Our singular focus means no distraction by management overhead or product cycles, and our business model means safety, security, and progress are all insulated from short-term commercial pressures.
We are an American company with offices in Palo Alto and Tel Aviv, where we have deep roots and the ability to recruit top technical talent.
We are assembling a lean, cracked team of the world’s best engineers and researchers dedicated to focusing on SSI and nothing else.
If that’s you, we offer an opportunity to do your life’s work and help solve the most important technical challenge of our age.
Now is the time. Join us.
Ilya Sutskever, Daniel Gross, Daniel Levy
June 19, 2024
Красивая работа, не увидел её раньше.
"Meanwhile, we recommend summarizing the recent trend of compute growth for notable and frontier models with the 4-5x/year figure. This should also be used as a baseline for expectations of growth in the future, before taking into account additional considerations such as possible bottlenecks or speed-ups.
Compute is the best predictor of broad AI capabilities we have, and so tracking its growth is fundamental to forecasting the trajectory of AI. This piece provides an updated view of this crucial topic and argues for a growth trend that has not slowed down in recent years."
https://epochai.org/blog/training-compute-of-frontier-ai-models-grows-by-4-5x-per-year
По ссылке интерактивный документ с живыми графиками, можно покликать и посмотреть данные конкретных моделей. Данные с 2010 по май 2024.
Планируйте, что через четыре-пять лет топовые модели будут обучаться на 1000x более производительных системах.
Сначала пошли результаты без методов (GPT-3+, Gemini и т.п.), теперь идут методы без результатов (https://arxiv.org/abs/2404.07221).
Препринты превращаются в недопринты.
Looks like a bioinformatics copilot is coming!
Читать полностью…2) Фаза execution разделяется на четыре подэтапа: translation, cultural adaptation, proofreading, final review. Первые три работают в режиме Trilateral Collaboration, Action агентом выступают Translator, Localization Specialist, и Proofreader соответственно, а Critique и Judgment агентами выступают Junior Editor и Senior Editor. В эти фазы контент переводится (по главам), адаптируется под культуру и вычитывается на предмет ошибок.
Заключающим этапом выступает финальное ревью, здесь Senior Editor оценивает качество каждой главы, а также смотрит как одна глава перетекает в другую.
Judgement агент считается важным для сохранения качества перевода, потому что модели недостаточно хорошо работают с длинным контекстом и смысл переводов начинает отклоняться от оригинала через несколько итераций ревью. Судья не пользуется всей историей ревью и позволяет поддерживать итоговое качество.
В основе всех агентов лежит GPT-4 Turbo (gpt-4-1106-preview).
Эксперимент основан на задаче discourse-level literary translation (DLLT) из WMT2023 (https://www2.statmt.org/wmt23/literary-translation-task.html).
Бейзлайны -- Llama-MT (файнтюн ламы на литературный перевод), GPT-4 (с переводом по отдельным главам), Google Translate (с переводом по предложениям), DUT (из WMT23 Discourse-Level Literary Translation https://aclanthology.org/2023.wmt-1.31/), HW-TSC (https://aclanthology.org/2023.wmt-1.32/ оттуда же).
Тестсет тоже взят с WMT2023, он собран из 12 (в работе написано 20, но это видимо опечатка, оригинальный финальный тестсет содержит 12) web novels, в каждой по 20 глав, что дало 240 глав (в соревновании 239, https://aclanthology.org/2023.wmt-1.3/).
Оценка стандартная (как для обычного MT, здесь через document-level BLEU aka d-BLEU), а также Preference Evaluation.
Интересно, что по d-BLEU TransAgents оказался заметно хуже всех (25 против 43-52). Но BLEU в принципе далека от идеала даже для обычных переводов, что уж там про литературные говорить, когда всё то же самое можно сказать вообще другими словами и одного универсального перевода может и не быть. Да и к референсам, относительно которых она считается, тоже бывает много вопросов. В общем низкое значение этой метрики здесь само по себе мало что говорит.
Поэтому использовались два других метода оценки. Авторы предложили две стратегии под названием Monolingual Human Preference (MHP) и Bilingual LLM Preference (BLP). Обе сравнивают два варианта перевода и выбирают лучший. Каждый метод выдаёт на выходе winning rate в процентах, говорящий как часто выход текущей системы предпочитался другому.
Monolingual Human Preference (MHP) основан на человеческой оценке (через SurveyMonkey) и человеку не показывают текст оригинала на исходном языке. Здесь каждая глава нарезалась вручную на кусочки примерно по 150 слов и эти кусочки давались на оценку. Каждый оценщик последовательно оценивал все сегменты конкретной главы, чтобы учитывался полный контекст и потому что они могут зависеть друг от друга.
Bilingual LLM Preference (BLP) использует LLM (gpt-4-0125-preview, другая модель чтобы было меньше bias’а) вместо человека. Ей в промпте даётся исходный текст и два перевода, между которыми надо выбрать лучший. Работает по сегментам, а не по полным главам. Каждая пара (сегмент и его перевод) оценивалась и в прямом, и в обратном направлении (правда, я не понял, в обратном направлении откуда два варианта перевода взять). Деталей промпта оценки нету (только его начало), непонятно, они сразу просили выбрать что лучше, или какая-то разбивка по типам проблем как в MQM (https://www.taus.net/data-solutions/dqf-mqm-error-annotation) была.
Обе оценки делали по первым двум главам каждой из 12 новелл. По MHP сравнивали только с gpt-4-1106-preview и с человеческой оценкой Reference 1 из датасета (там ещё есть Reference 2), ибо человеческая оценка дорогая.
Переводы TransAgents чуть более предпочтительны по обеим оценкам, чем референс или gpt-4. BLP особенно предпочитает TransAgents референсу 1 (примерно 66% против 30%).
В статье кроме всего прочего есть полезная картинка со сравнением Mamba и Mamba-2 блоков
Читать полностью…Из другого интересного, Anthropic рассказал про red teaming моделей
https://www.anthropic.com/news/challenges-in-red-teaming-ai-systems
Red teaming methods this post covers:
Domain-specific, expert red teaming
* Trust & Safety: Policy Vulnerability Testing
* National security: Frontier threats red teaming
* Region-specific: Multilingual and multicultural red teaming
Using language models to red team
* Automated red teaming
Red teaming in new modalities
* Multimodal red teaming
Open-ended, general red teaming
* Crowdsourced red teaming for general harms
* Community-based red teaming for general risks and system limitations
Библия промпт-инженера подоспела :)
The Prompt Report: A Systematic Survey of Prompting Techniques
https://arxiv.org/abs/2406.06608
По мнению авторов, тренд улучшения foundation models за счёт скейлинга и обучения на пассивных данных скоро выйдет на плато и сам по себе недостаточен для достижения ASI (но недостаточен не в смысле невозможно, а в смысле unlikely, потому что open-endedness по своей сути — experiential process). Чтобы достичь open-endedness в foundation models осталось всего несколько шагов, а самый быстрый путь к ASI будет вдохновлён научным методом (с его гипотезами, фальсификациями через эксперименты и кодификацией результата в новое знание) и компиляцией датасета онлайн через комбинацию foundation models и open-ended алгоритмов.
Среди перспективных направлений выделяют следующие (а также ссылаются на другие пути других авторов, среди таких путей замечена Assembly theory, см. https://www.quantamagazine.org/a-new-theory-for-the-assembly-of-life-in-the-universe-20230504/):
1. Reinforcement Learning. Один из интересных свежих примеров как можно завернуть RL-подобный self-improvement поверх LLM — это “Voyager: An Open-Ended Embodied Agent with Large Language Models” (https://arxiv.org/abs/2305.16291). Другие примеры показывают, как LLM могут направлять агентов, предоставляя reward или собирая куррикулум задач.
2. Self-Improvement чтобы активно вовлекаться в задачи, расширяющие границы знаний и способностей агента, например, через использование тулов (/channel/gonzo_ML/1305) или коммуникацию с другими агентами. Есть куча примеров, когда модели могут использоваться для фидбека вместо людей (например, Constitutional AI /channel/gonzo_ML/1285), что наводит на мысли об использовании моделей для генерации своих собственных сэмплов и обновления в режиме open-ended.
3. Task Generation aka “The Problem Problem” (“Autocurricula and the Emergence of Innovation from Social Interaction: A Manifesto for Multi-Agent Intelligence Research” https://arxiv.org/abs/1903.00742) про то, как сгенерить кучу интересных сред, полезных для обучения агента. Как альтернатива, это учить world models, в которых можно симулировать результаты действий. Их можно комбинировать с мультимодальными reward models и генерировать open-ended curriculum.
4. Evolutionary Algorithms. LLM могут исполнять роль операторов отбора и мутации, начиная с дизайна промптов (там уже работает лучше человека). Отдельная интересная тема — эволюция в пространстве кодов (см. Eureka или FunSearch). Открытый вопрос, как перейти от кода для специальных доменов к более общим.
Во всех этих разделах, да и вообще во всей работе огромное количество ссылок по теме, заслуживает пристального изучения само по себе. Также в работе много интересных мыслей по ходу дела, я не пытался перенести в обзор все.
Отдельная глава про риски и responsibility в контексте ASI.
Open-ended системы by design могут и будут вести к новым возможностям, в том числе двойного назначения. Особенно это опасно, если система сама может совершать действия в среде. Exploration может быть очень агрессивным и здесь есть все проблемы AI agency включая goal misgeneralization (/channel/gonzo_ML/1160) и specification gaming.
Производимые системой артефакты могут стать непонятны для человека и в этом смысле система перестанет быть для человека open-ended по текущему определению, потому что перестанет быть learnable. Чтобы оставаться полезными для человека они должны быть понимаемы. Здесь большое поле для работ по интерпретируемости и объяснимости.
Отдельный вопрос, смогут ли человеки направлять open-ended системы, ибо такие системы могут не иметь хорошо определённых objectives и быть непредсказуемыми. Возможны какие-то варианты human-in-the-loop или openendedness from human feedback. Кроме направляемости система должна обращать внимание человека на неожиданные и потенциально важные артефакты. Но это всё большой вопрос, как скрестить направляемость и open-endedness.
Большой нетехнический вопрос — как общество адаптируется к open-ended моделям. Надо предусмотреть механизмы избегания различных tipping points, чтобы не было как с The Flash Crash (https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2721922).
Open-Endedness is Essential for Artificial Superhuman Intelligence
Edward Hughes, Michael Dennis, Jack Parker-Holder, Feryal Behbahani, Aditi Mavalankar, Yuge Shi, Tom Schaul, Tim Rocktaschel
Статья: https://arxiv.org/abs/2406.04268
Серьёзное заявление: “In this position paper, we argue that the ingredients are now in place to achieve openendedness in AI systems with respect to a human observer. Furthermore, we claim that such open-endedness is an essential property of any artificial superhuman intelligence (ASI).”
Авторы заходят со стороны того, что важно квантифицировать и формализовать open-endedness. Для этого они вводят понятие наблюдателя и говорят, что с его перспективы система может считаться таковой, если и только если последовательность производимых ей артефактов является новой (novelty) и выучиваемой (learnability). Оригинальная формулировка определения такова: "From the perspective of an observer, a system is open-ended if and only if the sequence of artifacts it produces is both novel and learnable".
Более формально, система S производит последовательность артефактов X_t, где t — это время. Наблюдатель O является статистической моделью и оценивает предсказуемость артефакта X_T по истории предыдущих артефактов X_{1:t}. Качество предсказания оценивается неким лоссом ℓ(t, T).
Novelty определяется как последовательно увеличивающаяся непредсказуемость артефактов моделью наблюдателя в любое фиксированное время t. То есть матожидание лосса для более поздних артефактов выше.
Learnability присутствует в системе, когда лосс для артефактов при предоставлении наблюдателю более длинной истории становится меньше.
Соответственно для наблюдателя система является open-ended, если она генерирует последовательность novel и learnable артефактов. Это можно описать как “we’ll be surprised but we’ll be surprised in a way that makes sense in retrospect”.
В классическом примере с телевизором, постоянно показывающим случайный шум, на котором потенциально могут зависать многие типа агентов, этот телевизор будет learnable (в том смысле, что агент выучит конкретное распределение), но со временем потеряется novelty. Epistemic uncertainty уйдёт, останется так называемая aleatoric uncertainty (https://docs.aws.amazon.com/prescriptive-guidance/latest/ml-quantifying-uncertainty/decompose-uncertainty.htm) про неустранимую случайность в данных, но и та сколлапсирует благодаря матожиданию.
В примере с таким же телевизором, но где ещё и извне переключают программы на канал с другим шумом с иным распределением (с Первого на Второй, и нужен конечно ещё канал с Полковником) в каждый момент переключения канала наблюдатель будет иметь novelty, но поскольку история наблюдений теперь не очень помогает (лосс не будет уменьшаться, новые каналы генерят иной шум), теряется learnability.
Interestingness явно в описании не фигурирует, но она задаётся через выбор функции потерь. Интересные части артефактов — это те фичи, которые наблюдатель выбрал как полезные для выучивания.
Есть и другие определения open-endedness (среди свежих, например, “A Definition of Open-Ended Learning Problems for Goal-Conditioned Agents” https://arxiv.org/abs/2311.00344, в котором тоже фигурирует наблюдатель) а также куча других связанных идей (им посвящено приложение C).
Наблюдатель — это отдельная большая и важная тема. Традиционно у нас есть большой класс наблюдателей под названием “человеки”. Но текущее определение позволяет быть и иным наблюдателям, например, чтобы покрыть и неантропоцентричные open-ended системы (типа биологической эволюции). Это позволяет и рассуждать об open-ended системах, превосходящих человека (ASI). Ещё это позволяет определить, является ли система open-ended по отношению к любому наблюдателю.
Для разнообразия сегодня немножко арта
https://youtu.be/fnDO6RKLTpk?si=owsSfRVIScG_IeJ7
Сделано этими ребятами:
https://www.thedorbrothers.com/
Вдруг кто ещё не видел
https://github.com/karpathy/LLM101n
LLM101n: Let's build a Storyteller
What I cannot create, I do not understand. -Richard Feynman
In this course we will build a Storyteller AI Large Language Model (LLM). Hand in hand, you'll be able create, refine and illustrate little stories with the AI. We are going to build everything end-to-end from basics to a functioning web app similar to ChatGPT, from scratch in Python, C and CUDA, and with minimal computer science prerequisits. By the end you should have a relatively deep understanding of AI, LLMs, and deep learning more generally.
Syllabus
Chapter 01 Bigram Language Model (language modeling)
Chapter 02 Micrograd (machine learning, backpropagation)
Chapter 03 N-gram model (multi-layer perceptron, matmul, gelu)
Chapter 04 Attention (attention, softmax, positional encoder)
Chapter 05 Transformer (transformer, residual, layernorm, GPT-2)
Chapter 06 Tokenization (minBPE, byte pair encoding)
Chapter 07 Optimization (initialization, optimization, AdamW)
Chapter 08 Need for Speed I: Device (device, CPU, GPU, ...)
Chapter 09 Need for Speed II: Precision (mixed precision training, fp16, bf16, fp8, ...)
Chapter 10 Need for Speed III: Distributed (distributed optimization, DDP, ZeRO)
Chapter 11 Datasets (datasets, data loading, synthetic data generation)
Chapter 12 Inference I: kv-cache (kv-cache)
Chapter 13 Inference II: Quantization (quantization)
Chapter 14 Finetuning I: SFT (supervised finetuning SFT, PEFT, LoRA, chat)
Chapter 15 Finetuning II: RL (reinforcement learning, RLHF, PPO, DPO)
Chapter 16 Deployment (API, web app)
Chapter 17 Multimodal (VQVAE, diffusion transformer)
TextGrad: Automatic "Differentiation" via Text
Mert Yuksekgonul, Federico Bianchi, Joseph Boen, Sheng Liu, Zhi Huang, Carlos Guestrin, James Zou
Статья: https://arxiv.org/abs/2406.07496
Код: https://github.com/zou-group/textgrad
Мы отлично научились обучать большие сети или дифференцируемые комбинации сетей через бэкпроп. Но с LLM эволюция ушла вперёд и теперь мультиагентные системы состоят из комбинации LLM и тулов, которые не образуют дифференцируемой цепочки, узлы такого вычислительного графа (те самые LLM и тулы) соединены естественно-языковыми интерфейсами (общаются текстом) и часто живут у разных вендоров в разных датацентрах с доступом исключительно через API. То есть про бэкпроп можно забыть. Или нет?
Textgrad по сути реализует аналог бэкпропа, но через текст и с текстовыми градиентами. Как это выглядит?
Рассмотрим на простом примере. Есть два вызова LLM, мы хотим оптимизировать промпт в первом вызове:
Prediction = LLM(Prompt + Question) (1)
Evaluation = LLM(Evaluation Instruction + Prediction) (2)
Для этой цепочки можно собрать аналог бэкпропа, где используется градиентный оператор ∇LLM, если при прямом проходе вызывалась LLM. Этот оператор сам основан на LLM и в целом похож на паттерн Reflexion, он возвращает фидбек (критику, рефлексию) про то, как надо изменить переменную, чтобы улучшить итоговую objective. Он выдаёт что-то типа ‘This prediction can be improved by. . . ’
Внутри ∇LLM мы через промпт показываем “прямой проход LLM” в виде “Here is a conversation with an LLM: {x|y}”, затем вставляем критику (предыдущий градиентный оператор в цепочке) “Below are the criticisms on {y}: {∂L/∂y}” и наконец “Explain how to improve {x}.”
В примере с двумя вызовами сначала считаем
∂Evaluation/∂Prediction = ∇LLM(Prediction, Evaluation),
то есть получаем указания, как поменять переменную Prediction, чтобы улучшить Evaluation.
Затем узнаём как поменять Prompt через
∂Evaluation/∂Prompt =
∂Evaluation/∂Prediction * ∂Prediction/∂Prompt =
∇LLM(Prompt, Prediction, ∂Evaluation/∂Prediction).
На этом строится градиентный оптимизатор, который называется Textual Gradient Descent (TGD) и работает по принципу:
Prompt_new = TGD.step(Prompt, ∂Evaluation/∂Prompt).
Оптимизатор TGD.step(x, ∂L/∂x) тоже реализован через LLM и по сути задаётся промптом типа “Below are the criticisms on {x}: {∂L/∂x} Incorporate the criticisms, and produce a new variable.” выдающим новое значение переменной (в нашем случае Prompt).
В реальности промпты операторов позабористее (и наверное могли бы быть найдены методом текстового градиентного спуска, но, кажется, нет).
В общем случае вычисление может быть более сложным и задаваться произвольным вычислительным графом, где в узлах в качестве трансформаций могут быть вызовы как LLM, так и тулов и численных симуляторов. Если у узла несколько последователей, то все градиенты от них собираются и агрегируются перед тем, как идти дальше.
Ещё остаётся вопрос с objective function, которая для бэкпропа — это что-то дифференцируемое, типа L2-loss или кроссэнтропии, например. Здесь она может быть недифференцируемой и описанной человеческим языком и вычисляться через вызов LLM с промптом. Например, для кода оно могло бы выглядеть так:
Loss(code, target goal) =
LLM(“Here is a code snippet:{code}. Here is the goal for this snippet:{target goal}. Evaluate the snippet for correctness and runtime complexity.”).
Что в общем достаточно универсально и гибко. Лосс-функция человеческим языком — это прикольно.
В работе исследованы два класса задач: instance optimization (когда надо найти какое-то решение задачи, кусок кода или молекулу, например) и prompt optimization (когда надо найти промпт, улучшающий результаты на множестве запросов конкретной задачи).
В данном подходе можно также реализовывать оптимизацию батчами (с агрегацией “лоссов” по батчу), оптимизацию с ограничениями (например, требовать определённый формат ответа), аналог момента (когда оптимизатор видит и предыдущие итерации).
Проверили на нескольких классах задач: Coding, Problem Solving, Reasoning, Chemistry, Medicine.
Superconducting supercomputers
В свежем IEEE Spectrum статья про сверхпроводящие компьютеры (https://spectrum.ieee.org/superconducting-computer) и целый стек, разрабатываемый сейчас международной организацией Imec (https://www.imec-int.com/en) со штаб-квартирой в Бельгии.
На фоне разговоров про триллионные кластеры с масштабами энергопотребления уровня 20% общего производства энергии США на один такой кластер (https://situational-awareness.ai/racing-to-the-trillion-dollar-cluster/#Training_compute) и энергию как одно из главных бутылочных горлышек таких затей (https://situational-awareness.ai/racing-to-the-trillion-dollar-cluster/#Power), и даже на фоне более ранних прогнозов из 2015-го про вычисления вообще, где говорилось что к 2040-му требуемая для вычислений энергия превзойдёт мировое производство оной (https://www.semiconductors.org/wp-content/uploads/2018/06/RITR-WEB-version-FINAL.pdf, Figure A8) если продолжать использовать типовые мейнстримовые вычислительные системы, все эти движения выглядят очень актуальными.
Imec разрабатывает решения сразу на всех уровнях стека, от материалов для сверхпроводящего железа, через новые схемотехнические решения для организации логических схем и памяти к архитектурным решениям на уровне совмещения с классической DRAM памятью.
Новые схемы основаны на использовании эффекта Джозефсона в устройствах под названием переход Джозефсона (Josephson junction, JJ, https://www.scientificamerican.com/article/what-are-josephson-juncti/). В них два слоя сверхпроводника разделены тонким слоем диэлектрика, через который туннелирует ток до тех пор, пока этот ток не превышает критическое значение. При превышении критического тока, в переходе возникает импульс напряжения, запускающий ток, который дальше будет течь по сверхпроводящему контуру с JJ бесконечно. На этих контурах можно построить логические элементы (ток течёт -- 1, не течёт -- 0) и память (два связанных контура, если ток в левом -- хранится 1, если ток в правом, а в левом нет -- 0).
Предложенная авторами плата под названием superconductor processing unit (SPU) содержит сверхпроводящие логические контуры и статическую память (SRAM) на JJ, охлаждённую жидким гелием до 4K, также через стеклянный изолятор на схеме есть классические не-сверхпроводящие CMOS DRAM охлаждённые до 77K и далее ведущие наружу в комнатной теплоты мир коннекторы.
Смоделирована система со ста такими платами, размером порядка обувной коробки (20x20x12 см), которая может выдавать 20 exaflops (10^18) в bf16 и потреблять всего 500 киловатт. У топового суперкомпьютера Frontier что-то типа чуть больше 1 экзафлопса, но правда это fp64, а не bf16. И энергопотребление в сотню раз выше. У DGX H100 с 8 GPU заявлено 32 petaflops в fp8, и соответственно 16 petaflops в bf16, то есть 20 exaflops потребует 10000 карт H100. Впечатляет в общем.
Да, требуется энергия на охлаждение, но начиная с некоторого масштаба (в районе десятка петафлопс) она уже полностью отбивается и сверхпроводящий суперкомпьютер обгоняет классический на GPU.
Из дополнительных интересных бонусов может быть более лёгкая интеграция с квантовыми компьютерами, которые требуют похожего охлаждения, а также с термодинамическими компьютерами типа как у Extropic, тоже использующими JJ (/channel/gonzo_ML/2688).
Это потенциально очень интересное развитие. Может и не нужны будут гига-датацентры размером с футбольные поля с атомными электростанциями под боком, а будет свой маленький сверхпроводящий суперкомпьютер на районе? Со своим районным AI.
Антропик выкатил новую модель Claude 3.5 Sonnet
https://www.anthropic.com/news/claude-3-5-sonnet
Там же интересная работа про стоимость обучения моделей:
"Our analysis reveals that the amortized hardware and energy cost for the final training run of frontier models has grown rapidly, at a rate of 2.4x per year since 2016 (95% CI: 2.0x to 3.1x). We also estimated a cost breakdown to develop key frontier models such as GPT-4 and Gemini Ultra, including R&D staff costs and compute for experiments. We found that most of the development cost is for the hardware at 47–67%, but R&D staff costs are substantial at 29–49%, with the remaining 2–6% going to energy consumption.
If the trend of growing training costs continues, the largest training runs will cost more than a billion dollars by 2027, suggesting that frontier AI model training will be too expensive for all but the most well-funded organizations."
https://epochai.org/blog/how-much-does-it-cost-to-train-frontier-ai-models
Я недооценивал косты на R&D staff.
Хорошее дополнение к "Библии промпт-инженера" — Библия уровнем выше, паттерны проектирования агентов :)
Agent Design Pattern Catalogue: A Collection of Architectural Patterns for Foundation Model based Agents
https://arxiv.org/abs/2405.10467
В аду должно быть отдельное место для людей, которые постят ссылки на arxiv сразу на pdf. 👹
Читать полностью…Авторы копнули чуть глубже в стандартную оценку с d-BLEU и оценили переводы на разных шагах процесса. Перевод сразу через gpt-4-1106-preview (которую используют и агенты) даёт высокую оценку 47.8, перевод агентами — 28.8 и затем оценка ещё уменьшается на этапах локализации и пруфридинга. Авторы считают, что на изначально низкие скоры перевода сильно влияет гайдлайн.
Оригинальные тексты распределены по разным жанрам и более детальный анализ показал, что TransAgents даёт лучший результат в областях, где требуются обширные доменные знания типа исторического контекста или культурных нюансов (что также заметный челлендж для переводчиков). Хуже система работает на Contemporary Romance (CR), Science Fiction (SF) и Horror & Thriller, где таких знаний вроде не требуется.
Также оценили Linguistic Diversity по метрикам Moving-Average Type-Token Ratio (MATTR) и Measure of Textual Lexical Diversity (MTLD). Оценки системы лучше, чем у бейзлайнов.
Оценка цены для TransAgents составляет $500 за весь тестсет или примерно $2.08 за одну главу. Оценка работы человека сделана как $168.48 за главу.
В работе есть кейс стади с разбором конкретных свойств, проблем и особенностей TransAgents. Система лучше чем ванильная gpt-4-1106-preview (а также лучше типа человеческого референса, но надо ещё смотреть откуда он такой взялся) сделала культурную адаптацию на примере перевода имён и должностей. Также TransAgents (как и референс) лучше чем чистая gpt в консистентности перевода названий глав. При этом и gpt и TransAgents делают пропуски (omissions).
При слепой оценке одной главы двумя профессиональными переводчиками среди TransAgents, Reference 1, gpt-4-1106-preview те охарактеризовали переводы TransAgents как имеющие романный выразительный стиль, использующий богатый язык, но иногда теряющий части оригинального текста. Они оценили его как самый выразительный и захватывающий, а Reference 1 и gpt-4-1106-preview как самые традиционные.
Авторы подсвечивают проблемы подхода, на их взгляд в основном они в части оценки. Большие тексты оценивать сложно (и дорого), а использовавшаяся нарезка на фрагменты (не факт, что лучшая) как-то влияет. Масштаб исследования был мал, и нет гарантий, что целевая аудитория была отобрана верно. К происхождению референсов тоже есть вопросы. Всё это остаётся на будущее.
В любом случае работа интересная. Представить работоспособную систему подобного рода даже пару лет назад было проблематично, а сейчас мультиагентные системы доросли до вполне сносной работоспособности. Всё что мы видим — пока лишь первые ласточки. Другой ласточкой для меня были Generative Agents (/channel/gonzo_ML/1481), но работ такого плана теперь уже много — тут и свежий госпиталь (https://arxiv.org/abs/2405.02957), и Automated Social Science (https://arxiv.org/abs/2404.11794), и помощь в разработке софта (https://arxiv.org/abs/2307.07924), и дофига всего ещё (https://github.com/AGI-Edgerunners/LLM-Agents-Papers). На горизонте года-двух мы увидим сильно больше рабочих кейсов, оформится богатая практика работы с такими системами, устоятся работающие паттерны, да и улучшенные модели тоже добавят качества. Кто учился на промпт-инженера, должен будет переучиваться на агент-хоровода.
А также интересно, когда появится первое чисто виртуальное агентство (на таких вот агентах) чего-нибудь со сходящейся экономикой. В идеале чтобы человек вообще был не нужен, так, может раз в полгода сервер перезапускать :) Я думаю, мы уже в этой точке, можно делать.
(Perhaps) Beyond Human Translation: Harnessing Multi-Agent Collaboration for Translating Ultra-Long Literary Texts
Minghao Wu, Yulin Yuan, Gholamreza Haffari, Longyue Wang
Статья: https://arxiv.org/abs/2405.11804
Репа: https://github.com/minghao-wu/transagents
За последний год-два практики работы с LLM сильно эволюционировали. Начиналось всё чисто с LLM, промптов и разных стратегий вокруг (CoT и т.п., /channel/gonzo_ML/1885). Потом появились LLM Programs (/channel/gonzo_ML/1584), развились фреймворки типа LangChain/Semantic Kernel/Prompt Flow, а дальше и всякие мультиагентные истории типа LangGraph, CrewAI и прочего. SOM (/channel/gonzo_ML/2008) тоже где-то рядом. И в каждой ветке развитие продолжается.
Сегодня про мультиагентную работу на примере перевода. Кстати, на днях Andrew Ng тоже отметился на этом поле, выпустил Translation Agent: Agentic translation using reflection workflow (https://github.com/andrewyng/translation-agent), где агент сначала делает перевод, потом рефлексирует над ним, затем делает с учётом этого улучшенный перевод. Можно сказать, это лайтовый вариант того, что сегодня разберём.
В работе авторы собрали виртуальную (пока) мультиагентную компанию под названием TransAgents, специализирующуюся на литературном переводе. Работа невоспроизводима, важные артефакты — код и промпты отсутствуют. Но это не отменяет её интересности.
Роли в компании: CEO, Senior Editor, Junior Editor, Translator, Localization Specialist, Proofreader. Для каждой роли через GPT-4 Turbo сгенерили 30 разнообразных профилей. В профиле есть как относящиеся к переводу атрибуты (знание языков, опыт, образование, цена за слово), так и не напрямую относящиеся (хобби, персона, возраст, пол, национальность). Интересно было бы проанализировать, как это влияет на результат.
В работе используются две стратегии коллаборации: Addition-by-Subtraction Collaboration и Trilateral Collaboration.
Addition-by-Subtraction Collaboration в отличие от типовых стратегий дебатов, когда разные агенты предлагают свои решения, а отдельный агент её завершает, имеет только два участника. Первый агент (addition) стремится извлечь всю релевантную информацию и добавить её, а второй агент (subtraction) делает ревью, обнаруживает избыточность и даёт фидбек первому. Интеракция продолжается, пока требуются ревизии.
В Trilateral Collaboration три действующих ветви: действие (Action), критика (Critique) и суждение (Judgment), в каждую назначается по агенту. Актор производит результат, критик его критикует и добавляет в историю общения, которую на следующей итерации актор может учесть в генерации обновлённого ответа. Судья в конце каждой (после первой) итерации смотрит на ответ и решает продолжать дискуссию или можно её завершить.
Процесс в компании двухступенчатый, состоит из фаз preparation и execution, работает это так.
1) В фазе preparation человек-заказчик приходит с запросом на литературный перевод текста. В этот момент назначенный CEO агент под запросы конкретного клиента выбирает (используя self-reflection) главного редактора (Senior Editor) с учётом его квалификации.
Для перевода надо подготовить translation guideline из пяти компонент, включающий глоссарий, саммари, тон, стиль и целевую аудиторию.
Ключевые термины для глоссария собираются в режиме Addition-by-Subtraction, где роль Addition agent выполняет Junior Editor (добавляет всё важное), а Subtraction agent — Senior Editor (убирает общеупотребимые слова). Затем Senior Editor переводит их с учётом контекста. Аналогичным образом собираются саммари глав, затем главред собирает из них саммари книги. Также главред определяет тон, стиль и целевую аудиторию на примере рандомной главы.
Весь собранный гайдлайн используется как важная часть промптов для всех ролей, участвующих в дальнейшем переводе, поддерживая консистентность и согласованность всей работы.
Новости гибридной силы!
Нвидиа и ко выпустили статью про сравнение свежих Мамб с трансформерами и нашли места, где мамба недотягивает. Но тут же предложили гибрид с трансформером, который всех превосходит.
An Empirical Study of Mamba-based Language Models
https://arxiv.org/abs/2406.07887
Игорь уже подробно разобрал статью, вэлкам сюда:
/channel/seeallochnaya/1528
Интересно, конечно, когда же уже кто-нибудь (Нвидиа уж могла бы!) обучит большую SSM, параметром на 100B+. Интересно как там всё скейлится и что неожиданного появляется.
Обновление в стане Gemma -- новая большая RecurrentGemma (/channel/gonzo_ML/2513) теперь 9B. Построена на архитектуре Griffin (
/channel/gonzo_ML/2500).
https://www.kaggle.com/models/google/recurrentgemma
Главное достоинство -- Throughput.
Кроме того даже если отдельные компоненты human-AI open-ended системы безопасны, целая система может приводить к непредвиденным проблемам.
В общем вопросов много, но и будущее может быть весьма интересным. Возможно, мы не очень от него далеко.
Поскольку у наблюдателя есть некий временной горизонт τ, ограничивающий его наблюдения системы, разные системы могут быть open-ended на разных временных масштабах. Если система остаётся open-ended на любом временном горизонте (τ → ∞), то мы называем её infinitely open-ended. В противном случае она finitely open-ended со временным горизонтом τ по отношению к наблюдателю O. Например, Adaptive Agent (AdA из “Human-Timescale Adaptation in an Open-Ended Task Space” https://arxiv.org/abs/2301.07608) — finitely open-ended с горизонтом примерно 1 месяц (для него novelty выходило на плато после этого времени обучения в силу ограниченности богатства задач и размера сети агента).
Когнитивные способности наблюдателя тоже влияют, у него банально может не хватить памяти и он начнёт забывать старые наблюдения (хорошо уметь качественно сжимать!), так что с его точки зрения система перестанет быть open-ended. С этим легче совладать в более узких доменах (в нашем, по ощущению, всё сложнее).
В работе с точки зрения человеческого наблюдателя разбираются несколько примеров известных агентов.
Первых архетипический пример — AlphaGo, которая novel (находит новые неожиданные ходы) и learnable (человек может у неё научиться новым полиси и улучшить свой лосс). Она open-ended (спасибо self-play?) и также является примером narrow superhuman intelligence (по классификации из “Levels of AGI for Operationalizing Progress on the Path to AGI” https://arxiv.org/abs/2311.02462).
Другой пример — упоминавшийся выше AdA, решавший задачи в 3D-средах XLand2 и постоянно демонстрировавший новые способности (zero-shot/few-shot способности на средах, где он не обучался). За ним стоят алгоритмы unsupervised environment design (UED) с automatic curriculum и подбором сред в зоне ближайшего развития по Выготскому. Но в обучении AdA был замечен выход на плато, так что вероятно если вбухать на порядок больше compute, то AdA перестанет быть open-ended. Чтобы это пофиксить понадобятся более богатые среды и более сложный агент для поддержки коэволюции среды и агента в UED.
Третий пример — POET (“Paired Open-Ended Trailblazer (POET): Endlessly Generating Increasingly Complex and Diverse Learning Environments and Their Solutions” https://arxiv.org/abs/1901.01753). Там обучается популяция агентов, каждый из которых связан с эволюционирующей по ходу дела средой, периодически агенты переносятся в новые среды. Эти артефакты в лице пар агент-среда являются open-ended по отношению к человеческому наблюдателю, который моделирует возникающие фичи среды и способности агента. Тут есть и novelty (за счёт мутаций в алгоритме Quality Diversity, генерящем новые неожиданные среды) и learnability (потому что мутации небольшие и история прошлых сред даёт ориентиры к свойствам текущей). Как и в AdA главное ограничение на open-endedness это параметризация сред — агент выходит на плато, когда все ландшафты решены.
Финальный пример — современные foundation models. Он негативный, потому что они обучаются на фиксированных датасетах и наблюдатель рано или поздно выучит всю epistemic uncertainty. Они могут выглядеть для человека open-ended на достаточно обширном домене в силу ограниченной памяти человека, но если начать сужать фокус, то проблемы становятся заметны.
НО! По мнению авторов, дополнение foundation models open-endedness открывает путь к ASI, а то, что модели обусловливаются контекстом, ломает логику невозможности быть open-ended — контекст, в принципе, позволяет рекомбинировать концепты open-ended способом.
Ну и чтобы продолжить с книгами и ростом количества страниц, вот ещё прекрасное
Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning
https://www.cis.upenn.edu/~jean/math-deep.pdf
На 2196 страниц.
Приятных выходных!