Reame — это лёгкий инференс-сервер на llama.cpp, заточенный под то, что у вас уже есть: shared vCPUs, бесплатные инстансы, двухъядерные ARM-коробки. Не первый такой сервер, но первый, который считает дешёвый CPU не запасным вариантом, а основным. Основная мысль: на CPU никогда не вычисляй одно и то же дважды.
Reame создан для узких, повторяющихся AI-нагрузок на ваших данных — когда ответ уже лежит в контексте, а не в общих знаниях модели. Тут маленькая модель догоняет фронтовую: авторы замерили 100% точности на извлечении из длинного контекста 7B-моделью на бесплатном двухъядерном ARM. И здесь же кэширование делает сотый запрос в разы дешевле первого.
Из ключевых фич: persistent shared-prefix KV cache — префиксы промптов снэпшотятся на диск (zstd, контрольная сумма, LRU) и живут между перезапусками и разными процессами. Системный промпт платится один раз, первым пользователем. Palimpsest — сервер запоминает, что уже сгенерировал: каждая завершённая генерация попадает в архив n-грамм на диске, будущие запросы черпают оттуда бесплатно. Il Suggeritore — обратная сторона грамматического декодирования: структура (нумерация списков, токены форматирования) не запрещается, а предлагается, даже на контенте, который никто не генерировал. Self-regulating speculative decoding — маленькая драфт-модель или нулевая n-грамма предлагает токены, целевая проверяет одним пакетом. Reame замеряет, выгодна ли спекуляция на вашем железе, и отключает её, если нет. The Conclave — --best-of N генерирует N кандидатов на один промпт в одном перемешанном батче (один префилл, остальным — копия KV, все чтения весов общие), а выбирает большинством голосов. Как только абсолютное большинство достигнуто, отстающие убиваются. Честные замеры: Conclave даёт примерно один лишний правильный ответ на тест — он фиксит дисперсию, а не смещение. Interleaved multi-user serving — N параллельных запросов движутся в одном батче, деля чтение весов модели (основная затрата на CPU). Всё это обёрнуто в OpenAI-совместимый REST API с SSE, сессиями, bearer auth. CLI работает без конфигов: reame run qwen2.5-1.5b сам качает модель, выбирает треды и кэш.
Бенчмарки на реальном железе (все цифры — от shipped бинарника, включая отрицательные результаты). На Oracle Cloud free tier (2 ARM, 12 GB) Qwen2.5-7B Q4_K_M даёт 3.3 tok/s. Тот же free tier с OLMoE 7B-A1B (MoE) — ~10 tok/s на тринарной версии, 17.8 tok/s на плотной 7B (5.4× быстрее) с той же точностью на тесте 8-игл. На Apple M3 Pro Qwen2.5-1.5B выдаёт 52 tok/s. На shared VPS с 18 oversubscribed vCPUs speculative decoding даёт 3.2× ускорение. Palimpsest на M3 Pro даёт 2.3× ускорение (22 → 51 tok/s). Il Suggeritore на свежей генерации списка — 2.1× (4.4 с → 2.1 с). Conclave с 5 кандидатами на квизе из 8 вопросов: 97 с → ~50 с, +0.5–2 правильных ответа.
Три важных отрицательных результата: 30B-class MoE на максимальном free tier отвечает на те же вопросы идеально, но в десять раз медленнее 7B-A1B — когда ответ в контексте, лишние параметры не нужны. На перегруженных shared vCPUs speculative драфт-модель бежит так же медленно, как целевая — Reame отключает её на ходу. Conclave не закрывает разрыв до модели вдвое больше на сложных рассуждениях: голосование большинства лечит случайные ошибки, а не системное непонимание — 1.5B ×5 ложится между 1.5B и 3B, но не выше 3B.
Отличие от Ollama формулируется одной фразой: Ollama запускает модели, Reame помнит, что уже запускал. Общего назначения серверы считают каждый запрос новым: вычислил, выбросил, повтори. На GPU это нормально — compute дёшев. На дешёвом CPU compute — самая дорогая вещь, и выбрасывать его — смертный грех. Всё в Reame направлено на то, чтобы сервер становился быстрее с каждым запросом. Сотый запрос стоит долю первого — системный промпт оплачен один раз, похожие ответы черпаются из архива, структура спекулируется бесплатно. Ни у какого другого сервера такого нет.
Reame — бесплатный, MIT, собран на плечах llama.cpp. Спонсируется пользователями; в дорожной карте ARCA (shared memory daemon), warm-ahead prefill и первоклассное serving для MoE.