Меньше — лучше: как Polaris-4B обошёл Qwen3-32B
Привет, Хабр!
В июне 2025 года команда из Гонконгского университета выложила открытые модели Polaris-4B-Preview и Polaris-7B-Preview, обученные с нуля на reasoning-задачах с использованием Reinforcement Learning. Эти модели не просто догоняют топовые коммерческие аналоги вроде Claude-Opus и Grok-3-Beta — они их обгоняют. Причём на архитектуре всего в 4 миллиарда параметров.
Все это результат продуманного инженерного подхода. В этой статье коротко рассмотрим, как авторам Polaris удалось:
-
извлечь максимум из открытых данных,
-
обеспечить стабильное масштабирование reasoning-моделей,
-
обойти ограничения на длинные CoT без дообучения,
-
и при этом не развалить RL.
Анализ сложности данных: фундамент устойчивого обучения
Обучение языковых моделей с подкреплением (RLHF или GRPO) традиционно страдает от одной системной ошибки: отсутствие баланса между лёгкими и сложными задачами. Большинство датасетов либо чрезмерно тривиальны, либо не поддаются решению даже сильными моделями.
В Polaris подошли к этому вопросу с инженерной строгостью. Они построили оценку сложности каждого примера в выборке на основании автономного вывода.
def estimate_difficulty(model, prompt, n=8): outputs = [model.generate(prompt, temperature=0.6) for _ in range(n)] return sum(is_correct(output) for output in outputs) / n
Чем выше доля правильных решений, тем проще задача. Таким образом, можно вычислить точечную метрику сложности на каждый пример, не прибегая к ручной разметке.
Зеркальное J-распределение
Результаты анализа распределения сложности оказались крайне показательными.

Модель на 1.5B параметров чаще проваливает задачи — распределение сложности принимает форму, зеркально напоминающую букву J: большинство задач крайне сложные.
Модель на 7B параметров, напротив, решает подавляющее большинство задач без ошибок. Распределение превращается в обычное J-распределение: всё слишком просто.
Один и тот же датасет по-разному «читается» моделями разной мощности. Для одной он слишком трудный, для другой — банален.
Фильтрация: формирование эффективного обучающего корпуса
Авторы сформировали три подвыборки на основе DeepScaleR-40K.

-
Полный набор: содержит 40 000 задач, с доминированием простых (8/8).
-
Фильтрованный: убраны все задачи с 8/8 решений, остаётся 26 000 задач.
-
Агрессивно отфильтрованный: остаются только те задачи, где менее половины решений успешны. 19 000 задач.
Тесты показали: слишком лёгкий или слишком сложный корпус одинаково бесполезен. Лучший результат даёт сбалансированная, отфильтрованная по сложности выборка.
Rollout-диверсификация и контроль температуры
Обучение с подкреплением предполагает сравнение хороших и плохих траекторий. Если модель генерирует однотипные ответы — никакого обучающего сигнала не возникает. Поэтому необходимо управлять разнообразием выборок, особенно в задачах reasoning, где одна и та же цель может быть достигнута разными логическими путями.
Метрики и управление diversity
Для оценки диверсификации использовалась метрика distinct-4 — доля уникальных 4-грамм по отношению к общему числу токенов.

Авторы протестировали зависимости между:
-
температурой генерации (temperature)
-
точностью (mean@32)
-
разнообразием (distinct-4)
Результаты показали, что низкая температура (t=0.6) дает стабильность, но подавляет разнообразие. Рост температуры до 1.4–1.5 даёт всплеск разнообразия, при этом точность не проседает критично. При t>1.55 начинается коллапс: модель генерирует шум.
Динамическая адаптация температуры
Интересный ход: Polaris не фиксирует temperature, а постепенно увеличивает её на каждой фазе обучения, адаптируясь к уменьшению энтропии модели (модель начинает генерировать одно и то же).
|
Стадия |
Polaris-4B |
Polaris-7B |
|---|---|---|
|
1 |
1.4 |
0.7 |
|
2 |
1.45 |
1.0 |
|
3 |
1.5 |
1.1 |
Адаптивный механизм позволяет удерживать познавательный горизонт модели открытым, не давая ей застревать в уже найденных паттернах.
Масштабирование вывода: CoT без дообучения
Chain-of-Thought требует длинного вывода. Но обучать RL на последовательностях 32–52K токенов — дорого и неэффективно. Проблема в том, что даже если задан max_seq_len=52K, в реальности большинство батчей не доходит до этой длины (clip_ratio < 10%).
Решение Polaris — использовать инференсное масштабирование, сохранив тренировку на коротких примерах.
Yarn: позиционная экстраполяция RoPE
Для этого используется Yarn, схема масштабирования Rotary Position Embeddings:
«rope_scaling»: { «attn_factor»: 1.0, «factor»: 1.5, «rope_type»: «yarn» }

Yarn позволяет на inference использовать длины, в полтора раза превышающие обучающие, без потери точности.
Результаты тестов на задачах AIME:
Длины >32K:
-
Без Yarn: точность падает до 26%
-
С Yarn: растёт до 50%+
Фактически, это позволяет применять «train-short, test-long» стратегию без переобучения.
Устойчивость RL: как Polaris справляется с нулевым градиентом
Обучение моделей рассуждения через Reinforcement Learning, особенно с маленьким размером rollout-батча (n=8), сталкивается с одной системной проблемой: разреженность наград. В задачах на математическое мышление, CoT, логический вывод — неудачи случаются часто. И бывает, что на один и тот же prompt модель 8 раз подряд выдаёт неверный ответ. Результат: batch без положительных примеров → нулевой градиент → потерянный шаг обучения.
В традиционном GRPO или PPO это приводит к стагнации: модель не получает сигнала, не знает, куда двигаться. А повторное прогоняние тех же промптов — дорого и неэффективно.
В Polaris были предложены два простых, но мощных способа преодоления этого «эффекта пустого батча».
Rollout Rescue Buffer: мягкое введение памяти в RL
Каждая задача в обучающем корпусе в Polaris имеет ассоциированный буфер успешного ответа. Это кэш, где сохраняется последний известный корректный вывод для данного prompt’а, полученный на любом этапе обучения.
Сценарий работы:
-
Модель генерирует 8 rollout’ов для задачи X.
-
Все они оказываются неуспешными (accuracy == 0/8).
-
Если для задачи X в прошлом был успешный rollout — он берётся из буфера.
-
Один из 8 текущих провальных rollout’ов заменяется этим буферным.
Замена делается не полностью — только один из 8 rollout’ов. Это не нарушает статистику RL, потому что reward всё равно применяется выборочно.
Результат: батч всегда содержит хотя бы один сигнал обучения, и модель получает ненулевой градиент, даже если «сегодня ей не идёт».
Intra-Batch Informative Substitution:
Второй механизм работает внутри текущего батча — без использования внешней памяти. Если часть задач оказалась «информативной» (т.е. среди 8 rollout’ов есть как минимум один успешный), а другая часть полностью провалена, Polaris делает следующее:
-
Находит «информативные» примеры — задачи с mix из 0 и 1 reward.
-
Эти примеры дублируются и подставляются на место «мертвых» задач (0/8).
-
Таким образом, весь батч наполняется примерами, от которых можно получить полезный градиент.
Оба механизма — Rollout Rescue и Intra-Batch Substitution — решают проблему reward sparsity при небольших batch-size. Замены работают только в рамках already validated outputs, reward-функция остаётся бинарной, и никакой генерации «из будущего» не происходит.
Эффект в обучении:
-
Значительно меньше «мёртвых шагов»
-
Устойчивый рост reward на каждой итерации
-
Повышение sample efficiency RL
Отказ от KL и Entropy
Вместе с мерами по устойчивости, в Polaris отказались от двух популярных, но проблемных компонентов в RLHF:
Почему был убран KL
KL-дивергенция между текущей политикой и SFT-моделью используется во многих RLHF-реализациях (включая PPO) для стабилизации. Но в задачах reasoning это становится тормозом: модель ограничена рамками SFT-поведения и не может исследовать новые стратегии рассуждения.
В Polaris KL полностью убран, чтобы модель могла отклоняться от SFT и формировать новые логические цепочки — особенно если они нестандартные, но правильные.
Почему был убран Entropy loss
Идея поощрять энтропию в output’ах на практике оборачивается нестабильностью:
-
На поздних этапах RL энтропия может расти хаотично
-
Это ведёт к коллапсу: модель начинает выдавать случайные токены
В Polaris отказались от энтропийного поощрения, сосредоточившись на чистом outcome-based reward.
Вместо всего этого используется surrogate loss с upper clipping bound, аналогичный DAPO.
Результаты и сравнение
Чтобы оценить эффективность моделей Polaris, авторы провели серию тестов на популярных математических бенчмарках, включая AIME24, AIME25, Minerva Math, Olympiad Bench и AMC23. Все тесты проводились по строгим, воспроизводимым условиям: по 32 прогонки для каждой задачи (или 4/8 — где указано), с едиными sampling-параметрами.
Все модели запускались в следующих условиях, кроме Qwen3, где применялись более консервативные значения по умолчанию:
sampling_params = SamplingParams( temperature=1.4, top_p=1.0, top_k=20, max_tokens=90000 # ~90K токенов: для CoT максимальная длина критична )
Polaris-4B не просто обгоняет другие модели «в среднем» — он делает это на высоких температурах и длинных ответах, где большинство baseline начинают деградировать.
Базовый тест включал задачи вроде:
Every morning Aya goes for a 9-kilometer-long walk…
Suppose Aya walks at s + 1/2 kilometers per hour.
Find the number of minutes the walk takes her, including t…
Такие задачи требуют цепочек логических рассуждений, рассуждения на уровне алгебры, дробей, времени, скорости — типичная задача CoT, где без грамотного вывода на десятки токенов ответ невозможен.
Результаты по всем бенчмаркам
|
Модель |
AIME24 avg@32 |
AIME25 avg@32 |
Minerva avg@4 |
Olympiad avg@4 |
AMC23 avg@8 |
|---|---|---|---|---|---|
|
Deepseek-R1-Distill-Qwen-7B |
55.0 |
39.7 |
36.7 |
56.8 |
81.9 |
|
AReal-boba-RL-7B |
61.9 |
48.3 |
39.5 |
61.9 |
86.4 |
|
Skywork-OR1-7B-Math |
69.8 |
52.3 |
40.8 |
63.2 |
85.3 |
|
POLARIS-7B-Preview |
72.6 |
52.6 |
40.2 |
65.4 |
89.0 |
|
Deepseek-R1-Distill-Qwen-32B |
72.6 |
54.9 |
42.1 |
59.4 |
84.3 |
|
Qwen3-32B |
81.4 |
72.9 |
44.2 |
66.7 |
92.4 |
|
Qwen3-4B |
73.8 |
65.6 |
43.6 |
62.2 |
87.2 |
|
POLARIS-4B-Preview |
81.2 |
79.4 |
44.0 |
69.1 |
94.8 |
Polaris-4B обходит всех в своём классе
Модель с 4B параметрами показывает лучшую точность по всем задачам, включая:
-
AIME25: 79.4% (против 65.6% у Qwen3-4B)
-
Minerva Math: 44.0% (на уровне Qwen3-32B)
-
Olympiad Bench: 69.1% — абсолютный рекорд
-
AMC23: 94.8% — результат, ранее достижимый только у 32B моделей
Это выдающийся результат, особенно учитывая, что речь идёт о модели, которую можно развернуть на одном потребительском GPU (24–48 GB VRAM).
Polaris-4B почти догоняет Qwen3-32B, но весит в 8 раз меньше
При меньшем количестве параметров Polaris-4B даёт:
-
На AIME25 — более высокий результат, чем Qwen3-32B
-
На Minerva и Olympiad — почти идентичные цифры
Это показывает, что подход Polaris к выбору задач, управлению сложностью и длиной вывода даёт непараметрическое преимущество: модель использует свои возможности более эффективно.
Polaris-7B опережает всех конкурентов на 7B
Хотя разрыв между Polaris-7B и Qwen3-32B ожидаемо велик, в своей весовой категории модель обходит все аналоги, включая:
-
Deepseek-7B (на 13% ниже на AIME24)
-
Skywork и AReal-boba — тоже уступают по всем показателям
Длинный вывод — ключевой фактор
Если ограничить max_tokens стандартным 4096 или 8192, Polaris теряет большую часть своего преимущества. Именно за счёт генерации длинных, разветвлённых цепочек рассуждений (до 90K токенов) модель проявляет свою силу.
Отсюда практический вывод: если вы тестируете reasoning-модель, ограничивая длину вывода — вы не тестируете её вовсе.
Чему можно научиться у Polaris
-
Сложность данных — не метрика, а инструмент. Сбалансированное распределение критично для эффективности RL.
-
Sampling temperature — управляемая ось обучения, не просто фиксированная гиперпараметрическая настройка.
-
Inference-time RoPE scaling даёт прирост без затрат на переобучение.
-
Небольшие инженерные хаки (buffer, swap) радикально улучшают стабильность RL.
-
Не все loss-функции полезны. Иногда лучше убрать регуляризаторы, чем на них полагаться.
Ссылки
-
Polaris-4B-Preview на Hugging Face — финальная модель, доступная с inference API.
-
Исходный код обучения Polaris на GitHub — включает рецепты и пайплайн.
-
Блог-пост HKU NLP — оригинальный отчёт команды.
Если вам интересны современные достижения в области искусственного интеллекта и нейросетей, приглашаем вас посетить два предстоящих открытых урока, которые помогут лучше понять, как работают передовые модели и их практическое применение.
-
Первый урок — «Генерация изображений нейросетями: как работают современные модели?» — пройдет 16 июля в 20:00. Здесь вы узнаете о современных архитектурах нейросетей и принципах генерации изображений.
-
Второй урок — «Искусственный интеллект для службы поддержки пользователей» — состоится 21 августа в 20:00. В рамках этого урока вы узнаете, как применять ИИ для автоматизации и улучшения работы с клиентами.
Чтобы ознакомиться с полным списком курсов и выбрать подходящую программу по Data Science и машинному обучению, заходите в каталог. А чтобы не пропустить новые открытые уроки, следите за обновлениями в календаре открытых мероприятий.
Источник: habr.com
Похожие записи
Оцените материал:
Похожие записи
Теперь Android может безопасно переносить ваши учетные данные между менеджерами паролей.
13.09.2026
Это самая большая двухмерная карта Вселенной. Вот как ею пользоваться.
13.09.2026
Сэм Альтман из OpenAI заявил, что выходить на биржу в 2026 году было бы «неразумно».
13.09.2026Присоединяйтесь и подпишитесь на рассылку самых свежих новостей по Email
Получайте свежие новости и идеи на почту. Без спама — только самое интересное.
Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности.
