ModalでのGLM-5.2のデプロイ
GLM-5.2は、大規模なオープンウェイトモデルです。複雑な推論やコーディングのために、Mixture-of-Experts (MoE) アーキテクチャを採用しています。エンジニアリングタスクにおいて、Claude 3.5 Sonnetのようなモデルに匹敵する性能を持っています。
この700B(7000億)パラメータのモデルをセルフホストするには、8枚のNVIDIA H200 GPUが必要です。以下に、Modalのサーバーレスアプローチを使用してデプロイした方法を紹介します。
コスト面でのメリット
専用の8x H200ノードをレンタルするのは高価です。
- RunPodは1時間あたり35.12ドルです。
- Modalは1時間あたり36.31ドルです。
しかし、Modalは秒単位で課金されます。使用していないときはゼロまでスケールダウンします。20分間の開発セッションのコストは約12.00ドルです。アクティブでないときは、コストは0.00ドルになります。
量子化のトレードオフ
フルサイズのBF16モデルを1つのノードで実行することはできません。1.5 TBのVRAMが必要です。最適なバランスを見つけるために、さまざまなフォーマットをテストしました。
- FP8: 約700 GB必要。精度は99.2%を維持。これが最良の選択肢です。HopperネイティブのTensor Coreを使用して高速に動作します。
- INT8: 約750 GB必要。ハードウェアの最適化が不足しているため、速度が低下します。
- INT4: 約400 GB必要。推論タスクにおいて精度が大幅に低下します。
なぜセルフホストするのか?
- プライバシー: 機密性の高いコードを独自の安全なネットワーク内に保持できます。
- 制限なし: パブリックAPIに見られるレート制限やコンテキストのスロットリングを回避できます。
- 安定したキャッシュ: GPUメモリを自分で制御できます。コンテキストキャッシュをウォームな状態(高速な状態)で安定して維持できます。
技術的な教訓
- インポートエラーの修正: クラッシュを防ぐために、Dockerfile内のレガシーな
typing_extensionsモジュールを削除する必要がありました。 - ロードの高速化: プリフェッチ戦略を使用することで、モデルのロード時間を12分から1分に短縮しました。
- Eager Modeの使用: 数学的グラフのコンパイルには20分かかりました。Eager Modeなら4.5分で起動します。最初のクエリでわずかな遅延が発生するかもしれませんが、起動の速さを考えればその価値は十分にあります。
結果
このモデルは巨大なファイルを容易に扱えます。1,000行以上のPythonコードでテストしたところ、ロジックを解析し、正確なアーキテクチャ分析を提供しました。さらには、一度の実行でカスタムオーディオ付きの機能的なゲームまで構築しました。
最先端のAIをセルフホストすることは、今や個人開発者にとっても可能です。低コストでプライバシーとパワーの両方を手に入れることができます。
Optional learning community: https://t.me/GyaanSetuAi
