18 августа 2026 года на Hugging Face появилась Ornith-1.5-9B — открытая модель на 9,41 млрд параметров под лицензией MIT. За пять дней её GGUF-сборка набрала 175 тысяч загрузок. Заголовок, под которым её разносят по лентам, звучит примерно так: «модель, которая обучает сама себя».
Формулировка не пустая: цикл обучения у Ornith 1.5 действительно замкнут — модель придумывает себе задачи, строит под них оснастку и учится на собственных прогонах. Но за этим заголовком прячется гораздо более практичный вопрос, который стоит задать первым: что из заявленного проверяемо, а что нет.
Мы скачали веса, разобрали метаданные Hugging Face API, прочитали карточку целиком и сверили её с блогом разработчика. Ниже — то, что мы нашли, включая одно расхождение, которое вендор допустил у себя же в карточке.
Кто это выпустил
Модель подписана «Ornith Team», и по этой подписи легко решить, что перед вами очередной анонимный релиз. Это не так. Профиль организации на Hugging Face говорит прямо: «We're the DeepReinforce team».
DeepReinforce — лаборатория, основанная Джиуэй Ли, выпускником Стэнфорда и лауреатом MIT Technology Review Innovators Under 35. До моделей команда занималась другим: CUDA-L1 учила обучение с подкреплением ускорять CUDA-ядра (средний прирост ×3,12 на 250 ядрах KernelBench), GrandCode заняла первое место в трёх подряд живых раундах Codeforces, обойдя людей-грандмастеров.
Это важный контекст. Ornith — не первый заход команды в RL, а перенос уже отработанного приёма на новую поверхность: раньше они обучением с подкреплением искали более быстрый код, теперь — более полезные обучающие задачи.
Что нового в 1.5
Ornith 1.0 вышла в июне 2026 года и принесла идею self-scaffolding: модель сама строит себе строительные леса под задачу — инструкции, стратегию, разбиение. До этого оснастку под каждый бенчмарк писали руками.
Версия 1.5 расширяет петлю с одного звена до трёх:
- Генерация задач. Модель предлагает себе новые задачи, опираясь на историю того, что у неё получалось, а что нет. Сложность растёт вместе с ней.
- Построение лесов. Под каждую задачу генерируется или уточняется собственный scaffold.
- Прогоны решений. Политика выдаёт решения, а награда распространяется обратно сразу на все три стадии.
Формула награды за задачу — произведение трёх множителей: валидность, сложность относительно текущей границы возможностей и новизна. Именно произведение, а не сумма: любой нулевой множитель обнуляет задачу целиком. Невалидная задача, слишком лёгкая задача и повторяющая уже пройденное задача одинаково не приносят ничего.
Архитектурно это по-прежнему ветка Qwen3.5 — класс Qwen3_5ForConditionalGeneration, тип qwen3_5. Родословная в карточке указана честно: Ornith 1.0 строилась поверх Qwen3.5 и Gemma4 с дополнительным continued pretraining, mid-training и post-training.
Цифры
Вся линейка 1.5 состоит из трёх моделей: 397B MoE, 35B-A3B MoE и вот эта — 9B dense. Мы разбираем младшую, потому что она единственная из трёх реально запускается на том железе, которое есть у команды разработки.
| Параметр | Значение |
|---|---|
| Параметры | 9 409 813 744 (dense, BF16) |
| Вес весов | ≈19 ГБ в bf16, 5,63 ГБ в Q4_K_M |
| Контекст | 262 144 токена, до ~1 млн через YaRN ×4 |
| Модальности | текст, код, изображения на входе |
| Режим рассуждения | включён по умолчанию, блок <think> |
| Лицензия | MIT |
Ключевые бенчмарки из таблицы вендора — против предыдущей версии и двух соседей:
| Бенчмарк | Ornith-1.5-9B | Ornith-1.0-9B | Qwen3.5-9B | Qwen3.6-35B-A3B |
|---|---|---|---|---|
| SWE-bench Verified | 70,6 | 69,4 | 53,2 | 73,4 |
| SWE-bench Pro | 47,5 | 42,9 | 31,3 | 49,5 |
| Terminal-Bench 2.1 (Claude Code) | 47 | 40,6 | 18,9 | 49,2 |
| GPQA Diamond | 86,4 | 82,5 | 81,7 | 86 |
| NL2Repo | 32,4 | 27,2 | 16,2 | 29,4 |
| BrowseComp | 56,4 | 44,8 | 41,5 | 62 |
Правильная рамка для этих чисел — не «девятка обошла всех». Из пятнадцати опубликованных бенчмарков Ornith-1.5-9B выигрывает у Qwen3.6-35B-A3B ровно на четырёх. Рамка другая и более интересная: девятимиллиардная dense-модель подошла вплотную к MoE вчетверо крупнее и уверенно оторвалась от всего, что весит столько же. Разрыв с Qwen3.5-9B на терминальных задачах — двукратный.
Что не сходится
Здесь начинается та часть, которой нет в пресс-релизах.
Первое: график вендора противоречит его же таблице. В карточке модели лежит assets/ornith_9b_eval.png — сводный график по двенадцати бенчмаркам. На панели SWE-bench Pro у Ornith-1.5-9B стоит 8, а у всех трёх конкурентов — ровно 0. В HTML-таблице того же README на этом же месте: 47,5 / 42,9 / 31,3 / 49,5.
Нули физически невозможны: Qwen3.5-9B не набирает нуль на SWE-bench Pro. Это дефект рендера графика, а не результат замера. Мы считаем авторитетной таблицу, но факт остаётся фактом — вендор выложил в свою витрину картинку, которая противоречит его собственным данным, и за пять дней её никто не поправил.
Второе: обещанного мобильного варианта нет. Карточка описывает модель как «edge-deployable на мобильных устройствах через квантованный вариант Ornith-1.5-9B-Mobile». Мы проверили организацию ornith-ai через API: 25 репозиториев, ни одного с суффиксом -Mobile. Ближайшее, что реально существует и работает вне сервера, — GGUF Q4_K_M на 5,63 ГБ и MLX-4bit на 5,04 ГБ. В телефон это штатно не кладётся.
Третье: независимых замеров нет ни у кого. Все цифры выше — заявка DeepReinforce. На 23 августа 2026 года никто, кроме самой команды, их не воспроизводил. Это не обвинение: так выглядит любой релиз в первую неделю. Но читать таблицу нужно именно как заявку.
Влезет ли на ваше железо
Практический вопрос, ради которого 9B вообще интересна.
| Железо | Вердикт | Что учесть |
|---|---|---|
| 1× H100/A100 80 ГБ | Да | Штатный сценарий: bf16 плюс полное окно 262k |
| 1× RTX 4090/5090 24 ГБ | Частично | Веса 19 ГБ влезают, на KV-кэш почти ничего не остаётся |
| Mac 32 ГБ | Да | MLX 8bit ≈9,4 ГБ или GGUF Q6_K 7,36 ГБ |
| Ноутбук 16 ГБ без GPU | Да | GGUF Q4_K_M 5,63 ГБ на CPU, скорость прогулочная |
| Смартфон | Нет | Сборки -Mobile в природе не существует |
Отдельная деталь, на которой спотыкаются: в GGUF-репозитории кроме самих квантов лежит mmproj на 0,92 ГБ — это проектор зрения. Без него llama.cpp поднимет модель как чисто текстовую, и картинки на входе молча перестанут работать.
Поднять сервер — одна команда:
vllm serve ornith-ai/Ornith-1.5-9B \
--served-model-name Ornith-1.5-9B \
--max-model-len 262144 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--reasoning-parser qwen3
Дальше это обычный OpenAI-совместимый эндпоинт: в него одинаково втыкаются OpenCode, OpenClaw, Hermes и любой другой агент, который умеет OPENAI_BASE_URL. Парсер рассуждения выносит <think> в отдельное поле reasoning_content, так что в ответ ход мысли не протекает.
Что это значит для команд
Три вывода, которые переживут новостной цикл.
Лицензия важнее бенчмарка. MIT снимает юридический вопрос до того, как он возник: дообучение, дистилляция, коммерческий продукт — всё разрешено без переговоров. Модель на пару пунктов сильнее, но с запретом на коммерческое использование, для продуктовой команды стоит меньше.
Окно 262k меняет постановку задач. Четверть миллиона токенов — это средний монорепозиторий или суточный лог сервиса целиком. Часть задач, под которые в 2025-м строили RAG, теперь решаются подстановкой всего контекста в промпт. Не все — но проверить дешевле, чем строить пайплайн.
Локальный агент перестал быть компромиссом. Девятка, которая на терминальных задачах вдвое обходит базовую модель того же размера и запускается на ноутбуке, закрывает сценарий «код не должен покидать периметр» без оговорки «зато качество никакое».
И четвёртый вывод, методический: проверяйте картинки в карточках моделей. Расхождение на SWE-bench Pro лежало на витрине пять дней, и его хватило бы, чтобы утащить в презентацию цифру 8 вместо 47,5. Первоисточник — не гарантия правоты, а всего лишь лучшее из доступного.
Полная таблица бенчмарков, все сборки, требования рантаймов и рецепты запуска — в карточке Ornith-1.5-9B.
