Hugging Face Transformers: エコシステム相互運用性のためのモデル定義の標準化

Hugging Face は、Transformers ライブラリをモデル定義の主要リファレンスとして確立し、ライブラリがサポートするあらゆるアーキテクチャが自動的に広範な機械学習エコシステムと互換性を持つようにしています。この標準化は、断片化を減らし、モデルがトレーニングフレームワーク、推論エンジン、ローカルデプロイツール間をシームレスに移動できるようにすることを目的としています。

Transformers がエコシステムの中心軸として

Transformers ライブラリは現在、300 以上のモデルアーキテクチャをサポートしており、週平均で 3 つの新しいアーキテクチャが追加されています。中心的なピボットとして機能することで、Transformers はモデルを一度だけさまざまなツールに統合し、その後複数のプラットフォームで利用できるようにします:

  • Inference Engines: vLLM、SGLang、TGI などの人気エンジンがバックエンドとして Transformers を統合しています。例えば、vLLM では、ユーザーは model_impl="transformers" を使用して新しいモデルをロードでき、モデルは Transformers ライブラリに追加された瞬間に本番レベルのサービング、動的バッチ処理、専用カーネルの恩恵を受けられます。
  • Training Frameworks: このライブラリはすでに Axolotl、Unsloth、DeepSpeed、FSDP、PyTorch-Lightning、TRL、Nanotron などの主要なトレーニングツールに統合されています。
  • Local Deployment and Interoperability: llama.cpp と MLX との間で強力な相互運用性があります。これには、Transformers で GGUF ファイルを直接ロードしてファインチューニングできること、Transformers のモデルを GGUF ファイルに変換して llama.cpp で使用できることが含まれます。さらに、Transformers の safetensors ファイルは MLX モデルと直接互換性があります。

モデル貢献の簡素化

新しいアーキテクチャの追加のハードルを下げるため、Hugging Face はモデリングコードの簡素化に向けた取り組みを加速しています。目標は、20 ファイルにまたがる 6,000 行のコードといった大規模で複雑な貢献から、よりモジュラーなアプローチへ移行することです:

  • API Simplification: KV キャッシュやさまざまな Attention 関数など、重要コンポーネント向けに明確で簡潔な API を実装します。
  • Deprecation of Redundancy: 冗長なコンポーネントを削除し、単一で効率的なパスに置き換えます。例えば、遅いトークナイザーを廃止し効率的なトークナイゼーションを採用し、速いベクトル化ビジョンプロセッサを使用します。
  • Modular Definitions: モジュラーなモデル定義を強化し、新しいモデルが最小限のコード変更で実装できるようにします。

ユーザーとクリエイターへの影響

モデルユーザー向け

標準化により、トレーニング、推論、プロダクションで使用されるツール間の相互運用性が向上します。ユーザーは実験で Transformers を使用することにロックインされるわけではありませんが、標準化により選択したツールチェーンが効率的に連携できることが保証されます。

モデルクリエイター向け

標準化は新しいモデルのリリースに伴う運用負荷を軽減します。各主要ライブラリに個別にモデルを統合するために多くの時間を費やす代わりに、Transformers ライブラリへの単一の貢献で、Transformers の実装を取り込んだすべての下流ライブラリでモデルが利用可能になります。

Sources