alterna ai
ALTERNA AI / ГЛАВА 17 · 06

17.6 Что хранится во время ответа

На предыдущей странице: приближённое хранение весов.

Кроме весов нужны сохранённые промежуточные числа запросов. Их объём зависит от длины фразы, устройства модели и формата хранения.

Первый запуск обрабатывает префикс. Каждый последующий добавляет одну позицию; K/V прошлых позиций можно сохранять. Выборка и сжатое хранение решают разные задачи.

Измеряем путь request, а не только model forward

Serving включает прием запроса, validation, queue, prefill, decode, postprocessing и передачу ответа. End-to-end latency раскладывается на time-to-first-token и интервалы последующих tokens. Throughput измеряется на фиксированном workload; среднее без percentiles скрывает tail latency.

Для samples sorted x_(1)..x_(n) nearest-rank percentile определяется индексом ceil(qn). Это явный локальный контракт dashboard, а не единственное статистическое определение percentile.

pq=x(⌈qn⌉),R=Noutputtend−tstart.p_q=x_{(\lceil qn\rceil)},\qquad R=\frac{N_{output}}{t_{end}-t_{start}}.

Что показывает модель. Dashboard связывает каждую метрику с точными границами времени и workload: input/output lengths, concurrency, sampler, dtype и hardware. Error rate разделяется по validation, overload, timeout и internal failure. SLO может требовать одновременно p95 TTFT, p95 total latency и availability.

Граница применимости. Четыре samples не дают надёжной оценки tail. Warmup, compilation, cache hits и network location меняют результат. Сравнивать два сервера корректно только при одинаковых requests и критерии качества; ускорение ценой другого tokenizer, shorter outputs или худшего model quality не является чистым serving improvement.

from math import ceil
latencies_17f=[0.4,0.8,0.6,1.0]; ordered_17f=sorted(latencies_17f)
p95_17f=ordered_17f[ceil(0.95*len(ordered_17f))-1]
throughput_17f=12/2.0
assert p95_17f==1.0 and throughput_17f==6.0

Код повторяет только что разобранные операции. Полный проверяемыйPython-пример главы доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.

Payload складывается из K и V по всем перечисленным осям.

Веса не содержат новый школьный документ. Как дать модели внешнее свидетельство?

Python-примеры главы 17 Академическая база →