Chitu:面向大型语言模型的高性能推理框架

Chitu:面向大型语言模型的高性能推理框架

chitu High-performance inference framework for large language models, focusing on efficiency, flexibility, and availability. chitu 项目地址: https://gitcode.com/gh_mirrors/chit/chitu

1. 项目介绍

Chitu 是一个为大型语言模型设计的高性能推理框架,它专注于效率、灵活性和可用性。Chitu 支持多种主流的大型语言模型,包括 DeepSeek、LLaMA 系列、Mixtral 等。项目旨在不断发展和整合最新的优化技术,包括 GPU 内核、并行策略、量化等,以适应各种硬件环境,包括老旧的 GPU、非 NVIDIA GPU 和 CPU,满足多样化的部署需求。

2. 项目快速启动

安装

首先,从源代码安装 Chitu:

git clone --recursive https://github.com/thu-pacman/chitu
cd chitu
pip install -r requirements-build.txt
pip install -U torch --index-url https://download.pytorch.org/whl/cu124
# 根据你的 CUDA 版本修改
TORCH_CUDA_ARCH_LIST=8.6 CHITU_SETUP_JOBS=4 MAX_JOBS=4 pip install --no-build-isolation .

单 GPU 推理

使用以下命令进行单 GPU 推理:

torchrun --nproc_per_node 8 test/single_req_test.py request.max_new_tokens=64 models=DeepSeek-R1 models.ckpt_dir=/data/DeepSeek-R1 infer.pp_size=1 infer.tp_size=8

混合并行(TP+PP)

使用以下命令启动混合并行推理:

torchrun --nnodes 2 --nproc_per_node 8 test/single_req_test.py request.max_new_tokens=64 infer.pp_size=2 infer.tp_size=8 models=DeepSeek-R1 models.ckpt_dir=/data/DeepSeek-R1

启动服务

以下命令用于在本地启动服务:

export WORLD_SIZE=8
torchrun --nnodes 1 \
--nproc_per_node 8 \
--master_port=22525 \
-m chitu \
serve.port=21002 \
infer.stop_with_eos=False \
infer.cache_type=paged \
infer.pp_size=1 \
infer.tp_size=8 \
models=DeepSeek-R1 \
models.ckpt_dir=/data/DeepSeek-R1 \
infer.attn_type=flash_infer \
keep_dtype_in_checkpoint=True \
infer.mla_absorb=absorb-without-precomp \
infer.soft_fp8=True \
infer.do_load=True \
infer.max_reqs=1 \
scheduler.prefill_first.num_tasks=100 \
infer.max_seq_len=4096 \
request.max_new_tokens=100 \
infer.use_cuda_graph=True

测试服务

使用以下 curl 命令测试服务:

curl localhost:21002/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "system",
"content": "你是一个有用的助手。"
},
{
"role": "user",
"content": "机器学习是什么?"
}
]
}'

3. 应用案例和最佳实践

在部署 DeepSeek-R1-671B 模型时,以下是一些性能数据和应用案例:

  • 在 A800(40GB) 集群上部署,使用 6 节点 BF16 精度配置的 Chitu 框架,可以达到 29.8 output token/s 的输出吞吐量。
  • 使用 3 节点 FP8 精度配置,可以达到 22.7 output token/s 的输出吞吐量,且性能接近 6 节点 BF16 配置。
  • 使用 cuda graph 可以显著提升性能。

根据不同的批处理大小,FP8 模型在 3 节点上的输出速度约为 6 节点 BF16 模型的 75%~90%,即单位计算功率的输出提高了 1.5x~1.8x。

4. 典型生态项目

Chitu 框架在构建时借鉴了以下项目的一些功能和策略:vLLM、SGLang、DeepSeek 等。同时,特别感谢合作伙伴:中国电信、华为、沐曦、燧原 等,在项目开发过程中提供的支持和帮助。

chitu High-performance inference framework for large language models, focusing on efficiency, flexibility, and availability. chitu 项目地址: https://gitcode.com/gh_mirrors/chit/chitu

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎纯俪Forest

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值