OFASys: マルチモーダル・マルチタスク学習のためのフレームワーク
Qwenは、マルチモーダル・マルチタスク学習を効率化するよう設計されたAIフレームワーク、OFASysを導入しました。シンプルな「Instruction」インターフェースを利用することで、開発者は単一行のコードでマルチモーダル・マルチタスク学習ジョブを構築でき、データ前処理、モデル構築、トレーニングの安定性に関する複雑さを取り除きます。
Instructionによるタスク定義の簡素化
OFASysは、複雑な実装プロセスをテンプレートベースのInstructionシステムに置き換えます。Instructionは、特定の構文(例:input -> output)を用いてタスクの入力と期待される出力を定義し、システムが基盤となるデータパイプラインを自動的に処理できるようにします。
- 画像キャプションの例:
[IMAGE:img] -> capと指定するInstructionは、データセットのimg列にバインドされた画像入力があり、出力はcap列のテキストシーケンスであることをシステムに伝えます。 - 自然言語推論(NLI)の例: NLIタスクでは、エンコーダに対して複数の入力をサポートし、
no_lossのような特定のシグナルで重複入力の損失計算を回避したり、closed_setで閉じたラベル集合を示すことができます。
システムアーキテクチャと設計
OFASysは、Instructionを実行可能なタスクプランに変換するモジュラー設計を採用しています。このアーキテクチャにより、異なるモダリティが一貫した内部インターフェースを通じて処理されることが保証されます。
タスクプランの構成要素
各タスクプランは、以下を含むモデル階層で構成されます:
- モダリティ固有コンポーネント: 特定のデータタイプの複雑さを処理する前処理、後処理、アダプタ。
- ユニバーサルモデル: モダリティに依存しない計算モデルで、マルチモーダル入力を融合し出力を生成します。入力と出力が表現シーケンスとして扱われるため、モダリティに関係なく汎用性を保ちます。
トレーニングと実行
マルチタスク学習の規模を管理するために、OFASysは以下を実装しています:
- パラメータ共有: デフォルトで、システムはアダプタとユニバーサルモデル間で学習可能なパラメータを共有し、例全体での最適化を最大化します。
- タスクおよびロジカルスケジューラ: タスクスケジューラは共同最適化とタスクの優先順位を管理し、ロジカルスケジューラは複数の物理デバイスにまたがるワークフローを処理します。
- 段階的コンポーネント: トレーニングと推論をサポートするために、即使用可能なジェネレータと基準が提供されています。
パフォーマンス検証:OFA+モデル
フレームワークの有効性を示すために、Qwenはテキスト、画像、音声、動画、モーションデータを同時に処理できる汎用モデル、OFA+を開発しました。
研究者はモデルの3つのバージョンを比較しました:
- OFA+(汎用): OFAに基づく汎用モデル。
- OFA+(汎用 MoE): モダリティレベルのMixture of Experts(MoE)を活用した改良版。
- OFA+(専門): ベースライン比較のために特定タスクでファインチューニングされた元のOFAモデル。
結果は、OFA+が7つの異なるモダリティにわたる23の多様なタスクにスケールしながら、専門モデルの性能の95%以上を維持することを示しています。これは、マルチタスク学習が特定タスクでの最高レベルの性能を犠牲にすることなく、汎用モデルに広範な能力を提供できることを示唆しています。