Перейти к содержанию
CoreInfra
Все записи

Что тарифицируют LLM-провайдеры

Немного разберемся в матчасти и в том, что тарифицируется и учитывается LLM провайдерами.

Токен – это элементарный блок текста, которым оперирует модель, часто это несколько символов. Упрощенно, на каждом прогоне модели во внутреннем цикле получается один токен, он и является единицей тарификации. Входящий текст разбивается на токены и этот процесс называется токенизацией.

Какие бывают токены:

Input – весь входной контекст: системный промпт, история диалога, код, файлы, описания инструментов и результаты их вызовов. Все, что поступает на вход модели.

Output – сгенерированный моделью ответ или рассуждения, необходимые для его получения.

Базово это все, но выделяют еще дополнительные типы, необходимые для тарификации и аналитики.

Reasoning или thinking – внутренние рассуждения модели. Они входят в output. Что это за токены и откуда они появляются, рассмотрим в другом посте. Считаются отдельно исключительно для аналитики, чтобы понимать, чем агент занимался.

В агентском цикле на вход каждый раз подается весь контекст, и чтобы его не пересчитывать, используется кэш, который тарифицируется отдельно. Это очень важно, поскольку в противном случае скорость работы снижается и растет стоимость.

Cache read – часть входного контекста, для которой часть вычислений уже была проведена ранее. Провайдер использует готовый кэш и не производит часть операций, поэтому такие токены стоят дешевле обычного input.

Cache write – собственно запись контекста или его части в кэш. К примеру у Anthropic, отдельно учитывается запись на 5 минут и на 1 час. Некоторые провайдеры Cache write не тарифицируют.

Итого полная стоимость считается так, с текущим способом организации инференса:

Стоимость запроса =
(Input × тариф Input
+ Cache Read × тариф Cache Read
+ Cache Write × тариф Cache Write
+ Output × тариф Output) / 1 000 000

Автор: Илья Щербак