AI个人学习
和实操指南
豆包Marscode1

Chitu(赤兔):清华团队推出的高性能大语言模型推理框架

综合介绍

Chitu 是一个由清华大学 PACMAN 团队开发的开源推理框架,全名叫“赤兔”,专门用来跑大语言模型。它主打高效、灵活和实用,能让企业在不同设备上快速部署大模型。Chitu 支持多种硬件,比如 NVIDIA 的 GPU 和国产芯片,还能从单机用到大规模集群。它的亮点是用 FP8 模型推理,能大幅降低成本,比如在 A800 上跑 DeepSeek-671B,比 vLLM 少用一半 GPU,速度还快了 3 倍多。代码已在 GitHub 上公开,企业或个人都能免费下载使用。这是个生产环境开箱即用的工具,适合想省钱又要性能的团队。

Chitu(赤兔):清华团队推出的高性能大语言模型推理框架-1


 

功能列表

  • 支持 FP8 和 BF16 模型推理,能在老款 GPU 和国产芯片上跑,成本低性能高。
  • 适配多种硬件,从纯 CPU 到 NVIDIA A800、H20 等 GPU,再到大规模集群都行。
  • 用 CUDA Graph 优化推理速度,单次请求的输出更快。
  • 提供服务接口,可以直接通过 HTTP 请求调用模型。
  • 支持多节点分布式推理,适合大批量任务处理。
  • 开源代码,企业可以按需改动或优化。

 

使用帮助

安装流程

Chitu 的安装不算复杂,但需要一些准备工作。以下是详细步骤:

  1. 准备环境
    • 系统:推荐 Ubuntu 22.04,带 NVIDIA GPU 的机器(比如 A800 或 H20)。
    • 软件:安装 Git、Python 3.10、CUDA 12.1(根据你的 GPU 版本调整)、PyTorch 2.1。
    • 命令示例:
      sudo apt update && sudo apt install -y git python3.10 python3-pip
      pip install -U torch==2.1 --index-url https://download.pytorch.org/whl/cu121
      
  2. 下载代码
    • 用 Git 把 Chitu 的代码克隆到本地:
      git clone --recursive https://github.com/thu-pacman/chitu
      cd chitu
      
  3. 安装依赖
    • 安装需要的 Python 包和编译环境:
      pip install -r requirements-build.txt
      pip install flash-attn
      
  4. 编译安装
    • 设置编译参数(根据你的 GPU 调整 TORCH_CUDA_ARCH_LIST,比如 A800 用 8.0),然后编译:
      TORCH_CUDA_ARCH_LIST=8.0 CHITU_SETUP_JOBS=4 MAX_JOBS=4 pip install --no-build-isolation .
      
  5. 检查安装
    • 跑个测试确认没问题:
      torchrun --nproc_per_node 1 test/single_req_test.py
      

如何使用

Chitu 装好后,可以通过命令行启动服务,或者跑单次测试。以下是具体操作:

启动推理服务

  1. 配置模型路径
    • 准备好模型文件,比如 DeepSeek-R1,放在本地目录(如 /data/DeepSeek-R1)。
    • 编辑命令里的 models.ckpt_dir 参数指向模型路径。
  2. 启动服务
    • 用 torchrun 启动单机服务,监听 21002 端口:
      export WORLD_SIZE=1
      torchrun --nproc_per_node 1 chitu/serve.py \
      serve.port=21002 \
      models=DeepSeek-R1 \
      models.ckpt_dir=/data/DeepSeek-R1 \
      infer.use_cuda_graph=True \
      request.max_new_tokens=100
      
  3. 测试服务
    • 用 curl 发送请求,看看模型能不能正常回答:
      curl localhost:21002/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{"messages": [{"role": "user", "content": "你好,Chitu 是什么?"}]}'
      
    • 返回结果会是 JSON 格式,包含模型的回答。

跑单次推理测试

  • 如果不想启动服务,可以直接测试模型输出:
    torchrun --nproc_per_node 1 test/single_req_test.py \
    models=DeepSeek-R1 \
    models.ckpt_dir=/data/DeepSeek-R1 \
    request.max_new_tokens=64
  • 输出会在终端显示,告诉你模型生成了什么。

多节点分布式推理

  1. 准备多台机器
    • 确保每台机器装好 Chitu 和依赖,模型文件放在共享存储上。
  2. 启动分布式服务
    • 用 2 台机器,每台 8 个 GPU 跑:
      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
      
  3. 检查效果
    • 多节点跑完后,输出速度会比单机快,适合处理大批量请求。

特色功能操作

用 FP8 模型省钱提速

  • Chitu 支持 FP8 格式模型,比 BF16 用更少的 GPU,速度还更快。
  • 操作:启动时加 infer.soft_fp8=True,确保模型是 FP8 格式。比如:
    torchrun --nproc_per_node 1 chitu/serve.py \
    serve.port=21002 \
    models=DeepSeek-R1 \
    models.ckpt_dir=/data/DeepSeek-R1 \
    infer.soft_fp8=True
    

用 CUDA Graph 加速

  • 单次请求可以用 CUDA Graph 提速,加参数 infer.use_cuda_graph=True
  • 测试效果:跑单次推理,对比加和不加的速度差别。

性能测试

  • Chitu 自带基准测试工具,测测吞吐量和延迟:
    python benchmarks/benchmark_serving.py \
    --model "deepseek-r1" \
    --iterations 10 \
    --seq-len 10 \
    --base-url http://localhost:21002
    
  • 结果会显示每秒处理的 token 数,帮你优化配置。

注意事项

  • 如果用多节点,网络得稳定,不然会掉线。
  • GPU 显存不够可能报 OOM 错误,调低 infer.max_seq_len 或用更少节点。
  • 国产芯片支持还在优化中,可能需要改代码适配。

Chitu 的操作不难,跟着步骤走就能上手。它的文档和社区也在 GitHub 上,有问题可以提 issue。

未经允许不得转载:首席AI分享圈 » Chitu(赤兔):清华团队推出的高性能大语言模型推理框架

首席AI分享圈

首席AI分享圈专注于人工智能学习,提供全面的AI学习内容、AI工具和实操指导。我们的目标是通过高质量的内容和实践经验分享,帮助用户掌握AI技术,一起挖掘AI的无限潜能。无论您是AI初学者还是资深专家,这里都是您获取知识、提升技能、实现创新的理想之地。

联系我们
zh_CN简体中文