zhaochenyang20/Awesome-ML-SYS-Tutorial

My learning notes for ML SYS.

これは何か

Awesome-ML-SYS-Tutorial は、ブログ形式の技術メモの継続的なシリーズであり、約1年間にわたって一人の著者によって書かれた、MLシステム(ML SYS) と AIインフラストラクチャ(AI Infra) に関する技術メモです。これは、大規模言語モデル(LLM)やマルチモーダルモデルを実際に高速かつ信頼性高く、正確に動作させるためのソフトウェアについてのものです。

著者は2024年8月にSGLang(LLM用の推論エンジン)の使用を学びながらこれらのメモを書き始めました。以来、このコレクションは、数本の記事と約30〜50のGitHubスターから、4,500以上のスターを獲得するまでに成長しました。コンテンツは主に強化学習(RL)インフラストラクチャ、オンライン/オフライン推論システム、そしてAIインフラの基礎についてです。

著者がこれを書く理由

中心となる動機は、強化学習に関する研究論文の結論は、それが実行されるインフラストラクチャが信頼できる場合にのみ信頼できるという信念です。著者は1年以上RLインフラ開発に携わり、オープンソースおよび社内のRLインフラストラクチャの両方に深刻な欠陥があることが多いことを観察してきました。著者は、そのような欠陥のあるシステムから導き出された高レベルの研究結果が正しいと見なすことができるかどうかを疑問視しており、そこから導き出される結論が信頼できるものとなるように、正しい基盤の構築を支援したいと考えています。これが、著者がSGLang RLコミュニティに関わっている理由でもあります(著者はRadixArkにフルタイムで参加し、RLインフラ研究を継続しており、読者にSGLangオープンソースコミュニティへの参加を勧めています)。

誰が書いたか

著者(zhaochenyang20)は、Quanquan Gu教授、Ying Sheng博士、Linmin Zheng博士の指導の下でAIインフラを学びました。UCLAで博士課程を開始しましたが、個人的な理由で完了しませんでした。現在はRadixArkでRLインフラストラクチャにフルタイムで従事しています。著者は、このプロジェクトのおかげで「マイナーな技術インフルエンサー」になったと自称しています。

内容

READMEは、メモをいくつかのテーマ別セクションに整理しています。各記事には通常、英語版、中国語版、そして多くの場合知乎(中国のQ&Aプラットフォーム)の投稿へのリンクがあります。多くのエントリは、深いソースコードのウォークスルー、最適化レポート、または論文分析です。READMEがカバーしている内容は次のとおりです。

1. Omniモデル推論ノート

テキスト、音声、画像などを扱うマルチモーダルモデルである「omni」モデルに関する記事。トピックは次のとおりです。

  • Qwen3-Omni(モデル)が推論を行う方法の詳細な解説。コーデックや「Dual AR」などのコンポーネントをカバー。
  • SGLang推論エンジンがOOM(メモリ不足)エラーに遭遇したときに、実際に何がメモリを使い果たすのか。
  • マルチステージ生成モデルに対してSGLang Omniが、そのデコード特性に基づいて再設計された理由。
  • キャッシングやストリーミングなどのエンジニアリング技術により、SGLang Omniでテキスト読み上げ(TTS)推論が1.9〜3.4倍高速化された方法。
  • 共有コントラクトを中心に、アーキテクチャの異なる6つのTTSバックエンドをリファクタリング(非テスト行を約2,840行純削減)。
  • CPUリソースが音声モデルのサービス提供にどのように影響するか。CIで4倍のパフォーマンス変動が、コード変更ではなくホストCPU競合によるものであることが判明した興味深いケースを含む。
  • SGLang Omniでのバッチサイズ選択のトレードオフ。

2. RLHFシステム開発ノート

これは最大のセクションで、モデルを人間の好みに合わせるトレーニング手法であるRLHF(人間のフィードバックからの強化学習)をカバーしています。いくつかのフレームワークとテーマに分かれています。

  • slimeフレームワーク — 著者が取り組んでいる特定のRLフレームワーク。記事では、LLMおよび視覚言語モデル(VLM)のマルチターンRL、RLトレーニングのためのINT4量子化、FSDP2トレーニングバックエンドの追加(Qwen3-Nextやgpt-ossなどのモデルアーキテクチャに対してMegatronよりも柔軟)、安定したMoE RLのためのFP8精度、投機的デコード(小さな「ドラフト」モデルを使用してサンプリングを高速化)、ソースコードのウォークスルー、そして約100〜300倍の高速化を提供するGAE(RLアドバンテージ推定アルゴリズム)のチャンク化並列計算について説明しています。
  • ARealフレームワーク — ソースコードのウォークスルー。
  • システム設計と最適化 — FSDPを使用したDeepSeekのMixture-of-Expertsアーキテクチャ、重み更新メカニズム(半年分の作業を要約)、FSDPトレーニングバックエンドの原理、Megatronの基本機能、SGLangのOpenRLHFへの統合(「非常に苦痛」と説明され、未解決のncclハングエラーが残っている)、そしてCUDAのCuTeDSLで実装された長時間コンテキスト推論のためのDuoAttentionに関する深い考察。
  • verlフレームワーク — ソースコード分析(初期化、ロールアウト、エクスペリエンス作成、AgentLoop)、パラメータリファレンス、torchメモリスナップショットによるメモリリーク分析、重み更新のレイテンシ最適化、マルチターントレーニングとツール呼び出し、Search-R1の統合、そしてverlの基礎となるHybridFlow論文の分析。
  • OpenRLHFフレームワーク — ソースコードのウォークスルーを伴うPPOの原則(別の著者による図解シリーズ「Ms. Mengyuan」を含む)、およびポストトレーニングシステムの計算フローの簡単な分析。
  • アルゴリズムと理論 — 長期的なエージェントRLによる競争数学(IMO)のためのTEMPOアプローチ、Kimi K1.5の長時間コンテキストRL、ルールベースの報酬、ベンチマークとしてのSWE-Bench(優れた評価タスクを構築する方法)、および主流のアライメントアルゴリズムとNeMo-Alignerのサーベイに関するノート。

3. SGLang学習ノート

SGLang推論エンジン自体に焦点を当てています。

  • 拡散学習ノート — SGLangが拡散スタイルのLLM(例:LLaDA 2.0)をどのようにサポートするか、および拡散処理パイプラインのコードウォークスルー。
  • コアアーキテクチャと最適化 — KVキャッシュスケジューリングに関する記事(「KVキャッシュからゼロオーバーヘッドスケジューリングへ」)から始まりますが、READMEテキストはこの時点で切り捨てられているため、このセクションの完全な内容は表示されていません。

記事のタグとステータス

一部のエントリは**[レビュー待ち](まだ完全に検証されていない)とマークされ、1つは[未完了]**とマークされています。READMEはまた、著者がオープンソースコラボレーションの強力な支持者であることにも言及しており、興味のある読者をSGLangコミュニティに明示的に招待しています。


注意点: README自体は最後(SGLang学習ノートセクション中)で文の途中で切れています。したがって、この要約は提供されたREADMEに表示されているすべてをカバーしています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト