В курсе “Системная инженерия” опубликована очередная версия, в которой переписан раздел “6. Эволюционное проектирование”, в котором рассказывается о роли проектировщика (designer) в команде разработчиков, добавлено два задания. Также в этой версии уточнено описание роли визионера, а также уточнена иллюстративная диаграмма, показывающая разделение труда в команде разработчиков. Всего переписано к настоящему моменту 79% текста курса.
В статистике Ridero узнал, что у меня на сегодня продано книг 18901.81 штук. Но как?! Виновник – Яндекс Книги, там продано 2167.81 штук, это они как-то умудряются продавать нецелыми книгами. Более того, там публична статистика. Скажем, первый том системного мышления – 1.5К читателей, но главное – его там читатели разбирают на цитаты, 324 цитаты: https://books.yandex.ru/books/oTQZfRrv/quotes. Эти яндекс.книги оказались наследниками Bookmate, которого внесли в реестр иноагентов, Bookmate заработал в России под названием «Яндекс Книги» — РБК. Ежели чего, то моя страница книг в Ridero – Анатолий Левенчук - читай онлайн, покупай книги автора в электронном или печатном виде на Ridero, там сейчас 9 книг. В яндекс.книгах страница – https://books.yandex.ru/authors/xojqKYe6/author/books. В других магазинах тоже есть, Ridero позаботилась, даже в Amazon есть. Удивительно, но мои книги таки иногда читают. Но в курсах материал чуть свежее, и бесплатно – https://aisystant.system-school.ru/.
Мы тут рассматриваем пути ускорения обучения, но всё-таки вопрос о содержании образования – главный. Не знаешь, чему учить – бесполезно ускорять “обучение чему-нибудь”. Поэтому вернёмся к постановке задачи, как её обсуждают разработчики нежити. Главное там – это выйти на границу Парето в точности ответов на какой-то класс задач, выход на Парето обсуждал в lytdybr: ailev — LiveJournal, затем в Эскиз клубного AI-проекта: ailev — LiveJournal (и там важный вывод, что в новостной ленте неплохо бы отслеживать эту Парето-границу, SoTA не единственное решение – для разных классов задач будут разные оптимизации, теорема о бесплатном обеде – универсальных для всех классов алгоритмов не существует, вот пример исследования масштабирования компьюта для разных классов задач: [2503.10061] Compute Optimal Scaling of Skills: Knowledge vs Reasoning). Куда направить компьют (грубо говоря, потраченное время хоть нежити, хоть людей), чтобы выходить на Парето по какому-то классу задач? Вот основные направления:
– изменить функциональную архитектуру нейросети. Для нежити сегодня – это попробовать кроме трансформеров ещё и диффузию, и мамбу, и xLSTM и всяческие их гибриды. Для людей – можно посоветовать выпить кофе, среди биологических существ это и так самая сильная архитектура. Whait… можно добавить экзокортекс, например, ручку-бумажку, но ещё можно добавить память получше, например, Google, а можно и ещё добавить – нескольких AI-агентов от разных вендоров. Всё это как раз “изменит архитектуру нейросети” (будем считать, что это микроядерная архитектура – ядро и плагины. Я предпочитаю считать, что это или CYC архитектура с “ускорителями”, или древний Toolformer – трансформер, который выучивается пользоваться традиционными солверами для разных частных задач). Важно, что усиливать мозг внешними инструментами надо учить.
– размер таки имеет значение, речь о числе параметров в ANN (считая, что архитектура уже дана). Предыдущая ссылка как раз о том, что большое число параметров важно для эрудиции. Что тут посоветовать людям, и не знаю. Вероятно, работать не в одиночку, а в коллективе специалистов/экспертов – это аналог роста числа параметров через MoE. Это, впрочем, малоотличимо от предыдущей опции, задействования экзокортекса, но тут говорится the more the merrier.
– изменение качества данных в обучении даёт существенный выигрыш в выводе, изменение качества данных (textbook is all you need, образцы паттернов хорошего мышления для priming в RL, обучение только таким данным, которые влияют на результаты). Конечно, учиться можно и на помойке из данных, но качество такого обучения плохое, а компьюта и данных уходит сильно побольше. Если заботиться о качестве данных, об их разнообразии, о демонстрации паттернов хорошего мышления, не допускать повторения собственных ошибок, чтобы их не заучивать, то можно учиться много меньше – а на выходе обучения показывать результаты мышления лучше. Вот ровно этим занимаюсь: человек не в состоянии учиться на всех доступных курсах, на всём доступном материале хотя бы википедии, тем более что хорошо показан вред такого обучения. Так что берём паттерны сильного мышления (рациональное, системное, логичное, а дальше инженерное, менеджерское) и учим на хороших курсах. Материалы таких курсов я как раз и пишу. Там, конечно, некоторые проблемы: обучение людей лучше идёт на spaced и interleaved материалах. Нельзя “загрузить справочник”, по энциклопедиям не научишь! Нужны повторения, причем с перерывами (кривые забывания никто не отменял!), нужно перемешивание материала разных тем, нужно решение задач с быстрой обратной связью от препода, а ещё у меня не столько сверхкороткие версии “курсов всего”, сколько аннотированные списки литературы – и требуется ещё и знакомиться с первоисточниками, а не только материалов учебника. Но на выходе – большая скорость решения самых разных классов задач, в том числе типовых рассуждений в инженерии и менеджменте.
– важен также порядок обучения, curriculum learning. Тут из главных находок – это обучение прежде всего логике, чтобы потом в ходе обучения сеть лучше справлялась с ошибками. Нежить это делает путём чтения большого числа исходных кодов софта, там как раз “безошибочная жёсткая логика с контролем типов объектов”. Ну, и заканчивать надо RL – учить длинным рассуждениям, предварительно показав, как выдвигать много гипотез, затем критиковать их, возвращаться в рассуждениях назад. Мы для людей тоже сделали учебную программу, а не просто “набор учебных материалов россыпью”. Начинаем тоже с рациональности, то есть принятия решений в условиях неопределённости – и дальше выход в работу, чтобы уметь пользоваться хотя бы собой как ресурсом и обсуждать скорость работы, в том числе мыслительной. И дальше курсы идут в строгой последовательности, а не как попало. Ещё и подкручиваем форматы обучения, например, отлаживаем тренировки по шагам нескольких мантр.
– дальше test time compute: генерировать больше идей и проверять их (search). Это для некоторых типов задач (скажем, математика) даёт огромный прирост результативности. Если, конечно, богатое воображение и мощная проверялка. Но для многих типов задач это быстро выходит на плато (скажем, для задач на эрудицию). Но для изобретений – очень хорошо. Мы явно недостаточно этому уделяем внимание, все эти guided brainstorms – но фишка в том, что должна быть хорошая проверялка. А она, увы обычно дырявая.
– второй вариант test time compute: давать подольше время на подумать, удерживая собранность на теме размышлений, reasoning. Ограничения тут тоже известны: довольно быстро выходишь на плато результативности. Это мы делаем. Мышление письмом тут весьма помогает.
Напомним картинку Toolformer, которую уже многие забыли, [2302.04761] Toolformer: Language Models Can Teach Themselves to Use Tools. Всего пару лет назад, седая древность. Смысл в том, что палкой-копалкой копать результативнее, чем голыми руками – и этому можно выучиться. Думать внешними мозгами результативнее, чем собственными голыми мозгами – и этому тоже можно выучиться.
У нас в методсовете развернулась дискуссия по использованному мной слову “мантра” (вот тут давал мантры оргразвития – системного мышления, операционную, распожаризации/lean, стратегирования: Мантры организационного развития: ailev — LiveJournal). Похоже, что “эксперты разделились на два лагеря” – одни горячо “за”, другие горячо “против”. Это означает, что “эксперты попали на неизведанную территорию”. Там буквальный перевод с санскрита “инструмент для собранности/focusing ума” и коннотация “непрерывного повторения”. И отсылку к эзотерике обращаем в шутку “доступности только посвящённым” (это ж формальное определение эзотерики!). Поэтому по смыслу хорошо подходит, как ни странно. “Повторяй мантру, она удерживает собранность”. Лучше, чем “повторяй шпаргалку, она удерживает собранность”, или “повторяй алгоритм, он удерживает собранность” (да ещё и разъяснения, что это не “пошаговый алгоритм”, а именно что “средство удержания собранности в длинных рассуждениях”). В литературе при этом полно употреблений термина “мантра” безо всяких эзотерических коннотаций. Будем строить тренировки по отдельным пунктам этих мантр.