SGLang: как исполнять программы на языковых моделях
SGLang: Efficient Execution of Structured Language Model Programs
Участники выпуска
Сольный выпуск без приглашённых гостей.
Что разберём
Запланированный выпуск Research Insights Made Simple разбирает статью Zheng, Yin, Xie, Sheng и соавторов из Стэнфорда и Беркли — «SGLang: Efficient Execution of Structured Language Model Programs» (NeurIPS 2024): почему современные приложения вызывают модель много раз с ветвлением и структурированным вводом-выводом, а движки инференса видят каждый вызов по отдельности.
Разговор идёт по логике статьи: язык из семи примитивов внутри Python, интерпретатор как поток асинхронных операций, RadixAttention — радиксное дерево с LRU-вытеснением поверх страничного KV-кеша, планировщик по самому длинному общему префиксу, сжатый конечный автомат для декодирования по схеме и спекулятивное исполнение для закрытых API.
Главный вопрос выпуска — как сервер, который умеет читать структуру программы, получил до 6,4× пропускной способности и до 3,7× меньшую задержку поверх vLLM, не тронув модель, сколько стоит само дерево и где, по словам авторов, рецепт не дотягивает.