Вышло понятное введение в инференс - процесс, который происходит, когда уже обученная модель отвечает на запрос.
Упрощённо работу LLM можно представить так:
nextToken(input, frozenWeights) → token
Модель получает текст и неизменяемые веса, предсказывает следующий токен, добавляет его к контексту и повторяет вычисление:
prompt → token → token → token → ...
В статье по шагам разобраны:
- токенизация входного текста;
- преобразование токенов в числовые векторы;
- получение оценок для возможных продолжений;
- выбор токена через temperature, top-k и top-p;
- KV-кэш, который не даёт пересчитывать весь контекст заново;
- загрузка весов в оперативную память и VRAM.
Отдельная часть посвящена формату GGUF. Один такой файл может содержать почти всю модель: веса, архитектуру, гиперпараметры, словарь токенизатора и шаблон чата.
Автор объясняет механику на примере
llama.cpp и показывает фундамент для локального запуска моделей из Go через Yzma и Kronk.https://internals-for-interns.com/posts/go-ai-inference-what-is-inference/
#golang #ai #llm #inference
