KDFlow:大規模言語モデル向けの、ユーザーフレンドリーかつ効率的な知識蒸留フレームワーク

arXiv cs.CL / 2026/3/25

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • 本論文では、教師—生徒の蒸留における学習/推論効率を改善することで、大規模言語モデルをより良く圧縮するための知識蒸留フレームワークであるKDFlowを提案する。
  • KDFlowは、学習にはFSDP2、教師の推論にはSGLangを組み合わせるデカップルド(疎結合)なアーキテクチャを用い、各システムの強みを最大限に活用することを目指している。
  • 通信オーバーヘッドを削減するため、教師の隠れ状態のみを(ゼロコピー転送により)送信し、その後生徒側でログitを再計算する。
  • 本フレームワークは、オフポリシー蒸留とオンポリシー蒸留の両方をサポートし、クロストークナイザ(異なるトークナイザ間)知識蒸留への対応を含む拡張可能でユーザーフレンドリーなAPIを提供する。
  • 実験結果では、KDFlowが既存のKDフレームワークに対して1.44×〜6.36×の速度向上を達成しており、コードはGitHubで公開されている。

Abstract

知識蒸留(KD)は、大規模言語モデル(LLMs)をより小さなモデルへ圧縮するための重要な手法です。しかし、KDにおいて生徒モデルと教師モデルがそれぞれ異なる役割を担うにもかかわらず、既存のほとんどのフレームワークでは両モデルに対して同種の学習バックエンド(例:FSDP や DeepSpeed)が用いられており、その結果、学習効率が最適でない状態になります。本論文では、 \textbf{KDFlow} と名付けたLLM蒸留のための新しいフレームワークを提案します。このフレームワークは分離されたアーキテクチャを特徴とし、教師推論には SGLang を使用します。FSDP2 の学習効率と SGLang の推論効率を橋渡しすることで、KDFlow は両方の利点を単一のシステムで完全に活用することを実現します。さらに、プロセス間で完全なロジットを転送するのではなく、教師の隠れ状態のみをゼロコピーのデータ転送で送信し、生徒側でロジットを再計算することで、通信コストとKD性能のバランスを効果的に取ります。加えて、本フレームワークはオフポリシー蒸留とオンポリシー蒸留の両方をサポートし、さらに、高度に拡張可能で使いやすい API を通じて、クロストークナイザーKDのためのKDアルゴリズムも組み込んでいます。実験の結果、KDFlow は既存のKDフレームワークと比べて \textbf{1.44\times から 6.36\times} の速度向上を達成でき、最小限のエンジニアリング負荷で、研究者がLLM蒸留を迅速に試作しスケールできることを示しています。コードは以下で利用可能です: https://github.com/songmzhang/KDFlow

KDFlow:大規模言語モデル向けの、ユーザーフレンドリーかつ効率的な知識蒸留フレームワーク | AI Navigate