乗算と並べ替えも機能します。
2017 年に提案されて以来、Transformer は大規模 AI モデルの主流のアーキテクチャとなり、C の位置にしっかりと定着しています。
しかし、すべての研究者が認めなければならないのは、Transformer は加算とはいえ算術タスクのパフォーマンスが非常に悪いということであり、この欠陥は主に Transformer が広範囲の数値の各桁を正確に追跡できないことに起因しています。
この問題を解決するために、メリーランド大学、CMU、その他の機関の研究者がこの問題への挑戦を開始しました。彼らは、先頭からの相対的な数値の位置をエンコードする埋め込みを各数値に追加することで、この問題を解決しました。この研究では、単一の GPU で 20 桁の数値をトレーニングするのにわずか 1 日しかかからず、100 桁の加算問題で最大 99% の精度を誇る最先端のパフォーマンスが達成されたことがわかりました。
論文アドレス: https://arxiv.org/pdf/2405.17399
プロジェクトアドレス: https://github.com/mcleish7/arithmetic
タイトル: Transformers Can Do Arithmetic with the Right Embeddings
具体的特に研究者らは、データ テーブルの表示を簡単に変更するだけでこの欠点を解決できる可能性があると示唆しました。彼らは、各デジタル シンボル トークンの範囲内の位置をエンコードするための Abacus 埋め込みを提案しました。この研究では、Abacus エンベディングを標準の位置エンベディングと組み合わせて使用することで、算術タスクにおける Transformer の精度が大幅に向上し、最大 20 桁のオペランドのみでトレーニングされたモデルが 120 桁のオペランドの問題にスケールされることが観察されました。この数値は、以前の最先端のスケーリング係数がわずか 2.5 倍であったのに対し、SOTA スケーリング係数は 6 倍に相当します。これは、これまでに実証された加算学習の最長シーケンスであることが理解されています。
この記事では、算術演算と一般化における Transformer のパフォーマンスの最適化の研究に加えて、Transformer のパフォーマンスを向上させる他のいくつかの方法も検討します。彼らは、入力注入層と各デコーダ層の間にスキップ接続を挿入することで、Abacus 埋め込みベースラインよりも汎化誤差を 50% 削減できることを発見しました。この論文では、埋め込みと組み合わせて使用されるループ型 Transformer アーキテクチャが、加算問題に関してほぼ完全な一般化を達成できることも発見しています。
この論文の貢献は次のように要約できます:
この論文は、各数値の重要性をより適切に捉え、それによってほぼ完璧な分布内汎化を達成するための、Abacus 埋め込みと呼ばれる新しい位置埋め込みを提案します。
著者らは、ゼロからトレーニングされた言語モデルの算術パフォーマンスを向上させることを目的とした一連の方法を調査しました。彼らは主に 2 つの仮説に焦点を当てています: 1) 数値内の個々の桁の位置情報が失われている、2) ループにより、複数ステップの算術推論問題に対する Transformer アーキテクチャの推論能力が向上する可能性があります。著者は、各改善点を詳細に説明する前に、トレーニングと評価の設定について簡単に説明します。
実験セットアップ著者らは、加算問題を解決するためにデコーダのみを含む因果言語モデルをトレーニングしました。
彼らは 2 つの標準的な変圧器アーキテクチャを検討しました。まず、フィードフォワード方式でスタックされた複数のデコーダ層を備えた標準的な自己回帰変換モデルを使用します。次に、各デコーダ層の入力にエンベディングを追加する入力インジェクションを使用して、この標準トランスフォーマー モデルを拡張します。著者らは、これらのアーキテクチャを図 20 に視覚的に示しています。
そろばんの埋め込みは数値の位置合わせに役立ちます以前の研究と予備実験を通じて、著者は、入力数値が最も重要でない数値から最初に表示される場合でも、トレーニングデータは階層的で豊富であることを発見しました(数十万のデータ)の例)、標準の変圧器が複数桁の加算を学習することも困難です。彼らはまた、人間が長い加算演算を実行するとき、最初に同じ桁の数字を列に配置することも観察しました。したがって、著者の最初の仮説は、各数値の桁は変換器で簡単に表現できず、この部分問題が実際の加算そのものよりも大きな障害となるというものです。
位置情報を表現する際のトランスフォーマーの制限に対処するために、著者らは、現在の数値の開始位置を基準とした各数値の位置をエンコードする特別な位置埋め込みを設計しました。著者らはこれを「アバカス埋め込み」と呼んでいます。図 2 に示すように、同じ桁のすべての数値に同じ位置埋め込みを適用し、モデルが数値を位置合わせするために使用できる明示的な信号を提供します。
Abacus の埋め込みにより加算の問題が解決されます
標準のトランスフォーマー アーキテクチャの場合、Abacus の埋め込みにより汎化パフォーマンスが 100 ビット以上に向上します。図 3 (左) では、著者らは、3 つのモデルのすべてのケースの平均精度を取得して、加算演算を実行する際の、標準のトランスフォーマー アーキテクチャおよびエンベディングに対する Abacus エンベディングの比較優位性を強調しています。
図 1 には、ドメイン内 (ID) とドメイン外 (OOD) でテストされた、FIRE と Abacus でトレーニングされた標準の変圧器モデルの精度の結果も示しています。
Transformer のループによりパフォーマンスが向上
位置埋め込み問題を解決した後、著者は次に、ループ アーキテクチャがトランスフォーマーの複数桁の加算を実行する能力をさらに向上できるかどうかを検討しました。彼らは、異なる重みを持つ一連のデコーダ層を指すために「反復ブロック」という用語を使用し、「反復」は反復ブロックが繰り返される回数を指します。著者らは、重みが一意であるかどうかに関係なく、変圧器で使用される層の数を指すために有効深さという用語を使用しています。特に明記されていない限り、有効な深さに到達するために固有の層のみをループする最大ループ アーキテクチャが使用されます。また、入力インジェクションと残留接続を使用して、入力のコピーをネットワーク内の各層に伝播しました。
ループの利点
図 3 (右) では、著者らは、最大 40 ビットのオペランドを持つトレーニング加算に FIRE および NoPE 埋め込みを使用したすべてのアーキテクチャ バリアントを比較しています。パラメータの数は他のモデルのわずか 1/10 ですが、ループ トランスフォーマ (ループ、入力注入と漸進的損失を伴う) は、いかなる種類の位置埋め込みを使用した場合でも最高の分布外パフォーマンスを達成することがわかります。図 8 では、著者らはさまざまなトレーニング データ サイズにわたるこの結果の堅牢性を示しています。
リカレントモデルの場合、トレーニング中に各フォワードパスのループ数を変更することを選択できます。これにより、テスト時のより困難なタスクに対するモデルの一般化能力が向上する傾向があります。これは、漸進的損失計算とも呼ばれます。この損失関数は、2 つの順方向パスの損失値を凸状に組み合わせたもので、1 つは文字通りのサイクル数 (1 × 16 モデルの場合は 16) を使用し、もう 1 つはランダムに小さいサイクル数を使用します。
次に、著者らは、有効深さを固定したままループ ブロック サイズを変更した場合の影響を調査します。ループ ブロック内の層の数が半分になり、ループ数が 2 倍になります。つまり、ブロック内に 16 層があり、ループ数が 1 つだけ (16 × 1、標準トランスフォーマー) であるモデルから、ブロック内に層が 1 つだけあるモデルになります。ループ回数は16回(1×16)のモデルがあります。
図 4 を介してこれらの結果を分析したところ、場合によってはループと Abacus 埋め込みを組み合わせることでパフォーマンスがさらに向上する可能性があることがわかりました。具体的には、OOD 問題では、2 サイクル (8 × 2) のモデルは純粋な非周期モデル (16 × 1) の半分の誤差を生成しましたが、100 以上の OOD 問題では、精度もわずかに向上しました。
最後に、付録 A.7.3 では、著者らは、Abacus、FIRE、および NoPE 埋め込みを含む、このタスクに対するパラメーターの数の影響を分析するために、モデルの有効深さを変更します。図 4 の実験はさまざまな深さの公正な比較ですが、純粋な標準変圧器モデルには、対応するループ モデルよりもはるかに多くのパラメーターがあります。付録の表 3 では、著者らはパラメータの数量を 100 万単位で記録しています。
実験
研究者らは、加算の問題だけでなく、乗算や並べ替えについても調査しました。
整数乗算
図 5 は、Abacus 埋め込みモデルが、各オペランドを同じ長さまでゼロでパディングすることなく、15 桁の乗算の分布にわたって精度において以前の研究を上回っていることを示しています。特に、この研究では、Abacus エンベディングと FIRE を組み合わせると、FIRE のみを使用したベースラインと比較して、最も難しい分布問題 (右下) の精度も向上することが強調されています。
配列ソート
表 1 は、さまざまなエンベディング (FIRE、Abacus、およびそれらの組み合わせ) でトレーニングされた標準トランスフォーマー (8 層) のパフォーマンスを示しています。結果は、組み合わせた埋め込み手法がモデルの汎化能力を強化することを示しています。
表 2 に示すように、Abacus+FIRE 埋め込みの組み合わせを異なるモデル アーキテクチャ (有効深さ 8) と組み合わせた場合、さまざまな結果が観察されました。
Abacus と関連エンベディング
図 6 は、Abacus エンベディングをより一般的なシステムに統合することの実際の可能性を示しており、Abacus エンベディングと FIRE を組み合わせることで、FIRE エンベディングをはるかに超えた問題解決機能を解放できることを示しています。
研究の詳細については、元の論文を参照してください。
以上が単一 GPU で 1 日トレーニングを行った後、Transformer は 100 桁の数値の加算において 99% の精度を達成できます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。