[論文レビュー] Show Your Work: Scratchpads for Intermediate Computation with Language Models
本論文は、途中計算ステップを含むスクラッチパッドを追加することで、トランスフォーマーが長い足し算、多項式評価、Pythonプログラムの実行といった複雑な多段計算を、直接予測するよりもはるかに効果的に実行できることを示しており、より大きな入力に対する一般化も改善される。
Large pre-trained language models perform remarkably well on tasks that can be done "in one pass", such as generating realistic text or synthesizing computer programs. However, they struggle with tasks that require unbounded multi-step computation, such as adding integers or executing programs. Surprisingly, we find that these same models are able to perform complex multi-step computations -- even in the few-shot regime -- when asked to perform the operation "step by step", showing the results of intermediate computations. In particular, we train transformers to perform multi-step computations by asking them to emit intermediate computation steps into a "scratchpad". On a series of increasingly complex tasks ranging from long addition to the execution of arbitrary programs, we show that scratchpads dramatically improve the ability of language models to perform multi-step computations.
研究の動機と目的
- 中間ステップ(スクラッチパッド)を出力することにより、大規模言語モデルが境界を設けない多段計算を実行できるよう動機づけ、実現する。
- スクラッチパッドが長 integersの加算、多項式の評価、Pythonプログラムの実行タスクの性能を改善することを示す。
- スクラッチパッドはモデルのアーキテクチャを変更せずに適応的な計算時間と追跡可能な中間状態を提供することを示す。
- データ拡張と多源トレースデータを探索し、スクラッチパッドの利点を拡張する。
提案手法
- スクラッチパッドを、モデルが段階的な計算結果を出力する中間テキストバッファとして導入する。
- 入力/出力とスクラッチパッドの内容の両方を予測するよう、デコーダー専用のトランスフォーマーを教師あり学習で訓練する。
- スクラッチパッドを以下に適用する: (i) 桁ごとの手順による長整数の加算、(ii) 多項式の評価、(iii) 実行 traces の追跡を介したPythonプログラムの実行。
- 少数ショットおよびファインチューニングの設定の下で、スクラッチパッドベースの実行と直接実行予測を比較する。
- 2M〜137Bパラメータのさまざまなモデルサイズと標準的な訓練設定を使用する。
実験結果
リサーチクエスチョン
- RQ1スクラッチパッドは、トランスフォーマーが複数段のアルゴリズムタスクを、直接の単一パス予測よりもより正確に実行できるようにするか。
- RQ2中間計算 traces の出力は、長整数の加算や多項式の評価といったタスクにおける分外一般化を改善するか。
- RQ3スクラッチパッド tracing は、与えられた入力に対するPythonプログラム実行の予測精度を改善するか。
- RQ4スクラッチパッドの性能は、モデルサイズとデータ設定(少数ショット vs ファインチューニング)にどのようにスケールするか。
主な発見
- スクラッチパッドは、加算、多項式評価、プログラム実行タスクにわたるトランスフォーマーの多段計算を劇的に改善する。
- スクラッチパッドを訓練に取り入れたモデルは、スクラッチパッドなしで訓練したモデルよりも大きな入力サイズに対して一般化能力が高い。
- スクラッチパッドベースの実行は、多項式評価で少数ショットとファインチューニングの両方の性能を向上させる。
- Tracingベースの実行(プログラム traces の予測)は、十分なトレーニングデータがある場合、直接実行と比べてPythonプログラム実行の予測を著しく向上させる。
- データ拡張と多源トレースデータ(Single-line、CodeNet)は、スクラッチパッドの性能をさらに高め、トレース精度を向上させ、解くタスクを増やす。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。