LightLLM: эффективный легкий фреймворк для обоснования и обслуживания больших языковых моделей

Общее введение

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

LightLLM:高效的轻量级大语言模型推理和服务框架

 

Список функций

  • Асинхронная совместная работа: поддержка асинхронного разбиения слов, вывода модели и операций де-разбиения для повышения эффективности использования GPU.
  • Fillerless Attention: поддерживает операции внимания без заполнения для нескольких моделей и обрабатывает запросы с большой разницей в длине.
  • Динамическая пакетная обработка: поддержка динамического пакетного планирования запросов.
  • FlashAttention: увеличьте скорость и сократите объем памяти GPU с помощью FlashAttention.
  • Тензорный параллелизм: ускорение вывода на нескольких GPU с помощью тензорного параллелизма.
  • Токен Внимание: Реализован механизм управления памятью на основе маркеров для KV-кэша с нулевой тратой памяти.
  • Высокопроизводительные маршрутизаторы: работа с Token Attention для оптимизации пропускной способности системы.
  • Int8KV Cache: увеличена емкость токена, почти в два раза.
  • Поддерживает множество моделей: включая BLOOM, LLaMA, StarCoder, ChatGLM2 и др.

 

Использование помощи

Процесс установки

  1. Установите LightLLM с помощью Docker:
   docker pull modeltc/lightllm
docker run -it --rm modeltc/lightllm
  1. Установите зависимость:
   pip install -r requirements.txt

Использование

  1. Запустите службу LightLLM:
   python -m lightllm.server
  1. Модель запроса (консольный пример):
   python -m lightllm.client --model llama --text "你好,世界!"
  1. Модель запроса (пример Python):
   from lightllm import Client
client = Client(model="llama")
response = client.query("你好,世界!")
print(response)

Основные функции

  1. асинхронное сотрудничествоLightLLM значительно повышает эффективность использования GPU благодаря асинхронному выполнению операций сегментации, вывода модели и де-сегментации. Пользователи просто запускают сервис, и система выполняет эти операции автоматически.
  2. неполная концентрация внимания: При обработке запросов с большой разницей в длине LightLLM поддерживает операции внимания без прокладок для обеспечения эффективной обработки. Пользователю не требуется дополнительная настройка, система оптимизируется автоматически.
  3. Динамическая пакетная обработкаLightLLM поддерживает динамическое пакетное планирование, пользователи могут задавать параметры пакета через конфигурационный файл, система будет динамически корректировать пакетную политику в соответствии с запросом.
  4. ВспышкаВнимание: Благодаря интеграции технологии FlashAttention, LightLLM повышает скорость вычислений и уменьшает занимаемую память GPU. Пользователи могут включить эту функцию в конфигурационном файле.
  5. тензорный параллелизмLightLLM поддерживает тензорный параллелизм на нескольких GPU. Пользователи могут задать количество GPU и параметры параллелизма в конфигурационном файле, и система будет автоматически распределять задачи.
  6. Жетон внимания: LightLLM реализует механизм управления памятью на основе маркеров для KV-кэша, обеспечивая отсутствие потерь памяти. Дополнительная настройка не требуется, система управляет памятью автоматически.
  7. Высокопроизводительный маршрутизатор: Высокопроизводительные маршрутизаторы LightLLM работают с Token Attention для оптимизации пропускной способности системы. Пользователи могут задать параметры маршрутизации в конфигурационном файле, и система автоматически оптимизирует политику маршрутизации.
  8. Кэш Int8KV: LightLLM поддерживает кэш Int8KV для увеличения емкости токенов почти в два раза. Пользователи могут включить эту функцию в конфигурационном файле, и система автоматически настроит стратегию кэширования.

Поддерживаемые модели

LightLLM поддерживает различные модели, включая, но не ограничиваясь ими:

  • BLOOM
  • LLaMA
  • StarCoder
  • ChatGLM2
  • InternLM
  • Qwen-VL
  • Llava
  • Stablelm
  • MiniCPM
  • Фи-3
  • CohereForAI
  • DeepSeek-V2

Пользователи могут выбрать подходящую модель в соответствии со своими потребностями и задать ее в файле конфигурации.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...