Сгенерированная титульная карточка с надписью «Ripple-65B Preview теперь нативно поддерживается в vLLM», надзаголовком «Serving — слияние vLLM — 5 ноября 2026 г.» и подзаголовком «Веса появились 4 ноября. Поддержка движка была влита через 36 часов». На плашках указано «65B dense, Apache 2.0, без ограничений доступа» и «Добавлено 1 153 строки в 27 файлах». На трёх панелях статистики указано «от 4,98 до 7,34 средней длины принятия черновика на GSM8K, DFlash2», «129,6 ГБ BF16 instruct-чекпоинт, 16 шардов» и «16K / 128K / 1M — контекстное окно в зависимости от того, кто обслуживает». Полоса сравнения «до и после» противопоставляет внешний плагин SGLang встроенным RicursiveConfig, парсерам и проверенному рецепту NVFP4. Логотип OrcaRouter расположен на скомпонованной белой полосе под иллюстрацией.
Engineering & Research

Ripple-65B Preview: эндпоинт за $0,20, нативное слияние vLLM и три числа контекста

Автор

Rowan Sterling

Дата публикации

Новые модели · 20Все модели →
Бенчмарки: Artificial Analysis · обновляется ежедневно
Назад ко всем статьям

Веса появились в 02:41 UTC 4 ноября. Девятнадцать часов спустя кто-то открыл pull request, чтобы добавить их в основную ветку vLLM, и в 17:36 UTC 5 ноября он был слит — 1 153 добавленные строки в 27 файлах. Это быстро даже по меркам выпуска модели, к которому приковано много внимания, и это меняет кое-что конкретное: до того слияния Ripple-65B Preview — плотный 65B-чекпоинт под Apache 2.0 от Ricursive Intelligence — имел ровно один задокументированный способ обслуживания: плагин, который авторы поставляли отдельно от движка. Вопрос для любого, кто его оценивает, больше не в том, можно ли его обслуживать. А в том, какой из теперь уже официальных способов его обслуживания подходит вашему оборудованию и какие скрытые издержки каждый из них вам создаёт.

За этим вопросом стоят два факта, и они тянут в противоположные стороны. Нативная поддержка в vLLM делает самостоятельный хостинг правдоподобным для команд, у которых так и не заработал внешний скрипт SGLang. Размещённые предложения тем временем всё ещё расходятся с карточкой модели в том, сколько контекста вы фактически получаете: на одной странице сервиса в боковой панели спецификаций указано 128K, а раздел карточки модели на той же странице говорит о до 1,048,576 токенов, и первый коммерческий эндпоинт, на котором появилась модель, обслуживал 16,384. Ни один из этих фактов не решает, что должна делать модель 65B, рекламирующая контекст в миллион токенов, когда эндпоинт, обслуживающий её, заявляет 128K.

Что на самом деле отсутствовало до слияния?

Разгадка — в самом описании пул-реквеста, где сказано, что до него «единственным путём для обслуживания был внешний (out-of-tree) плагин SGLang от авторов». Этот плагин поставлялся вместе с карточкой модели как конфигурация SGLang 0.5.19, а значит, любому, кто хотел обслуживать Ripple-65B Preview, приходилось либо использовать конкретную версию движка с внешним скриптом, либо написать собственное определение модели под чекпойнт, который объявляет пользовательскую архитектуру.

Второй пункт — тот, что тихо убивает внедрение. Репозиторий BF16 несёт тег custom_code, а конфигурация определяет архитектуру как RicursiveForCausalLM — имя, о котором ещё неделю назад не слышал ни один движок. Загрузка означала --trust-remote-code, что в большинстве производственных сред — это разговор с ревьюером по безопасности, прежде чем это станет техническим решением.

A screenshot of the merged vLLM pull request 65745, titled 'Add Ricursive Ripple-65B support', showing a purple Merged badge, the note that vllm-bot merged 13 commits into vllm-project:main from mgoin:ricursive-model, a tab strip reading Conversation 20, Commits 13, Checks 11, Files changed 27 with a +1,153 -26 diff count, and an Overview section stating that native support covers Ripple-65B Preview in BF16 and ModelOpt NVFP4 together with its reasoning and tool-call format and its DFlash2 draft, and that before this PR the only serving path was the authors' out-of-tree SGLang plugin.

Это слияние убирает этот шаг, а не обходит его. PR добавляет встроенный RicursiveConfig, поэтому чекпоинт загружается без --trust-remote-code, и регистрирует архитектуру в реестре моделей наравне со всеми остальными полноценными семействами. Параллельный PR с тем же для SGLang всё ещё открыт и не смержен, поэтому vLLM сейчас — единственный распространённый движок, где эта модель является полноправным поддерживаемым элементом, а не скриптом.

Части слияния, которые важнее файла модели

Реализация модели на 413 строк — это невзрачная половина. Интересные дополнения — те, что заставляют модель вести себя так, как описывают её показатели в бенчмарках.

• Рассуждения и вызовы инструментов — слияние добавляет `--reasoning-parser ripple` и `--tool-call-parser ripple`, которые обрабатывают необязательный блок `think` и вызовы инструментов в формате JSON в стиле Hermes, при этом потоковый вывод соответствует непоточной форме. Без них агентная модель возвращает текст, который приходится разбирать самостоятельно, и именно на этапе разбора развёрнутые агенты дают сбои.

• Проверенный рецепт — recipes/models/ricursiveAI/Ripple-65B-Preview.yaml, 97 строк, по умолчанию использует чекпоинт NVFP4 на одном B300, с вариантом BF16 и подключёнными парсерами. Он проходит собственный validate-source.mjs репозитория recipes. Это самое близкое к официальному «запускайте так» из того, что существует для модели.

• Спекулятивное декодирование через драфтовый чекпоинт — в репозитории поставляется драфтер на 4,04 млрд параметров, а мердж учит vLLM читать структуру его слоёв NoPE через no_rope_layers. На GSM8K в PR сообщается, что средняя длина принятия растёт с 4,98 до 7,34 токена на шаг верификации.

• 158 строк тестов парсера, плюс построитель трассировки — самая незаметная и при этом самая обнадёживающая часть: поведение парсера рассуждений закреплено тестами, а не комментарием.

Почему длина принятия — это показатель, за которым стоит следить, а не токены в секунду

Собственный показатель производительности Ricursive — 250 токенов в секунду на двух B200 при размере батча 8, до квантования или использования кастомных ядер. Это число было измерено на авторской сборке SGLang, на той ревизии чекпоинта, которую они тестировали. Это хороший верхний предел, но плохой исходный параметр для планирования, потому что то, что определяет, ощущается ли агентный цикл быстрым, — это сколько токенов проходит верификацию за один черновой проход.

Драфтер помогает там и только там. Он предлагает блоки по 16 токенов с 32 кандидатами на позицию и считывает промежуточные скрытые состояния из целевой модели на слоях 1, 20, 39, 58 и 77 — модель на 4,04 млрд параметров, вся задача которой — угадывать, что скажет дальше модель на 64,8 млрд. В его собственной карточке осторожно оговорены условия: валидация проводилась на восьми H100 под ripple-sglang с чекпойнтом RL-step-500, и в карточке прямо указано, что это «не устанавливает совместимость или производительность для других ревизий целевой модели или версий среды выполнения».

Перечитайте это предложение дважды, прежде чем строить бюджет задержки на 7,34. Это измерение на той же ревизии и том же рантайме. Слияние vLLM меняет рантайм. Пока никто не опубликовал значение длины принятия для объединённого пути, и это первое, что я бы измерил на собственном трафике, а не заимствовал.

Сколько вам будет стоить загрузка и на какое оборудование она подходит

Репозиторий BF16 instruct занимает 129,6 ГБ и распределён по 16 шардам, а метаданные safetensors в сумме дают 64 782 689 360 параметров — модель плотная, и все они активны на каждом токене. Здесь нет экспертной маршрутизации, которую можно было бы задействовать, и нельзя сократить число активных параметров, не пожертвовав качеством. Если вам нужна модель в полной точности, именно на это число параметров и нужно рассчитывать ресурсы, плюс KV-кэш.

• Квантованный путь — репозиторий NVFP4 хранит 39,616,865,360 параметров, примерно 61% от количества в BF16, и объединённый рецепт по умолчанию использует его на одном B300.

• Путь драфта — добавьте 4,04 млрд параметров и второй KV-путь, если включите DFlash2; в рецепте это оставлено опциональным, а не включённым по умолчанию.

• Утверждения о работе на одной рабочей станции — Ricursive говорит, что модель помещается на NVIDIA DGX Spark, а в отчёте сообщества она запущена на трёх картах Radeon AI PRO R9700 под ROCm 7.2.1. Оба варианта правдоподобны для квантованного чекпоинта, и ни один из них не сопровождается показателем пропускной способности, который я бы привёл как уровень обслуживания.

• Параллелизм — в описании слияния явно заявлены тензорный параллелизм, конвейерный параллелизм, torch.compile и CUDA graphs, что делает обслуживание плотной модели 65B на нескольких GPU практичным, а не теоретическим. Плотные модели аккуратно разделяются, и 65B на четырёх картах по 80 ГБ — это комфортная схема tensor-parallel-4 в BF16.

Контекстное окно по-прежнему содержит три разных числа.

Это нерешённый пункт, и он уцелел при слиянии нетронутым, потому что это вопрос конфигурации сервинга, а не вопрос движка.

В карточке модели заявлена «длина контекста до 1M», а конфигурация поддерживает позиции, значительно превышающие это значение, — на этапах обучения с длинным контекстом использовались последовательности из 2M токенов. В коммерческом листинге, опубликованном на этой неделе, в заголовке указано контекстное окно 128K, и 128K повторяется в боковой панели спецификаций, в то время как в разделе карточки модели на той же странице сказано: «длина контекста до 1,048,576 токенов». На момент запуска первая размещённая конечная точка, на которой была доступна модель, обслуживала 16,384.

Три числа, один чекпоинт. Самое вероятное объяснение прозаично: цифра 1M описывает, на что способны архитектура и веса, а меньшие цифры — то, для чего настроено и провалидировано конкретное развёртывание сервинга. Это обычное расхождение. И оно же решает, пригодна ли модель для агентской работы масштаба репозитория, потому что окно в 16K не вмещает большой diff вместе с выводом его тестов, а окно в 128K вмещает примерно один такой набор.

Если вы оцениваете Ripple-65B Preview для агентного программирования, рассматривайте число контекста как свойство эндпоинта, а не модели, и тестируйте эндпоинт. Рецепт vLLM — это то место, где вы можете задать своё.

A generated card titled 'One checkpoint, three context windows' with four rows: Model card reads 'Up to 1M tokens' tagged Claim, Training stages reads '2M-token sequences' tagged Long-context SFT, Newest listing reads '128K in the spec sidebar' tagged 'Same page says 1,048,576', and First endpoint reads '16,384 tokens' tagged 'Launch day'. The footer reads 'Figure per Ricursive's model card, the commercial listing published this week, and launch-day coverage. Context limits are a property of the deployment.' The OrcaRouter logo is composited in the white strip below.

Что это означает для решения о маршрутизации

Ничто из этого не меняет саму природу выбора — только количество жизнеспособных путей к нему. Теперь вы можете запустить модель самостоятельно на vLLM по официальному рецепту или обратиться к хостируемому эндпоинту примерно за $0,20 за миллион входных токенов и $0,60 за миллион выходных, причём кэшированный ввод тарифицируется по цене, составляющей долю от этой суммы. Это разные продукты с одними и теми же весами: один даёт вам контроль над контекстным окном и счётом, другой — кредитную карту и чужую очередь.

OrcaRouter не предоставляет Ripple-65B Preview — в каталоге более 200 моделей, и этой среди них нет; об этом стоит сказать прямо, а не намекать на обратное. Что это значит на практике: если вы смотрите на эту модель потому, что она дешёвая и открытая, то сравнивать её на самом деле нужно с чем-то, что доступно вам по тому же ключу. DeepSeek V4 Pro стоит $0.66 и $1.98 за миллион токенов при контексте 1M и максимальном объёме вывода 384K; Kimi K3.1 Pro стоит $2.00 и $10.00 при контексте 1M и пределе вывода 943K. Запуск этих двух моделей через одну конечную точку с автоматическим переключением при сбое — та часть стека, которую мы можем взять на себя. Часть с Ripple вам предстоит либо развернуть у себя, либо купить.

Что по-прежнему сообщается поставщиком, а что обнаружил сторонний наблюдатель

A screenshot of the Hugging Face model card for ricursiveAI/Ripple-65B-Preview showing the Safetensors, ricursive, custom_code and License apache-2.0 tags, 242 likes, a Downloads last month figure of 939, a 65B parameter model size in BF16, a model tree listing 1 finetune and 19 quantizations, and card text describing a 65B parameter dense Transformer pretrained on 12 trillion tokens with support for up to 1M context that scores 80.52 on TerminalBench 2.1.

Все показатели возможностей, указанные для этой модели, получены от Ricursive. Terminal-Bench 2.1 с результатом 80.52 — главный показатель, и в карточке также указаны 80.5 на Terminus 2, 76.5 на SWE-bench Verified, 61.42 на SWE-bench Pro v1.0, 79.1 на SWE-bench Pro v2.0 Hard, 44.3 на DeepSWE 1.1, 39.4 на SciCode и 71.67 на MCP Atlas. Ни один из этих результатов не был воспроизведён независимой лабораторией, и у Artificial Analysis нет записи для этой модели — её каталог моделей возвращает 404 для каждого слага Ripple, который я пробовал, а именно так «без оценки» выглядит снаружи.

Единственный существующий независимый сигнал указывает в противоположную сторону, и его стоит сформулировать точно. Набор из 157 тестов под названием Cold Iron оценил модель в 93 из 157 и поставил её на 28-е место из 28, на пять баллов позади следующего самого низкого результата. Собственная разбивка автора интереснее самого места в рейтинге: из 64 неудач 12 были тайм-аутами провайдера, возвращавшими ноль токенов, а 49 — finish=length: модель исчерпала бюджет вывода в 4 096 токенов, прежде чем выдала ответ, поддающийся оценке. Только три были промахами по содержанию. Если засчитать тайм-ауты, она переместилась бы на 105 баллов, но всё равно была бы примерно на 26-м месте.

Это результат в такой же мере о конфигурации обслуживания, как и о возможностях, и это именно тот класс сбоев, который должна сокращать нативная поддержка движка с проверенным рецептом. Модель, исчерпывающая лимит вывода в 4K на задачах программирования, — это модель, которую запускают неправильно, а не обязательно модель, которая не умеет программировать.

Что посмотреть дальше

Три вещи позволили бы разобраться с этой моделью быстрее, чем любое дальнейшее освещение. Независимая оценка — как только её подхватят Artificial Analysis или LMArena, таблица вендора станет проверяемой, а не просто цитируемой. Мерж на стороне SGLang, который положил бы конец ситуации с единственным движком. И чекпойнт без «Preview» в названии, поскольку Ricursive описал этот релиз как намеренно лишь слегка дообученный, а настоящим внутренним продуктом является вариант для проектирования чипов.

До тех пор честное резюме этой недели остаётся узким и полезным: ситуация с сервингом существенно улучшилась за 36 часов, ситуация с возможностями ничуть не изменилась, а вопрос контекстного окна перекочевал из карточки модели в ваш собственный файл конфигурации.

Сравнение в этой статье1

Определено по этой статье · Бенчмарки: Artificial Analysis · обновляется ежедневно

© 2026 OrcaRouter