Как LLM на самом деле видят текст
Григорьев Арсений АндреевичБольшие языковые модели долго казались «магией», пока не сталкивались с простыми на вид вопросами вроде подсчёта букв в strawberry. Ошибка здесь не обязательно означает, что модель «не умеет считать»: проблема в том, что LLM не оперирует буквами как человек.
Почему модель путается с буквами
LLM работает не с исходным текстом посимвольно, а с токенами — числовыми идентификаторами фрагментов слов. Одно слово для неё может разбиваться на несколько частей, и именно эти части становятся базовой единицей обработки.
Из-за этого задача «посчитать буквы R в слове strawberry» для модели не выглядит как прямой перебор символов. Она видит не набор букв, а последовательность токенов, которые лишь приблизительно соответствуют кускам текста.
Что происходит после токенизации
После разбиения текста токены превращаются в векторы — числовые представления, в которых кодируются свойства и связи. На этом уровне возникают хорошо известные эффекты вроде аналогий, где выражение king − man + woman даёт вектор, близкий к queen.
Дальше в работу вступает механизм внимания. Он сравнивает такие представления между собой и определяет, на какие части входа модель должна опираться сильнее при обработке текущего контекста.
Где хранятся «знания» модели
Факты вида «Париж — столица Франции» в LLM не лежат как записи в базе данных. Они зашиты в весах модели — числовых параметрах, которые формируются в ходе обучения.
Именно поэтому отдельные знания можно править точечно, не переобучая модель целиком. В предельном примере это позволяет «переселить» Эйфелеву башню в Рим, изменив конкретные веса, связанные с этим фактом.
Вся дальнейшая работа модели строится на этой цепочке:










