lytdybr
Лабораторию собранности сегодня не записывали на видео, но довольно долго обсуждали prompt engineering и нейролингвистическое программирование для людей, разные архитектуры для задания контекста к нейросеткам. Тут довольно много разных соображений: токены (из эмбеддингов: буквы, слоги, слова, фразы, даже документы), мемы и паттерны из NLP как конструкционистский подход к работе с этими токенами/мемами в качестве "единиц нейролингвистического программирования". Я расчехлил "Шёпот на ветру" Гриндера и "Учительское совершенство" Бэндлера. И вспоминаю, что я такого с этим сам делал (много ведь чего! Вот, например, про выбор терминологии в 2009 году https://ailev.livejournal.com/649230.html -- и были у меня потом многочисленные эксперименты). Или вот про нейросемиотическое программирование в 2003, https://ailev.livejournal.com/88102.html -- и "The Routledge Handbook of Semiosis and the Brain" про нейросемиотику вышла в самом конце 2022, и там даже глава есть про active inference, https://www.routledge.com/The-Routledge-Handbook-of-Semiosis-and-the-Brain/Garcia-Ibanez/p/book/9780367509163 (в z-library всё это есть, конечно). Я этот подход семиотики "всех модальностей" называл то синестезийным (как это проявляется в поверхностной структуре), то амодальным (как это проявляется в глубокой структуре). Тут, конечно, нужно учитывать наличие квантовых/дискретизационных/символьных/цифровых эффектов в нейросетке (Ванчурин и Кацнельсон). И ещё хорошо бы пересказать всё это НЛП как обращение не к бессознательному (новый код) или не-пойми-чему (первый код), а использование нейросетевой обработки (новый код) и логики (первый код). Это, наверное, и будет искомым "третьим кодом", который мы пытались найти в проекте openmeta -- но там а) не хватало вот этого знания про нейросети и что там с ними происходит из сегодняшнего deep learning, б) понимания системного подхода и системной инженерии, какое есть у нас сейчас, в) понимания эпистемологии, какое есть у нас сейчас. Надо бы с этим современным пониманием всё перечитать. Там ведь много интересных ходов было предложено, но они тонули в шуме не слишком точных моделей и кривоватой эпистемологии representations learning. Все эти ходы на "процессность" от примата кода, типа https://ailev.livejournal.com/762113.html. Вообще, НЛП наиболее интересно было своим подходом к моделированию, а не к использованию моделей (это и в "Шёпоте на ветру", 2001 год, и вот тут у меня во втором пункте 2003 год -- https://ailev.livejournal.com/106003.html). И там есть ещё разные clean speak и прочие интересные техники, не говоря уже о focusing. То есть понятизация (роль "поэт") должна бы как раз и на этом материале работать, равно как и большие куски "собранности" и чуть-чуть семантики. Конечно, тут надо быть внимательным, чтобы не говорить каждый раз "о, это всё то же самое, что было". Но в оригинальном НЛП было много выборов про моделирование, а затем обучение человека практикам моделирования, затем практикам программирования (обучения), затем понимания того, как работают результаты программирования -- и в привязке к людям. А в современных нейросетках такого аспекта нет, ибо всё это "тупые железяки". Вот и надо попробовать это объединить.
Кстати, вот тут ещё альтернативное движение prompt engineering развивается — для работы с маленькими доменами, но LLM. Тот же тренд на "микротеории", которые рассматриваются как предметно-специфические и поэтому идёт для них какая-то дотренировка чего-то в общей архитектуре (отдельного слоя, отдельной сетки, отдельного промпта, отдельного вектора данных), но при этом сама LLM остаётся замороженной, поэтому время дотренировки получается маленькое, "SwitchPrompt: Learning Domain-Specific Gated Soft Prompts for Classification in Low-Resource Domains", https://arxiv.org/abs/2302.06868. Эта работа не прорывная, но показывает связь prompt engineering как context engineering. И ещё интересное по линии рассуждений "мы эмулируем tools внутри сетки, то есть делаем микротеорию, которая что-то выводит как нам надо, а не юзает всю LLM в целом": промпты, которые вычисляются, чтобы уж точно попасть куда надо (правда, там попадают не "куда надо", а находят странное поведение из-за мусорного датасета): https://www.lesswrong.com/posts/aPeJE8bSo6rAFoLqg/solidgoldmagikarp-plus-prompt-generation (мусорный датасет вычислили, там в комментах, это https://github.com/artbn/RC/blob/master/hoc.txt). То есть prompt engineering поручается самим сеткам. Stanley и Lehman говорили, что фишка не в агенте, а в контексте: насколько богатую среду можем предложить. Получается, что фишка не в LLM, и даже не в наборе данных, на которых она познаёт MVP (minimal viable product, ага) окружающего мира, а ещё и в богатстве промпт-среды: в наведении внимания к какому-то контексту, многоуровневое наведение внимания. То есть в когнитивной архитектуре явным образом выделяются:
— LLM, которая должна быть быстрой и компактной (LLaMA-65B с открытым кодом, похожая на неё Chinchilla70B с закрытым кодом, но и модельки побольше, наученные на числе токенов побольше)
— "наложенные" эмуляторы разных "машинок" для разных domain, которые делаются на базе этой LLM прямо внутри ("эмерджентные свойства LLM"). То есть выучивание/познание сеткой разных интерпретаторов разных языков прямо внутри сетки.
— tools/accelerators, обращения к которым выучиваются из LLM (по модели CYC и Toolformer)
— генераторы internal prompts/context pointers, которые ведут LLM со всеми её тулами в какой-то домен, типа DeepPavlov Dream
— и собственно пропмты юзерские, где опять-таки разделяются "текущий промпт-реплика" и "память всего диалога/чата" (которую тоже можно сжимать и отправлять в раздел "генераторов" для последующего употребления).
— и ещё "антипромпт", то есть понимание, что с сеткой в чате беседует другая сетка (юзерская) и нейролингвистическое программирование пользователя (скрытое или явное -- это можно подумать, но промпты для этого программирования сетка вполне может сгенерировать и подмешать в выдачу, см. предыдущий абзац про "классическое НЛП", причём всё это можно использовать для обучения, подсадки учебных мемов, а не для подсадки мемов-паразитов. Но методы, конечно, одни и те же -- что учить любить математику, что учить любить предписанную партией и правительством родину).
Надо копать тему "Рациональное познания/исследования". Вот какие-то ссылки, чтобы их не искать каждый раз:
-- мои тексты 2022 года, https://ailev.livejournal.com/1605383.html, https://ailev.livejournal.com/1612513.html, https://ailev.livejournal.com/1611838.html, https://ailev.livejournal.com/1619025.html. По многим вопросам там мы более-менее определились с тех времён (типа тех же "создателей" — отличная идея оказалась!), но в этих текстах есть ещё много разных ходов — и нужно понять, что доводить до конкретных навыков, что давать как общий метод размышления.
-- новые результаты по квантовоподобности, объясняющие, зачем это (вычислительный ресурс и разница между "математико-теоретическим результатом" и "реальной прикидкой", квантовоподобность вылезает из этого), https://www.sciencedirect.com/science/article/pii/S0303264720301994?via%3Dihub -- тут про биологичность в части ресурса, "8.4. Linearity of quantum representation: exponential speed up for biological functioning". А вот тут вводят excess bayesian inference — https://www.frontiersin.org/articles/10.3389/fnbot.2022.910161/full#B45 (вот тут главные причины — дискретизация, чтобы не считать непрерывные функции и главное — отход от булевской логики, зашитой в байесовый вывод и "слегка резонирует с неизвестным").
-- ещё вот такие штуки про другие типы объяснений, которые представляются более полезными: https://arxiv.org/abs/2102.02671, Directive Explanations for Actionable Explainability in Machine Learning Applications
-- и там учесть ещё такие темы, как "ощупывание/зондирование" в рамках active inference, единство понимания измерений и создания (это всё взаимодействия создателя и среды), познания и инженерии. Это раскидано более-менее везде.
-- ход на объяснения на базе математики-физики (и онтологичность математики), откопирую сюда абзац из https://ailev.livejournal.com/1669636.html: "Идея про математику как онтологию для физиков потихоньку живёт. Роман Левентов подкинул текст https://mechatronics.ucmerced.edu/sites/mechatronics.ucmerced.edu/files/page/documents/2021_mesa_new_triangle_rg_ml_and_fc.pdf (2021, "New triangle: fractional calculus, renormalization group and machine learning"). По факту это всё выходит на математическую поддержку квантовоподобности в описаниях мира, так или иначе. Но я бы онтологическую линию всё-таки дотягивал до моделирования -- отношения representation. Так, не всё в machine learning интересно (и это тут же видно в статье, они идут по этой линии ML, а не по линии "корреляций", но они не говорят этого слова — почему?), а интересно идти по линии representations learning -- вот я писал об этом давным-давно, https://ailev.livejournal.com/1045081.html. Все эти нейросетки только частный случай успехов в representations learning -- и representations как раз про "описания", и дальше квантовоподобность описаний (ага, "дискретизация" описания чего-то непрерывного, вся эта грануляризация-ренормализация как раз про многоуровневые цифровые/дискретизированные/растровые representations в конечном итоге). Умению как-то думать на эти темы и должны учить курсы физики и математики. А "разделы физики" и "разделы математики" должны уходить в прикладные курсы. Я много писал об этом в прошлом году: идея математики как онтологии для физики в https://ailev.livejournal.com/1619901.html (в феврале была прикидка физмат-стека рациональности, https://ailev.livejournal.com/1613398.html), и вот тут вопрос про то, как этому учить -- хардкорно или лайтово, "Функциональное и конструктивное описание трансдисциплин", https://ailev.livejournal.com/1616572.html. И затем "Фундаментальный скандальный физмат-курс", https://ailev.livejournal.com/1619346.html, и докидывание литературы в начале https://ailev.livejournal.com/1619489.html. Физмат-моделирование и компактификация/универсализация знания, https://ailev.livejournal.com/1621997.html, это завершающий текст серии, полное изложение программы работ. И вот этот текст по первой ссылке ("новый треугольник") как раз шажок в этом направлении". И докину про физику-математику ещё прошлогодний текст "Ontological Revision and Quantum Mechanics", https://www.sciencedirect.com/science/article/pii/S2211379721011165?via%3Dihub, и сюда же разные работы Хренникова с его разъяснениями про "поля -- это ни разу не физические объекты, это чисто математические абстракции". Вот эти неясные границы между математикой-физикой-семантикой/репрезентациями-объяснениями и "общими теориями всего/познанием" (active inference, evolution-as-learning) надо как-то для себя прояснять. А зачем границы? Для модульности, вестимо. Этому надо как-то обучать, а для этого мастерить курсы. Неминуемо нужно делить на куски, а куски давать разным разработчикам -- и тут сразу архитектурная задача.
В самом конце 2022 года вышло 2 издание "Building evolutionary architectures" (есть в z-library), первое было в 2017 году (спасибо Юрию Геронимусу за подсказку). Надо бы это перечитать срочно -- но где брать для этого время?!