MiaAI-Lab/DeepSeek-v4.1-Flash-1017-2x-DGX-Sparks
DeepSeek-V4.1-Flash-1017 EXL3 on 2x DGX Sparks with TensorFold
このプロジェクトの概要
このリポジトリは、2 台の NVIDIA DGX Sparks(それぞれ 128 GB のユニファイドメモリを搭載した専用コンピュータ)で特定の大規模言語モデル — DeepSeek-V4.1-Flash-1017 — を実行するためのレシピとスクリプトセットです。目標は、OpenAI 互換 API を通じてモデルを提供し、非常に大きなコンテキストウィンドウ(最大 1,048,576 トークン)、画像入力、ツール呼び出し、オプションの「思考」モードをサポートしながら、投機的デコード(テキスト生成を高速化する技術)とモデルの圧縮版(重みあたり 2.9 ビット)を使用してハードウェアに適合させることです。
仕組み
2 台の Sparks は高速ネットワーク(ConnectX-7 ポート)で接続されています。モデルは両方のマシンに分割され(テンソル並列)、各マシンが計算の半分を処理します。エンジンは TensorFold で、Zig ベースのネイティブ推論エンジンです。モデルの重みは Hugging Face の量子化チェックポイントから取得され、一部の部分には追加の非量子化テーブル(Engram テーブルと呼ばれる)が使用されます。
1 つのコマンド — 最初の Spark で ./start.sh — で両方のマシンをセットアップし(モデルのダウンロード、Docker イメージのビルド、重みファイルの準備)、両方のランク(モデルを実行する 2 つのプロセス)を起動します。./stop.sh で停止します。セットアップは環境変数でカスタマイズできます(例:「abliterated」モードを有効にして安全フィルターを削除したり、別の量子化パックを使用したり)。
パフォーマンス
README には、実際の Sparks ペアからの測定されたパフォーマンス数値が含まれています。例:
- デコード速度(新しいトークンの生成):単一ストリームで約 75〜110 トークン/秒、4 つの同時ストリームを処理する場合は最大 130〜155 トークン/秒。
- プリフィル速度(長いプロンプトの処理):最大 256K トークンのプロンプトで約 2,000〜2,200 トークン/秒。
- 針山テスト(479,012 トークンのプロンプトで隠されたフレーズを見つける)は 3 回中 3 回成功しました。
これらの数値は、プロンプトのタイプ(散文とコード)とハードウェアが適切に構成されているかどうかに依存します。
要件
このプロジェクトを使用するには、以下が必要です:
- 2 台の DGX Sparks(または同等の GB10 システム)で、それぞれ 128 GB のユニファイドメモリを搭載し、他に大きなものを実行していないこと。
- 両方の Sparks で同じ GPU クロック上限(そうでない場合、遅い方がパフォーマンスを制限します)。
- 2 台のマシン間の直接 ConnectX-7 リンク。RoCE v2 が有効で、プライベートサブネットを使用。
- 最初の Spark から 2 番目へのキーベースの SSH。
- 両方の Sparks で NVIDIA コンテナランタイムを備えた Docker。
- 十分なディスク容量:ヘッド(最初の)Spark で約 505 GB、ワーカーで約 310 GB、さらに Docker イメージ用のスペース。
- NFS(ネットワークファイルシステム)を使用して、ワーカーがヘッドからモデルファイルを読み取れるようにするか、各マシンにローカルコピーを配置します。
追加の詳細
- プロジェクトには、既知の問題を修正するエンジンパッチが含まれています(例:長いプロンプトが他のストリームをフリーズするのを防ぎ、画像プロンプトキャッシュを有効にする)。
- 2 つのランクを監視するためのオプションの systemd サービスがあります。
- README には既知の制限が記載されています。例:ヘッド Spark のメモリ制約、他のソフトウェアを実行するヘッドでコンテキストウィンドウを 524,288 トークン以下に保つ必要性。
要するに、これは 2 台の強力なエッジデバイスで最先端の言語モデルを実行するための、十分にテストされ、パフォーマンス指向のセットアップであり、明確な手順と測定結果が含まれています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト