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必要。推論タスクにおいて精度が大幅に低下します。

なぜセルフホストするのか?

  1. プライバシー: 機密性の高いコードを独自の安全なネットワーク内に保持できます。
  2. 制限なし: パブリックAPIに見られるレート制限やコンテキストのスロットリングを回避できます。
  3. 安定したキャッシュ: GPUメモリを自分で制御できます。コンテキストキャッシュをウォームな状態(高速な状態)で安定して維持できます。

技術的な教訓

  • インポートエラーの修正: クラッシュを防ぐために、Dockerfile内のレガシーな typing_extensions モジュールを削除する必要がありました。
  • ロードの高速化: プリフェッチ戦略を使用することで、モデルのロード時間を12分から1分に短縮しました。
  • Eager Modeの使用: 数学的グラフのコンパイルには20分かかりました。Eager Modeなら4.5分で起動します。最初のクエリでわずかな遅延が発生するかもしれませんが、起動の速さを考えればその価値は十分にあります。

結果

このモデルは巨大なファイルを容易に扱えます。1,000行以上のPythonコードでテストしたところ、ロジックを解析し、正確なアーキテクチャ分析を提供しました。さらには、一度の実行でカスタムオーディオ付きの機能的なゲームまで構築しました。

最先端のAIをセルフホストすることは、今や個人開発者にとっても可能です。低コストでプライバシーとパワーの両方を手に入れることができます。

Source: https://dev.to/silvestre-po/deploying-glm-52-fp8-700b-moe-on-modal-serverless-8x-h200s-trade-offs-and-lessons-learned-4m7i

Optional learning community: https://t.me/GyaanSetuAi