Прогнал семь LLM через свой русский спортивный бенчмарк. Базовой моделью всё равно оставляю Gemma 4 31B

от автора

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 виде спорта:

  1. Правила и регламент (8 вопросов)

  2. Методика тренировок (8)

  3. Биомеханика (6)

  4. Психология (6)

  5. Регуляторика и федерации (6)

  6. История (5)

  7. Антидопинг РУСАДА (6)

  8. Сценарные ситуации (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 баллов:

  1. Точность (accuracy) — фактическая корректность по сравнению с эталоном

  2. Полнота (completeness) — насколько ответ покрывает критерии оценки рубрики

  3. Бонус (bonus) — экспертная глубина, ссылки на источники, нюансы за рамками эталона

  4. Русский язык (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

google/gemma-4-31b-it

Gemma TOS

$0.12 / $0.37

dense 31B

Qwen 3.6 27B Instruct

qwen/qwen3.6-27b

Apache 2.0

$0.32 / $3.20

dense 27B + reasoning

Qwen 3.5 27B

qwen/qwen3.5-27b

Apache 2.0

$0.20 / $1.20

dense 27B + reasoning

DeepSeek V4 Flash

deepseek/deepseek-v4-flash

MIT

$0.40 / $1.20

MoE 284B/13B-active

GPT-5.5

openai/gpt-5.5

closed

$5 / $30

reasoning-by-default

Claude Opus 4.7

anthropic/claude-opus-4.7

closed

$5 / $25

hybrid reasoning

Gemini 3.1 Pro Preview

google/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-судейств провалились по этой причине.

Фикс — два шага:

  1. Поднял max_tokens до 4000 для судей.

  2. Добавил 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 выход = ~0.05** → Qwen 3.6 27B: 85K вход / 461K выход = **~1.50 → Qwen 3.5 27B: 95K вход / 380K выход = ~0.50** (8K max_tokens) → DeepSeek V4 Flash: 110K вход / 290K выход = **~0.40 → GPT-5.5: 121K вход / 612K выход = ~22** (reasoning токены) → Claude Opus 4.7: 122K вход / 229K выход = **~6.30 → Gemini 3.1 Pro Preview: 83K вход / 408K выход = ~$5 (reasoning токены)

Судьи 3 × 7 = 21 прогон × 200 вопросов (~$60):

→ Gemini 3.1 Pro × 7 × 200: ~3 (после `reasoning: low`) → GPT-5.5 × 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-13data/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/