多種多様なレゴブロックを一つずつ積み重ねて、あらゆる種類の本物そっくりのキャラクターや風景などを作成できます。さまざまなレゴ作品を組み合わせることで、愛好家に新たな創造性をもたらすことができます。 少し視野を広げてみましょう。大規模モデル (LLM) の爆発的な増加により、元のモデルの機能に影響を与えずに、1+1>2 の効果を達成しながら、ビルディング ブロックのようにさまざまなモデルを一緒に構築できるでしょうか。 Google はすでにこのアイデアを実現しています。彼らの研究は、特にリソースの節約とモデルの適応性という点で、将来の言語モデル開発に新たな方向性を示しています。 今日の大規模言語モデル(LLM)は、常識と事実の推論を実行し、世界の知識を理解し、首尾一貫したテキストを生成できる万能の戦士のようなものです...これらの基本機能に基づいて、研究者はこれらのモデルを微調整し、コード生成、コピー編集、数学の問題の解決などのドメイン固有の機能を実現するための一連の努力を行ってきました。 しかし、これらのドメイン固有のモデルには、いくつかの厄介な問題が生じ始めました。たとえば、一部のモデルは標準的なコード生成は得意でも、一般的な論理的推論には堪能ではなく、その逆も同様でした。 次のような疑問を抱かずにはいられません。アンカー モデル (つまり、基本機能を備えたモデル) とドメイン固有の拡張モデルを組み合わせて、新しいモデル機能を実現することは可能でしょうか?たとえば、コードを理解するための拡張モデルとアンカー モデルの言語生成機能を組み合わせて、コードからテキストを生成する機能を実現できますか? これまで、この問題の一般的な解決策は、拡張モデルのトレーニングに最初に使用されたデータでアンカー モデルをさらに事前トレーニングまたは微調整することでした。しかし、多くの場合、大規模なモデルをトレーニングするには計算コストが高いため、このようなソリューションは実現不可能です。さらに、データのプライバシーなどの問題により、複数のソースからのデータの処理が実行できない場合もあります。 前述のトレーニングコストとデータの課題に対処するために、モデルの組み合わせに関する実用的な設定を提案し、研究しました。これには、(i) 研究者が 1 つ以上の強化モデルとアンカー モデルにアクセスできる、(ii) どちらのモデルの重みも変更できない、(iii) 研究者がアクセスできるのは、特定のモデルの組み合わせたスキルを表す少量のデータのみ、などが含まれます。 論文アドレス: https://arxiv.org/pdf/2401.02412.pdf この研究は、モデルの組み合わせ設定に対処するための新しい CALM (Composition to Augment Language Models) フレームワークを提案することによって達成されました。 CALM は、拡張 LM とアンカー LM の浅い組み合わせではなく、拡張モデルとアンカー モデルの中間層表現に少数のトレーニング可能なパラメータを導入します。 このアプローチはリソース効率が高いだけでなく、少数のパラメータとデータを追加するだけで新しいタスクに拡張できるため、モデルを完全に再トレーニングするよりもはるかに経済的です。また、各モデルの機能を維持しながら、1 つのモデルだけを使用する場合よりも正確に、新しい困難なタスクを実行できます。 CALM は、特定のタスクやリソースの少ない言語に対しても優れたサポートを提供します。 組み合わせによってモデルの機能を拡張するというこの革新は、多くの人々に好評を博しています。 「この研究や同様の MoE 研究は本当に素晴らしいです。レゴのようにモデルを組み立てるだけです!」 別の人はこう言った。「我々はAIの特異点に一歩近づいた!」 方法の紹介特定のアンカー モデル m_B と拡張モデル m_A について、CALM は 2 つのモデルを m_(A⊕B) に結合して、新しいモデルの機能が 2 つの独立したモデルの機能の組み合わせになるようにします。 研究中、開発者は次のような仮定を立てました: i) 開発者はモデルの重み、順方向および逆方向の伝播にアクセスでき、m_B と m_A の中間表現にアクセスできる、ii) 2 つのモデルの重みを変更することはできない、iii) 研究者は 2 つの基本モデルのトレーニング データ、ハイパーパラメーター、トレーニング状態にアクセスできない、iv) 研究者はターゲットの組み合わせドメインからいくつかの例を提供できる。 上記の仮定の下で、本研究の目的は、何らかの共同タスク C を達成するための組み合わせを学習することです。ここで、m_B と m_A の重みは固定され、θ_C は組み合わせを学習するために導入された追加のトレーニング可能なパラメータのセットであり、D_C は組み合わせを学習するために使用される例のセットを指します。 トレーニング可能なパラメータ この研究は、m_B と m_A の選択されたレイヤーに対して実行されます。具体的には、これらのレイヤーで 2 セットの追加パラメータを学習します: (i) m_A の i 番目のレイヤー表現を m_B の表現の次元にマッピングする単純な線形変換 f_proj(.)、および (ii) 線形変換されたレイヤー表現と m_B の j 番目のレイヤー表現の間にあるクロスアテンション レイヤーのセット f_cross(.,.)。 図 1 に示すように、図には、キーと値のマッピング (左)、低リソース言語 (中央)、コード (右) という異なる機能を持つ m_A (黄色のブロック) が表示されています。モデル m_A と m_B は合成プロセス中は変更されません。これらの追加パラメータは、モデルのレイヤー表現を通じて学習されます。左端の図は、文字列と整数のマッピングのセット(例:{x_1: 10、...、x_n: 2})でトレーニングされた m_A を示しています。 m_B は算術演算機能を備えた大規模な LM です。 CALM は、これら 2 つの固定モデルを組み合わせて、どちらのモデルも単独では解決できない重要なタスクの算術演算を解決します。注目すべきは、キーの 20% のみをカバーする算術例を使用してトレーニングされているにもかかわらず、CALM は依然としてキー値セット全体に拡張できることです。 トレーニング例の構築 ターゲットモデルm_(A⊕B)は2つのモデルm_Aとm_Bの組み合わせであるため、本研究では、モデルの組み合わせたスキルを記述するためのトレーニング例のセットD_Cも構築します。 理想的には、たとえば、結合タスクにタスク t_1 と t_2 が含まれている場合、結合タスク (C) はキーのセットに対して算術演算を実行します。拡張モデル m_A は、特定のキーと値のペア (タスク t_1 とラベル付け) を学習するために使用され、アンカー モデル m_B は、数値演算を適切に実行できる一般的なモデルです (タスク t_2 とラベル付け)。 結合パラメータθ_Cを学習するために、本研究では2つのモデルの結合スキルを含むD_Cを定義します。トレーニング中に知識ソース全体 (ここではキー値) を必要とする LoRA などの微調整方法と比較すると、キーの小さなサブセットのみで組み合わせをトレーニングすると、すべてのキーに一般化できることがわかります。 実験結果キー値演算 著者らはまず、文字列から整数へのキー値 (KV) マッピングを記憶するようにトレーニングされた小さな拡張 LM (m_A) と、整数に対して算術演算を実行できる大きなアンカー LM (m_B) がある場合を研究しました。著者らは、CALM を使用してこれらを組み合わせることで、これらのキーを含む算術式を解くための新しい機能を実現したいと考えています。 表1は、いくつかのデータセットにおける3つのモデルm_A、m_B、m_(A⊕B)のパフォーマンスを示しています。まず、強化モデル m_A は KV 置換タスクで 98.1% を達成しており、D_KV を非常によく記憶できることがわかります。次に、数値演算タスクのパフォーマンスが非常に低いことがわかります (4.2%)。これは、演算能力がないことを示しています。したがって、このモデルは D_KV の結合を含む算術式を解くことができません。 予想どおり、アンカー モデル m_B は D_KV からのデータを確認していないため、KV 置換タスクと KV 算術タスクの精度は 0% になります。しかし、デジタル演算タスクでは非常に良い成績(73.7%)を示しており、数字の算術演算を実行できることが示されています。 最後に、結合モデル m_(A⊕B) は、すべてのタスク、特に 2 つの基礎モデルのどちらも解決できない KV 算術タスク (84.3%) を高い精度で解決できることがわかります。これは、結合モデルが拡張モデルとアンカー モデルの関連機能を活用して複雑なタスクを解決できることを示しています。 次に、このような大きなアンカー LM m_B を、低リソース言語で事前トレーニングされた小さな拡張 LM m_A と組み合わせて、これらの低リソース言語で提示された翻訳および数学単語解決タスクを実行できるかどうかを調査します。 表 2 は、FLORES-200 データセットにおけるモデルのパフォーマンスを示しています。表に示されている 10 個の低リソース言語では、基本モデル m_A と m_B の両方が、結合モデル m_(A⊕B) よりもパフォーマンスが低いことがわかります。著者らは、複合モデルm(A⊕B)が192言語のうち175言語でm_Bよりも優れていることを発見しました(図2を参照)。 表3は、GSM8Kタスクにおける低リソース言語と高リソース言語の初等数学の文章題に対するこれらのモデルのパフォーマンスを示しています。まず、拡張モデル m_A は数学的推論能力が限られているため、このタスクでのパフォーマンスが低いことがわかります。一方、アンカー モデル m_B は、高リソース言語に対する数学的推論能力と転移学習能力を備えているため、はるかに優れたパフォーマンスを発揮します。最後に、m(A⊕B)は、25の低リソース言語のうち18言語と10の高リソース言語のうち9言語でm_Aとm_Bの両方よりも優れていることがわかり、モデルの組み合わせの有効性が実証されました。完全な評価結果については表 6 を参照してください。表 3 の最後の行は、D_NTL で微調整された m_B のパフォーマンスが事前トレーニングされた m_B よりも劣っていることを示しており、忘却の存在を示しています。これは、CALM を使用してドメイン固有のモデル m_A と m_B を組み合わせることで回避できます。 コードの理解と生成 コードの理解と生成には、(a) コードの構文とセマンティクスに関する知識と、(b) コードが操作する世界に関する知識という 2 種類の異なる能力が必要です。 LLM は豊富な世界知識を持っていますが、事前トレーニング コーパス内のコード データの偏った表現のために、コード構文に関する具体的な知識が不足していることがよくあります。対照的に、コード データで特別にトレーニングされた小規模なモデルは、コード構文をよく理解できるかもしれませんが、広範な世界に関する知識と推論能力が欠けている可能性があります。 CALM は両方の長所を兼ね備えています。 表4は、個々のモデルm_Aとm_B、結合モデルm(A⊕B)、および微調整されたアンカーベースラインのパフォーマンス比較を示しています。まず、HumanEval データセットの評価では、m_A は D_Code の追加トレーニングによりコード構文をより深く理解していることが示されています。ただし、サイズが大きく、一般的な事前トレーニングが施されているため、m_B は一般的な言語理解に優れており、T2C および C2T タスクで優れたパフォーマンスを発揮します。 CALM を使用して 2 つのモデルを構成すると、パフォーマンスが大幅に向上し、機能が明確に転送および結合されることがわかります。結合モデルは、m_B と比較して、CC タスクと T2C タスクでそれぞれ 6.1% と 3.6% 高い絶対パフォーマンスを実現します。著者らは、D_Code で m_B を微調整すると、壊滅的な忘却により C2T パフォーマンスが大幅に低下することを観察しています。すべての言語において、CALM はパフォーマンスを維持し、m_B をわずかに上回ります。著者らは C2T タスクの定性的な例も研究し、興味深い共通パターンを観察しました。詳細は付録 B に記載されています。 アブレーション研究 m_Aの影響 著者らはまず、作曲プロセス中に m_A をバニラおよびランダムなバリアントに置き換えることで、m_A の影響を調査しました。表 5 は、NTL タスクと CODE タスクの両方で、特殊な m_A を通常の PaLM2-XXS チェックポイントまたはモデルの未トレーニング バージョン (ランダム モデル) に置き換えた場合のパフォーマンスの変化を示しています。著者らは、すべてのタスクにおいて、これらのバリアントのパフォーマンスが大幅に低下することを発見しました。 FLORES-200 XX-En タスクでは、バニラ モデルとランダム モデルを使用すると、言語の合計パフォーマンスはそれぞれ 115 と 43 に低下します。バニラ モデルのパフォーマンスは m_B と比較してわずかに向上しており、これは、非特化モデル (m_B とは異なるメカニズムでトレーニングされている) がモデルのパフォーマンスを向上させる直交機能を備えている可能性があることを示唆しています。この発見は、CALM のパフォーマンス向上が、Θ_C パラメータの増加ではなく、m_A の利用の結果であることを証明しています。 反復デコードの影響 著者らは、m_A をエンコーダーとして使用する変種、つまり、特定の時間ステップでデコードされた出力トークンが m_A の入力に追加されない変種も研究しています。この場合、m_A のプレフィックス表現のみが使用されます。この設定は、エンコーダー モデルとデコーダー モデルの組み合わせを使用した画像およびテキスト モデルに関する以前の作業とは異なります。著者らは、以前の設定を採用した場合、さまざまなタスクでパフォーマンスが大幅に低下することを確認しました。 LoRAとの比較 最後に、LoRA レイヤーをトレーニングして m_B を適応させることにより、パラメータ効率の高い微調整方法を評価します。すべての実験において、追加されたパラメータの数が CALM によって導入されたパラメータの数と等しくなるように LoRA ランクを設定しました。著者らは、CALM と同じデータ (つまり、D_C) を使用して LoRA をトレーニングします。彼らは、2 つの方法間のパフォーマンスの違いがすべてのタスクとメトリックにわたって大きいことを発見しました。 詳細については原文をご覧ください。 |
<<: 言語モデルは時間をどのように認識するのでしょうか?時間ベクトルについてさらに詳しく
>>: 画像からの「テキスト生成」の難しさを克服し、同レベルの拡散モデルを粉砕せよ! TextDiffuser アーキテクチャの 2 世代の詳細な分析
AIの助けを借りれば、開発者のコーディング効率が大幅に向上することは間違いありません。開発者は単...
言語モデルは正確にはどのようにして時間を認識するのでしょうか?言語モデルの時間認識をどのように利用す...
データ品質の低さは、人工知能 (AI) および機械学習 (ML) テクノロジの実際のパフォーマンスを...
Agora.ioは3月9日、モバイルゲーム向けリアルタイム音声サービス「AMG Voice(Agor...
人工知能は今日最も話題になっている技術の一つです。しかし、それは正確には何でしょうか?なぜ気にする必...
2022 年の AI に関する大きな話題は、研究室や概念実証から生まれ、ビジネス価値を獲得するため...
DevOps は、コードの品質を損なうことなく、ソフトウェア開発プロセスを加速し、顧客に価値をより...
1. ロジスティック回帰ロジスティック回帰。まず線形回帰から始めます。線形回帰の出力は実用的な意味を...
「Googleさん、ちょっと恥ずかしいです。」 Gemini のローンチ初日に、人気のコメントがこの...
130 億のパラメータを持つモデルが実際にトップの GPT-4 に勝つのでしょうか?下の図に示すよ...
昨年から、AIの普及に関わる仕事がたくさん必要になりました。私は長い間、ディープラーニングがなぜ特に...
[[235929]]機械学習に興味がある、または JavaScript を使用して機械学習の専門家に...