FastChat — это открытая программная платформа, разработанная организацией LMSYS, предназначенная для обучения, развёртывания и оценки чат-ориентированных моделей на базе больших языковых моделей. Платформа включает компоненты, позволяющие управлять моделью (контроллер), запускать рабочие процессы (workers), предоставлять веб-интерфейс для взаимодействия и поддерживать API, совместимый с протоколом OpenAI. FastChat используется как инфраструктура для проекта Chatbot Arena и для развёртывания моделей вроде Vicuna и FastChat-T5.
Проект реализован под лицензией Apache 2.0 и доступен в открытом исходном коде. Он предлагает интегрированное решение, объединяющее этапы тонкой настройки (fine-tuning), автономного обслуживания запросов (serving) и оценки качества моделей. В экосистеме FastChat при оценке моделей применяются механизмы парного сравнения ответов, в том числе через платформу Chatbot Arena, а также набор MT-Bench для многопереписных сценариев.
Хотя официальная документация охватывает многие сценарии, некоторые аспекты могут быть отражены лишь частично (например, масштабируемость при крайне высоких нагрузках в пользовательских конфигурациях). FastChat тем не менее представляет собой полноценную платформу, отвечающую потребностям исследователей и разработчиков в области чат-LLM.
- Модульность архитектуры — чёткое разграничение контроллера, рабочих узлов и интерфейсных компонентов.
- Поддержка множественных моделей — возможность обслуживать одновременно несколько моделей на одной инфраструктуре.
- Интерфейс Web UI — встроенный веб-интерфейс для тестирования моделей вручную и просмотра логов.
- OpenAI-совместимый API — RESTful API, совместимый с клиентскими библиотеками, использующими OpenAI-протокол.
- Инструменты оценки качества — интеграция с парным сравнением ответов и с методиками LLM-в роли судьи, включая MT-Bench и Chatbot Arena.
- Поддержка тонкой настройки — встроенные скрипты и механизмы для дообучения моделей на пользовательских наборах данных.
- Квантование и оптимизация памяти — возможности загрузки моделей в 8-битном формате и отгрузка части весов в CPU при необходимости.
- Масштабируемое обслуживание — распределённое управление нагрузкой между рабочими узлами и возможность горизонтального расширения.