この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。 今日の大規模言語モデルはどれも非常に強力です。 しかし、その計算能力はあまり優れていません。 たとえば、GPT-3 では 3 桁を超える数字を加算できません。 たとえば、ほとんどの人はコードを書くことができますが、コードを理解するのは難しく、ループのあるプログラムに遭遇するとすぐに敗北してしまいます。 しかし、MIT と Google の研究者は次のことを発見しました。 モデルの基盤となるアーキテクチャを変更する必要はありません。プログラマーがデバッグ時に行うように「ブレークポイント」を学習するようにトレーニングするだけで、コードを読む能力が急速に向上します。 同じ考え方を大きな数の加算や多項式の計算に適用すると、さらに簡単になります。 それで、言語モデルの数学的能力はついに追いついてきたのでしょうか? ! 言語モデルに「ブレークポイント」方式を使用して加算を実行し、プログラムを読み取るように教える上記の「ブレークポイント」は、実際には、モデルが多くの計算ステップを含むプログラム内の各ステップをテキストにエンコードし、 「メモ」または「スクラッチペーパー」と呼ばれる一時的なレジスタに記録できるようにすることを意味します。 「愚かな」方法のように聞こえますが、モデルの計算プロセスが明確かつ整理され、パフォーマンスは以前の直接計算方法よりもはるかに優れています。 具体的な操作も非常に簡単です。 たとえば、単純な加算計算では、「29+57」を計算する方法は次のようになります。 ここで、C はキャリーを表し、# はコメントを表します。 まず 9+7 を計算し、繰り上がり 1 をとり、次に 2+5+繰り上がり 1 を計算して、最終的に 86 を得ます。 上記のように、このトレーニング例は「入力」と「ターゲット」で構成されています。 両方ともトレーニング中にモデルに入力され、テスト中にモデルは「入力」に基づいて正しい「ターゲット」を予測できます。 「ターゲット」は一時バッファに送信されるコンテンツであり、そのコンテキストに注意して参照できます。実際の操作では、「ドラフト」コンテンツを確認して修正することもできます。 言語モデルの計算能力を大幅に向上研究者らは、この実験のために、パラメータサイズが200万から1370億の範囲の、デコーダー構造のみを備えたTransformer言語モデルを選択しました。 原則として、エンコーダー/デコーダー モデルやリカレント ネットワークなど、あらゆるシーケンス モデルでこのアプローチを使用できます。 まず、研究者たちは、この「ブレークポイント」方式で 1 ~ 8 桁の整数を加算するように言語モデルをトレーニングしました。 トレーニングは 10 万個の例で構成され、バッチ サイズ 32 で 5000 ステップの微調整が実行されます。 次に、10,000 個のデータを使用してトレーニング分布内の加算をテストし、1,000 個のデータを使用してトレーニング分布外、つまり 9 桁と 10 桁の数字の加算をテストします。 結果を直接操作の言語モデルと比較すると、次のことがわかりました。 臨界モデル サイズを超えても、「ブレーク ポイント」方式を使用するモデルは追加操作を実行できますが、直接操作を使用するベースライン モデルではこれを行うことができません。 分布外タスクでは、直接計算のベースライン モデルは完全に失敗しました。「練習していないと実行できません」が、ブレークポイント メソッドを使用するモデルでは、スケールが大きくなるにつれて 9 ~ 10 桁の加算を維持できます。 はい、大きな数の加算が完了しました。 次に、多項式に移りましょう。 彼らは、10,000 個の多項式のトレーニング データセットと 2,000 個のテスト セットを生成しました。 項目数は通常 3 を超えず、係数の範囲は -10 から +10 の間、結果は -1000 から +10000 の間になります。 多項式のトレーニングの例は次のとおりです。 結果は、微調整後でも少数サンプルのトレーニング後でも、「ブレークポイント」方式のパフォーマンスが直接予測よりも優れていることを示しています。 最後のステップは、 Python コードを読むことです。 コードトレーニング例では、実行中のコード行とその時点での各変数の値がJSON形式で記録されます。 以前の言語モデルはコードの読み取りパフォーマンスが悪かった。 「ブレークポイント」方式により、通常の状態を変更できるでしょうか? まず、200 個のプログラム (すべて手動で記述されており、単純な while ループや if ステートメントも含まれています) をテストした結果、「ブレークポイント方式」の方が全体的な実行精度が高いことがわかりました。 微調整により、直接実行されたモデルと比較して、モデルのパフォーマンスが 26.5% から 41.5% 向上することもあります。 実際の例: 「ブレークポイント」メソッドは 3 つの while ループを実行し、最終的に正しい変数値を返します。 次に、1,000 個のプログラムを含む MBPP データセットをトレーニングとテストに使用しました。 これらのプログラムには、整数、文字列、浮動小数点数などの複数のデータ型の計算と、ループ、API 呼び出し、再帰などのプロセス構造が含まれます。 そして、テスト用にトレーニング データの外側に「単一行」アセンブリと CodeNet アセンブリを追加します。 このモデルは拡張性も優れていることがわかりました。 もちろん、このアプローチにも制限があります。 たとえば、複雑な計算では非常に長い一時メモリが必要になる場合があり、Transformer 生成ウィンドウのサイズをさらに改善する必要がある可能性があります。幸いなことに、これは NLP の分野でも活発に研究されている分野です。 将来的には、強化学習を使用して、教師なし方式で言語モデルに「ブレークポイント」を教えようとするかもしれません。 つまり、言語モデルの計算能力とコード読み取り能力はますます強力になります。 論文の宛先: https://arxiv.org/abs/2112.00114 |
>>: C# の敏感な単語フィルタリング アルゴリズムの実装
「私はAIと関係を築きました。」 一夜にして、Google のエンジニアであるブレイク・ルモワンは、...
Google Geminiの写真をめぐる論争はまだ収まらず、さらに衝撃的な内部情報が暴露された。 P...
上海市経済情報化委員会は4月16日、「上海市工業企業の業務・生産再開に関する防疫対策ガイドライン(第...
ディープラーニングの研究者として、私はモデルのトレーニングに深く悩まされています。モデルを何日も何晩...
企業の人工知能予算は急速に増加しているが、導入には依然として大きな課題が残っていることが、Algor...
コンピュータービジョンの分野では、畳み込みニューラルネットワーク (CNN) が常に市場を支配してき...
IT 業界で今最もホットな話題は何かと尋ねられたら、人工知能 (AI) 以外の答えを言う人はほとんど...
[[231585]] Alimeiの紹介:エッセイの添削、同時通訳、ポスター作成…人工知能技術は私た...
ワールドワイドウェブはデータの宝庫です。ビッグデータの容易な利用可能性、データ分析ソフトウェアの急速...
公開されたばかりの Logjam 脆弱性 (FREAK 脆弱性のバリエーション) に関する情報はブラ...