618ZXW

China Telecom Cloud CPU インスタンスに DeepSeek-R1 モデルをデプロイするためのベストプラクティス

この記事では、AI推論分野におけるインテル® Xeon® プロセッサーの利点、ワンクリック展開イメージを使用してAMXアクセラレーションに基づく純粋なCPU環境でDeepSeek-R1 7B蒸留モデル推論を実行する方法、および純粋なCPU環境で本格的なDeepSeek-R1 671Bモデルを展開する実践的なアプリケーションを紹介します。

大規模モデルは、その膨大なパラメータスケールと複雑な構造のため、推論プロセスをサポートするために強力なコンピューティングリソースを必要とすることが多く、コンピューティングパワーは大規模モデルアプリケーションの中核要素となっています。DeepSeek-R1モデルの登場により、様々な業界が大規模モデルの能力へのアクセス方法に関する広範な研究と探究を開始し、大規模モデル推論コンピューティングパワーに対する市場需要は爆発的な成長傾向を示しています。

例えば、ヘルスケア、金融、小売といった分野では、企業はDeepSeekの大規模モデルとの統合によって意思決定の効率性とビジネス能力を向上させ、業界のイノベーションを推進することに熱心に取り組んでいます。こうした状況において、コンピューティングパワーの供給と最適化は、これらの大規模モデルの実用化を促進する上で重要な要素となっています。

近年、CPUの製造プロセスとアーキテクチャの進歩、そしてIntel® Advanced Matrix Extensions (AMX) アクセラレーターの導入により、コンピューティング能力は急速に向上しています。Intelは、大規模モデル推論を含む複数のAI分野において、包括的なAIソフトウェアサポート、主流のAIソフトウェアとの互換性、そしてCPUのAI性能を向上させる様々なソフトウェア手法の提供など、継続的な研究に取り組んでいます。現在、CPUが大規模モデル推論シナリオに十分に対応できることを実証するデータは豊富にあります。

 CPU适用于以下大模型推理场景:
  • シナリオ1:大規模モデルの推論に必要なメモリが単一のGPUのビデオメモリ容量を超え、複数枚以上の高性能GPUカードが必要になります。CPUソリューションを使用することでコストを削減できます。
  • シナリオ 2: アプリケーションのリクエスト数が少なく、GPU 使用率が低い場合は、CPU 推論が使用され、リソース割り当ての粒度が小さくなるため、初期セットアップ コストを効果的に削減できます。
  • シナリオ 3: GPU リソースが不足しており、CPU の方が入手しやすく、大規模なモデル推論を処理できます。

中国電信クラウドEMRインスタンスにおけるDeepSeek-R1-Distill-Qwen-7B蒸留モデルの導入実践

このセクションでは、主に Intel® xFasterTransformer アクセラレーション ライブラリと vllm 推論エンジンに基づいて、China Telecom Cloud EMR インスタンスにモデルをデプロイする方法を紹介し、関連するパフォーマンス メトリックを示します。

サービスの展開

ユーザーエクスペリエンスの向上のため、China Telecom CloudはIntelと共同で、ワンクリックで導入できるクラウドサーバーイメージを作成しました。このイメージには、DeepSeek-R1-Distill-Qwen-7Bモデル、vLLM推論フレームワーク、xFTアクセラレーションライブラリ、そしてopen-webuiフロントエンドビジュアル環境が含まれています。China Telecom Cloudコンソールで以下のリソースプールとイメージを選択し、クラウドサーバーを有効化してご体験いただけます。

クラウド サーバーが起動すると、5 分以内に推論サービスが自動的に開始されるため、他に何もする必要はありません。
注: クラウド サーバーの外部からサービスにアクセスする必要がある場合は、Elastic IP をバインドし、セキュリティ グループでポート 22/3000/8000 を許可する必要があります。

モデルの使用

open-webui フロントエンドの使用

このイメージにはOpenWebUIが組み込まれており、VLLMに接続するように設定されています。以下のアドレスから直接アクセスできます。

 http://[弹性IP]:3000/

注:1. このページを初めて開いた場合は、以降のユーザー管理のために管理者登録を完了する必要があります。登録データはクラウドインスタンスの/root/volume/open-webuiディレクトリに保存されます。

2. ダイアログ ページを初めて開いたときに利用可能なモデルがない場合は、モデルが読み込まれるまで数分間お待ちください。

vllm API呼び出し

イメージに組み込まれている VLLM サービスには、次のアドレスから直接アクセスできます。

 # 根路径http://[弹性IP]:8000/ # 查询现有模型http://[弹性IP]:8000/v1/models # 其他api接口参阅vllm文档

注: vllm サービスは API_KEY で設定されています。クラウドインスタンスの /root/recreate_container.sh ファイルの先頭に現在の値が記載されていますので、サービスのセキュリティを確保するために変更してください。

パフォーマンス指標

Intel AMXのアクセラレーション機能により、この推論サービスは大幅なパフォーマンス向上を実現しました。China Telecom Cloudはテストを完了し、以下の参考指標を提供しています。

基本パラメータ

vCPU数: 24 (物理コア12個)

メモリ: 64GB

ハードドライブ: 60GB 汎用 SSD

モデル: DeepSeek-R1-Distill-Qwen-7B (bf16)

バッチサイズ: 1

入力するトークンの数: 30~60

出力されるトークンの数: 256

パフォーマンスデータ

平均トークン生成率:

最初のトークンのレイテンシ:

Tianyi Cloud C8E シリーズ 24V CPU クラウド サーバーでは、AMX アクセラレーションを有効にすると、DeepSeek 7B 蒸留モデル (BF16) の推論速度が 9 トークン/秒を超え、日常的な使用ニーズを満たすことができます。

インテル® Xeon® 6 プロセッサーを搭載したフルパワー DeepSeek-R1 671B の導入の実践

パフォーマンス指標

本格的なDeepSeek R1 671Bモデルは、卓越したパフォーマンスと比類のないユーザーエクスペリエンスを提供しますが、その導入コストは軽視できません。従来のGPU導入では、十分なサポートを提供するために8~16個のGPUが必要となり、ハードウェアの購入、消費電力、メンテナンスに関連するコストが大幅に増加します。

このような背景の下、China Telecom Cloudは、Intel® Xeon® 6プロセッサー搭載サーバーを搭載した本格的なDeepSeek R1 671B Q4\_K\_Mモデルへの導入テストを実施しました。テスト結果は以下の通りです。

1インスタンス1ソケット:

平均スループット性能: 9.7~10トークン/秒

2インスタンス1ソケット:

平均スループットは 7.32 トークン/秒と 7.38 トークン/秒で、合計 14.7 トークン/秒になります。

上記のテストデータは、シングルインスタンス、シングルソケット構成において、フルパワーDeepSeek R1 671Bモデルが平均9.7~10トークン/秒のスループットを達成し、デュアルインスタンス構成では全体のスループットが14.7トークン/秒に向上することを示しています。シングルCPUシステムのスループット性能は、一般ユーザーの標準的なニーズを満たすのに十分です。

インテル® Xeon® 6 プロセッサーの概要

Intel® Xeon® CPUは、DeepSeek R1 671Bモデルの導入において、非常に競争力のあるソリューションを提供します。Intel® Xeon® CPUはテラバイト単位のメモリをサポートし、メモリの保存と読み込みを非常に効率的に行います。DeepSeek R1 671Bのような大型モデルでは、必要なビデオメモリ容量を満たすにはマルチGPU構成が必要ですが、強力なメモリサポート機能を備えたIntel® Xeon® CPUは、このモデルに優れた動作環境を提供します。

さらに、DeepSeek R1モデルはMixture of Experts(MOE)構造を採用しており、パラメータスパース性により、単一トークン推論時に少数のエキスパートパラメータのみをアクティブ化するだけで済みます。この機能により推論中の計算負荷が大幅に軽減され、CPUの計算特性と整合がとれ、CPUシステム上でのモデル実行効率が向上します。つまり、DeepSeek R1 671BモデルをIntel® Xeon® CPUに導入することで、モデルのパフォーマンス上の利点を最大限に活用できるだけでなく、導入コストを効果的に削減し、多数のGPUへの依存を回避できます。

上記のパフォーマンステスト結果を再現するには、付録 2 を参照してください。

要約

この実践では、xFasterTransformerを使用してDS R1 distill Qwen-7BモデルをChina Telecom Cloud EMRインスタンスにデプロイする場合でも、本格的なDeepSeek-R1 671BモデルをIntel® Xeon® 6プロセッサーにデプロイする場合でも、大規模なDeepSeekモデル推論におけるCPUシステムの実現可能性を検証し、業界標準を満たすパフォーマンスを実証しました。CPUシステムは、さまざまな規模のモデル要件に柔軟に対応し、軽量な蒸留モデルとフル機能モデルの両方に対するユーザーシナリオのニーズを効率的に満たし、低コストで費用対効果の高いソリューションを提供します。

付録1 インテル® Xeon® スケーラブル・プロセッサーとAIアクセラレーション・テクノロジー

最新のインテル® Xeon® スケーラブル・プロセッサー製品

インテルの第5世代® Xeon® スケーラブル・プロセッサー(コードネーム:Emerald Rapids) – AIを加速するために構築

AIワークロード向けに特別に設計された第5世代インテル® Xeon® プロセッサーは、コアアーキテクチャーとメモリーシステムの両方で飛躍的な進歩を遂げています。64コア設計は最大320MBのL3キャッシュ(コアあたり1.875MBから5MBに増加)を備え、前世代のほぼ3倍のキャッシュ容量を実現し、超並列AI推論に十分なローカルデータストレージを提供します。同時に、プロセッサーは最大4TBのシングルソケット容量を備えたDDR5-5600高速メモリーをサポートし、大規模データ処理時の帯域幅とレイテンシーの優位性を確保します。これらのハードウェアの改善により、Emerald Rapidsは前世代と比較して全体的なパフォーマンスが21%向上し、平均AI推論パフォーマンスが42%向上しました。大規模な言語モデル推論シナリオでは最大1.5倍のパフォーマンス加速を実現するとともに、総所有コストを最大77%削減します。

インテル® Xeon® 6 プロセッサー(コード名 GNR Granite Rapids) – CPU AIコンピューティングパワーの革命をリード

新しいGNRプロセッサは、人工知能、データ分析、科学計算といった計算負荷の高いタスクに対応するように設計されています。コア数、メモリ帯域幅、そして専用AIアクセラレータの搭載において、画期的な進歩を遂げています。

  • コアとパフォーマンス:各CPUには最大128個のパフォーマンスコアが搭載され、ソケットあたりのコア数は前世代比で倍増しました。同時に、平均シングルコアパフォーマンスは1.2倍、ワットあたりのパフォーマンスは1.6倍向上し、大規模モデル推論におけるCPUの独立処理能力がさらに強化されています。
  • AI アクセラレーション機能: 内蔵の Intel® Advanced Matrix Extensions (AMX) により、FP16 データ タイプのサポートが追加され、生成 AI と従来のディープラーニング推論タスクの両方で大幅な高速化が可能になります。
  • メモリと I/O の飛躍的進歩: DDR5-6400 メモリとインテル初のマルチプレックス ランク DIMM (MRDIMM) テクノロジの導入をサポートし、メモリ帯域幅が前世代の 2.3 倍に実質的に増加します。同時に、最大 504MB の L3 キャッシュと低レイテンシ設計により、データの読み込みが高速化され、複雑なモデルのトレーニングと推論の応答時間が短縮されます。

インテル® Xeon® 6 プロセッサーは、コア数の増加とシングルスレッド性能の向上により、AIの大規模モデル推論機能を強化するだけでなく、フロントエンドCPUとして機能し、GPUやその他のアクセラレーターへの高速データ配信を提供することで、全体的なモデルトレーニング時間をさらに短縮します。混合ワークロードのニーズを満たしながら、TCOは平均30%削減され、大規模モデル推論は最大2.4倍高速化されます。

第5世代Xeonプロセッサーと最新のXeon 6プロセッサーは、コアアーキテクチャ、キャッシュシステム、メモリテクノロジー、そして専用AIアクセラレーターにおける包括的なイノベーションを通じて、業界をリードするAIコンピューティングサポートを提供します。これら2つの製品は、AI推論、トレーニング、そして多様なワークロードにおいて、データセンターや高性能コンピューティングプラットフォームに強力かつ効率的なコンピューティングパワーを提供します。

△図1 インテル アドバンスト・マトリックス・エクステンション(AMX)

インテルの包括的なAIソフトウェアエコシステムサポート

インテルとそのパートナーは、長年の AI の専門知識を活かし、Xeon® スケーラブル プロセッサーを中心とした包括的なソフトウェア エコシステムを構築しました。このエコシステムは、主流のオープンソース フレームワークを幅広くサポートし、プラグインの最適化と多様なオープンソース ツールチェーンを通じて、ユーザーが手動で調整することなく、x86 プラットフォーム上で汎用 AI アプリケーションを簡単に開発および展開できると同時に、端末からクラウドまでのエンドツーエンドのセキュリティ保護を保証します。

さらに、Xeon® プロセッサーは様々なAIアクセラレーション命令(AVX-512やAMXなど)を搭載しており、互換性のあるソフトウェアであればアクセラレーション機能を直接利用できます。開発者は、インテルの配布ツール、ライブラリ、開発環境を無料でダウンロードし、これらの内蔵アクセラレーターを最大限に活用して、多様なAIパイプラインのニーズに対応できます。インテルは、多様なハードウェアの利点とオープンなエコシステムを組み合わせることで、経済的でスケーラブルなソリューションを通じて、AI機能をクラウドとエッジにシームレスに拡張します。

xFasterTransformer (xFT) は、Intel の公式オープンソース AI 推論フレームワークであり、Xeon® プラットフォーム上の大規模言語モデル向けに高度に最適化されています。xFT は複数のデータ精度 (FP16、BF16、INT8、INT4) をサポートし、複数の CPU ノードを分散展開に活用することで、推論パフォーマンスを大幅に向上させ、コストを削減します。シンプルなインストールと、主要なサービングフレームワーク (vLLM、FastChat、MLServer、MindSpore Transformer、PaddlePaddle など) との互換性により、ユーザーは大規模モデルアプリケーションを迅速に高速化できます。セクション 3.1 では、China Telecom Cloud EMR クラウドサーバーと xFasterTransformer アクセラレーションエンジンに基づく DeepSeek R1 蒸留モデルの効率的な推論展開について説明します。

△図2 インテルは主流のAI開発フレームワークと完全に互換性のあるAIソフトウェアツールを提供している

付録2: CPU環境でのDeepSeek-R1 671Bモデルの実用展開

環境設定

ハードウェア構成

  • CPU: Intel® Xeon® 6980P プロセッサー、128 コア 2.00 GHz
  • 24*64GB DDR5-6400メモリ
  • 1TB NVMe SSD

ソフトウェア環境

  • OS: Ubuntu 22.04.5 LTS
  • カーネル: 5.15.0-131-generic
  • llama.cpp: github bd6e55b
  • cmake: 3.22.0
  • gcc/g++: 11.4.0
  • Python: 3.12.8
  • git: 2.34.1

BIOS でサブ NUMA 関連の構成を無効にします。

注: バージョンは、このテストでサーバーにインストールされているバージョンを指し、必要な最小バージョンではありません。

展開手順

1. llama.cppをインストールする

llama.cpp 公式サイトのインストール手順を参照すると、手順は次のようになります。

 # 下载llama.cpp推理框架源码git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp # 预先准备intel oneapi库source /opt/intel/oneapi/setvars.sh # 基于oneapi库对llama.cpp进行编译cmake -B build -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=Intel10_64lp -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DGGML_NATIVE=ON cmake --build build --config Release -j$nproc

2. モデルファイルをダウンロードする

コミュニティによって作成されたDeepSeek 671BフルブラッドモデルのQ4量子化バージョンを直接使用しました。公式のDeepSeek BF16バージョンをダウンロードし、llama.cppで提供されているスクリプトを使用してGGUF形式に変換することもできます。

コミュニティでは1ビットから8ビットまでの量子化オプションを提供しています。詳細はコミュニティのウェブページをご覧ください。私たちは最も人気のあるQ4\_K\_Mバージョンを選択しました。最適な結果を得るには、Q8\_0バージョンの使用をお勧めします。

 # 下载unsloth制作的社区版量化模型(hf-mirror和modelscpoe源都可) git clone —no-checkout https://hf-mirror.com/unsloth/DeepSeek-R1-GGUFcd DeepSeek-R1-GGUF/ # 建议nohup执行, 预计至少需要半天时间, 同时确保磁盘容量足够400G. git lfs pull —include=”DeepSeek-R1-Q4_K_M/*”

Q4_K_Mバージョンのファイルサイズは404.43GBで、ダウンロードには比較的長い時間がかかる場合があります。ダウンロードが完了すると、DeepSeek-R1-Q4_K_Mディレクトリに、DeepSeek-R1-Q4_K_M-00001-of-00009.ggufなどの一連の.ggufファイルが作成されます。

3. モデルの読み込みと実行

llama-cli を使用し、モデル ファイルのパスを指定してインタラクティブ モードを有効にすると、DeepSeek R1 (フル バージョン) を CPU 上でスムーズに実行できます。

 build/bin/llama-cli -m /tmp/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00001-of- 00009.gguf -i

次の例は、本格的な DeepSeek-R1 671B の強力な推論機能を示しています。

テストモデルの自己認識:

推論能力を検証するための古典的な「イチゴ」問題:

「等灯等灯」の意味:

4. パフォーマンスと最適化

では、フルスケールのR1テストを実行した場合、CPUのパフォーマンスはどの程度になるのでしょうか?関連するパフォーマンステストを実施しました。Q4_K_Mモデルでは、以下のコマンドを使用しました。

 export MODEL_PATH=/tmp/DeepSeek-R1-Q4_K_M/DeepSeek-R1-Q4_K_M-00001-of-00009.gguf numactl -C 0-127 -m 0 ./build/bin/llama-cli -m $MODEL_PATH -t 128 —temp 0.6 -s 42 -no-cnv —no-kv-offload -ctk q4_0 -c 8192 -n 128 -p “<|User|>以孤独的夜行者为题写一篇750字的散文,描绘一个人在城市中夜晚漫无目的行走的心情与所见所感,以及夜的寂静给予的独特感悟。<|Assistant|>”

ここで、numactl は、単一の CPU (0 ~ 127、6980P には 128 個のコアがある) とこの CPU のメモリ ノード (numa0) の使用を指定して、最適なパフォーマンスを得るために numa 間の転送を回避します。

llama.cpp はネイティブコンパイルされており、コンパイル時に Intel oneAPI を使用することでパフォーマンスを効果的に向上させることができます。Intel は、Intel C++ コンパイラと oneAPI の数学アクセラレーションライブラリ MKL を jemalloc メモリ管理の最適化と組み合わせることで実験を行い、推論速度 9.7~10 トークン/秒 (TPS) を達成しました

上記の実験はシングルソケットCPU上で実施されました。しかし、 2つのCPUそれぞれで独立してモデルインスタンスを1つ起動したところ、合計速度は14.7 TPS(7.32 TPS + 7.38 TPS)に達しました

さらに、Intelは、既存のllama.cppソフトウェアソリューションには、CPUプラットフォームにおけるエキスパート並列処理やテンソル並列処理といった効率的な最適化が欠けていることに気づきました。CPUコアの使用率と帯域幅リソースは十分に活用されておらず、6980Pの128コアには、1つのモデルを実行するための十分なパフォーマンス余裕が残っていました。インスタンス数をさらに増やすことで、全体的なTPSを向上させることができると予想されます。

また、通常の状況では、CPU の SNC (Sub-NUMA Clustering) 設定により、より高い帯域幅を実現できますが、適切なマッチングを実現するためのソフトウェアの最適化が不足しているため、この実験では SNC テストはオフにされました。

次のシステム構成もパフォーマンスの向上に役立ちます。

  • BIOSでAMPプリフェッチャーを無効にする
  • cpupower を使用して、CPU の pstate パフォーマンス モードを有効にします。
  • CPUのアンコア周波数を上げる
  • ハイパースレッディングを無効にする

注: 実験を迅速に進めるため、出力ワード長を制限しました(-n 128)。検証の結果、出力ワード長を増やしても(例:-n 512)、生成パフォーマンス指標にほとんど影響がないことが示されました。