LightLLM: эффективный легкий фреймворк для обоснования и обслуживания больших языковых моделей
Общее введение
LightLLM это основанный на Python фреймворк выводов и сервисов Large Language Model (LLM), известный своим легким дизайном, простотой масштабирования и эффективной производительностью. Фреймворк использует множество известных открытых реализаций, включая FasterTransformer, TGI, vLLM, FlashAttention и другие. lightLLM значительно улучшает использование GPU и скорость вычислений благодаря таким техникам, как асинхронное взаимодействие, динамическое пакетирование и тензорный параллелизм для широкого спектра моделей и сценариев применения.

Список функций
- Асинхронная совместная работа: поддержка асинхронного разбиения слов, вывода модели и операций де-разбиения для повышения эффективности использования GPU.
- Fillerless Attention: поддерживает операции внимания без заполнения для нескольких моделей и обрабатывает запросы с большой разницей в длине.
- Динамическая пакетная обработка: поддержка динамического пакетного планирования запросов.
- FlashAttention: увеличьте скорость и сократите объем памяти GPU с помощью FlashAttention.
- Тензорный параллелизм: ускорение вывода на нескольких GPU с помощью тензорного параллелизма.
- Токен Внимание: Реализован механизм управления памятью на основе маркеров для KV-кэша с нулевой тратой памяти.
- Высокопроизводительные маршрутизаторы: работа с Token Attention для оптимизации пропускной способности системы.
- Int8KV Cache: увеличена емкость токена, почти в два раза.
- Поддерживает множество моделей: включая BLOOM, LLaMA, StarCoder, ChatGLM2 и др.
Использование помощи
Процесс установки
- Установите LightLLM с помощью Docker:
docker pull modeltc/lightllm
docker run -it --rm modeltc/lightllm
- Установите зависимость:
pip install -r requirements.txt
Использование
- Запустите службу LightLLM:
python -m lightllm.server
- Модель запроса (консольный пример):
python -m lightllm.client --model llama --text "你好,世界!"
- Модель запроса (пример Python):
from lightllm import Client
client = Client(model="llama")
response = client.query("你好,世界!")
print(response)
Основные функции
- асинхронное сотрудничествоLightLLM значительно повышает эффективность использования GPU благодаря асинхронному выполнению операций сегментации, вывода модели и де-сегментации. Пользователи просто запускают сервис, и система выполняет эти операции автоматически.
- неполная концентрация внимания: При обработке запросов с большой разницей в длине LightLLM поддерживает операции внимания без прокладок для обеспечения эффективной обработки. Пользователю не требуется дополнительная настройка, система оптимизируется автоматически.
- Динамическая пакетная обработкаLightLLM поддерживает динамическое пакетное планирование, пользователи могут задавать параметры пакета через конфигурационный файл, система будет динамически корректировать пакетную политику в соответствии с запросом.
- ВспышкаВнимание: Благодаря интеграции технологии FlashAttention, LightLLM повышает скорость вычислений и уменьшает занимаемую память GPU. Пользователи могут включить эту функцию в конфигурационном файле.
- тензорный параллелизмLightLLM поддерживает тензорный параллелизм на нескольких GPU. Пользователи могут задать количество GPU и параметры параллелизма в конфигурационном файле, и система будет автоматически распределять задачи.
- Жетон внимания: LightLLM реализует механизм управления памятью на основе маркеров для KV-кэша, обеспечивая отсутствие потерь памяти. Дополнительная настройка не требуется, система управляет памятью автоматически.
- Высокопроизводительный маршрутизатор: Высокопроизводительные маршрутизаторы LightLLM работают с Token Attention для оптимизации пропускной способности системы. Пользователи могут задать параметры маршрутизации в конфигурационном файле, и система автоматически оптимизирует политику маршрутизации.
- Кэш Int8KV: LightLLM поддерживает кэш Int8KV для увеличения емкости токенов почти в два раза. Пользователи могут включить эту функцию в конфигурационном файле, и система автоматически настроит стратегию кэширования.
Поддерживаемые модели
LightLLM поддерживает различные модели, включая, но не ограничиваясь ими:
- BLOOM
- LLaMA
- StarCoder
- ChatGLM2
- InternLM
- Qwen-VL
- Llava
- Stablelm
- MiniCPM
- Фи-3
- CohereForAI
- DeepSeek-V2
Пользователи могут выбрать подходящую модель в соответствии со своими потребностями и задать ее в файле конфигурации.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...