Граница Парето в эффективности методов обучения

Анатолий Левенчук · Поиск в руководстве · MCP

Открыть это место в полном тексте руководства →

Граница Парето в эффективности методов обучения

Мы тут рассматриваем пути ускорения обучения, но всё-таки вопрос о содержании образования -- главный. Не знаешь, чему учить -- бесполезно ускорять "обучение чему-нибудь". Поэтому вернёмся к постановке задачи, как её обсуждают разработчики нежити. Главное там -- это выйти на границу Парето в точности ответов на какой-то класс задач, выход на Парето обсуждал в https://ailev.livejournal.com/1757388.html, затем в https://ailev.livejournal.com/1757701.html (и там важный вывод, что в новостной ленте неплохо бы отслеживать эту Парето-границу, SoTA не единственное решение -- для разных классов задач будут разные оптимизации, теорема о бесплатном обеде -- универсальных для всех классов алгоритмов не существует, вот пример исследования масштабирования компьюта для разных классов задач: https://arxiv.org/abs/2503.10061). Куда направить компьют (грубо говоря, потраченное время хоть нежити, хоть людей), чтобы выходить на Парето по какому-то классу задач? Вот основные направления:

-- изменить функциональную архитектуру нейросети. Для нежити сегодня -- это попробовать кроме трансформеров ещё и диффузию, и мамбу, и xLSTM и всяческие их гибриды. Для людей -- можно посоветовать выпить кофе, среди биологических существ это и так самая сильная архитектура. Wait... можно добавить экзокортекс, например, ручку-бумажку, но ещё можно добавить память получше, например, Google, а можно и ещё добавить -- нескольких AI-агентов от разных вендоров. Всё это как раз "изменит архитектуру нейросети" (будем считать, что это микроядерная архитектура -- ядро и плагины. Я предпочитаю считать, что это или CYC архитектура с "ускорителями", или древний Toolformer -- трансформер, который выучивается пользоваться традиционными солверами для разных частных задач). Важно, что усиливать мозг внешними инструментами надо учить.

-- размер таки имеет значение, речь о числе параметров в ANN (считая, что архитектура уже дана). Предыдущая ссылка как раз о том, что большое число параметров важно для эрудиции. Что тут посоветовать людям, и не знаю. Вероятно, работать не в одиночку, а в коллективе специалистов/экспертов -- это аналог роста числа параметров через MoE. Это, впрочем, малоотличимо от предыдущей опции, задействования экзокортекса, но тут говорится the more the merrier.

-- изменение качества данных в обучении даёт существенный выигрыш в выводе, изменение качества данных (textbook is all you need, образцы паттернов хорошего мышления для priming в RL, обучение только таким данным, которые влияют на результаты). Конечно, учиться можно и на помойке из данных, но качество такого обучения плохое, а компьюта и данных уходит сильно побольше. Если заботиться о качестве данных, об их разнообразии, о демонстрации паттернов хорошего мышления, не допускать повторения собственных ошибок, чтобы их не заучивать, то можно учиться много меньше -- а на выходе обучения показывать результаты мышления лучше. Вот ровно этим занимаюсь: человек не в состоянии учиться на всех доступных курсах, на всём доступном материале хотя бы википедии, тем более что хорошо показан вред такого обучения. Так что берём паттерны сильного мышления (рациональное, системное, логичное, а дальше инженерное, менеджерское) и учим на хороших курсах. Материалы таких курсов я как раз и пишу. Там, конечно, некоторые проблемы: обучение людей лучше идёт на spaced и interleaved материалах. Нельзя "загрузить справочник", по энциклопедиям не научишь! Нужны повторения, причем с перерывами (кривые забывания никто не отменял!), нужно перемешивание материала разных тем, нужно решение задач с быстрой обратной связью от препода, а ещё у меня не столько сверхкороткие версии "курсов всего", сколько аннотированные списки литературы -- и требуется ещё и знакомиться с первоисточниками, а не только материалов учебника. Но на выходе -- большая скорость решения самых разных классов задач, в том числе типовых рассуждений в инженерии и менеджменте.

-- важен также порядок обучения, curriculum learning. Тут из главных находок -- это обучение прежде всего логике, чтобы потом в ходе обучения сеть лучше справлялась с ошибками. Нежить это делает путём чтения большого числа исходных кодов софта, там как раз "безошибочная жёсткая логика с контролем типов объектов". Ну, и продолжать надо RL -- учить длинным рассуждениям, предварительно показав, как выдвигать много гипотез, затем критиковать их, возвращаться в рассуждениях назад, а потом выходить на open-endedness. Мы для людей тоже сделали учебную программу, а не просто "набор учебных материалов россыпью". Начинаем тоже с рациональности, то есть принятия решений в условиях неопределённости -- и дальше выход в работу, чтобы уметь пользоваться хотя бы собой как ресурсом и обсуждать скорость работы, в том числе мыслительной. И дальше курсы идут в строгой последовательности, а не как попало. Ещё и подкручиваем форматы обучения, например, отлаживаем тренировки по шагам нескольких мантр.

-- дальше test time compute: генерировать больше идей и проверять их (search). Это для некоторых типов задач (скажем, математика) даёт огромный прирост результативности. Если, конечно, богатое воображение и мощная проверялка. Но для многих типов задач это быстро выходит на плато (скажем, для задач на эрудицию). Но для изобретений -- очень хорошо. Мы явно недостаточно этому уделяем внимание, все эти guided brainstorms -- но фишка в том, что должна быть хорошая проверялка. А она, увы, обычно дырявая.

-- второй вариант test time compute: давать подольше время на подумать, удерживая собранность на теме размышлений, reasoning. Ограничения тут тоже известны: довольно быстро выходишь на плато результативности. Это мы делаем. Мышление письмом тут весьма помогает.

Я тут много писал про reinforcement learning (https://ailev.livejournal.com/1754580.html, https://ailev.livejournal.com/1753533.html), но в causal inference это только вторая ступенька -- do-calculus. Если добавить контрфактуальность как окончательный третий шаг, то это будет causal reinforcement learning. "Intro to Causal RL", https://causalai.net/r65.pdf (180 страниц). Ещё много литературы вот тут: https://crl.causalai.net/, это чистая теория, но вот пара книг -- чуть более древняя https://appliedcausalinference.github.io/aci_book/ и чуть более свежая по casual ML -- https://causalml-book.org/. Judea Pearl на эту тему: The application is obvious: to move from idealized, simulated environments (games, etc.) to the real world, where unobserved confounding is pervasive (https://x.com/yudapearl/status/1898928267840688198). Вот Bahrenboim обсуждает это с Nando de Freitas: "counterfactuals (level 3) of Pearl's Hierarchy can be used for decision-making and can lead to dominant strategies over essentially any available RL strategy", но дальше он там говорит, что "имитировать, не понимая, как сейчас -- это хорошо, это линия Тьюринга с его тестом, ибо бенчмарк для интеллекта не построишь. Но нельзя же складывать лапки, это ж задача науки -- понять про интеллект, понять про сознание", https://x.com/eliasbareinboim/status/1898482783099531440. Nando de Freitas отвечает что да, если с интеллектом как-то разбираются по бенчмаркам, то нужно бы бенчмарки и для сознания -- "We need benchmarks for each of these factors, eg attention schemas, self-awareness, social awareness, ethics & morality (empathy, compassion), internal monitoring (eg regulation and emotion), … and hopefully people will suggest more. Some might be hard to measure admittedly. I also think this could be important for causal modelling. To know that it was one who acted upon the world (level 2 interventional causality, RL) a very basic form of self-hood is needed", https://x.com/NandoDF/status/1898462406793449840. Грубо говоря, вся эти причинная история связана с пониманием того, что есть личность, что есть агентность. И хорошо бы это замерять (и опять мы видим, что "сознание" пытаются переопределить технически в рамках какой-то школы мысли, что ни спец по какой-то дисциплине, то переопределятор "сознания"). Мне эта тема причинности важна, ибо надо учить людей (ну, и заодно и нежить) рассуждать и действовать не просто логически (что может быть полностью отвязано от ситуации в реальном мире), а причинно-логически -- ровно как говорит Pearl. Вот тут Barenboim обсуждает самомоделирование и влияние знания о причинах на принятие решений -- https://x.com/eliasbareinboim/status/1898928501719195758. И вот тут разворот на то, что есть понимающие в причинности "более агенты" и "менее агенты", и что надо думать, как это замерять -- важная архитектурная характеристика личности. Дальше выходы на:

-- рассуждения про это "используем как эвристику, работает и ладно, теория подождёт" против "давайте всё-таки поймём". Инженерия научна, инженерия не научна. И да, "расчёты по теории относительности для наших проектов не нужны, нам хватает и по Ньютону" -- вот это тоже, "аппроксимации" по сравнению с SoTA. Тут понятно, что делать: строить Парето по полной стоимости владения "затраты BOPs (brain operations) на обучение и на рассуждения/выводы" и точности, вроде как рисуют сегодня для open source LLM, https://x.com/allen_ai/status/1900248895520903636/photo/1

-- обучение рассуждениям о причинности в наших курсах (с поддержкой экзокортекса! Примеры тут уже есть, например, диаграмма причинности строится в рамках прохождения курса "Рациональная работа", вот тут даже пример поста с такой диаграммой -- https://systemsworld.club/t/kak-ya-osvoil-novyj-metod-raboty-analiz-tablichnyh-dannyh-s-programmirovaniem-na-russkom/). Дальше вопрос, до какого уровня учим, в каких местах курса это всё напоминаем (у меня напоминание, по большому счёту, аж в "Системной инженерии", но не скажу, чтобы там было много, и вот сразу показан выход в практику. Но всё-таки). Всё-таки одно дело знать, что такое есть, другое дело -- уверено повседневно пользоваться. Интуитивно-то все пользуются, фишка в том, чтобы неинтуитивно и с экзокортексом.
-- переписывать "Инженерию личности" таки надо, и там в части про личность таки надо задать архитектурные характеристики для личности (ага, какие раньше были "требования качества", что считать качественной личностью). Это как раз ходы на характеристики агентности в связи с моделированием себя. И да, бенчмарки, хорошо бы понимать, какие и как мерять -- тема уже назрела. И как бенчмарки включать в затраты на обучение, чтобы снижать общую стоимость владения знанием.

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

-- по батарее тестов на интеллект (чаще всего Elo, https://en.wikipedia.org/wiki/Elo_rating_system, но LMSYS перешла от ELO к https://en.wikipedia.org/wiki/Bradley%E2%80%93Terry_model, и там тоже есть где разгуляться с выбором) -- и эта шкала главная. Вот наших выпускников как померять при этом -- непонятно, ибо все тесты на "олимпиадное программирование". А мы всё-таки про причины-следствия в области коллективной разработки больше учим (но не все идут с этим в предпринимательство, рисковать не все любят, много общаться с людьми не все любят, а любят заниматься любимым делом -- но делать это лучше. Как измерить?!).
-- трудоёмкость обучения на заданное мастерство (FLOPs, сейчас там в районе единиц 10**24, а передовики показывают 10**23, тот же помянутый в предыдущем абзаце график https://x.com/allen_ai/status/1900248895520903636/photo/1. У нас сейчас примерно "год по паре часов в день". Потраченное на обучение время как раз легко измерить.
-- про модели Google любят показывать графики с показом мастерства против стоимости вывода (сразу в $), например, https://www.linkedin.com/posts/hsavas_gemini-2-models-a-new-pareto-frontier-activity-7296461366326906880-AlFB/. Тут тоже интересно -- хвастаться тем, что "наши создатели стоят дешевле, но в деле они умнее других с такой же ценой" как-то несподручно.