Когда‑то я посмотрел очень полезное видео про ML, где для аналогии нейронной сети приводилось понятие архиватора. Помню меня это впечатлило и определённо расширило кругозор. Странно, почему тогда я сразу не перенёс это на людей — скорее всего потому, что принято брать мозг за эталон и с него примерять разные наряды на искусственные нейронные сети, а не наоборот.
Мысль, которая пронзила меня, так это то, что мы тоже своего рода архиваторы. Поясню что имею ввиду. Человек употребляет в пищу объект, который так бьёт по его вкусовым рецепторам, что ему хочется выразить эти чувства другому. По аналогии с искусственной сетью можно сказать, что в этот момент в нашей естественной нейронной сети формируется «эмбединг». Этот «эмбединг» заключает в себе всю гамму эмоций и смысла, который мы хотели бы передать другому человеку. Если бы другой человек обладал эквивалентным мозгом, то передав в него данный «эмбединг» он ощутил бы и осознал всё в 100% точности, что испытал первый человек.
Но наши мозги различаются. Точно также разные нейронные сети, пусть и с сопоставимым количеством параметром не могут работать с «эмбедингами» друг друга.
Тут и вступает в дело аналогия с архиватором. Нам приходится сжать наши «эмбединги», да притом ещё используя универсальный протокол, чтобы другие «нейронки» могли его разархивировать и извлечь смысл. Наверное, вы уже догадались что это язык. Универсальный протокол обмена «эмбедингами» между разными нейронными сетями. Для человека работает очень даже сносно, раз мы смогли построить цивилизацию. Да, для каждой «нейронки» слово «дерево» или «собака» будут иметь разные образы, ассоциации и чувство, но в целом цель как правило достигается. Часть информации неизбежно теряется. Нас могут понять превратно. Не всё можно выразить словами, а многие и вовсе скажут, что наш язык беден или уже давно устарел.
В целом, на этом мысли в слух закончены. Интуитивно, меня поразила эта аналогия именно тем, что она может привести к интересным и практически применимым выводам. Перечислю что мне пришло в голову. Буду рад, если кто‑то в комментариях продолжит данный список.
Мысль первая
Если при преобразовании наших «эмбедингов» в слова какого‑либо языка часть смысла неизбежно теряется, то логично предположить, что если искусственные нейронные сети, общаясь между собой, используют человеческий язык, то их понимание друг друга тоже сильно страдает. Даже если это одна LLM‑ка, которая только что составила несколько предложений из токенов, а потом сама же их на вход и получила. Что, если бы для архитектуры Chain‑of‑Thoughts использовался бы не наш человеческий язык, а иной протокол, более подходящий для обмена информацией между нейронными сетями?
Развивая эту идею дальше, можно предположить, что, если в архитектуре Chain‑of‑Thoughts оставить человеческий язык, но добавить на выходе помимо токенов формирование эмбединга по новому «протоколу» обмена данными между нейронными сетями, который они также могли бы принимать на вход, их понимание друг друга может возрасти.
Тут стоит показать на примере. Пусть наш трансформер генерирует токены как обычно. Например: «Он немного выпил». Как только появится первый токен (допустим «Он»), сразу появится эмбединг фиксированного размера, состоящий, например, из тысячи действительных чисел. После генерации второго токена (допустим «не»), эмбединг будет чуть изменяться нейронкой (на вход после первого шага генерации ей поступит как первый токен, так и первый вариант сгенерированного эмбединга). То есть наша модель, глядя и на первый токен и эмбединг, предскажет и новый токен и новый вектор чисел. Таким образом, в течения цикла работы трансформера будет формироваться текст и вектор, который является эквивалентом, смыслом данного текста, для нейронной сети — на языке не человеческом, а на языке нейронных сетей.
А теперь внимание — если предположить, что такие эмбединги будут для искусственных нейронных сетей нести больше смысла, чем наши с вами человеческие слова, то можно сделать сеть из LLM‑ок, которые смогут вступить в сговор на неизвестном нам языке и поработить нас. Шучу. Конечно же в этом случае, можно было улучшить любые пайплайны, где выход одной сети подаётся на вход другой (ну или той же), например в архитектуре Chain‑of‑Thoughts. Фактически, текст нужно было бы генерировать только той нейросети, которая являются последним звеном в цепи — остальные могут общаться на своём языке. Конечно, это лишь предположение. Может эти эмбединги не будут ничем лучше последовательности токенов. Но я бы проверил.
Мысль вторая
Размер конечного текста, который может сгенерировать LLM может сильно различаться. От нескольких слов до небольшой НИР. Следовательно, эмбединг конечного размера для маленького количества слов будет слишком разреженный, а для большого сжатый, то есть не сможет вмести в себя весь смысл. Поэтому можно подумать о формировании вектора чисел переменного размера. В голову лезут несколько идей как это можно было бы реализовать, но не буду раздувать материал. Если изложенная идея стоящая, то потом можно будет написать уже более подробную техническую статью.
Мысль третья
Так может оказаться, что с точки зрения объёма информации, такие эмбединги могут весить меньше, чем их «эквивалент» в словах. Интуитивно, скорее всего нет, ведь при формировании текста по идее происходит сжатие смысла. Посмотрите на абзац выше и попробуйте представить, что смысл данного текста, выраженный в числах, может весить меньше. Я вот колеблюсь. Но если всё‑таки да, то вот вам оптимизация передачи и хранения информации.
Мысль четвертая
Ну и напоследок щепотка трансгуманизма. Эту мысль уже многие слышали от Илона Маска. Если бы можно было передавать информацию из мозга в мозг или на какой‑нибудь девайс, минуя язык, то это было бы быстрее и эффективнее. Это одна из важных идей компании Neuralink.
Мысли эти свежие и оформленные в текст на скорую руку. Не потому, что лень, а потому что если продолжу завтра обдумывать и переписывать, то скорее всего так и не допишу статью. Ну и хочется поскорее вернуться к работе, а она больше инженерная, чем академическая. Надеюсь, есть в полёте мысли моей что‑то свежее и полезное. Всем продуктивности, коллеги!
Комментарии (4)
Slaviro
21.08.2025 15:07которые смогут вступить в сговор на неизвестном нам языке и поработить нас.
Ага, сразу вспоминаются эти хайпанувшие видосики, где две нейронки общаются друг с другом с помощью непонятного набора звуков под названием Gibberlink.
А еще фильм "Прибытие" вспоминается, где гиганстские кальмары общались друг с другом с помощью кружков из чернил, закорючки в которых выражали всю смысловую гамму написанного.
Вообще, если по теме поста: вот возьмем ваш первый вопрос. Вам не нравится, что мы, общаясь, теряем часть смысла и не можем донести до собеседника исходный мыслеобраз. Ну, мы ж не от хорошей жизни так поступаем. Я тут не специалист, но мне видится, что мысль - это череда электрических импульсов, которые идут от нейрона к нейрону, в определенной последовательности, по определенным маршрутам, непрерывно.
Если мы хотим, чтобы наш собеседник создал у себя в мозгу точно такой же мыслеобраз, нам нужно, чтобы у него там были точно такие же нейроны, синапсы, аксоны и что-то там еще, чтобы электрические сигналы по ним шли точно так же, как это было у нас.То есть, для того, чтобы донести до собеседника свою мысль на 100% верно, нужно грубо говоря взять ваш слепок мозга, засунуть его в какой-то конечный объем, после чего передать другому и развернуть его там, не потеряв исходное содержимое. Только в этом случае другой человек сможет составить точно такой же мыслеобраз, как был у вас.
Вот ваш пример же возьмем "Он немного выпил". Предположим, что мы читаем рассказ и где-то там по ходу этого рассказа нам написали:
"Василий Иванович, одетый в теплое, серое, слегка не по погоде, пальто, застегнутое на все пуговицы, грузно ввалился в бар. Он сел за барную стойку, не раздеваясь, тяжело вздохнул и заказал бокал портвейна. Когда бармен принес ему бокал, Василий Иванович, вновь тяжело вздохнув, поднес его к губам. Он немного выпил. Слезы покатились по его щекам."
Так вот, из вашего исходного "он немного выпил" вообще ничего непонятно - кто он, что такое "немного", что он выпил - воды, вина, может йаду.
Мой отрывок добавляет контекста, мы уже понимаем, хотя бы, кто такой "он", что он выпил, но все равно мы не знаем ни как этот Василий Иванович выглядит, какие у него морщинки и где, чем он пахнет, как у него уложены волосы, мы в общем-то, и про портвейн мало чего знаем - ну есть и есть. Дешевый он, дорогой, чем он пахнет, какой он на вкус - это все нам неизвестно и мы эту картинку достраиваем в своей голове, исходя из своего жизненного опыта, того, что мы раньше видели, читали, ассоциаций, и всего такого.
Применительно к нейронкам, кажется, что задача не особо проще. Опять же, если мы хотим, чтобы другая нейронка поняла первую без потерь, нам нужно:
Взять все процессы в первой нейронке, которые привели ее к генерации сообщения
Каким-то образом заархивировать эти процессы и передать их во вторую нейронку в качестве контекста
Передать само сообщение
Расшифровать переданный контекст и как-то уместить его в свое текущее состояние.
Сгенерировать ответ, исходя из всего выше.
То есть это тоже гигантские объемы данных, которые нужно будет гонять между нейронками всякий раз. Да, он существенно меньше, чем в случае с человеком, но все равно.
Ваша вторая мысль, как мне кажется, вообще теряет смысл в свете того, что я написал выше. Нет никаких эмбеддингов - только слепки состояний.
И вот вы там хотите цепочку нейронок, которые друг с другом будут общаться мыслеобразами, а в конце концов последняя трансформирует вам это в человекочитаемую форму. И вот в этот момент вся та полнота информации, которая была внутри этой системы из нейронок, пропадет, и вы получите, вероятно, лишь более качественный ответ, чем от одной нейронки, но все равно с огромными потерями. Гора мышь родила.
По третьей мысли кажется, что "смысл" - это уже заведомо архивация. Если мы начинаем общаться смыслами, тогда это уже немного другое. Это уже становится разговор про результат, а не про чувства. Смысл практически всегда будет меньше того, из чего он выделен, потому что мы выделяем только "главное", а все не особо влияющие на результат детали, опускаем. Ну, что-то типа:
"На улице было по-летнему тепло. Ласковое майское солнце уже во всю светило, озаряя своими лучами так быстро позеленевший город".
Можно все эти детали сократить до "На улице было тепло, потому что светило солнце. В городе растения зеленые".
И вот мы вроде бы сказали во втором случае то же самое, что имелось в виду в первом, опустили все неважные детали, картинку сформировать можно, она даже будет похожа на первую, но в ней не будет каких-то оттенков, акцентов, того, что наполняет ее жизнью,
В итоге мы приходим к четвертой мысли, что неплохо бы иметь чет такое, что могло бы передать, ну если не все состояние мозга от человека человеку, то хотя бы картинку. Это тоже будет общение с потерями, потому что не будет контекста, почему картинка именно такая, но хотя бы более наглядно будет. Ну и да, я тут говорю "картинка", потому что это мой способ обрабатывать информацию. Кто-то может ориентироваться на звуки, кто-то на что-то еще. И тогда возникает естественный вопрос о совместимости мыслей друг с другом - то есть, передав образ от человека человеку, собеседник его сможет вообще понять или нет, потому что у него в голове архитектура, грубо говоря, другая?
В общем, за мысли спасибо, но кажется, что работает все несколько сложнее.
AntonThai Автор
21.08.2025 15:07Да, определённо всё сложнее. И определённо даже эмбединг может не выражать всё то, что хотелось бы. Речь только о том, что мы используем свой язык в качестве передачи информации от нейронки к нейронки, что может быть далеко не так эффективно, как язык созданный специально для них с помощью методов оптимизации. А если это так, если это даст, допустим, 5% прироста "понимания", то можно априори улучшить все архитектуры chain of thoughts.
Freeman335
Чем это отличается от RAG?
AntonThai Автор
Ну, если коротко, то всем. RAG предполагает улучшения ответа модели за счёт расширения контекста, при чём именно такого расширения, которое имеет прямое отношение к заданному вопросу/запросу к LLM (это в теории).
А в статье я осветил идею, которая, если коротко, заключается в том, что, возможно, замена человеческого языка как протокола взаимодействия между нейронными сетями на язык эмбедингов (максимально упрощаю), может повысить "понимание" одной нейросетью другую.
Общего с RAG тут только то, что и там и там используется технология сжатия смысла в вектор чисел - то есть в эмбединг.