Отчёт

Time-to-first-token ничего не говорит о думающей модели

На коробке Strix Halo привычная цифра TTFT выглядела отлично, а большинство запросов возвращали пустой ответ с HTTP 200. Клиентские замеры, три режима работы, evidence-пакеты приложены.

lab_repeated internal research 2 августа 2026 г. · Финансирование: Собственное финансирование, внутреннее исследование

Уровень доказательств: lab_repeated. Каждая цифра ниже заново выводится из сырых записей по запросам тем запросом, который назван в реестре claims, — ни одна не вписана в эту страницу руками. Глубина диагностическая: по три измеренных прогона на режим, concurrency 1, один юнит. Это исследование, доказывающее работоспособность конвейера перед флагманом, а не сам флагман. Цифры с репликацией на втором юните выйдут вместе с замороженной пререгистрацией.

Коротко

Модель, которая размышляет перед ответом, ломает метрику, которую все цитируют.

На протестированной конфигурации привычное время до первого токена выглядит отлично — пятая доля секунды. Но этот первый токен — токен размышления. Первый токен собственно ответа приходит примерно в сто раз позже, а при распространённом бюджете токенов большинство запросов ответа не даёт вообще: вызывающая сторона получает HTTP 200 и пустую строку.

В бенчмарке, который отчитывается токенами в секунду, этого не видно.

Что измерялось

ИдентичностьЗначение
СистемаBeelink GTR9 Pro (Ryzen AI Max+ 395, Radeon 8060S / gfx1151, 128 ГБ unified)
Runtimellama.cpp server-vulkan-b9049, пинен по digest образа
МодельQwen3.6-35B-A3B Q4_K_M из ggml-org, скачана на пиненой ревизии и сверена по хэшу
Workloadinteractive-assistant-v1 @ 2026-08-02 — 16 замороженных промптов, EN и RU, три диапазона длины
Ячейкаconcurrency 1, контекст 8192, temperature 0, кэш промптов выключен

Замер клиентский: секундомер стартует при уходе запроса и снимает время на токенах по мере их прихода. Серверные timings скрыли бы ровно тот эффект, которому посвящён этот отчёт. Каждый запрос несёт уникальную соль, кэш промптов выключен — ничего не отвечается за счёт работы предыдущего запроса.

Прогонялись три режима, меняя по одной вещи за раз:

  1. размышление включено, бюджет 1024 токена;
  2. размышление включено, бюджет 4096 токенов;
  3. размышление отключено через chat template, бюджет 1024 токена.

Результаты

Привычная цифра первого токена одинакова во всех трёх режимах — около 221мсrepeated. Она не отличает конфигурацию, которая отвечает сразу, от той, которая не отвечает никогда.

С включённым размышлением ответ начинается сильно позже. При бюджете 4096 первый токен ответа приходит с медианой 23453мсrepeated. Всё это время пользователь смотрит на поток токенов — это модель думает вслух, а не отвечает.

При меньшем бюджете большинство запросов ответа не дало. С включённым размышлением и бюджетом 1024 токена 75.0% запросовrepeated запросов вернули успешный HTTP-ответ с пустым содержимым: размышление съело весь бюджет до того, как начался ответ. Приложение, которое смотрит на коды статуса, записало бы их в успешные.

Отключение размышления схлопывает разрыв. С выключенным блоком размышления первый токен ответа приходит на 220мсrepeated — ответ начинается вместе с потоком. Медианное сквозное время упало примерно в пять раз против ячейки с размышлением и бюджетом 4096, а ответы по-прежнему прошли гейты языка и повторов.

Один гейт не прошёл ни в одном режиме. Половина ответов вышла за объявленный для промпта бюджет слов. Это свойство многословности модели, а не режима размышления, — и именно поэтому конфигурация не получила бы безоговорочный pass на этом workload.

Что это значит на практике

Чего это не устанавливает

Не заявление о ёмкости: только concurrency 1. Не вердикт о качестве: гейты покрывают формат, язык и повторы, а не корректность. Не заявление об устройстве: один юнит, один digest образа, один артефакт. Повторено, но не реплицировано: по три измеренных прогона на режим на одном юните — поэтому уровень доказательств lab_repeated, и operating envelope здесь не рекомендуется. Стоит ли отключение размышления потери качества ответов — не проверялось; вероятно да, и это отдельная квалификация.

Доказательства

Каждый прогон произвёл пакет: манифест с полной идентичностью, записи по каждому запросу включая отказы, результаты гейтов, лог runtime и файл контрольных сумм. Цифры в отчёте заново выводятся из этих записей SQL-запросами, лежащими рядом с claims; сборка падает, если отрендеренное значение перестаёт совпадать со своим доказательством. Как это устроено — на странице доказательств и данных.

Как цитировать

AGmind Systems Lab (2026-08-02). Time-to-first-token ничего не говорит о думающей модели. Evidence level: lab_repeated. https://agmind.ai/ru/reports/ttft-thinking-model-strix-halo/
← Отчёты