Lytdybr -- от 2 февраля 2025

Полностью переписан первый раздел, “Безмасштабная эволюционная системная инженерия” курса “Системная инженерия”. Отражены современные воззрения на общую эволюцию, частями которой являются биологическая, культурная, техно-эволюция. Терминология “практик” заменена на терминологию “метода работы”, диаграммы графа создателей отражают современные представления о kernel с 4 альфами. Дальше, надеюсь, дело пойдёт быстрее. Вот: Aisystant (но переписан пока только первый раздел и введение, остальное пока не трогал).

Сам я экспериментировал с o3 вчера, в первый же час после выпуска. O1 и o3 (как я понимаю, первая более эрудированная, а вторая – более умная) уже те модели, с которыми мне интересно поговорить. И o3 можно ещё запустить в сеть что-нибудь поискать (проблема в том, что ищет она недолго и не так уж много – но всё одно результаты интересны). Я тестирую эти сетки главным образом на одном вопросе: что там с обучением деток функциональному программированию. Плохо, плохо обучаются детки абстрактным концепциям. Но когда-то и императивному программированию было непонятно, как обучать. Ничего, приспособились, теперь даже дошкольная информатика есть. И это даже не вопрос, нужно ли такому обучать людей – нужно, чтобы они не поглупели хотя бы по отношению к себе (хотя победит в конкуренции тот, кто сможет лучше воспользоваться AI, но для этого как раз и нужно иметь мозги). Люди вокруг тоже развлекаются с новыми моделями, как могут. Вот такие запросы вполне можно делать: x.com (сравнение моделей o3 и R1 на промпте "“write a Python program that shows a ball bouncing inside a spinning hexagon. The ball should be affected by gravity and friction, and it must bounce off the rotating walls realistically”). Ну красота ведь! Главное – наглядно. o3 уже наделала шороху не меньше, чем R1 – вот тут можно глядеть на разные примеры, то что за ночь набежало (это если не рыть специально): x.com. Всё равно R1 круче: они подробно рассказали, что и как они делали, теперь весь мир умеет так (и o3 тоже можно пробовать повторить – если есть побольше чипов, это уже не секрет, что там происходит и как это получить). Ну, и R1 можно дистиллировать, можно запустить на своём железе по выбору, можно модифицировать – чего не сделаешь с o3. Но o3 красиво подана и сразу огромному числу людей, которым не надо никуда дополнительно регистрироваться на умело и вовремя положенный DDoS атакой китайский сервер (DeepSeek faces surging cyberattacks, US IPs among thousands targeting Chinese AI start-up - Global Times). Так что потребительскую культуру в части AI изменила o3, а вот культуру разработчиков – R1. Что же Гугль с его Gemini 2.0 Thinking? Ну, по всем метрикам там хорошо, но мне лично что-то тамошние выдачи не очень нравятся – не такие убедительные, как у конкурентов. Поэтому в изобилии сегодняшнего дня и примерно равных ответах от всех моделей текущего думающего поколения – до остальных моделей просто руки не доходят.

Поизучал вопрос распространения технической культуры методом включённого наблюдения: сделал интервенцию с вопросом про “какие IDE вы используете с Julia, чтобы работать с новым чудесным поколением AI в софтверной разработке”. Результаты печальные — там всё плохо, в целом программисты вообще не понимают происходящего, увы. В корпоративном секторе, думаю, чуть лучше. Но в кругах программистов LLM — там да, всё хорошо, и этих программистов уже много, они всё понимают. Но они живут в информационном пузыре, за пределы которого знания распространяются жёлтой прессой. Разговор про Julia от этого момента — Telegram: Contact @JuliaLanguage. Понимания, что сегодняшние думающие (reasoning модели R1, o3-mini, Gemini 2.0 Thinking) LLM – это новое поколение с новыми удивительными свойствами, там нет. Живут, увы, на старых мемах. “AI глупый, расслабляемся”. Да, пару лет назад было дело. Сейчас AI уже не очень глуп, хотя иногда и тупит отчаянно, но у меня нет глубокой веры в человечество, люди тоже ведь глупят отчаянно на ровном месте. Например, в кодировании у o3 с Elo 2073 уровень “мастера”, таких в мире примерно пару тысяч человек (https://codeforces.com/blog/entry/68288), но да, совсем недавно такого не было. “AI всё равно не может думать, лучше людей. Ибо учился на том, как думают люди”. Да, ещё одно поколение нейросетей назад так и было. Сейчас AI учится думать – и научается именно решать задачи, сам научается, а не повторяет за людьми, это и есть переход от RLHF к RL как третьему шагу обучения после 1. Pretrain и 2. Finetune – это как раз 3. Reinforcement learning. Я тут уже постил ссылки. Вот один из первых объясняющих текстов с картинками: The Illustrated DeepSeek-R1 - by Jay Alammar. Вот более-менее простое изложение сути для маленьких (по сравнению с промышленными) моделей — чтобы показать, что речь идёт о воспроизводимом феномене, а случайной находке одной группы исследователей – Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.. Новое поколение моделей использует ровно вот это: сами модели те же, обучают по-новому — появилась третья фаза обучения, RL, и на ней модель обнаруживает, что рассуждения и рефлексия над рассуждениями даёт возможность находить ответ на вопрос. Вот текст Andrey Karpathy про примат RL по сравнению с RLHF (суть в том, что RL это trial-and-error learning, заставляет искать крутые ходы, типа “хода 37” от AlphaGo, а RLHF это imitation learning, заставляет имитировать тот потолок полёта мысли, который есть у людей, и часто это даже не лучшие люди): x.com. Основная фишка тут в том, что RL тоже можно учить, в какой-то момент ты учишься делать более радикальные догадки о том, что надо бы попробовать, догадываешься, насколько надо вернуться назад после ошибки и т.д. Он докручивает эту же мысль на примере задач из учебника: x.com. 1. Текст из учебника – это pretraining, знакомишься с идеями. 2. Дальше идут примеры решений, supervised finetuning. 3. А вот дальше RL, обучение с подкреплением – идут задачи с ответами, и тебе надо делать уж что можешь, чтобы попасть в правильный ответ. Вот он говорит, что для LLM надо “писать учебники” с этими тремя видами данных. We’ve subjected LLMs to a ton of 1 and 2, but 3 is a nascent, emerging frontier. When we’re creating datasets for LLMs, it’s no different from writing textbooks for them, with these 3 types of data. They have to read, and they have to practice. Вот-вот, про мокрые нейросетки я думаю то же самое. Но мокрые нейросетки одни и те же всё время, мало что меняется, а вот с нежитью вдруг резко всё поменялось. Ожидалось, что валидатор должен быть “символический” и это и будут “нейросимволические вычисления”, но по факту оказывается, что валидатор вполне оказался работающим в нейросетях же, не надо двух сеток, всё сама, всё сама. Новое поколение моделей тем и интересно, что выучивает в цикле запускать генерацию и валидацию! То есть это не программируется, и это не показывается на примерах рассуждений, а “открывается” в ходе погони за наградой — получением правильного ответа. И поэтому надо в разы (x40) меньше данных, меньше обучения, а результаты — круче, и там ожидается, что буквально следующее поколение в обычных задачах начнёт делать “ход 37” (это тот знаменитый ход AlphaGo из партии с Седолем). Нежить уже по факту крутит эволюционный цикл проб и ошибок внутри себя в ходе думания, и были ссылки про эквивалентность работы нейросеток и эволюционных/меметических алгоритмов. Заодно оказалось, что не надо туда совать монте-карло tree search, без него тоже всё работает. В жёлтой же прессе идёт истерия и политика – китай против США, жуткая DDoS атака на DeepSeek, баги модели R1 (как будто у других моделей их меньше, но поглядели бы лучше на кожаных и их баги – вот где проблема!).

Ох, какой длинный абзац – но я там в дискуссии написал много больше, в том числе выяснял вопрос, что там с реактивными ноутбуками вместо классических IDE – как они там живут с AI, все эти Pluto. Ответ: если это Julia, то никак. Все подвижки – в marimo, AI completion - marimo. Инструментальный рок-н-ролл из Julia куда-то ушёл, интересно бы понять – какие особенности культуры тамошних разработчиков с этим связаны. Понятно, почему стиль там в использовании реактивных ноутбуков вместо IDE, но непонятно, почему с AI проблемы. Редкие сервисы типа https://www.yeschat.ai/gpts-9t563osHAiB-JuliaExpertGPT – не в счёт. Вот я и удивляюсь: у питонистов всё есть по этой части, а у Julia нет. А потом можно удивляться, как там все живут — а живут, потому как не только “удобно”, но и ещё тебе под руку добавочно думают, поэтому всё становится быстро. А в julia скорость выполнения хорошо уравновешивается медленностью в разработке. Хотя цель была — снять проблему двух языков, иметь язык с быстрой разработкой и быстрым исполнением, и тем самым съесть всех “одноязыковых”. Но что-то пошло не так, начиная с многолетней борьбой с JIT… локально пока ведёт Python, идёт голосование ногами — скатываются в него для вычислительных задач с самых разных других языков, про R я слышу много реже, чем пяток лет назад. Но в целом с Julia всё нормально, она отъела практически всё Software 2.0, где обучающийся алгоритм не LLM — всякие нейросуррогаты, например (NeuralSurrogate · Surrogates.jl). Обещания потихоньку выполняются, но в части культуры примерно всё то же самое, что с отставанием в обсуждении эволюции моделей LLM (у людей в головах ситуация не сегодняшнего дня, а “я пару лет назад пробовал, у меня не пошло”). Опять же — там довольно узкий сегмент, это скоростные вычисления всяких дифуров и всякой физики, вот там всё нормально, но поскольку в этом мало кто понимает, то за пределами узкой тусовки всё пока плохо. Там ещё плохо, что это не ООП и не функциональное программирование — поэтому не унаследована огромная литература “как этому учить, как об этом думать, какие паттерны программирования”. Поэтому какая-то культура там есть, но она не очень стремительно двигается — питон всех зашиб, ибо люди пошли заниматься LLM, а там уже питон. Ну всё, эволюция тормознулась.

С роботами тоже всё потихоньку идёт, и даже с автопилотами идёт – но там ещё не научили модели рассуждать, хотя тоже удивительные результаты, скажем, Genie 2: A large-scale foundation world model – Genie 2: A large-scale foundation world model - Google DeepMind, это аж 4 декабря 2024. Genie 2 is a world model, meaning it can simulate virtual worlds, including the consequences of taking any action (e.g. jump, swim, etc.). It was trained on a large-scale video dataset and, like other generative models, demonstrates various emergent capabilities at scale, such as object interactions, complex character animation, physics, and the ability to model and thus predict the behavior of other agents. А автопилоты, разве там не банкротятся все подряд? Нет, не все подряд. Вот, например, Tesla в июне собирается таки запустить роботакси в июне 2025 в Остине, Техас, https://www.perplexity.ai/page/tesla-robotaxi-to-launch-in-ju-MZ4hg3QOQFmus7zo1ai3cQ (и смотрите, ссылку на новость я даю в perplexity, поиск по новостям тоже уже не весь гуглёвый, жизнь опять изменилась).

Ещё опять (поскольку “думающие” сетки очевидно поумнели) возбудились все алармисты, перепосты Bengio – Yoshua Bengio, перевосты интервью Hinton, https://www.youtube.com/watch?v=vxkBE23zDmQ. Они прямо там говорят про “человечество вполне может вымереть”. Хинтон ещё и художественно говорит, “AI вот-вот будет существенно умней людей, примерно как взрослый умней трёхлетних детей. Один взрослый легко справится с толпой трёхлеток, пообещав им конфетку, побеждает ведь самый умный”. И это изо всех утюгов. Я лично считаю, что правильный фреймворк по рассуждениям тут эволюционный — это ж проявление эволюции, которая и био, и культурная, и техно-эволюция. Причём эволюционные алгоритмы тоже подхакиваются, а понимание эволюции существенно изменилось в последнее время. Скажем, в эволюции нет идеи “прогресса”, но есть идея динамического ландшафта приспособленности и идея увеличения сложности, и эволюции на всех масштабах. Вот это и надо смотреть, а не “один искусственный интеллект нападёт на множество естественных, выживут только кошки и тараканы”. Настоящая проблема — это проблема эволюции. Там изменилось в представлениях о ней чуть более чем всё за последние двадцать лет. Скажем, гены — это уже не “основная единица эволюции”. Собственно, Demis Hassabis писал, что надо solve AI, а уже AI должен solve все остальные проблемы. При этом новизна лежит как раз в мутациях, в эволюционных алгоритмах — не в градиентном спуске (он всегда в локальный минимум), а в прыжках стохастичности, чтобы был шанс попасть на склон горки повыше. А теперь смотрим на вселенную, которая вот этот всё вычисляет — это и есть эволюция, минимизируется free energy. Если уж обсуждать “мы тут все вымрем”, “AI быстро развивается”, то это ж типичные рассуждения про судьбу популяций в эволюции. И без обсуждения собственно эволюции все суждения как-то не очень.

Это всё обсуждалось и в чате gonzo-обзоров, причём вышло к обсуждению “направления эволюции”. Там очевидный ход был на то, что “в многомерном пространстве всегда можно найти дорожку к настоящему оптимуму, а не локальному, SGD rulez”. Да, это мы слышали. Там фишка в том, что если функция convex (выпуклая), то всё ОК. Если не выпуклая, то не всё ОК. При этом в 2014 году была работа с диким числом цитирований — там вообще проблема в другом оказалась главной, и был предложен алгоритм — [1406.2572] Identifying and attacking the saddle point problem in high-dimensional non-convex optimization. Но главное даже не это: в случае эволюции речь про эти оптимизации обычно идёт как о находящей статический оптимум, а в жизни у нас эволюция всего, и эти локальные и глобальные оптимумы бегают, как зайчики: где вчера был оазис, там сегодня смерть, а где вчера был каюк — сегодня кормят, и так бесконечно. Потому как теория эволюции берётся в её старинной версии, прошлого века, СТЭ (синтетическая теория эволюции). Это активно обсуждается: в eco-evo-devo (современная теория многоуровневой эволюции) любят говорить, что вопрос survival of the fittest оказался не самым интересным, интересней вопрос arrival of the fittest, и тут уже ход на предсказание — с признанием того, что ландшафт приспособленности динамический, а не статический. И СТЭ давно уже не SoTA, ибо этого концептуального синтеза не хватает, там давно уже расширенный эволюционный синтез. Вот учебничек Lala со товарищи, “Evolution evolving”, Evolution Evolving | Princeton University Press (в Сети, конечно, есть и не в магазинах). То, что не все биологи с авторами этой книги (а авторы там все знаменитые, это некоторый консенсус исследователей из разных университетов) соглашаются, так понятно: наука развивается, увы, путём похорон носителей старых идей. И ещё есть два направления работы эволюционистов: те, кто работают с быстрой эволюцией бактерий, архей и иногда вирусов (которым отказывают в статусе живых, тем не менее, эволюция работает и там) — и в этом мире очень хорошо работает математика и общий подход статистической физики, среди них как раз Ванчурин-Кацнельсон-Кунин-Вольф, и вот эти из монографии, которые про эволюцию многоклеточных, но зато ещё культуры и даже техносреды. Вопрос эволюции нам тут важен, и это не оффтоп: обсуждаем эволюцию как культурную (идей), так и техносреды (например, AI-систем, чему на мой взгляд и посвящены gonzo-обзоры), а там ровно те же закономерности, что и “эволюции как таковой”, поэтому нельзя тащить старые теории. А ещё эволюция внутри нейросеток — ибо алгоритмы работы нейросеток оказываются меметическими, то есть алгоритмами, учитывающими локальную и глобальную оптимизацию (были работы, показывающие эквивалентность, [2410.02543] Diffusion Models are Evolutionary Algorithms только одна из работ). Я вчера опубликовал переписанный первый раздел курса “Системная инженерия”, там как раз разбирается вопрос об эволюционности современной системной инженерии (а разработка AI систем — это вполне себе инженерия). Вот (бесплатно после регистрации, но там обсуждаем только первый раздел, остальное не переписано — ну, и там много отсылок к материалам курсов “Системное мышление” и “Методология”, уж не обессудьте, это просто часть длинной годичной учебной программы, не попсовая книжка): Aisystant. Поэтому вопросы о “направленности эволюции” и “может ли помочь градиентный спуск” хороши, но не хороши — если бы fitness landscape был статичным, то обсуждение было бы осмысленным. А поскольку этот ландшафт динамический, и всё быстро и все эволюционируют разом (почему он и динамический), то “направление эволюции” существенно петляет, направление “ползьбы на оптимум” каждый день существенно меняется. В любой момент можно ожидать много интересного, а эволюция систем AI как раз пример работы dynamic fitness landscape — кто вчера был ничем, тот сегодня стал всем, и наоборот (собственно, всё это нейро-направление как раз пример: они были не fit, а потом пришли видеоигры, потом CUDA — и вот, теперь fit). На картинке как раз динамический ландшафт, на нём показана серыми точечками популяция — кто-то там вымирает, кто-то успевает выжить, но когда говорят о “направлении эволюции” надо помнить об этой картинке.

4 лайка