ホームページ >テクノロジー周辺機器 >AI >匿名新聞が驚くべきアイデアを思いつく!これは実際に、大規模モデルの長いテキスト機能を強化するために実行できます。
大規模モデルの長いテキスト機能を改善するということになると、長さの外挿やコンテキスト ウィンドウの拡張を思い浮かべますか?
いいえ、これらはハードウェア リソースを大量に消費します。
素晴らしい新しいソリューションを見てみましょう:
KV キャッシュの使用の本質は、長さの外挿などの方法とは異なります。モデル大量のコンテキスト情報を保存するため。 具体的な方法は、
一時的な Lora モジュールを構築して、 長いテキストの生成プロセス中に のみ「ストリーム更新」できるようにすることです。 、つまり、以前に生成されたコンテンツがトレーニング データとして機能する入力として継続的に使用され、知識がモデル パラメーターに確実に保存されます。 その後、
推論が完了したら、モデル パラメーターに長期的な影響を与えないように、推論を破棄します。このメソッドを使用すると、コンテキスト ウィンドウを展開せずに、コンテキスト情報を自由に保存できます。必要なだけ保存できます
。実験により、この方法が証明されました: モデルの長文タスクの品質が大幅に向上し、混乱が 29.6% 減少し、長文翻訳の品質が向上しました。
(青色のスコア)
一時的な Lora モジュールを作成し、使用後は破棄します。
メソッドは Temp-Lora と呼ばれ、アーキテクチャ図は次のとおりです。 :中心となるのは、以前に生成されたテキストに基づいて一時的な Lora モジュールを自己回帰的に徐々にトレーニングすることです。
このモジュールは適応性が高く、継続的に調整できるため、さまざまな距離のコンテキストを深く理解できます。
具体的なアルゴリズムは次のとおりです。 生成プロセス中、トークンはブロックごとに生成されます。ブロックが生成されるたびに、最新の Lx
トークンが入力 X として使用され、後続のトークンが生成されます。 生成されたトークンの数が事前定義されたブロック サイズ Δ に達したら、最新のブロックを使用して Temp-Lora モジュールのトレーニングを開始し、次のブロック生成を開始します。
実験では、モデルのコンテキスト ウィンドウ サイズを最大限に活用するために、著者は Δ L
xxを W に設定します。
Temp-Lora モジュールのトレーニングの場合、条件なしで新しいブロックを生成する方法を学習することは、効果的なトレーニング目標を構成せず、深刻な過剰適合につながる可能性があります。この問題を解決するために、作成者は各ブロックの前に LT
タグをトレーニング プロセスに組み込み、それらを入力として使用し、ブロックを出力として使用します。 最後に、著者は、より効率的な推論を実現するためのCache Reuse (キャッシュ再利用)
と呼ばれる戦略も提案しました。一般的に、標準フレームワークで Temp-Loramo モジュールを更新した後、更新されたパラメーターを使用して KV ステータスを再計算する必要があります。 あるいは、キャッシュされた既存の KV 状態を再利用し、その後のテキスト生成には更新されたモデルを使用します。
具体的には、モデルが最大長(コンテキスト ウィンドウ サイズ W)
を生成する場合にのみ、最新の Temp-Lora モジュールを使用して KV 状態を再計算します。 このようなキャッシュの再利用方法により、生成の品質に大きな影響を与えることなく、生成を高速化できます。Temp-Lora メソッドの紹介はこれですべてです。以下のテストに焦点を当てましょう。
テキストが長いほど、効果は高くなります。著者は Temp をテストしました。Lora フレームワークは評価され、生成と翻訳という両方のタイプの長いテキスト タスクをカバーします。 テスト データ セットは、ロング テキスト言語モデリング ベンチマーク PG19 のサブセットであり、そこから 40 冊がランダムに選択されます。 もう 1 つは、WMT 2023 の国峰データセットのランダムにサンプリングされたサブセットで、専門家によって英語に翻訳された 20 の中国のオンライン小説が含まれています。 まずはPG19の結果を見てみましょう。以下の表は、Temp-Lora モジュールの性別を使用した場合と使用しない場合の PG19 のさまざまなモデルの PPL (特定の入力に対するモデルの不確実性を反映する複雑性) を示しています。低いほど良い)比較してください。各ドキュメントを 0 ~ 100K から 500K トークンの範囲のセグメントに分割します。
Temp-Lora 後、すべてのモデルの PPL が大幅に低下していることがわかります。フラグメントが長くなるほど、Temp-Lora の影響がより明白になります(1 ~ 100K のみ減少しました) 3.6% 減少、500K は 13.2% 減少)。
したがって、単純に次のように結論付けることができます。 テキストが多いほど、Temp-Lora を使用する必要性が高くなります 。
さらに、ブロック サイズを 1024 から 2048 および 4096 に調整すると、PPL がわずかに増加することもわかります。
Temp-Lora モジュールは前のブロックのデータに基づいてトレーニングされているため、これは驚くべきことではありません。
このデータは主に、 ブロック サイズ の選択が生成品質と計算効率の間の重要なトレードオフであることを示しています (さらなる分析は論文にあります) ## #。 最後に、キャッシュの再利用によってパフォーマンスが低下しないこともわかります。
著者は次のように述べています: これは非常に心強いニュースです。
以下は、Guofeng データセットの結果です。 Temp-Lora は、長文文学翻訳タスクにも大きな影響を与えていることがわかります。
基本モデルと比較してすべての指標が大幅に向上: PPL が -29.6% 減少、BLEU スコア
(機械翻訳されたテキストと高品質の参考翻訳の類似性)が 53.2% 向上、 COMET スコア (品質指標でもあります) は 8.4% 増加しました。
最後に、計算効率と品質の探求です。
著者は実験を通じて、
最も「経済的」な Temp-Lora 構成 (Δ=2K、W=4K) を使用すると、次のことができることを発見しました。 PPL を 3.8% 削減しながら、FLOP を 70.5%、レイテンシを 51.5% 節約します。 逆に、計算コストを完全に無視して、
最も「贅沢な」 構成 (Δ=1K および W=24K) 、PPL を 5.0% 削減し、さらに 17% の FLOP と 19.6% のレイテンシーを達成することも可能です。 使用上の提案
1. 最高レベルを必要とするアプリケーションの場合パラメータを変更せずに、Temp-Lora を既存のモデルに統合することで、比較的適度なコストでパフォーマンスを大幅に向上させることができます。
2. 遅延やメモリ使用量を最小限に抑えることを重視するアプリケーションの場合、入力長と Temp-Lora に保存されるコンテキスト情報を減らすことで、計算コストを大幅に削減できます。
この設定では、固定の短いウィンドウ サイズ
(2K や 4K など)を使用して、ほぼ無限に長いテキスト (著者の実験では 500K) を処理できます。 。 3. 最後に、Temp-Lora は、事前トレーニングのコンテキストがモデルのウィンドウ サイズより小さい場合など、大量のテキストが含まれないシナリオでは役に立たないことに注意してください。
著者は機密組織の出身です
組織は直接「Secret Agency」と署名されており、著者 3 人の名前もフルネームのみです。
#ただし、メール情報から判断すると、香港城市大学や香港中国語学校などの学校からのものである可能性があります。
最後に、この方法についてどう思いますか?
論文:以上が匿名新聞が驚くべきアイデアを思いつく!これは実際に、大規模モデルの長いテキスト機能を強化するために実行できます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。