Предметноориентированность непредметнориентированных моделей

В gonzo-обзорах вышел пост на мою любимую тему: специализация интеллектов, domain-specific LLM, DLLM (https://t.me/gonzo_ML/3605). Я бы их всё-таки называл по аналогии с DSL, domain-specific LLM, DSLLM и даже предметно-ориентированными фундаментальными моделями (хотя это оксюморон: или предметно-ориентированный, или фундаментальный/foundation) или даже моделями мира (world models). В русской традиции domain-specific будет "предметно-ориентированным", в англоязычной там тоже были варианты (https://ru.wikipedia.org/wiki/Предметно-ориентированный_язык ). И помним, что там забавные отношения языка, мира, моделирования мира языком, многомодальностью с паттернами и "всё есть текст", ветка на foundation models была с белками, генами, а также физикой (скажем, линия исследований Miles Cranmer -- https://ailev.livejournal.com/1723726.html), а также world (foundation) models, где порождается обычно тёхмерный мир-c-физичностью (https://www.nvidia.com/en-us/glossary/world-models/, всё это пошло с https://arxiv.org/abs/1803.10122, привет Шмитхуберу, https://worldmodels.github.io/). Предметноориентированность непредметнориентированных моделей, ага. Умение говорить со змеями, не будучи в СлизеринеDSL -- это умение поговорить на языке какой-то специфичной предметной области, "пообщаться со змеями", поговорить на Parseltongue, чтобы получить какое-то специфичное знание о предмете. В этой сфере было много интересного:-- языки высокого уровня все называли предметно-специфичными, ибо не общий машинный язык. Скажем, фортран или кобол -- доменно-специфичны, но потом только появились языки для генераторов отчётов, стало понятно, что могут быть и неполнотьюринговые языки.-- потом было движение пакетных языков, где пакеты работали с объектами определённой предметной области, а предметно-специфические функции и процедуры получали более-менее сложные структуры данных, хранившие промежуточное состояние обработки (удивительно, но первым пакетным языком был Фортран, который реализовал пакеты через common blocks, поэтому и оказался бессмертным -- на нём можно было писать DSL, которые тогда назывались "библиотеки")-- потом было огромное движение на облегчение создания DSL, называлось оно "языкоориентированное программирование", инструментарий там -- языковый верстак, language workbench (и я даже писал тексты типа "Йа язычнег, дайте мне капище", 2009, https://ailev.livejournal.com/683311.html). Была заметка, что для любой предметной области надо делать свой язык, в котором решение задач становилось тривиальным.-- смертельная схватка stand-alone и embedded DSL. Stand-alone проиграли, победили embedded. Быстро выяснилось, что некоторые хост-языки более приспособлены для создания и использования DSL, а некоторые -- менее. В Julia пошли дальше всех и начали работать над макро model, которая задаёт DSL (это после знакомства с Modelica), и даже доработали компилятор, чтобы лучше с этим всем работать (2017 год, https://julialang.org/blog/2017/08/dsl/). Ход был на акаузальное моделирование (декларативность: новые структуры данных и операции надо просто прикладывать к имеющемуся коду "снизу", как новые уравнения с системой уравнений. А потом "решает систему уравнений" пусть машина). -- в кровавом энтерпрайзе сообразили про domains и bounded context, предложили DDD (но до понятия DSL не довели, ибо там была идея простых операций над кучерявыми структурами данных в базах данных, а DSL вроде как исповедовало наоборот -- идею сложных операций над относительно простыми структурами данных в самом языке программирования). -- дальше ход на DSL стал таким простым, что понятие перестало использоваться. Остались по-прежнему библиотеки и внешние сервисы, в которых были API (но они были по сути -- те же DSL). Теперь мы немного знаем историю, попробуем прикинуть, что там с распределёнными представлениями:-- появились LLM, которые пытаются поймать за хвост универсальный солвер. И даже добились некоторого успеха, смотрим на линию reasoning. И там проблема, на которую подробненько указывал ещё Pedro Domingos в своём The Master Algorithm: всё движение AI хочет иметь "универсальный алгоритм", но это не будет получаться, ибо теорема бесплатного обеда говорит, что универсального в смысле скорости вычислений алгоритма не бывает. -- подтверждения в оптимизациях и решениях дифуров: библиотеки для более-менее общей сигнатуры вызова метода дальше обращаются к 100500 алгоритмам для частных случаев, а "общие решатели" оказываются не слишком пригодными. Ещё подтверждение было у CYC, там general problem solver всегда отрубался по таймауту, а DSL выигрывали (их называли там "ускорителями")-- для LLM примерно то же самое получается с линейкой выхода на tools (я их всех называю по старой памяти Toolformer, но там много подобных имён, последнее звонкое имя было Chain-of-Tools). При этом tools считаем "необучаемыми" (классические алгоритмы). -- но есть ещё старая линия обучаемых алгоритмов, нейросети вроде LLM в которых являются только одной из веток. И там мы просто делаем специали

Май 5, 2025 - 08:27
 0
Предметноориентированность непредметнориентированных моделей
В gonzo-обзорах вышел пост на мою любимую тему: специализация интеллектов, domain-specific LLM, DLLM (https://t.me/gonzo_ML/3605). Я бы их всё-таки называл по аналогии с DSL, domain-specific LLM, DSLLM и даже предметно-ориентированными фундаментальными моделями (хотя это оксюморон: или предметно-ориентированный, или фундаментальный/foundation) или даже моделями мира (world models). В русской традиции domain-specific будет "предметно-ориентированным", в англоязычной там тоже были варианты (https://ru.wikipedia.org/wiki/Предметно-ориентированный_язык ). И помним, что там забавные отношения языка, мира, моделирования мира языком, многомодальностью с паттернами и "всё есть текст", ветка на foundation models была с белками, генами, а также физикой (скажем, линия исследований Miles Cranmer -- https://ailev.livejournal.com/1723726.html), а также world (foundation) models, где порождается обычно тёхмерный мир-c-физичностью (https://www.nvidia.com/en-us/glossary/world-models/, всё это пошло с https://arxiv.org/abs/1803.10122, привет Шмитхуберу, https://worldmodels.github.io/). Предметноориентированность непредметнориентированных моделей, ага.

Умение говорить со змеями, не будучи в Слизерине
DSL -- это умение поговорить на языке какой-то специфичной предметной области, "пообщаться со змеями", поговорить на Parseltongue, чтобы получить какое-то специфичное знание о предмете. В этой сфере было много интересного:
-- языки высокого уровня все называли предметно-специфичными, ибо не общий машинный язык. Скажем, фортран или кобол -- доменно-специфичны, но потом только появились языки для генераторов отчётов, стало понятно, что могут быть и неполнотьюринговые языки.
-- потом было движение пакетных языков, где пакеты работали с объектами определённой предметной области, а предметно-специфические функции и процедуры получали более-менее сложные структуры данных, хранившие промежуточное состояние обработки (удивительно, но первым пакетным языком был Фортран, который реализовал пакеты через common blocks, поэтому и оказался бессмертным -- на нём можно было писать DSL, которые тогда назывались "библиотеки")
-- потом было огромное движение на облегчение создания DSL, называлось оно "языкоориентированное программирование", инструментарий там -- языковый верстак, language workbench (и я даже писал тексты типа "Йа язычнег, дайте мне капище", 2009, https://ailev.livejournal.com/683311.html). Была заметка, что для любой предметной области надо делать свой язык, в котором решение задач становилось тривиальным.
-- смертельная схватка stand-alone и embedded DSL. Stand-alone проиграли, победили embedded. Быстро выяснилось, что некоторые хост-языки более приспособлены для создания и использования DSL, а некоторые -- менее. В Julia пошли дальше всех и начали работать над макро model, которая задаёт DSL (это после знакомства с Modelica), и даже доработали компилятор, чтобы лучше с этим всем работать (2017 год, https://julialang.org/blog/2017/08/dsl/). Ход был на акаузальное моделирование (декларативность: новые структуры данных и операции надо просто прикладывать к имеющемуся коду "снизу", как новые уравнения с системой уравнений. А потом "решает систему уравнений" пусть машина).
-- в кровавом энтерпрайзе сообразили про domains и bounded context, предложили DDD (но до понятия DSL не довели, ибо там была идея простых операций над кучерявыми структурами данных в базах данных, а DSL вроде как исповедовало наоборот -- идею сложных операций над относительно простыми структурами данных в самом языке программирования).
-- дальше ход на DSL стал таким простым, что понятие перестало использоваться. Остались по-прежнему библиотеки и внешние сервисы, в которых были API (но они были по сути -- те же DSL).

Теперь мы немного знаем историю, попробуем прикинуть, что там с распределёнными представлениями:
-- появились LLM, которые пытаются поймать за хвост универсальный солвер. И даже добились некоторого успеха, смотрим на линию reasoning. И там проблема, на которую подробненько указывал ещё Pedro Domingos в своём The Master Algorithm: всё движение AI хочет иметь "универсальный алгоритм", но это не будет получаться, ибо теорема бесплатного обеда говорит, что универсального в смысле скорости вычислений алгоритма не бывает.
-- подтверждения в оптимизациях и решениях дифуров: библиотеки для более-менее общей сигнатуры вызова метода дальше обращаются к 100500 алгоритмам для частных случаев, а "общие решатели" оказываются не слишком пригодными. Ещё подтверждение было у CYC, там general problem solver всегда отрубался по таймауту, а DSL выигрывали (их называли там "ускорителями")
-- для LLM примерно то же самое получается с линейкой выхода на tools (я их всех называю по старой памяти Toolformer, но там много подобных имён, последнее звонкое имя было Chain-of-Tools). При этом tools считаем "необучаемыми" (классические алгоритмы).
-- но есть ещё старая линия обучаемых алгоритмов, нейросети вроде LLM в которых являются только одной из веток. И там мы просто делаем специализированные обучаемые алгоритмы, дифференцируемое программирование ("Дифференцируемое всё: от чёрно-белой картины мира к рябенькой", 2019, https://ailev.livejournal.com/1464563.html), и там ход на те же "инструменты", но по факту -- "нейросуррогаты" (дико популярная сейчас тема в вычислительной математике, ускорения там в сотню раз по сравнению с классикой при сравнимой точности).
-- тот же ход на "неуниверсальность универсального", но как "берём LLM, а затем там файнтьюним в ходе RL вычисления нужного нам domain". И вот эта линия демонстрирует просто чудесные результаты (вчера только писал про проектирование ракет, https://arxiv.org/abs/2504.19394, а в gonzo-обзорах поминают медицинские, финансовые приложения и приложения по безопасности, https://t.me/gonzo_ML/3606 -- формирование рынка "вертикальных" экспертов). Вопросы эти сетки понимают на "общеестественном" хост-языке (или даже на разнообразии языков), как и современные embedded DSL, а вот дальше -- глубокая экспертиза в узкой предметной области (по сравнению со всеми вообще классами задач, о бОльшей части которых мы вообще ничего не знали, как не знали о квазарах пару сотен лет назад -- это очень и очень узкие предметные области).
-- и дальше самые разные архитектуры "универсальной неуниверсальности": на базе интерфейса на естественном языке и некоторой "базовой логики" получаем Chain-of-Tools и просто Toolformer, MoE, мультиагентные системы с ролевой специализацией, естественноязыковые интерфейсы к сложным инструментам (грубо говоря, естественноязыковой интерфейс к API) и прочее такое.
-- после чего сразу понятно, что естественный язык (вернее, мультиязычье, ибо 100+ языков в LLM сейчас "из коробки") и даже мультимодальный интерфейс там к людям и отчасти миру. Вменяемость/persuadability (https://www.frontiersin.org/journals/systems-neuroscience/articles/10.3389/fnsys.2022.768201/full) -- это наше всё, одна из важных архитектурных характеристик интеллекта. Надо понять, о чём тебя спрашивает человек (или даже не очень человек), плохо знакомый с твоей предметной областью, у которого огромное понятийное расстояние до предмета твоей экспертизы. А потом надо ещё и ответить так, чтобы он понял, преодолеть это огромное понятийное расстояние (conceptual distance). Эта conceptual distance сейчас модная тема, погуглите (в США гугль уже делает поиск на базе Gemini, так что не надо менять привычный глагол. Воспользуйтесь VPN, чтобы "быть в США").
-- А вот внутри коллективных обсуждений даже мультиагентных систем будем иметь что-то типа DroidSpeak и Coconut, мышление само по себе внеязыково. Привет современнным семиотикам и лингвистам, им есть чем заняться. Хотя инженеры всё сделают раньше их, а им придётся заниматься художественным описанием происходящего, как философам сегодня, будут играть в бисер в своей Касталии, напрочь оторванной от реальной жизни. Про то, что семиотика и лингвистика в ситуации смены парадигмы писал только вчера (четвёртый абзац в https://ailev.livejournal.com/1763310.html).

Коллективное разделение труда: федерирование предметной экспертизы через заземление
Следующий вопрос -- это про то, как будет устроено коллективное разделение труда. Мало иметь предметно-ориентированного агента, надо ещё и уметь его воткнуть в работу какой-то команды, а команд -- в работу коллектива. Как будет устроен этот коллектив? Возьмём инженерные проекты: там есть весьма специфические роли, которые сильно отличались лет десять назад от таковых сегодняшнего дня (об этом более чем подробно у меня в руководствах по методологии и по системной инженерии. Скажем, работа архитекторов изменилась кардинально, а ещё там инженеры внутренней платформы разработки в рамках DevOps движения, но в сложных проектах есть и много другого -- скажем, в проектах ледовых буровых платформ какие-нибудь гляциологи).

Можно, конечно, говорить про MoE -- но это очень специфический разговор. Можно говорить о том, что эти эксперты смогут быть "модулями" (ага, "таблетками знаний" для кремниевых мозгов -- идеи типа model merge). Можно говорить о том, что все эти предметно-ориентированные агенты (новое старое слово!) будут в агентствах, и поставляться по три копейки за тысячу (во что трудно поверить), уже "доученные сотрудничать". Слабо верится. Системный менеджмент для нежити, организация труда человеко-машинных организаций -- это надо будет изобретать и изобретать. Тут с менеджментом для людей не можем разобраться по-человечески (pun intended), так ещё и с менеджментом для нежити вперемешку с людьми надо будет как-то разбираться! И корпоративной культурой, которая и будет давать преимущества, ибо в каких-то одних корпоративных культурах предметно-ориентированным агентам удастся сделать вклад в общий успех. а в каких-то других -- не удастся. И даже если говорить про alignment не как про синоним safety и security, а как про идею "договориться о сотрудничестве", тут пока конь не валялся -- одиночные работы на эту тему с попсовыми заголовками вроде "люди охотней подчиняются менеджерам-роботам, чем менеджерам-людям".

В коллективной разработке (ну, или коллективных исследованиях как части коллективной разработки) неизбежно возникает проблема interoperability -- информационные системы "специалистов" (domain-specific) должны как-то провзаимодействовать друг с другом, а внутренняя платформа разработки должна это обеспечить. Тут проблемно вообще всё, начиная с имени проблемы:
-- это ни разу не интеграция, а обычно федерализация данных (по ISO ISO 11354-1:2011 Advanced automation technologies and their applications — Requirements for establishing manufacturing enterprise process interoperability — Part 1: Framework for enterprise interoperability вводятся три подхода: integrated, когда системы совместно спроектированы, unified, когда системы пользуются общим стандартом обмена данными, federated, когда системы знать друг о друге не знают и надо мастерить какие-то коннекторы/адаптеры/конвертеры данных).
-- занимались в коллективной разработке этим обычно системы PLM, и там был тупик "онтологической интеграции данных" (показан в "Интеграция/федерирование данных жизненного цикла -- 2016" https://ailev.livejournal.com/1307116.html и тексте 2016 же года "Онтологии и бибинарная модель мышления", https://ailev.livejournal.com/1305176.html). Онтологии предметных областей (онтики, онтологии bounded contexts, предметных областей, та самая предметно-специфичность, предметно-ориентированность) оказываются несовместимыми, у каждого "спеца" там свой viewpoint на системы -- и при попытках как-то совместно использовать результаты их экспертизы оказывается боле-менее невозможным. Сегодня такие системы уже не PLM, а XP (разные eXperience platform, подробнее в тексте "Клиентоориентированность. CRM, CJM, CXP, DXP", https://ailev.livejournal.com/1739861.html), но проблема никуда не исчезла.

В текстах 2016 года у меня была надежда, что ситуации поможет как раз ход на коннекционистские модели и какие-нибудь байесовские (а не формально-логические) ходы на федерирование данных когда-то "данных жизненного цикла", теперь "данных инженерного процесса", ибо даже понятие "жизненный цикл" за десяток лет ушло. Сейчас понятно, что это та же проблема граундинга/заземления. "Деятельностное решение" наталкивается на те же сложности: умозрительно это не решишь. Скажем, Андрей Родин копает эту проблемы в серии работ, которая называется Venus Homotopically. Я упомянул её в https://ailev.livejournal.com/1679544.html как дающую надежду на новое поколение онтологической интеграции данных, но на базе HoTT вместо FOL -- https://ailev.livejournal.com/1679544.html. Там уже получше, чем в классике интеграции на основе стандартов вроде ISO 15926 и любых других аналогичных (чаще всего -- "проприетари схема данных eXperience platform), но по большому счёту -- решения нет. Спецы на формальном языке не договариваются, всё одно нужен граундинг, выход в физический мир, деятельностное решение проблемы. Как это выглядит? Один из основных аргументов в Venus Homotopically -- это Evening Star is Morning Star (11) is a non-obvious astronomical fact that needs an accurate justification, which involves both a solid theoretical background and appropriate observational data. Математика, чистое умозрение, не требует observational data. Это цитата из https://philsci-archive.pitt.edu/17600/1/bde.pdf (Axiomatic Architecture of Scientific Theories, 2020 — 249 страниц), по-русски этот же текст (уже на 279 страниц, Аксиоматическая архитектура научных теорий, российская докторская диссертация 2020 года, европейская habilitation thesis) вот тут -- https://philomatica.org/wp-content/uploads/2020/06/rus.pdf. Но аргумент этот про данные наблюдений/измерений в физическом мире -- во многих работах Родина, в том числе и упомянутой Venus Homotopically. Я соглашаюсь: проблема заземления не решается чистым умозрительным федерированием работ domain-specific хоть LLM, хоть классических информационных систем. Нужен выход в измерения, в физику.

А что у нас с физикой, можем использовать её?
С физикой же происходит ровно то же самое: все проблемы "интеграции знаний" (от замены "данных" на "знания" суть проблемы не меняется) остаются. Мы говорим, что "система Morning Star это та же система, что Evening Star". Это если мы используем понятие "система"! Но в самой физике в том самом месте, где они пытаются найти свою математику для интеграции своих данных (скажем, предметно-специфичных/предметно-ориентированных знаний квантовой физики и таких же -- гравитации) есть множество идей, как описать мир хотя бы безмасштабно, на уровнях размера форм/shapes, связанных по отношениям часть-целая. Даже если мы возьмём за основание самые что ни на есть унивалентные основания математики, останется проблема отождествления математических/умозрительных объектов с физическими (это ровно то, чем занимается физика, подробней об этом в руководстве по интеллект-стеку) на многих уровнях, причём так, чтобы это как-то билось с результатами экспериментов/измерениями. И добавим сюда ещё и инженеров, у них ведь тоже задачи описания своих многоуровневых систем.

Безмасштабность/scale-free/scaleless (одно и то же описание на самых разных системных уровнях) тоже в разных научных и инженерных школах будет обсуждаться разными словами, которые будут «синонимами с нюансами», отсылками к одной идее, но с подчёркиванием разных её аспектов:
• ренормализация как применение одного и того же формализма, одной и той же математики для описания каждого системного уровня. Это обычно там, где много физиков, знакомых с методами статистической физики.
• рекурсия как применение одного и того же метода работы на каждом системном уровне, это в системной инженерии (например, в стандарте ISO 15288:2023 этот термин используется для объяснения, что материал стандарта приложим к системам на всех системных уровнях)
• фрактальность, отсылка к самоподобию устройства уровней, в инженерии это весьма распространено75.
• инвариантность к масштабу (scale invariance, invariant scaling)76 как противопоставление «многомасштабности» (multiscale), где наоборот, подчёркивается роль различного моделирования на разных системных уровнях с выходом на общий результат моделирования77.
• самоподобие (Self-affinity, self-similarity78), как указание на повторяемость по отношению к самому себе, более общий термин по отношению к инвариантности к масштабу — ибо там самоподобие по отношению только к масштабу, но тут может быть распространено, например, на фракталы, где повторяется на разных масштабах форма.
• … ожидайте больше вариантов, идея «одинаковых паттернов на каждом уровне» (где паттерны — паттерны объектов, то есть типы, паттерны поведения, то есть методы, паттерны описания, то есть типы моделей) распространена, но каждый раз для этой идеи выдумывались свои термины и подчёркивались свои особенности.

Как у нас называются сущности, которые являются частями друг друга и целыми друг ко другу на самых разных уровнях? Очень по-разному:
• Системы/systems имеют границу и окружение, основное отношение часть-целое. Систем предлагается огромное количество, например, древние автопоэтические системы малоотличимы от агентов. Холоны — подчёркнуто то, что система состоит из частей-подсистем и сама часть надсистемы. Почему автопоэтические системы и холоны остались только в литературе прошлого века? Это хорошие метафоры (из frameworks, набора понятий), но под ними было мало формализации и математики, они были плохи для
формального разговора и более-менее точных предсказаний. Там, где мало математики и нельзя чего-то посчитать и сверить с экспериментом, не надо ждать сохранения. Но сам термин «система» из физики, так что с ним будет всё в порядке.
• Агенты/agents с главным свойством автономности, в том числе у них важна устойчивость к распаду от внешних воздействий. Варианты агентских подходов весьма разнообразны, например, в подходе «деятельных рассуждений»/«active inference» как раз в терминологии чаще всего используются агенты79. Математики и физики с этой терминологией довольно много, поэтому можно ожидать сохранения термина.
• Ренормализованные сущности/entities, подчёркивают идею инвариантности к шкале, уровню гранулярности и использованию одной и той же математики для описания явлений на разных уровнях80.
• Ренормализованные нейроны, упор на применимость математики машинного обучения, этим занимаются во многих местах81. Иногда возникают терминологические коллизии, если ожидается, что эти работы будут читать биологи, для которых «нейрон» — это не тип объекта в многоуровневой системе, а биологический нейрон, клетка. Поэтому иногда для «ренормализованного нейрона» из физики вводят синоним: IPU (information processing unit, причём этот термин вводится только в рамках этой теории и означает по сути «систему», описываемую в терминах машинного обучения — полный синоним «ренормализованного нейрона», выбор такого термина связан с его общностью).
• Cоздатели/constructors, акцент на неизменность-неразрушаемость при выполнении операций с окружением (что очень похоже на агента, но акцент не на автономность, а на готовность к повторению операций, неразрушимость во взаимодействиях)82.
• Наблюдатели/observers, в таких, например, работах, как «Towards scalefree formalization of physical systems as observers»83.
• Машиностроительные узлы/nodes, подчёркивают идею многоуровневой сборки из комплектующих84.

По большому счёту, это всё отсылки к одному и тому же концепту, «синонимы с нюансами» — разные термины подчёркивают разные аспекты описания, разные акценты.

75 https://fractalfoundation.org/OFC/OFC-12-1.html
76 https://en.wikipedia.org/wiki/Scale_invariance
77 https://en.wikipedia.org/wiki/Multiscale_modeling
78 https://en.wikipedia.org/wiki/Self-similarity
79 Математика по физике агентов в сочетании с active inference можно найти в
https://chrisfieldsresearch.com/, а работы по active inference — в https://www.activeinference.org/
80 https://en.wikipedia.org/wiki/Renormalization_group
81 https://www.pnas.org/doi/full/10.1073/pnas.2120042119, https://arxiv.org/abs/2409.13421
82 https://en.wikipedia.org/wiki/Constructor_theory
83 https://www.youtube.com/watch?v=Xy3hmESLRtw
84 https://ru.wikipedia.org/wiki/Узел_(машиностроение)

Это просто большая цитата из текущей версии руководства по системной инженерии (там в тексте это пока ещё "курс", скоро всё переименую в "руководство", уберу учебный контекст), и все ссылки литературу там вполне даны — https://disk.yandex.ru/i/osCqdEpxw4gNEA. Физики ещё ищут свои универсальные объекты для описаний, и даже термин "система" не гарантирует, что два спеца поймут друг друга в коллективной разработке. Идеи/концепты примерно (с нюансами) одни и те же, формализмы немного разные, договориться вроде бы надо -- но не очень понятно, как. Если мы будем считать, что это всё те самые "спецы со знанием естественного языка" (физики -- они именно таковы!), то это вроде как проблемы с этим "договориться" не снимает. Замена мокрой нейронной сетки физика на предметноориентированную LLM этих проблем по "договориться со всеми остальными" не снимет.

Общая тут мысль в том, что непредметноориентированная (фундаментальная) часть предметноориентированного спеца тоже вызывает огромные вопросы -- если мы, конечно, хотим запускать ракеты, бурить нефть и лечить людей, делать то, что упирается в конечном итоге в математические модели, адекватно сжимающие информацию о мире -- так, что можно проверить заземлением-как-у-физиков, через "посчитать и измерить", а не "поразмахивать руками". Если хотим заниматься художественным/философским творчеством, то всё это необязательно, сойдёт и "как сейчас".

Как обучить эксперта
Обучить эксперта трудно, и проблема копирайта тут самая незначимая (я считаю, что эту проблему история смоет в унитаз. Или вы храните свои данные в секрете, или не обессудьте, прав собственности на большие числа не бывает -- это наследие идей королевской цензуры с общей для цензуры инфраструктурой не выживет, и поделом. Нет, я не левый -- я не за копилефт, я за здравый смысл, это как раз "критика справа"). Есть много других важных задач, первая из которых -- удержание SoTA.

Мало кто помнит о том, почему не взлетели экспертные системы. Ведь первые эксперименты показали, что они вполне возможны, начиная с приснопамятной MYCIN (https://en.wikipedia.org/wiki/Mycin). Там было всё абсолютно рабочее, но пользоваться было нельзя: с трудом собрали (knowledge acquisition -- это дико трудно! Даже сегодня: попробуйте собрать tacit knowledge, которое не записано даже в постах в блогах, а просто наличествует в головах экспертов), отладили, а завтра утром система устарела, ибо появилось новое знание о новых антибиотиках, новых симптомах! Получалось так, что экспертные системы всегда не SoTA, а в прошлом поколении, всегда позади людей-экспертов. МИЦИН был вечно "вчерашний", "опоздавший", "не современный", выдавал назначения как лучший врач пару лет назад.

Поэтому ключевая проблема -- это управление конфигурацией знаний. Я писал о маленькой части этих проблем (на примере, кстати, тех же gonzo-обзоров) в "Эскизе клубного AI-проекта", разделы отслеживания трендов и ведения новостной ленты, https://ailev.livejournal.com/1757701.html. И это только часть проблем, ибо:
-- у нас в любой момент времени есть куча фронтирных теорий непонятной степени фальсифицируемости. Вот как с квантовой гравитацией: каждую неделю появляется очередная работа, которая объявляет, что "найден путь к решению проблемы".
-- значительная часть этих теорий непонятной степени фальсифицируемости -- это изобретение уже давно кем-то изобретённого велосипеда, при этом формально даже не будет отличий, но отличия будут в терминологии (каждый изобретатель выдумает свою, поэтому сопоставить эти тексты будет очень трудно).
-- если говорить о "курируемых наборах данных для обучения", то тут весь вопрос -- кто будет этот набор курировать? Тот самый эксперт, который хорошо выучен теории флогистона своей экспертной области и поэтому новую парадигму будет считать злом и мороком, который быстро пройдёт, кем-нибудь (даже им самим!) будет фальсифицирована? Курация наборов данных вручную -- ха, это давно проехали. Но судьи кто? В том числе в науке?

Ещё одна проблема -- это проблема сжатия. Интеллект и сжатие информации давно рассматриваются как чуть ли не синонимы (много раз об этом писал, например, в "Жми, господь", ещё в 2018 году, https://ailev.livejournal.com/1414038.html, а потом там было ещё много). Когда-то на вопрос 2011 года "почему вы в IBM Watson не перевели все ваши тексты в граф знаний" отвечали "потому что вопросы в Jeopardy! могут быть любые, а перевод в формализованное представление -- это резкое сжатие информации, и ненароком можно отжать что-то важное, что спросят -- мы же не знаем, что будут спрашивать!". Контраргумент: "так с исходными текстами дикая возня, уйма вычислений!". Ответ был "так а почему IBM Watson -- это прежде всего суперкомпьютер?". А есть ли там граф знаний, онтологический формализм? Ответ: есть, примерно 200 понятий, ибо аннотирование этими верхнеуровневыми категориями позволяет чётче отличать форд-автомобиль от форда-капиталиста и форда-президента, точность ответов растёт на примерно 14%. Вот LLM -- это одна из форм сжатия, поскольку что именно и как там жать -- это определяется самой сеткой. Но это таки сжатие информации! Оно идёт в двух уровнях:
-- когда из какой-то среды результаты измерений, рассуждений и чего угодно упаковываются главным образом в тексты, ибо даже в мультимодальных LLM оказывается, что это прежде всего тексты, знаковые системы, то есть модели. Модели -- это когда мы делаем какую-то систему М (модель), ведущую себя примерно так же в важнейших (не всех!) аспектах, как моделируемая система S. А информационные модели, которые суть "описания"? Не забывайте, что рядом с моделью-данными (скажем, квадратики со стрелочками) всегда есть физический вычислитель, который что-то там такое вычисляет по этой модели, как по алгоритму, толкует/интерпретирует это описание. Так что всегда речь идёт о физической модели. Если описали что-то, то описали не все аспекты, сжали информацию.
-- дальше из текстов (и чуть-чуть картинок и таблиц) мы жмём информацию в веса модели, и можно обсуждать, насколько сильно, насколько всю информацию, сколько там должно быть этих весов, чтобы сжималось не слишком сильно -- наиболее известна тут работа "Language Modeling Is Compression", https://arxiv.org/abs/2309.10668.

При распаковке, понятно, будет всё то же самое -- два уровня распаковки. "Изречённое дао -- не настоящее дао", для множества концептов нет в близкой окрестности точных концептов, для которых есть адекватный символ-знак-термин. Конечно, можно что-то с этим делать, например, все эти DroidSpeak и Coconut работают прямо с латентным пространством, делая чуть более точной коммуникацию между нейро-агентами, но для сообщения результатов мышления нежити людям это не годится. Тем не менее, принципиальные ограничения моделирования остаются. Так что можно запасаться наборами данных для обучения сеток, но понимать при этом, что из этих данных будет взято "что-то", но не всё. Ну, и дальше вопросы объяснимости того, что делают эти "нейроэксперты" (ибо "объяснённое дао -- ненастоящее дао").

Это потихоньку всё будет решаться, но я бы не надеялся, что запастись наборами данных для обучения DSM (сократим пока до domain-specific model, не уточняя -- language, foundation, world model и large ли это model, и даже не упоминая про нейровость). В глубоких распределённых представлениях очень качественное, но всё-таки моделирование, часть информации о предмете выкидывается. Это всё representations learning, вот у меня пост про обучение представлениям 2012 года, "занимался deep learning, когда это было ещё не модно", https://ailev.livejournal.com/1045081.html. Так что жмём, возможно, не так сильно, как жмём для knowledge graph, но жмём таки сильно. После этого сжатия ответы на многие вопросы, которые были в исходных данных, в итоговую жатую модель не попадают.

Какой выход из ситуации? Отвечают люди из движения open-endedness: выпускать всех в реальный мир, давать возможность действовать и измерять всё самим. Познавать (learn тут -- познание, конечно) не по данным (не в библиотеках), а в ходе работы в лабораториях и инженерных проектах. То есть говорить не об LLM, не об AI-агентах в датацентре, а о роботах. Страна гениев на территории, а не в датацентре, ага.

Картинка тут меня в те дни, когда я пишу эти строки. Это я сижу в самом что ни на есть турецком парк-отеле, где таблички на самых разных языках (это можно разглядеть, красненькие такие таблички, которые попали в кадр). Бар рядом с магазином, и магазину надо договориться по его предметно-специфичной экспертизе с проходящими мимо другими языко-специфичными специалистами. И магазин изо всех языков выбирает одно слово -- и крупным шрифтом помещает его среди всей этой турецщины-неметчины-англоязычщины. Это слово "кожа", оно как раз над моей головой. Вот она, интеграция данных курортного цикла, тьфу, магазинного процесса.
photo_2025-05-04_11-17-07