AIパーソナル・ラーニング
と実践的なガイダンス
讯飞绘镜

Chitu (Red Rabbit): 清華チームが発表した高性能大規模言語モデル推論フレームワーク

はじめに

Chituは、清華大学のPACMANチームによって開発されたオープンソースの推論フレームワークで、「Red Rabbit」と呼ばれ、大規模な言語モデルを実行するために特別に設計されています。ChituはNVIDIAのGPUや国産チップなど様々なハードウェアをサポートし、スタンドアロンから大規模クラスタまで利用できる。例えば、A800でDeepSeek-671Bを実行すると、半分のGPUでvLLMの3倍以上高速になる。コードはGitHubで公開されており、企業や個人が無料でダウンロードして使用することができる。これは本番環境用のすぐに使えるツールで、コストを節約したいがパフォーマンスも欲しいというチームに適している。

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


 

機能一覧

  • FP8とBF16のモデル推論をサポートし、古いGPUや国産チップでも低コストで高性能に動作する。
  • 純粋なCPUからNVIDIA A800、H20などのGPU、大規模クラスタまで、幅広いハードウェアに対応。
  • CUDA Graphで推論速度を最適化し、1回のリクエストでより高速な出力を実現。
  • 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つのテストを実行したりできます。その方法は以下の通り:

推論サービスの開始

  1. モデルパスの設定
    • ローカル・ディレクトリにモデル・ファイル (DeepSeek-R1 など) を準備します。 /data/DeepSeek-R1).
    • 編集コマンドで models.ckpt_dir パラメータはモデルのパスを指す。
  2. サービス開始
    • ポート21002でリッスンしているtorchrunでスタンドアロンサービスを開始する:
      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. 分散サービスの開始
    • それぞれ8GPUを搭載した2台のマシンで実行する:
      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モデルでコストとスピードを節約

  • チチュはFP8形式のモデルをサポートしており、BF16よりもGPUの使用量が少なく高速だ。
  • 操作:起動時に追加 infer.soft_fp8=True例えば、モデルがFP8形式の場合、モデルは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による高速化

  • 単一のリクエストは、パラメータ infer.use_cuda_graph=True.
  • テスト効果:1つの推論を実行し、追加の有無による速度の違いを比較する。

パフォーマンステスト

  • Chituには、スループットとレイテンシーを測定するベンチマークツールが付属している:
    python benchmarks/benchmark_serving.py \
    --model "deepseek-r1" \
    --iterations 10 \
    --seq-len 10 \
    --base-url http://localhost:21002
    
  • の数が表示される。 トークン の数字が、配分を最適化するのに役立つ。

ほら

  • 複数のノードを使用する場合、ネットワークは安定していなければ低下する。
  • GPUメモリが不足するとOOMエラーが発生する可能性があります。 infer.max_seq_len またはノード数が少ない。
  • 国内チップのサポートはまだ最適化の過程にあり、適応するためにコードを変更する必要があるかもしれない。

Chituの使い方は難しくなく、手順に従って操作すればすぐに使い始めることができる。ドキュメントやコミュニティもGitHubにあるので、質問があればissueを出すことができる。

無断転載を禁じます:チーフAIシェアリングサークル " Chitu (Red Rabbit): 清華チームが発表した高性能大規模言語モデル推論フレームワーク
ja日本語