Содержит быстро устаревающие данные (прайс $/1M токенов, поколения GPU) — status/volatile. Соотношение input/output устойчиво, абсолютные цифры нет.
Суть
Инференс распадается на две фазы с принципиально разным профилем нагрузки.
Prefill (обработка входа). Весь массив входных токенов загружается в тензорные ядра одновременно. Это матричные умножения с высокой утилизацией вычислительных блоков — быстро и дёшево. При включённом кэшировании префикса фаза может почти полностью пропускаться (см. Prompt Caching).
Decode (генерация выхода). Авторегрессия: токен за токеном, строго последовательно. Для каждого нового токена веса модели заново прогоняются через шину памяти. Узкое место — не вычисления, а пропускная способность памяти (memory-bandwidth bound). Распараллелить нечего: следующий токен не существует, пока не готов предыдущий.
Отсюда и разрыв в прайсе:
| Провайдер | Input, $/1M | Output, $/1M |
|---|---|---|
| OpenAI | ~0.8 | ~3.5 |
| Anthropic | ~1.1 | ~3.4 |
| ~0.6 | ~3.0 |
Цифры со слайда условные и устаревают — эта таблица даёт ×3–4,4 и относится к более раннему поколению моделей.
Актуальный разброс (сверка 2026-08-23). Соотношение устойчиво держится в диапазоне ×4–6: у актуальных флагманов ×5–6 (семейство Claude ровно ×5, линейка GPT-5.4 — ×6–6,25), у лёгких и длинноконтекстных моделей оно опускается до ×3,75–4 (Gemini 1.5 Flash ×4, Claude Opus Long Context ×3,75). Устойчиво само соотношение, а не конкретное число: причина в физике, а не в прайс-листе.
Зачем это знать
Понимание причины меняет приоритеты оптимизации. Интуиция подсказывает бороться с длиной промпта — но именно промпт обрабатывается дёшево и хорошо кэшируется. Деньги уходят в длину ответа, и там же живёт латентность.
Практические следствия:
max_tokens— финансовый параметр, а не защита от переполнения. Безлимит вместе с многословным «объясни детально» даёт экспоненциальный рост затрат на decode. Минимально необходимый лимит плюс строгая JSON-схема дают предсказуемую стоимость (см. Structured Output).- Просьба «рассуждай подробно» оплачивается по самому дорогому тарифу. Развёрнутый chain-of-thought в ответе — это decode-токены (см. Chain of Thought, Reasoning Effort).
- Сжимать стоит вывод, а не только ввод. Формат ответа, в котором нет вежливых преамбул и пересказа вопроса, экономит буквально деньги.
Оговорка про поколения GPU
Ограничение относится к массовым поколениям ускорителей — Ampere и Hopper; снять его должны только новейшие Blackwell-поколения. Утверждение стоит перепроверять: это как раз тот класс фактов, который живёт год-два.
Пример
Один и тот же запрос при разной постановке задачи:
# Дорогой вариант: длинный свободный ответ — весь decode по полной ставке
{"max_tokens": 2000, "messages": [{"role": "user", "content": "Разбери подробно этот тикет и объясни решение"}]}
# Дешёвый вариант: та же работа, но выход ограничен схемой
{"max_tokens": 150, "response_format": {"type": "json_schema", "json_schema": TICKET_VERDICT}}
Входная часть у обоих одинаковая и кэшируется; разница в счёте создаётся правой стороной.
Как это выглядит на своём железе
Локально валюта другая — время GPU, — но асимметрия никуда не девается, потому что её причина в самой механике генерации. Prefill обрабатывает весь промпт параллельно и упирается в вычислительную мощность: длинный вход считается быстро относительно своего объёма. Decode выдаёт по одному токену за проход и упирается в пропускную способность памяти, а не в вычисления, — каждый следующий токен требует прочитать веса заново.
Практическое следствие для локального запуска противоположно облачному по форме, но то же по сути: удлинение промпта обходится дёшево, удлинение ответа — дорого, и именно длина генерации определяет, сколько запросов в секунду выдержит машина. Отсюда же выигрыш батчирования в vLLM (Local LLM Deployment): пока decode ждёт память, можно считать другие запросы, и на конкурентной нагрузке это даёт кратный рост пропускной способности при неизменном железе.
Что показали замеры на Blackwell
Сверка 2026-08. Публичные замеры есть, и они отвечают неожиданно: новое поколение снижает стоимость обеих фаз, но асимметрию не убирает — скорее закрепляет.
Цифры по абсолютной стоимости впечатляют: в MLPerf Inference v6.0 (апрель 2026) B200 выдаёт около 17 500 токенов/с на Llama 2 70B против примерно 3 000 у H100, а стоимость падает примерно с $0.14 до $0.02 за миллион токенов — семикратно, несмотря на вдвое более дорогую аренду часа. По on-demand-ценам июля 2026 ($9.36/час против $3.94) инференс в FP4 выходит примерно на 42% дешевле за токен.
Но соотношение input/output это не выравнивает, и причина архитектурная. Prefill загружает вычислительные блоки и напрямую выигрывает от FP4 — это фаза, где считают. Decode большую часть времени ждёт чтения из памяти, оставляя вычислительные блоки простаивать, и от выигрыша FP4 не получает почти ничего: он упирается в пропускную способность HBM, а не в FLOPs. Рост памяти до 8 ТБ/с помогает decode, но это другой множитель, меньший.
Практический вывод: смена поколения GPU удешевляет всё, не меняя того, что выходные токены дороже входных. Планировать экономику по-прежнему нужно от длины генерации, а не от длины промпта — и это верно и для облачных цен, и для собственного железа.
Связано с
- Inference Optimization — три рычага, которыми serving-движок обходит это ограничение
- LLM Sizing — как асимметрия превращается в бюджет видеопамяти
- KV Cache — механика, за счёт которой decode вообще не начинается с нуля на каждом токене
- Prompt Caching — как дополнительно удешевить prefill-фазу
- Unit Economics AI — куда эта асимметрия попадает в расчёте стоимости запроса
- Sampling Parameters —
max_tokensи его влияние на счёт - Reasoning Effort — рассуждения оплачиваются как выходные токены