Hy4 от Tencent весит 1,56 ТБ на диске: разбираемся, как включать и выключать её «мышление»
Tencent выпустила open-weight модель Hy4 на 770 млрд параметров. Разбираем chat-шаблон, режимы reasoning_effort и как её протестировать через OpenRouter.
Tencent тихо выложила на Hugging Face новую open-weight модель Hy4 — 770 миллиардов параметров, из которых активны только 49 миллиардов, и окно контекста на 1 миллион токенов. Если вы планируете гонять такие модели через OpenRouter или собственный инференс, важно понимать один нюанс: у Hy4 всего два режима размышлений, и переключаются они не через привычный параметр, а жёстко зашитым флагом в chat-шаблоне. Разберём, что это значит на практике.
Зачем разработчику разбираться в этом релизе
Открытые китайские модели с архитектурой mixture-of-experts (MoE, когда из общего числа параметров на каждый запрос активируется только часть) стали выходить настолько часто, что легко упустить важные детали в документации. Hy4 — как раз такой случай: модель огромная, но у неё нет привычной шкалы «reasoning effort: low/medium/high», к которой все привыкли после OpenAI o-серии. Вместо этого — бинарный переключатель. Если вы собираетесь встраивать Hy4 в пайплайн через API, где reasoning effort передаётся параметром, ошибка в значении просто уронит запрос с исключением. Это стоит знать заранее, а не выяснять в проде.
Что изменилось по сравнению с предыдущей версией
Hy3, вышедшая в июле, была заметно скромнее: 295 млрд параметров всего, 21 млрд активных, контекст 256 000 токенов, вес на диске — 598 ГБ. Hy4 выросла кратно почти по всем метрикам:
- Общие параметры: 295B → 770B (рост в 2,6 раза)
- Активные параметры: 21B → 49B (рост в 2,3 раза)
- Контекст: 256K → 1M токенов (рост в 4 раза)
- Размер на диске: 598 ГБ → 1,56 ТБ
Это типичный сценарий гонки открытых моделей: каждая следующая версия выигрывает по числам, но не всегда пропорционально растёт польза для конечного пользователя. Учитывая, что активных параметров всего 49B, для инференса Hy4 не требует держать в памяти все 770B одновременно — MoE-архитектура как раз для этого и придумана. Но 1,56 ТБ весов всё равно нужно где-то хранить и загружать.
Как устроен переключатель reasoning_effort
Самое интересное в релизе — не бенчмарки, а файл chat_template.jinja на странице модели в Hugging Face. Это шаблон, который превращает диалог в финальный промпт для модели, и в нём Tencent прописала жёсткую валидацию параметра reasoning_effort:
{%- if not reasoning_effort is defined %}
{%- set reasoning_effort = 'high' %}
{%- elif reasoning_effort not in ['high', 'no_think'] %}
{%- if reasoning_effort is none %}
{{- raise_exception('reasoning_effort error: None, should be no_think/high') }}
{%- else %}
{{- raise_exception('reasoning_effort error: ' + reasoning_effort + ', should be no_think/high') }}
{%- endif %}
{%- endif %}Логика простая:
- Если параметр не передан вообще — по умолчанию ставится
high. - Если передано что-то, кроме
highилиno_think— шаблон выбрасывает исключение с явным текстом ошибки. - Никаких промежуточных уровней вроде
mediumилиlowне предусмотрено в принципе.
Это важно учитывать, если вы переносите промпты с других моделей: параметры типа reasoning_effort: "medium", которые нормально работают с моделями OpenAI, здесь просто сломают запрос. Для Hy4 годятся только два значения — high (модель рассуждает перед ответом) и no_think (рассуждение отключено, ответ идёт сразу).
Как быстро проверить модель на своём промпте
Чтобы не разворачивать локальный инференс под полтора терабайта весов, проще всего обратиться к модели через провайдера вроде OpenRouter, который агрегирует доступ к свежим open-weight моделям через единый API. Общая схема запроса с явным указанием effort выглядит так:
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "tencent/hy4",
"messages": [
{"role": "user", "content": "Generate an SVG of a pelican riding a bicycle"}
],
"reasoning_effort": "high"
}'Точное имя модели в каталоге провайдера может отличаться — проверяйте актуальный идентификатор в списке моделей OpenRouter перед запросом. Если хотите быстрый ответ без цепочки рассуждений, замените "high" на "no_think" — это должно ускорить генерацию за счёт пропуска шага размышления, но, вероятно, снизит качество на сложных задачах.
Что показал тест с пеликаном на велосипеде
Автор оригинальной заметки, Саймон Уиллисон, тестирует новые модели одним и тем же неформальным бенчмарком: просит нарисовать SVG-пеликана на велосипеде. Задача звучит несерьёзно, но она хорошо вскрывает, насколько модель понимает пространственные отношения и умеет генерировать структурированный код без визуального фидбека — ведь текстовая модель не видит, что рисует.
С включённым режимом high Hy4 честно прогнала внутреннее рассуждение перед тем, как выдать SVG. В трейсе рассуждений (то есть в скрытом тексте, где модель «думает» перед финальным ответом) встречаются фразы вроде:
Let's maybe add a helmet? It could improve riding theme, but may obscure head. Maybe a small cycling cap or helmet? The user didn't ask; can add red helmet? Might be cute. But pelican with big beak; a helmet might obscure. Better maybe no.
Любопытная деталь: язык рассуждений слегка обрублен грамматически — не полноценные предложения, а скорее поток обрывочных формулировок. Логичное объяснение: если этот текст никогда не показывается пользователю напрямую, а служит только внутренним черновиком для самой модели, идеальная грамматика не нужна и не экономит токены. Модель как будто говорит сама с собой на упрощённом внутреннем диалекте — это стоит иметь в виду, если вы планируете анализировать reasoning-трейсы других моделей: не удивляйтесь, если качество текста там ощутимо хуже, чем в финальном ответе.
Где это ломается на практике
Первая ловушка — попытка передать привычные градации effort (low, medium) из промптов, написанных под другие модели. Шаблон Hy4 просто выбросит исключение вместо того, чтобы округлить значение до ближайшего доступного уровня.
Вторая ловушка — размер. 1,56 ТБ весов означает, что локальный запуск на собственном железе доступен только тем, у кого есть серьёзный кластер GPU. Для большинства практических сценариев путь через API-провайдера — единственный разумный вариант.
Третья ловушка — цена скрытого рассуждения. Режим high генерирует длинные внутренние трейсы перед ответом, а токены рассуждения обычно тоже тарифицируются. Если задача простая и не требует пространственной или многошаговой логики, no_think может оказаться заметно дешевле без потери качества.
Что попробовать дальше
Стоит прогнать свои рабочие промпты в обоих режимах и сравнить не только качество ответа, но и число потраченных токенов — разница между high и no_think может оказаться существенной для бюджета. Также имеет смысл заглянуть в chat-шаблоны других открытых моделей на Hugging Face: как показывает случай с Hy4, именно там часто скрыты нюансы API, которые не попадают в официальную документацию.
FAQ
Чем Hy4 отличается от Hy3?
Hy4 значительно крупнее: 770 млрд параметров против 295 млрд у Hy3, контекст вырос с 256 000 до 1 млн токенов, а размер весов на диске увеличился почти в 3 раза — до 1,56 ТБ.
Какие значения принимает reasoning_effort у Hy4?
Только два: high (режим рассуждения, включён по умолчанию) и no_think (рассуждение отключено). Любое другое значение, включая medium или low, вызовет ошибку шаблона.
Можно ли запустить Hy4 локально?
Технически да, если у вас есть инфраструктура под 1,56 ТБ весов, но для большинства разработчиков практичнее обращаться к модели через API-провайдера вроде OpenRouter.
Почему в reasoning-трейсе Hy4 странная грамматика?
Скорее всего потому, что этот текст — внутренний черновик модели, не предназначенный для прямого показа пользователю. Идеальная грамматика здесь не приносит пользы и не экономит токены, поэтому модель использует упрощённый стиль.
Зачем нужен тест с пеликаном на велосипеде?
Это неформальный, но показательный бенчмарк: генерация SVG-рисунка по текстовому описанию проверяет, насколько модель понимает пространственные отношения и умеет выдавать корректный структурированный код без визуальной обратной связи.
Источники
Читайте также
Комментарии
Пока никто не написал. Будьте первым.