Вектора GPT или почему для GPT ваше слово — пустота без контекста

Мы привыкли думать, что каждое слово в языке обладает собственным, внутренним смыслом. «Стол», «дом», «любовь» — эти слова вызывают у нас конкретные образы и ассоциации. Однако в основе работы современных языковых моделей, таких как GPT, лежит идея, которая для обывателя может показаться абсурдной: отдельное слово не значит ничего. Вся его семантика на 100% приходит из контекста.

Эта статья — попытка простыми словами объяснить, как из этой, на первый взгляд, «еретической концепции» Ферса рождается «векторное мышление» искусственного интеллекта и почему его понимание критически важно для эффективного общения с нейросетями.

Семантический ZIP-архив: Что на самом деле хранит вектор?

У современных GPT за каждым словам появляются сразу же вектора огромной размерности. Но что вектор хранит? Неужели это просто длинный список характеристик? Нет, все гораздо интереснее. Вектор GPT — это не хранилище явных признаков, а скорее сжатый архив, содержащий потенциал для корреляций с другими понятиями.

Вектора GPT отображают как слова связанны(коррелируют) с друг другом, но как этому пришли?
Вектора GPT отображают как слова связанны(коррелируют) с друг другом, но как этому пришли?

Нейросети — мастера сжатия информации. Вектор с 10 000 измерений в сжатом виде может содержать более 100 000 корреляционных связей, если рассматривать их по отдельности. Это объясняет, как в подходе RAG (Retrieval-Augmented Generation) удаётся компактно закодировать огромные объёмы информации в одном векторе.

Таким образом, в вектор можно без значительных потерь смысла интегрировать как большой объём текста, так и сложные концепции. Если к этому добавить граф знаний, вектор GPT начинает ссылаться на узлы графа, что делает его семантическую ёмкость практически неограниченной. Как уже отмечалось, эти семантики еще упакованные на подобии ZIP архива. В своем учебном видео как работает Перцептрон в GPT, я показывал, как он использует «семантическую лупу», чтобы распаковать вектор из 10.000 измерений в 40.000 измерений.

Однако у этого «архива» есть ограничения: в него нельзя точно закодировать числа (для этого у ИИ есть отдельные инструменты, вроде «калькулятора») или точные цитаты — только их смысл.

Но как такая сложная концепция родилась? История идет от философии Ферса из 1950х годов.

Ересь Джона Фёрса: Смысл рождается только в контексте

В 1957 году британский лингвист Джон Руперт Фёрс сформулировал принцип, ставший краеугольным камнем для современных языковых моделей: «You shall know a word by the company it keeps» («Узнаешь слово по его окружению»). В своей ультимативной форме, которую и взял на вооружение ИИ, эта идея звучит так: слово в изоляции имеет нулевой смысл. Что отдельное слово не имеет смысла даже для ученых лингвистов в 1950х «было слишком», поэтому Ферс стал своеобразным «еретиком» относительно традиционной лингвистики, но время показало, что он прав и GPT - торжество его теории «дистрибутивной семантики».

Концепция вектора GPT вышла из философии Ферса о том, что слова имеют смысл только в контексте, а раз так, то слова должны иметь какую связь между собой, что и выражает вектор GPT (корреляции слов)
Концепция вектора GPT вышла из философии Ферса о том, что слова имеют смысл только в контексте, а раз так, то слова должны иметь какую связь между собой, что и выражает вектор GPT (корреляции слов)

Представьте слово «рабочий». Что оно значит само по себе? Не так уж и много. Но стоит поместить его в контекст, как смысл мгновенно кристаллизуется:

  • «Строительный рабочий» — здесь речь о профессии, физическом труде.
  • «Рабочий момент» — а здесь уже о деловом процессе, организационном вопросе.

Именно в таком «фёрсизме» и работает GPT. Когда вы пишете промпт, вы должны постоянно держать в голове, что отдельные слова для ИИ — лишь пустые указатели. Реальное значение рождается только из их комбинаций.

От идеи к математике: Рождение вектора

Сказав, что «весь смысл только в контексте», мы практически обречены изобрести семантический вектор. Если значение слова — это набор его ассоциаций с другими словами, то эту связь можно измерить.

В 1960-е годы, с появлением первых компьютеров, идеи Фёрса получили мощное подкрепление от корпусной лингвистики. Ученые, в том числе и в СССР (например, академик Андрей Ершов), начали анализировать гигантские массивы текстов и получили статистическое доказательство: слова действительно «притягиваются» друг к другу, образуя устойчивые паттерны. Стало ясно, что традиционные представления о слове, идущие со времён Платона, могут быть ошибочными.

Как же формализовать эту «близость»? Очень просто — через измерение. Давайте введем воображаемые семантические «оси», которые отражают близость к определенным понятиям.

Представим, что у нас есть оси «Стройка» и «Беседа». Тогда наши примеры можно представить в виде координат:

  • строительный_рабочий: [стройка=1, беседа=0.3] — высокая связь со стройкой, низкая с беседой.
  • рабочий_момент: [стройка=0, беседа=0.8] — никакой связи со стройкой, высокая с деловой беседой.

Мы только что описали примитивный семантический вектор. Это и есть способ превратить слова в числа, с которыми может работать компьютер.

Игра в «Профиль персонажа»: Вектор для начинающих

Чтобы лучше понять эту концепцию, давайте рассмотрим простое упражнение.

  1. Берем понятия: «Рыцарь», «Маг», «Лучник», «Дракон».
  2. Придумываем для них «оси» (характеристики): Сила, Интеллект, Человечность, Опасность (каждая от 1 до 10).
  3. Заполняем таблицу, присваивая каждому понятию числовые значения по этим осям.
На таком примере, что такое семантический вектор можно объяснить и детям
На таком примере, что такое семантический вектор можно объяснить и детям

В результате мы получаем набор чисел для каждого персонажа. Например, для Рыцаря это будет [9, 5, 10, 7]. Это и есть его семантический вектор в нашей примитивной модели. Теперь компьютер может «понять», что Рыцарь и Лучник «ближе» друг к другу по оси «Человечность», чем к Дракону.

Конечно, реальные векторы в GPT состоят не из четырех, а из тысяч измерений, и их «оси» не имеют таких простых человеческих названий, как «Сила» или «Опасность». Но сам принцип остается неизменным: любое понятие представляется в виде точки в многомерном пространстве смыслов.

Катастрофа суперпозиции: Почему векторам нужно так много измерений?

Наше упражнение с «Профилем персонажа» — это полезное упрощение. Но что произойдет, если мы попытаемся в такой же небольшой вектор (всего 4 измерения) «упаковать» тысячи понятий? Мы столкнемся с явлением, которое называется «катастрофа суперпозиции».

Вектора современных GPT имеют так много размерностей (10.000+) для того, чтобы различать разные корреляционные ссылки на разные понятия без смешивания как на картинке
Вектора современных GPT имеют так много размерностей (10.000+) для того, чтобы различать разные корреляционные ссылки на разные понятия без смешивания как на картинке

Идея, которую активно популяризирует компания Anthropic (и которую на самом деле предвидел еще изобретатель перцептрона Фрэнк Розенблатт), заключается в следующем: когда нейросеть пытается совместить в одном векторе низкой размерности несколько разных смыслов, она теряет представление об исходных понятиях.

Представьте, что мы берем вектор для «яблока» и вектор для «груши» и пытаемся их объединить в пространстве из 13 измерений, как на рисунке ниже. В результате мы получаем не четкое разделение, а «фрукт-мутант» — галлюцинацию, которая не является ни яблоком, ни грушей. Нейросеть «забывает» исходные данные.

Именно поэтому размерности векторов у промышленных моделей вроде GPT так велики — от 10 000 до 14 000 измерений и больше. Такое огромное пространство позволяет «упаковать» миллионы понятий, избегая их катастрофического смешения. Даже если два понятия похожи по тысяче параметров, они будут отличаться по другим, что позволит модели сохранять их уникальность.

Мораль проста: чем меньше у нейросети измерений для векторов, тем выше риск, что она «попадет в катастрофу суперпозиции» и начнет генерировать бессмысленные гибриды и галлюцинации. Большая размерность — это плата за способность удерживать в «памяти» огромное разнообразие смыслов нашего мира.

Доказаваем, что вектор в словаре GPT не имеет смысла без контекста: иди почему «worker» не лучше, чем «раб-оч-ий»

Может показаться, что ИИ все же цепляется за целые слова, особенно в английском языке, где морфология (изменение слов по формам) проще. Но это не так, и доказывается это сравнением языков через анализ их токенизации. Сначала слова в GPT превращаются в токены, потом заменяются на вектора из словаря, как я показывал в этом учебном видео.

Токенизация русского и английского показывает, что на русском и английском вектора за токенами не имеют большого начального смысла без контекста
Токенизация русского и английского показывает, что на русском и английском вектора за токенами не имеют большого начального смысла без контекста

Возьмем фразу «Рабочий идёт» и ее английский аналог «The worker is walking».

  • В английском языке GPT, скорее всего, представит каждое слово как отдельный токен (и, соответственно, вектор): [The], [worker], [is], [walking].
  • А вот в русском слово «рабочий» из-за богатой морфологии распадется на «бессмысленные» с человеческой точки зрения части: [Раб], [оч], [ий].

Здесь кроется ключевой момент. Токен [оч] не имеет никакого смысла, даже морфологического. Если бы вектор для английского слова [worker] нес в себе некий изначальный, «платоновский» смысл, то английский язык должен был бы иметь колоссальное преимущество в работе с ИИ.

Однако тесты производительности (например, MMLU) показывают, что GPT справляется с задачами на разных языках примерно одинаково. Из этого следует поразительный вывод: для ИИ нет разницы, работает он с целым словом [worker] или с набором его фрагментов [Раб][оч][ий].

Это доказывает, что даже для английского языка смысл слова worker не заложен в самом токене. Он эмерджентно (то есть неожиданно) возникает из анализа миллиардов контекстов, в которых это слово встречалось во время обучения. Отдельный токен — это лишь стартовая точка в семантическом пространстве, которая немедленно и радикально корректируется окружающими ее токенами в вашем промпте.

Заключение: «Векторное мышление» как общий язык с GPT

Эквивалентность русского и английского для GPT доказывает: для ИИ отдельные слова имеют такой же смысл, как буквы для человека. Пока они не составлены в комбинации, смысла за ними нет.

Понимание этого принципа — ключ к мастерству промптинга. Перестаньте вкладывать сакральный смысл в отдельные слова. Думайте комбинациями, контекстами, ассоциациями. Все 100% смысла для ИИ рождаются именно из того, как вы сплетаете слова в единое семантическое полотно. В конечном счете, чтобы эффективно общаться с машиной, нам нужно научиться хотя бы немного «мыслить векторами».

1361 views·3 shares