﻿# SGLang HiCache и RadixAttention: иерархия вокруг повторения префикса

Различие radix-повторения префикса и иерархии RAM и хранилища: перенос блоков, совместимость состояния модели и вытеснение рабочего набора.

Автор: Команда Retrivium
Обновлено: 2026-11-03
Канонический URL: https://retrivium.ai/ru/journal/sglang-hicache-vs-radixattention/
Language: ru

HiCache и RadixAttention не являются двумя несвязанными продуктами SGLang, конкурирующими за запоминание беседы. RadixAttention относится к эффективному повторению состояния общего префикса. HiCache расширяет доступную вокруг этого повторения иерархию памяти. Понимание связи полезнее вопроса, какое название заменить в команде запуска: механизм поиска пригодного состояния и место его хранения описывают разные стороны обслуживания запроса.

## Определите структуру префиксов

[Работа SGLang](https://arxiv.org/abs/2312.07104) представляет RadixAttention как механизм повторного использования KV. Общие начала связанных запросов образуют пригодную структуру. Выгода зависит от фактических префиксов токенов, а не просто от совпадения темы двух документов.

Возьмите трассу многоходовых бесед и отметьте повторяемые поздними запросами участки. Отделите их от независимых документов со схожими словами. Это показывает потенциально устранимые вычисления ещё до обсуждения места хранения сохранённого состояния и ёмкости дополнительных уровней памяти.

## Добавьте иерархию хранения

Актуальная [документация HiCache upstream](https://github.com/sgl-project/sglang/blob/main/docs/docs/advanced_features/hicache.mdx) описывает иерархическое кэширование и поддерживаемые backend. Дополнительный вопрос — сохраняется ли полезность состояния за пределами непосредственного размещения на GPU и как оно возвращается в исполнение следующего запроса.

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

## Проверьте фактическое состояние модели

Официальный [материал SGLang о HiCache](https://www.sglang.io/blog/hicache) рассматривает актуальные особенности состояния, включая гибридные архитектуры. Не предполагайте, что любая текстовая модель хранит только обычные attention KV или что одна конфигурация без изменений подходит всем архитектурам.

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

## Измерьте перенос и вытеснение

Используйте стабильный горячий набор, возвращающиеся длинные беседы и одноразовые проходы. Сравните повторение только в GPU с выбранной иерархией при неизменной трассе. Включите спокойный интервал, после которого выгруженный контекст потребуется снова, вместо проверки только немедленных повторов.

Записывайте локальные попадания, обращения к RAM или хранилищу, байты загрузки, пересчёт и хвост первого токена. Проверьте, не вытесняют ли проходы полезное состояние бесед. Высокая общая доля попаданий способна ухудшить задержку, если многочисленные формальные попадания ждут перегруженного пути передачи.

## Выберите поддерживаемую границу хранения

Определите потребность нагрузки: локальное повторение, более долгое удержание в RAM либо общий внешний уровень. Сопоставьте измеренный выигрыш с очисткой, резервированием ресурсов и восстановлением. Наличие варианта backend в документации не требует включать все уровни сразу.

Опишите резервное вычисление при недоступном кэше и границу совместного использования запросами и арендаторами. Постоянное внешнее хранение отличается по политике данных от временной GPU-памяти и RAM. Провайдеру следует указывать эти границы явно: существование функции кэширования не даёт разрешения сохранять содержимое запросов вопреки принятой политике.

## Материалы по теме

[LRU, LFU и SLRU в SGLang: как защитить горячий набор префиксов](/ru/journal/sglang-radix-eviction-hotset/), [Prefix caching: когда повторяющийся контекст помогает GPU-пулу](/ru/journal/prefix-caching/).
