Вы написали вопрос в ИИ-чат. Что происходит дальше. На примере локальной модели.
Как LLM модель выстраивает ответ.
От автора: Множество механик в статье намеренно не указано.
Статья попытка объяснить моим коллегам, как работает модель простыми словами, которые как и я, никак не связаны с ML.
Мы не будем лезть в обучение и веса, а разберем только базовую механику: как из токенов и векторов получается логичный ответ.
Модель LLM: Gemma3:4b от Google
Размер пространства модели - 3072 измерений (2D, 3D, а для LLM вот такие размерности бывают)
Вопрос в ИИ-чат: Какой французский замок был разрушен в 17 веке в Нормандии?
1. Токенизация.
Токен - единица текста с которой работает модель. В зависимости от алгоритма, который заложили разработчики. Токеном может быть: буква, половина слова, слово, знак препинания.
Разбили предложение на части и каждой присваиваем id. Модель не понимает текст, мы его должны "оцифровать".
- "замок" - id 10
- "в" - id 452
- "17" - id 8901
- "веке" - id 1243
"Нормандии" - id ... и тд.
2. Векторное представление.
Модель преобразует id в векторное представление из 3072 координат (характеристика Gemma3:4b). Каждое представление несет в себе семантический смысл.
Важно! В ML слово вектор практически синонимично слову точка в N-мерном пространстве. Мы часто говорим вектор, а подразумеваем просто координаты этой точки.
Пример: "замок" id 10
[историчность, культура, металлический, тип ключа...n] семантика
[1, 64, -255, -1000...n] вектор из 3072 координат
3. Поиск смысла.
Каждый вектор "сравнивается" с каждым, путем скалярного произведения. Где число выше, там выше вероятность, что это слово является правильным продолжением или ответом. Для упрощения указаны только две координаты у вектора.
Пример:
- замок (1, 5)
- дверной (-3, 1)
- средневековый Шато-Гайар (2, 6)
Скалярное произведение векторов:
- замок + дверной = (1 * -3) + (5 * 1) = 2 В данном контексте это омоним. Не подходит для нашего ответа.
- замок + средневековый Шато-Гайар = (1 * 2) + (5 * 6) = 32 Модель выберет этот ответ.
Для Gemma3:4b это выглядело бы как перемножение и сложение 3072 пар чисел и поиск большего ответа.
- замок + дверной = (3072 операции умножения и сложения) = 2
- замок + средневековый Шато-Гайар = (3072 операции умножения и сложения) = 32 Модель выберет этот ответ.
4. Ответ выводится пользователю.
Примечание: вычисление из примера в п.3 приблизительно показывает насколько много нужно произвести вычислений для простой фразы. Это и занимает время на ответ у модели. (см. "От автора")
Спасибо за прочтение!
#обучениеснуля #LLM#QA