SpecForge: инструмент для тренировки моделей спекулятивного декодирования
SpecForge — это инструмент для тренировки моделей спекулятивного декодирования и их интеграции в SGLang. Он упрощает процесс, предоставляя удобные средства для создания и развертывания моделей, что может быть полезно как для исследователей, так и для разработчиков.
Основная задача SpecForge — преодолеть сложности в настройке моделей для спекулятивного декодирования, что часто требует глубоких знаний в области машинного обучения и программирования. Проект отличается от похожих инструментов своей фокусировкой на SGLang, что упрощает создание API и интеграцию с существующими системами. Если ты работаешь с языками программирования в области искусственного интеллекта и нуждаешься в гибком решении для декодирования, SpecForge — может стать отличным выбором.
Проект написан на Python и доступен через pip. Однако стоит учитывать, что он находится на ранней стадии разработки, и могут быть недоработки. Тщательно ознакомься с документацией по ссылке в репозитории, чтобы не столкнуться с проблемами при использовании. Если у тебя нет опыта работы с SGLang, это может добавить несколько дополнительных шагов в процессе старта.
Проект SpecForge — это экосистема, разработанная командой SGLang, представляющая собой фреймворк для обучения моделей спекулятивного декодирования. Его основная цель — упростить перенос этих моделей в SGLang, что значительно ускоряет процесс вывода (inference). Создание SpecForge обусловлено тем, что многие существующие решения в области спекулятивного декодирования либо плохо поддерживаются, либо несовместимы с SGLang.
SpecForge предлагает регулярные обновления и совместимость с SGLang, а также возможность запуска разнообразных режимов обучения — как онлайн, так и офлайн, что дает свободу в выборе параллельных топологий данных и последовательностей.
Установка и запуск
Чтобы начать работу с SpecForge, необходимо установить все зависимости. Рекомендуется ознакомиться с документацией, доступной по ссылке: Документация SpecForge.
Для начала обучения модели используется следующая команда:
specforge train --config examples/configs/online/disaggregated/external/qwen3-8b-eagle3-disaggregated.yaml
Здесь путь к конфигурации определяет режим функции, топологию и принадлежность онлайн-сервиса. В проекте предусмотрен набор конфигураций для различных методов обучения, таких как EAGLE3, P-EAGLE, DFlash и другие.
Поддерживаемые методы
SpecForge предлагает ряд методов спекулятивного декодирования, каждый из которых имеет свои особенности. Например:
- EAGLE3: Авто регрессионное формирование на основе признаков.
- P-EAGLE: Параллельное выполнение EAGLE.
- DFlash: Блочно-параллельное формирование, поддерживающее несколько режимов.
Каждый из методов представляется с примером конфигурации и дополнительными возможностями опережающих потерь, что увеличивает эффективность работы.
Ограничения
Хотя SpecForge предлагает широкие возможности для обучения, некоторые комбинации методов могут быть несовместимы. Неправильные комбинации отфильтровываются во время проверки конфигурации, чтобы избежать ошибок во время выполнения.
Дополнительные ресурсы
В дополнение к SpecForge, команда также разработала SpecBundle — коллекцию моделей спекулятивного декодирования, которые могут продемонстрировать более высокую скорость и точность по сравнению с существующими решениями. Специально для этого проекта доступны дополнительные ресурсы, такие как:
Открыть на GitHub: sgl-project/SpecForge →
RepoRadar