5.8 KiB
5.8 KiB
P26-B. Parrot: префиксы и локальность
- Версия и дата проверки: 1.1, 07.09.2026.
- Статус: готово к назначению.
Статья и исходные материалы
- Основная статья: Chaofan Lin и соавт. — Parrot: Efficient Serving of LLM-based Applications with Semantic Variable. OSDI 2024.
- Кратко о статье: В LLM-приложениях разные вызовы часто используют общие части промптов, однако обычный сервис не знает ни об этой связи, ни о зависимостях между запросами. Parrot представляет значения семантическими переменными и использует открывшийся граф для переиспользования контекста и совместного планирования. В этом проекте исследуется компромисс между локальностью общих префиксов и балансировкой очередей.
- Почему результат актуален: Parrot добавляет в интерфейс LLM-сервиса семантические переменные, которые раскрывают зависимости между вызовами и структуру промптов для совместной оптимизации всего приложения.
- Артефакты и данные: microsoft/ParrotServe под MIT, с клиентской частью, примерами составных приложений, планировщиком и тестами. Зафиксированная основная ревизия:
microsoft/ParrotServe@2e1825ee2bc3(MIT). - Что уже предоставляет артефакт: ParrotServe предоставляет семантические переменные, планирование и примеры приложений. Код и описание используются как эталон взаимодействия запросов и общего префикса.
Обязательный результат
- Проверяемый вопрос или утверждение: Знание общих частей промптов позволяет уменьшать повторные вычисления, но политика локальности может конфликтовать с балансировкой очередей и критическим путём приложения.
- Технический результат: Реализовать исполнитель составных запросов с явными семантическими переменными, блочным кэшем префиксов и двумя политиками маршрутизации: least-loaded и prefix-aware. Допустима малая локальная модель или детерминированная функция с измеряемой стоимостью.
- Обязательное приращение команды: Реализовать предусмотренные CPU-исполнитель, блочный кэш и маршрутизацию least-loaded и prefix-aware. Подготовить собственную параметризованную нагрузку, проверку изоляции результатов и измерения попаданий, повторной работы и времени приложения.
- Эксперимент: Варьировать долю общих префиксов, размер кэша, интенсивность и перекос запросов. Сравнить least-loaded baseline и prefix-aware-политику по hit rate, объёму повторной работы, полному времени приложения, p95 и загрузке исполнителей минимум в трёх сериях; проверить правильность изоляции результатов разных запросов.
- Границы выводов: компромисс локальности и балансировки проверяется для выбранной модели стоимости, кэша и распределения префиксов; результат не подтверждает совместимость реального KV-кэша модели и производительность GPU-сервера.
- Ресурсный профиль: локально, CPU, до 16 ГБ памяти; вызов LLM можно заменить малой локальной моделью или детерминированной функцией с измеряемым временем, но сам исполнитель и планировщик должны работать на реальных запросах. Симулятор допустим только для масштабных серий.
Содержательные направления
- нагрузки и графы с общими префиксами.
- кэш и маршрутизация.
- метрики, проверка изоляции, граничные режимы и новая политика.
Возможное продолжение
Добавить многоарендность, ошибочные аннотации, стоимость переноса состояния, совместную политику критического пути и локальности или предсказание повторного использования.