ScaleLLM 项目介绍
项目概述
ScaleLLM 是一种为大型语言模型(LLMs)设计的高效推理系统,专为满足生产环境需求而打造。它支持多种流行的开源模型,如 Llama3.1、Gemma2、Bloom、GPT-NeoX 等。这个项目目前正积极开发中,致力于不断提高效率并增加新功能。
最新动态
- 2024年6月:ScaleLLM 已在 PyPI 上发布,用户可以通过
pip install scalellm
安装。 - 2024年3月:支持高级功能,如 CUDA 图、前缀缓存、块填充和预测解码。
- 2023年11月:首次发布支持流行的开源模型。
关键功能
- 高效性能:在大模型推理中表现出色,采用了如 Flash Attention、Paged Attention、连续批处理等先进技术。
- 张量并行:利用张量并行技术以提高模型执行效率。
- OpenAI 兼容 API:提供支持聊天和完成功能的 OpenAI 兼容 REST API 服务器。
- 与 Huggingface 模型无缝集成:支持 safetensors,使得大多数流行的 HF 模型可以无缝集成。
- 可定制性强:提供灵活的定制选项,以满足特定需求,并易于添加新模型。
- 生产环境就绪:为生产环境精心设计,配备完善的系统监控和管理功能,确保部署无缝。
使用方法
安装
ScaleLLM 提供了 PyPI 上的 Python Wheel 包,用户可以通过以下命令进行安装:
pip install -U scalellm
用户还可以根据需要安装不同版本的 CUDA 和 Pytorch。
本地构建
对于未提供 wheel 包的配置,用户可以从源码构建 ScaleLLM:
python setup.py bdist_wheel
pip install dist/scalellm-*.whl
启动 OpenAI 兼容服务器
使用以下命令启动 OpenAI 兼容的 REST API 服务器:
python3 -m scalellm.serve.api_server --model=meta-llama/Meta-Llama-3.1-8B-Instruct
启动 Chatbot 用户界面
本地 Chatbot 用户界面可通过以下方式在本地 localhost:3000 访问:
docker pull docker.io/vectorchai/chatbot-ui:latest
docker run -it --net=host \
-e OPENAI_API_HOST=http://127.0.0.1:8080 \
-e OPENAI_API_KEY=YOUR_API_KEY \
docker.io/vectorchai/chatbot-ui:latest
支持的高级功能
- CUDA Graph:通过减少内核启动开销以提高性能。
- 前缀缓存:缓存中间状态以避免重复计算。
- 块填充:提高解码吞吐量并改善用户体验。
- 预测解码:通过生成易于验证的预测标记来加速推理。
支持的模型
ScaleLLM 支持多种模型,包括 Aquila、Bloom、Baichuan、ChatGLM4/3、Gemma2 等,如果需要支持更多模型,可以在 GitHub Issues 中创建请求。
项目的局限性
目前仅支持 Turing 架构及更新的 GPU,但团队正在努力在未来几个月内解决这些限制。
参与贡献
如果有疑问或希望参与项目,请在讨论论坛或 Discord 聊天室中与我们联系。我们非常欢迎各界人士参与贡献,以使 ScaleLLM 更加完善。
致谢
感谢以下开源项目为 ScaleLLM 的开发提供支持:flashinfer、pytorch、FasterTransformer、vllm、AutoGPTQ、llm-awq 等。
授权协议
ScaleLLM 项目采用 Apache 2.0 许可证发布。