セルフホスト

GPUメモリプランナー

BeamはMixture-of-Expertsモデルです。各トークンの処理に使われるのは230億パラメータだけですが、5010億すべてをメモリに載せる必要があります。精度、コンテキスト、ハードウェアを選んで、必要な構成を確認してください。

beam-501b-a23b
重みの精度
KVキャッシュの精度
Attentionの前提

ReflectionはインターリーブされたローカルAttentionとグローバルAttentionについて説明していますが、config.jsonはまだ公開していません。これらの仮の値を使ってKVキャッシュを推定します。実際の値が公開されたら変更してください。

合計メモリトークンあたりのKVキャッシュ:26.0 KB
重み
501 GB
KVキャッシュ
16.6 GB
オーバーヘッド
51.8 GB
合計メモリ
569 GB
重みKVキャッシュオーバーヘッド
必要なNVIDIA H200 141GBの台数
最低5台、実運用では8台
8基のGPUを搭載したサーバー1台に収まります

重みだけに必要なGPU数

各デバイスのメモリの92%を使用できるとして、KVキャッシュを除いた場合に必要な最小デバイス数です。

アクセラレータ BF16 / FP16
1,002 GB
FP8
501 GB
GGUF Q4_K_M
304 GB
INT4 / FP4
251 GB
NVIDIA H100 80GB × 14× 7× 5× 4
NVIDIA H200 141GB × 8× 4× 3× 2
NVIDIA B200 180GB × 7× 4× 2× 2
NVIDIA B300 288GB × 4× 2× 2× 1
NVIDIA A100 80GB × 14× 7× 5× 4
NVIDIA RTX PRO 6000 96GB × 12× 6× 4× 3
NVIDIA L40S 48GB × 23× 12× 7× 6
NVIDIA RTX 5090 32GB × 35× 18× 11× 9
NVIDIA RTX 4090 24GB × 46× 23× 14× 12
AMD Instinct MI300X 192GB × 6× 3× 2× 2
AMD Instinct MI325X 256GB × 5× 3× 2× 2
AMD Instinct MI355X 288GB × 4× 2× 2× 1
Apple M3 Ultra 512GB (unified) × 3× 2× 1× 1

推定方法

  • 重み:5010億パラメータ × 1重みあたりのビット数 ÷ 8。GGUF形式にはブロックスケールが含まれるため、Q4_K_Mは約4.85ビットとして計算します。
  • KVキャッシュ:キャッシュする各トークンについて、全レイヤーで2 × KVヘッド数 × ヘッド次元 × 1値あたりのバイト数を計算します。グローバル層はコンテキスト全体をキャッシュし、ローカル層はウィンドウ内だけをキャッシュします。
  • オーバーヘッドには、アクティベーション、CUDAグラフ、メモリの断片化が含まれます。vLLMやSGLangでは10%を目安にし、実際の環境で測定してください。
  • デバイス数はメモリの92%を使用可能として計算し、サーバーあたりのテンソル並列グループサイズが1、2、4、8のいずれかになるように切り上げています。

よくある質問

BeamはGPU 1基で実行できますか?

十分なメモリを搭載したコンシューマー向けGPUもデータセンター向けGPUもありません。4ビットでも重みだけで約250 GB必要なため、複数の大容量アクセラレーターか、非常に大容量のユニファイドメモリを備えたマシンが必要です。

アクティブパラメータが23Bのモデルに、なぜこれほど多くのメモリが必要なのですか?

各トークンは一部のエキスパートに振り分けられますが、どのエキスパートが選ばれるかはトークンごとに変わるため、すべてのエキスパートをいつでも使える状態にしておく必要があります。アクティブパラメータ数は速度を、総パラメータ数はメモリ使用量を左右します。

エキスパートをシステムRAMに置けますか?

llama.cppなど一部のエンジンでは、エキスパートの重みをCPUメモリに置いてGPUに転送できます。動作はしますが大幅に遅くなるため、実験用途としてのみ計画してください。

これらの数値はいつ正確になりますか?

特定の精度における重みのメモリ使用量は、すでに正確です。Reflectionがモデルの設定を公開すれば、KVキャッシュの推定値も正確になります。