Привет, Хабр!
В июне 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 и машинному обучению, заходите в каталог. А чтобы не пропустить новые открытые уроки, следите за обновлениями в календаре открытых мероприятий.
ссылка на оригинал статьи https://habr.com/ru/articles/921652/
Добавить комментарий