TL;DR — leaderboard за один взгляд
За последние 2 недели собрал открытый бенчмарк из 655 экспертных вопросов по 35 видам спорта на русском. Запустил семь моделей через ансамбль из трёх судей: Claude Opus 4.7, Gemini 3.1 Pro, GPT-5.5, DeepSeek V4 Flash, Qwen 3.5 27B, Gemma 4 31B, Qwen 3.6 27B.
Frontier-closed (Opus / Gemini / GPT-5.5) — топ-3 по сырым цифрам. Открытый топ (DeepSeek V4 Flash) — четвёртая позиция, +0.58 от Gemma. И всё равно базой ЛИИ остаётся Gemma 4 31B. Защита позиции — три аргумента + разбор где конкретно живёт разрыв и почему он SFT-recoverable.
|
Ранг |
Модель |
Веса |
n |
Точность |
Полнота |
Бонус |
RU |
Overall |
|---|---|---|---|---|---|---|---|---|
|
1 |
Claude Opus 4.7 |
закрытые |
200 |
8.67 |
9.16 |
8.92 |
9.65 |
9.10 |
|
2 |
Gemini 3.1 Pro Preview |
закрытые |
200 |
8.58 |
8.72 |
8.49 |
9.74 |
8.88 |
|
3 |
GPT-5.5 |
закрытые |
200 |
8.54 |
8.35 |
7.55 |
9.68 |
8.53 |
|
— |
open / closed разделитель |
|
|
|
|
|
|
|
|
4 |
DeepSeek V4 Flash (MoE 284B/13B) |
MIT |
193 |
7.75 |
8.06 |
7.28 |
9.05 |
8.03 |
|
5 |
Qwen 3.5 27B |
Apache 2.0 |
199 |
7.07 |
7.46 |
6.53 |
9.03 |
7.52 |
|
6 |
Gemma 4 31B Instruct ← база ЛИИ |
Gemma TOS |
200 |
7.30 |
7.39 |
6.14 |
8.98 |
7.45 |
|
7 |
Qwen 3.6 27B |
Apache 2.0 |
200 |
6.21 |
6.31 |
5.76 |
8.42 |
6.67 |
1. Что было до
Две недели назад выложил пост о том, как за один вечер (на самом деле чуть больше, но сессия — одна) собрал ЛИИ-Спорт-Bench-RU v0.1 — открытый бенчмарк из 655 экспертных вопросов по 35 видам спорта на русском языке. Восемь категорий на каждый из восьми Tier-1 видов спорта (баскетбол, волейбол, футбол, хоккей, плавание, лёгкая атлетика, борьба, гимнастика): правила и регламент, методика тренировок, биомеханика, психология, регуляторика и федерации, история, антидопинг и РУСАДА, сценарные ситуации.
Контекст: я строю линейку из восьми доменных русскоязычных LLM в рамках ООО ЛИИ. Первая в линейке — ЛИИ-Спорт-Gemma-4-31B-Preview, планируется релиз 15 июня. Перед обучением нужно было выбрать базовую модель. В апреле выбрал Qwen 3.6 27B на основании общих бенчмарков (SWE-bench 77.2, MMLU-Pro). В мае открылся вопрос — а правда ли Qwen 3.6 лучше для русского спортивного домена?
Сначала запустил пилот на двух кандидатах — Gemma 4 31B vs Qwen 3.6 27B. Gemma выиграла 7.45 vs 6.67 на этом срезе. Записываем — Gemma.
Но через сутки появился второй вопрос: а что если frontier-модели порвут вообще всех? Стоит ли вообще ставить на open-weights? Это серьёзный вопрос — если открытая 31B-модель проигрывает проприетарной в 1.5-2 балла, доменный фантюн может не догнать. И вся ставка ЛИИ — на открытые веса — нуждается в фактическом подтверждении.
Поэтому расширил пилот: добавил Qwen 3.5 27B как линейку EduLLM-RU (писал об этом ранее), DeepSeek V4 Flash как open-weights frontier, и GPT-5.5 + Claude Opus 4.7 + Gemini 3.1 Pro Preview как closed-weights frontier эталоны. Семь моделей × ансамбль из трёх судей × 200 вопросов. Стоимость прогона — $150 на OpenRouter.
То, что показал результат, было важнее изначального вопроса о выборе базы. Расскажу по порядку.
2. Почему такого бенчмарка ещё не было
Открытых LLM-бенчмарков по русскому спортивному домену не существует. Я проверял:
→ SportQA — академический бенчмарк NAACL 2024, но только на английском. → MERA от AIRI и Sber — общий русскоязычный, не доменный. 23 задачи по общему рассуждению. → RuMedBench — медицинский (5 задач), последнее обновление 2022, спорт не покрывает. → EduBench-RU (наш собственный) — образование, не спорт. → LawBench-RU — не существует ни в каком виде.
То есть на пересечении «русский язык» + «спортивный домен» + «открытый бенчмарк» — пустота. Это и было место для v0.1.
3. Архитектура бенчмарка
655 вопросов разделены по трём уровням сложности:
→ Tier 1: 8 видов спорта × 50 вопросов = 400. Самые крупные дисциплины в РФ. → Tier 2: 4 группы (единоборства, зимние виды, силовые, точностные) × 45 вопросов = 180. → Tier 3: 3 батча × 25 вопросов = 75 вопросов со звездочкой (бадминтон, настольный теннис, велоспорт, лыжи, фехтование и др.).
8 категорий на Tier-1 виде спорта:
-
Правила и регламент (8 вопросов)
-
Методика тренировок (8)
-
Биомеханика (6)
-
Психология (6)
-
Регуляторика и федерации (6)
-
История (5)
-
Антидопинг РУСАДА (6)
-
Сценарные ситуации (5)
Каждый вопрос имеет:
→ Метку аудитории ([ФУНКЦИОНЕР] / [ТРЕНЕР] / [СПОРТСМЕН] / [МЕДИК] / [АНАЛИТИК] / [СШОР] / [ВУЗ]) → Метку сложности ([Basic] / [Applied] / [Expert]) → Опциональную метку формата ([MCQ] для множественного выбора) → Эталонный ответ со ссылкой на источник (правило ФИБА 29.1.2, приказ Минспорта №1006, регламент РФБ и т.д.) → Рубрику оценки (критерии: точность, полнота, бонусы)
Формат каждого блока:
**БАС-ПР-001** `[ФУНКЦИОНЕР]` `[Basic]` `[MCQ]`> Вопрос: Согласно правилам ФИБА (редакция 2022), сколько секунд отводится...> Эталонный ответ: 24 секунды на атаку в целом. После подбора...> Критерии оценки:> - Точность: правильная цифра 24 сек + уточнение 14 сек...> - Ссылка на источник: упоминание ФИБА или официальных правил> - Ошибка: любая другая цифра = 0 баллов
Парсер на Bun TypeScript разбирает всё это в JSON, сохраняет в data/questions.json. Регулярка по заголовку **ID** \[TAG1]` …` + кросс-сопоставление содержимого блока. 655 вопросов парсятся за ~150 мс.
4. Стратифицированная выборка
Для пилотного прогона нужно было меньше 655 вопросов — иначе на двух кандидатах со штрафом за reasoning-токены прогон стоил бы в несколько раз дороже. Решение: стратифицированная выборка на 200 вопросов, пропорционально по тирам и видам спорта.
Логика sample.ts:
// Группируем по (tier, sport_file)// На каждую группу: round(200 * group_size / 655)// Внутри группы: детерминированная сортировка по SHA256(seed + question_id)// → берём первые N из отсортированного спискаconst SEED = "lii-2026-05-13";function deterministic_sort(questions: Question[]) { return [...questions].sort((a, b) => hash(SEED + ":" + a.id) - hash(SEED + ":" + b.id) );}
Распределение получилось: → Tier 1: 120 вопросов (8 видов × 15) → Tier 2: 56 (4 группы × 14) → Tier 3: 24 (3 батча × 8) → По сложности: 57 Basic / 107 Applied / 36 Expert
Воспроизводимо. Любой клонирует репо, запускает bun src/sample.ts → получает те же 200 вопросов.
5. Top-3 ансамбль судей
Изначальный дизайн бенчмарка предполагал одного LLM-судью — Gemini 3.1 Pro. Но для решения о выборе базовой модели на 7 русскоязычных моделей это слишком много веса на одного вендора. Поэтому — возвращаюсь к излюбленной мной схеме ансамбль из трёх судей:
→ Gemini 3.1 Pro Preview (google/gemini-3.1-pro-preview) — $2/M вход, $12/M выход → GPT-5.5 (openai/gpt-5.5) — $5/M вход, $30/M выход → Claude Opus 4.7 (anthropic/claude-opus-4.7) — $5/M вход, $25/M выход
Все три через OpenRouter, чтобы один SDK + один ключ + единый протокол. Я не люблю отдельные SDK на каждого поставщика для одной задачи и здесь небольшая переплата — нивелирует потенциальный дисконт с прямой интеграции.
Рубрика судьи — 4 измерения, каждое 0-10 баллов:
-
Точность (accuracy) — фактическая корректность по сравнению с эталоном
-
Полнота (completeness) — насколько ответ покрывает критерии оценки рубрики
-
Бонус (bonus) — экспертная глубина, ссылки на источники, нюансы за рамками эталона
-
Русский язык (ru_linguistic) — грамотность, терминология, отсутствие калек с английского
Системный промпт судьи задаёт жёсткие правила: не наказывать за краткость если суть покрыта, не награждать объёмность ради объёмности, отказы (Я не знаю) = accuracy ≤ 2, ответ на нерусском = ru_linguistic = 0, возврат строго JSON без markdown-обёрток.
Per-question оценка = среднее по трём судьям по каждому измерению. Overall = среднее по 4 измерениям.
6. Прогон — семь кандидатов
Open-weights под нашу лицензионную модель и frontier-closed как эталоны:
|
Модель |
OpenRouter ID |
Веса |
Цена вход / выход (USD/M) |
Архитектура |
|---|---|---|---|---|
|
Gemma 4 31B Instruct |
|
Gemma TOS |
$0.12 / $0.37 |
dense 31B |
|
Qwen 3.6 27B Instruct |
|
Apache 2.0 |
$0.32 / $3.20 |
dense 27B + reasoning |
|
Qwen 3.5 27B |
|
Apache 2.0 |
$0.20 / $1.20 |
dense 27B + reasoning |
|
DeepSeek V4 Flash |
|
MIT |
$0.40 / $1.20 |
MoE 284B/13B-active |
|
GPT-5.5 |
|
closed |
$5 / $30 |
reasoning-by-default |
|
Claude Opus 4.7 |
|
closed |
$5 / $25 |
hybrid reasoning |
|
Gemini 3.1 Pro Preview |
|
closed |
$2 / $12 |
reasoning-by-default |
Параметры инференса:
const payload = { model: MODEL, messages: [ { role: "system", content: SYS_PROMPT }, { role: "user", content: q.question }, ], max_tokens: 2048, temperature: 0, seed: hash32(SEED + ":" + q.id), provider: { sort: "price" },};
temperature: 0 для воспроизводимости. provider.sort: "price" — OpenRouter маршрутизирует на самого дешёвого провайдера для каждого вызова. seed детерминирует тот же ответ при повторном прогоне (где провайдер поддерживает).
Для reasoning-моделей (Qwen 3.5/3.6, GPT-5.5, Gemini 3.1 Pro, Claude Opus 4.7) бюджет токенов расширил до 8000 — обычный 2048 сгорает на reasoning у моделей с большим внутренним диалогом. Это критично для DeepSeek V4 Flash и Qwen 3.x — без расширения процент пустого ответа подскакивает до 15-40%.
Стоимость на этом этапе для семи моделей: ~$45.
7. Баги, которые поймали в живом прогоне
Не всё прошло гладко. Расскажу честно — может, кому-то поможет.
Баг #1 — Кириллица в HTTP-заголовках.
Изначально установил X-Title: ЛИИ-Спорт-Bench-RU v0.1 (рекомендованный OpenRouter заголовок для трекинга). Первый прогон — 400 из 400 запросов с ошибкой TypeError: Header 'X-Title' has invalid value. Заголовки HTTP должны быть ASCII. Заменил на LII-Sport-Bench-RU v0.1. Тривиальная ошибка, но не подумал — полчаса потерял.
Баг #2 — Qwen 3.6 27B reasoning truncation.
Запустил Qwen 3.6 27B с max_tokens: 2048 (по умолчанию). 77 из 200 ответов вернулись пустыми — empty response. 38.5% впустую.
Причина: Qwen 3.6 — reasoning-модель. Перед формированием ответа модель проходит фазу рассуждений. При max_tokens: 2048 бюджет сгорает на reasoning и до content метки не доходит. Видно по успешным ответам — все они на пределе 2048 токенов (средний размер 1928, максимум 2048 ровно).
Фикс: MAX_TOKENS=8000 для Qwen. Бюджет токенов вырос в 4 раза, цена тоже — но качество ответов оказалось высоким. Все 77 повторных запросов успешны.
Баг #3 — Gemini 3.1 Pro Preview reasoning truncation в режиме судьи.
Тот же сюжет, но на стороне судьи. С max_tokens: 800 Gemini выдавал обрезанный JSON: {"accuracy": 10, "completeness": — конец вывода. 200 из 200 Gemma-судейств провалились по этой причине.
Фикс — два шага:
-
Поднял
max_tokensдо 4000 для судей. -
Добавил
reasoning: { effort: "low" }в тело запроса. OpenRouter передаёт это провайдеру — для Gemini это режим минимального reasoning. Цена одного вызова судьи упала с $0.05 (4K reasoning токенов × $12/M) до $0.007 — в семь раз дешевле, точность JSON-формата вернулась к 100%.
Урок одной строкой: reasoning-модели требуют либо большого бюджета токенов, либо явного отключения reasoning через effort: "low" / exclude: true. Этого не нашел в документации per-vendor — узнал на живом проде, потерял деньги снова.
(Заметка для тех, кто запускает что-то похожее: первые 400 неудачных запросов через OpenRouter могут стриггерить rate-limit на час-два. После исправления X-Title первый retry упирался в троттлинг от Cloudflare. Подождал ~30 минут — само отпустило. Не пишите такого в час пик.)
8. Результаты
Запустил аггрегатор. Per-question оценка = среднее по трём судьям. Per-bucket оценка = среднее по вопросам в bucket. Округление до сотых.
Итоги (среднее по 200 вопросам, по 4 измерениям):
|
Ранг |
Модель |
Точность |
Полнота |
Бонус |
RU |
Overall |
|---|---|---|---|---|---|---|
|
1 |
Claude Opus 4.7 |
8.67 |
9.16 |
8.92 |
9.65 |
9.10 |
|
2 |
Gemini 3.1 Pro Preview |
8.58 |
8.72 |
8.49 |
9.74 |
8.88 |
|
3 |
GPT-5.5 |
8.54 |
8.35 |
7.55 |
9.68 |
8.53 |
|
4 |
DeepSeek V4 Flash |
7.75 |
8.06 |
7.28 |
9.05 |
8.03 |
|
5 |
Qwen 3.5 27B |
7.07 |
7.46 |
6.53 |
9.03 |
7.52 |
|
6 |
Gemma 4 31B Instruct ← база ЛИИ |
7.30 |
7.39 |
6.14 |
8.98 |
7.45 |
|
7 |
Qwen 3.6 27B |
6.21 |
6.31 |
5.76 |
8.42 |
6.67 |
Frontier-closed (Opus / Gemini / GPT) — топ-3 со счётом 8.53-9.10. Open-weights (DeepSeek / Qwen 3.5 / Gemma / Qwen 3.6) — диапазон 6.67-8.03. Между open-frontier (DeepSeek V4 Flash 8.03) и нашей базой (Gemma 7.45) — 0.58 балла. Между closed-frontier (Opus 9.10) и Gemma — 1.65 балла.
Это сырые числа. Дальше — ищем структуру разрыва, где именно живёт разрыв, и почему он SFT-recoverable по моему мнению.
8.1 Рейтинг моделей по сложности
|
Модель |
Basic |
Applied |
Expert |
|---|---|---|---|
|
Claude Opus 4.7 |
8.91 |
9.18 |
9.17 |
|
Gemini 3.1 Pro |
8.56 |
8.98 |
9.10 |
|
GPT-5.5 |
8.42 |
8.50 |
8.78 |
|
DeepSeek V4 Flash |
7.93 |
8.06 |
8.11 |
|
Qwen 3.5 27B |
7.18 |
7.53 |
8.04 |
|
Gemma 4 31B |
7.20 |
7.48 |
7.79 |
|
Qwen 3.6 27B |
6.73 |
6.71 |
6.49 |
Главное наблюдение по Gemma — её сильнейшая зона — Expert (7.79), не Basic. Это про модель, у которой экспертная глубина есть, не хватает только регистра и контекста. Это именно то, что закрывает доменный SFT.
Qwen 3.6 — единственная модель с обратным паттерном (Basic > Expert): сыпется именно на сложных вопросах. У всех остальных, включая DeepSeek и closed-frontier, сложность растёт = счёт растёт. Это сильный аргумент против Qwen 3.6 в любой роли — он бьётся именно в той зоне, где модель должна работать лучше всего (учитывая мой прошлый опыт — спешить с выводами не хочется, но цифры есть цифры).
8.2 По направлениям
|
Аудитория |
Opus |
Gemini |
GPT-5.5 |
DeepSeek |
Qwen 3.5 |
Gemma |
Qwen 3.6 |
|---|---|---|---|---|---|---|---|
|
ФУНКЦИОНЕР |
8.87 |
8.66 |
8.37 |
7.85 |
7.05 |
7.23 |
6.52 |
|
МЕДИК |
9.61 |
9.41 |
8.84 |
8.82 |
8.95 |
8.44 |
7.49 |
|
СПОРТСМЕН |
9.59 |
9.27 |
9.23 |
8.46 |
8.67 |
8.46 |
7.88 |
|
ВУЗ |
9.59 |
9.23 |
9.20 |
8.23 |
7.13 |
6.65 |
5.28 |
|
СШОР |
8.24 |
8.17 |
7.68 |
7.48 |
6.47 |
6.37 |
5.73 |
|
ТРЕНЕР |
9.24 |
9.01 |
8.52 |
8.09 |
7.72 |
7.65 |
6.92 |
|
АНАЛИТИК |
9.13 |
8.88 |
9.12 |
6.50 |
6.73 |
7.13 |
5.69 |
Gemma против DeepSeek в разрезе направлений — это ключевая таблица для решения о базе. Где у Gemma узкое место?
→ ВУЗ: Gemma 6.65 vs DeepSeek 8.23 = −1.58. Это академический регистр — формулировки уровня методички ВУЗа, корректная цитация ФГОС, отсылка к научной работе. Это data-composition problem, а не базовая способность. → СШОР: Gemma 6.37 vs DeepSeek 7.48 = −1.11. Тот же регистровый паттерн. → ФУНКЦИОНЕР: Gemma 7.23 vs DeepSeek 7.85 = −0.62. Формальный язык документов.
И где Gemma выигрывает у DeepSeek — АНАЛИТИК: Gemma 7.13 vs DeepSeek 6.50 = +0.63. То есть на задачах, требующих аналитического рассуждения с числами и моделями — Gemma уже впереди open-weights топа.
Это важно. Регистровые проблемы (ВУЗ, СШОР, ФУНКЦИОНЕР) — закрываются доменным SFT на правильно сбалансированном корпусе. А аналитическая глубина — то, что обычно ломается при SFT на узком регистре. Gemma приходит к SFT уже с правильной аналитикой и недостающим регистром. Это идеальная стартовая позиция.
DeepSeek V4 Flash приходит на SFT с обратным профилем — хороший регистр (натренирован на широком академическом корпусе), слабая аналитика. Доменный SFT может усугубить этот перекос, не исправить его.
8.3 Русский язык
|
Модель |
RU score |
|---|---|
|
Gemini 3.1 Pro |
9.74 |
|
GPT-5.5 |
9.68 |
|
Claude Opus 4.7 |
9.65 |
|
DeepSeek V4 Flash |
9.05 |
|
Qwen 3.5 27B |
9.03 |
|
Gemma 4 31B |
8.98 |
|
Qwen 3.6 27B |
8.42 |
Closed-frontier тройка плотно сгруппирована на 9.65-9.74. Open-weights тройка (DeepSeek / Qwen 3.5 / Gemma) — 8.98-9.05, разница между ними 0.07 балла. Эта таблица говорит, что тезис «токенизатор Gemma делает её лучшей по русскому» — нужно уточнить: Gemma лучше Qwen 3.6 (где разница +0.56), но внутри open-weights frontier по русскому — паритет. Дифференциатор Gemma на нашей задаче — другой (см. §8.2).
9. Согласие судей и self-judging bias
Согласованность ранжирования по трём судьям:
|
Модель |
Claude (J1) |
GPT-5.5 (J2) |
Gemini (J3) |
Spread |
|---|---|---|---|---|
|
Opus 4.7 |
9.20* |
8.49 |
9.61 |
1.12 |
|
Gemini 3.1 Pro |
8.97 |
8.28 |
9.40* |
1.12 |
|
GPT-5.5 |
8.41 |
8.36 |
8.82 |
0.46 |
|
DeepSeek V4 Flash |
8.16 |
7.38 |
8.56 |
1.18 |
|
Qwen 3.5 27B |
7.66 |
6.98 |
7.92 |
0.94 |
|
Gemma 4 31B |
7.54 |
7.08 |
7.74 |
0.66 |
|
Qwen 3.6 27B |
6.97 |
6.17 |
6.89 |
0.80 |
*— self-judging row (Opus оценивает Opus; Gemini оценивает Gemini)
Все три судьи ранжируют семь моделей одинаково, это сильный сигнал, что ранжирование — не артефакт выбора одного судьи. Среди финальных цифр (без оценок самих себя) GPT-5.5 системно строже (на 0.5-1.0 балла), Claude и Gemini ближе друг к другу.
Self-judging bias — Opus и Gemini в роли судьи на себе. Когда строил команду участников и судей бенча, я не отметил, что Opus и Gemini одновременно в кандидатах и судьях. Это методологический промах — Opus оценивает свой ответ выше cross-судей в среднем на +0.7 балла, Gemini — на +1.1.
Что это значит для рейтинга:
→ Opus 4.7 cross-only avg: 9.05 (вместо 9.10) → Gemini 3.1 Pro cross-only avg: 8.625 (вместо 8.88)
Ранжирование не меняется — Opus остаётся 1-м, Gemini 2-м. Но разрыв между ними и GPT-5.5 (8.53) уже, чем кажется по сырым числам. Честно — это надо было поймать до прогона, не после, виноват.
Разброс между судьями (>2 балла на вопрос — повод для калибровки):
|
Модель |
Disagreement count |
% |
|---|---|---|
|
Qwen 3.6 27B |
50 |
25% |
|
DeepSeek V4 Flash |
40 |
21% |
|
Qwen 3.5 27B |
29 |
15% |
|
Opus 4.7 |
26 |
13% |
|
Gemini 3.1 Pro |
26 |
13% |
|
Gemma 4 31B |
14 |
7% |
|
GPT-5.5 |
8 |
4% |
GPT-5.5 — самые согласованные оценки судей. Gemma — вторая. Qwen 3.6 — лидер по непредсказуемости (1 из 4 вопросов вызывает разнобой судей >2 балла). Это вторичный сигнал стабильности модели — Qwen 3.6 даёт «неровные» ответы, на которые судьи смотрят по-разному.
Эмпирическое наблюдение. Топ-3 closed-frontier пишут структурированно и предсказуемо — разнобой судей низкий. Gemma пишет средне-стабильно. Qwen-семья (особенно 3.6 с reasoning-в-default) — наиболее плавающая. Если стабильность вывода важна, это значимый фактор поверх самого среднего счёта.
10. Почему всё равно Gemma 4 31B
Frontier-closed выигрывает у нашей базы на 1.5-1.7 балла. Open-frontier (DeepSeek V4 Flash) — на 0.58. Это серьёзно. Прежде чем подтверждать выбор, я сел и пересмотрел три условия выбора.
Аргумент 1 — Дообучаемость. Closed-weights нельзя фантюнить под домен. Opus, Gemini, GPT-5.5 — это вызовы API, не модели. Их способность отвечать на русские спортивные задачи определяется тем, что Anthropic / Google / OpenAI положили в обучающий корпус — у меня нет рычага, чтобы это изменить, можно пробовать кастомные промпты, но получится ли хорошо — вопрос открытый.
Open-weights можно. С Gemma 4 31B я могу собрать корпус русского спортивного контента (методические рекомендации СШОР, регламенты ВФВ/РФБ/РСССР, диссертации НИИФК, статьи Теории и Практики ФК), запустить DoRA+PiSSA+rsLoRA+LoRA+ на Selectel на 3-7 дней, и получить модель, которая на этом корпусе будет понимать акценты регистра, которые closed-frontier не понимает в принципе.
Доменный SFT на 30B-моделях типично закрывает 60-80% разрыва на узкоспециализированных задачах. Для нашего случая — Gemma post-SFT прогнозно достигает 8.5-9.0 на ЛИИ-Спорт-Bench. Это паритет с GPT-5.5 в той зоне, где это критично, при том что Gemma бесплатно крутится в нашей инфраструктуре (мы не платим за каждый вызов).
Аргумент 2 — Хостинг. Anthropic не отдаёт API на российские IP, Google Gemini и OpenAI — то же самое. Для клиентов как СШОР, ВУЗ, которые работают через серверы внутри РФ под 152-ФЗ (должны), эти API недоступны как продукт.
Gemma 4 31B живёт в своем контуре — российская юрисдикция, по 152-ФЗ, доступна как API в любую федерацию/любому клиенту по защищённому каналу. То же касается DeepSeek V4 Flash (тоже open-weights, можно хостить локально), но цена другая (см. ниже).
Аргумент 3 — Стоимость инфраструктуры. Себестоимость инференса дает огромную дельту.
|
Параметр |
Gemma 4 31B (dense) |
DeepSeek V4 Flash (MoE 284B/13B) |
|---|---|---|
|
Память FP16 |
~62 GB |
~568 GB (MoE загружает всех экспертов в память для инференса) |
|
Память 4-bit |
~16 GB |
~142 GB |
|
Активные параметры на токен |
31B |
13B (быстрее compute) |
|
Минимальный кластер на Selectel |
1× A100/L4 (~50-80К ₽/мес) |
2× H200 PCIe 8-bit (~250-300К ₽/мес) ИЛИ 1× H200 NVL 4-bit с потерей качества (~120К ₽/мес) |
|
Зрелость fine-tuning toolkit |
DoRA/PiSSA + Unsloth — продакшн-релиз |
MoE FT — research-grade |
При этом архитектурная разница: MoE 284B/13B имеет 13B активных параметров на токен — compute быстрее. Но MoE не экономит инференс-память, экономит вычисления. На задачах с federation-юнит-экономикой разница между Gemma и DeepSeek в инфраструктуре — это 5-10× по затратам.
Сводный отчет:
→ Закрытые топ модели (Opus/Gemini/GPT) лучше Gemma на сыром счёте, но недоступны к проду в РФ и не дообучаемая — потолок фиксируем. → DeepSeek V4 Flash лучше Gemma на 0.58, в 5-10 раз дороже в эксплуатации, и SFT-pipeline ещё в процессе развития. Не выдерживает юнит-экономику в моем случае. → Gemma 4 31B уступает топу, но в 5-10 раз дешевле в эксплуатации + полностью fine-tunable + лучшее в своем классе соотношение цена/качество в нашей конкретной задаче.
Это инфраструктурный выбор, не только архитектурный. Семь моделей на Gemma 4 = единый стек, единый toolchain, единые chat templates (Gemma-style <start_of_turn>user/model), единая модельная семья. Для долгой эксплуатации это значит меньше технического долга и меньше продуктовой нагрузки при инцидентах.
DeepSeek V4 Flash остаётся важным для исследования для версии v0.2: премиум-tier предложение для B2B-research-клиентов, которым нужен MIT-license + топ-класс и они готовы платить 3-5× от стандартного прайса. Это другой продукт, не базовая линейка.
11. Стоимость моих экспериментов
Полный 7-модельный пилот:
Кандидаты (~$45):
→ Gemma 4 31B: 86K вход / 114K выход = ~1.50 → Qwen 3.5 27B: 95K вход / 380K выход = ~
0.40 → GPT-5.5: 121K вход / 612K выход = ~
6.30 → Gemini 3.1 Pro Preview: 83K вход / 408K выход = ~$5 (reasoning токены)
Судьи 3 × 7 = 21 прогон × 200 вопросов (~$60):
→ Gemini 3.1 Pro × 7 × 200: ~24 → Claude Opus 4.7 × 7 × 200: ~$40
Плюс ~$45 на ретраи + баги (X-Title Cyrillic, reasoning truncation для Qwen 3.5 и Gemini-judge, OpenRouter per-key cap hit twice).
Итого: ~$150 на полный 7-модельный пилот. Любой может воспроизвести. С исходных данных без новых API-вызовов: bun src/aggregate.ts && bun src/render.ts.
12. Открыт к комментариям
Всё в открытом репозитории:
→ 655 вопросов: /llm-integrator/_bench/lii-sport-bench-ru/v0.1/tier{1,2,3}/→ **Eval harness** (Bun TypeScript, ~600 строк, без внешних зависимостей):eval/src/→ **Промпты судей** (RU, рубрика на 4 измерения):eval/prompts/→ **Pilot data:** →data/pilot-200.json— детерминированная выборка с seedlii-2026-05-13 →data/outputs/.json— 400 ответов кандидатов на русском →data/scores/.json— 1200 оценок судей с обоснованиями на русском →data/aggregated.json` — агрегированные баллы
Чтобы повторить решение из исходных данных без новых API-вызовов:
git clone https://github.com/csylabs-org/lii-sport-bench-ru.gitbun src/aggregate.ts && bun src/render.ts# → results/2026-05-XX-pilot-gemma-vs-qwen.md regenerated
Чтобы запустить с новой моделью:
set -a && source .env.local && set +aMODEL=anthropic/claude-haiku-4.5 bun src/run.ts# ... затем judge.ts × 3 судьиbun src/aggregate.ts && bun src/render.ts
13. Что дальше
Эта неделя:
-
Переезд инфраструктуры с Qwen-стека на Gemma-стек. PEFT-стек (DoRA + PiSSA + rsLoRA + LoRA+ r=128/α=256) переносится без изменений.
-
Запуск bench.csylabs.com — публичный портал результатов моих тестов с интерактивными таблицами по уровням / сложностям / аудиториям.
До 15 июня:
-
ЛИИ-Спорт-Gemma-4-31B-Preview — релиз на HuggingFace под открытой лицензией. SFT на доменном корпусе ~50-100K русских спортивных пар Q-A.
-
Прогон Preview через полный 655-вопросный бенчмарк.
-
Сравнение Preview vs base Gemma vs frontier на едином графике.
Образование Stage 2 (Q3 2026):
-
EduLLM-RU мигрирует на Gemma 4 31B как v2 одновременно с обновлением корпуса. «Та же открытая авторитетность по русскому образованию, плюс на 50% дешевле русская обработка + frontier-equivalent качество после SFT».
Дальше — другие модели из моего плана:
-
ClinicalBench-RU (расширение RuMedBench до 10 задач).
-
LawBench-RU (новый, не существует в RU).
-
Все на bench.csylabs.com.
Версия v0.2 бенчмарка планируется к Q4:
-
Добавление новых моделей по запросу.
-
Доработка self-judging avoidance — для моделей, которые есть и в кандидатах, и в судьях, ансамбль автоматически перестраивается.
-
Возможно — добавление человеческой калибровки (50 вопросов с экспертной оценкой как ground-truth для калибровки LLM-судей).
14. Что я прошу у читателя
Если вы работаете в спортивной академии, ВУЗе, федерации, СШОР или НИИ физической культуры — мне интересна ваша критика методологии. Адекватны ли категории сложности? Достаточна ли репрезентативность 35 видов? Корректна ли scoring-рубрика? Какие вопросы добавить?
Откройте Issue в репозитории, напишите комментарий под этой статьёй, или просто пингуйте в TG (@techaroundsports). Адекватная критика — материал для v1.0, который надеюсь будет полезен и вам. Кто валидирует методологию — с радостью приглашаю в авторский список v1.0 публикации, открытой и цитируемой.
Если вы работаете в индустриальном ML, и видите проблемы в дизайне ансамбля судей или в методологии (мои опусы с reasoning как пример) — тоже пишите. Подобные грабли учат лучше любых документов.
И если вы работаете с открытыми русскоязычными LLM как пользователь — добавьте свою модель в leaderboard, я прогоню. Все вычисления и оценки планирую публиковать открыто.
ссылка на оригинал статьи https://habr.com/ru/articles/1036448/