[論文レビュー] Language Models of Code are Few-Shot Commonsense Learners
この論文では、構造的常識的推論タスク(例:スクリプト生成、推論グラフ生成)を、コードの生成問題として再定式化するCoCoGenという手法を提案する。大規模なコード言語モデル(Code-LLM)を用いて、構造的出力を実行可能で明確なPythonコードに変換することで、CoCoGenは、T5 や GPT-3 などの自然言語言語モデル(natural language LMs)とは異なり、タスク固有の微調整を必要とせず、3つの多様なタスクにおいて少数の例(few-shot)設定で、構造的正確性と推論品質の両面で優れた性能を発揮する。
We address the general task of structured commonsense reasoning: given a natural language input, the goal is to generate a graph such as an event -- or a reasoning-graph. To employ large language models (LMs) for this task, existing approaches ``serialize'' the output graph as a flat list of nodes and edges. Although feasible, these serialized graphs strongly deviate from the natural language corpora that LMs were pre-trained on, hindering LMs from generating them correctly. In this paper, we show that when we instead frame structured commonsense reasoning tasks as code generation tasks, pre-trained LMs of code are better structured commonsense reasoners than LMs of natural language, even when the downstream task does not involve source code at all. We demonstrate our approach across three diverse structured commonsense reasoning tasks. In all these natural language tasks, we show that using our approach, a code generation LM (CODEX) outperforms natural-LMs that are fine-tuned on the target task (e.g., T5) and other strong LMs such as GPT-3 in the few-shot setting.
研究の動機と目的
- 大規模言語モデルを用いて構造的常識的出力(例:イベントグラフ、推論グラフ)を生成する課題に対処すること。
- 自然言語モデルに不適切な平坦で不自然なテキスト形式に構造的出力をシリアル化する従来のアプローチの限界を特定すること。
- プログラミングの構文と構造で事前学習されたコード生成モデルが、構造的推論タスクをより効果的に処理できるかどうかを調査すること。
- 常識的推論をコード生成として定式化することで、少数の例設定におけるモデル性能が向上することを実証すること。
提案手法
- 構造的常識的出力(例:イベントまたは推論グラフ)を、階層的かつ関係的構造を保持する実行可能コード表現(Pythonコード)に変換する。
- 事前学習済みのCode-LLM(例:Codex)を用い、自然言語プロンプトから直接これらのコード表現を生成する。
- Pythonのオブジェクト指向構文を用いて、ノードをクラスインスタンスとして、エッジを親子関係として表現する。
- タスク固有の微調整を一切行わず、コードコーパスでの事前学習に依存した少数の例設定でCode-LLMをトレーニングまたはプロンプトする。
- 生成されたコードを解析して、妥当な構造的出力(例:グラフ)を生成し、後続の評価に用いる。
- F1スコア、正確一致(exact match)、構造的正確性といった標準的な評価指標を用いて、自然言語言語モデルとの性能を比較する。
実験結果
リサーチクエスチョン
- RQ1同じタスクに微調整された場合、Code-LLMは自然言語言語モデルよりも構造的常識的出力をより正確に生成できるか?
- RQ2構造的出力を実行可能なコードとして表現することで、少数の例設定におけるモデル性能が向上するか?
- RQ3シリアル化されたテキスト形式(例:DOT形式やエッジリスト)と比較して、コード表現による生成出力の構造的忠実度はどの程度高いか?
- RQ41つのCode-LLMは、タスク固有の微調整なしに、多様な構造的常識的推論タスクに一般化可能か?
主な発見
- スクリプト生成、イベントグラフ構築、推論グラフ生成の3つの構造的常識的推論タスクにおいて、Codexは少数の例設定で微調整済みのT5 や GPT-3 モデルを上回った。
- 構造的正確性の面で顕著な性能向上が見られ、自然言語言語モデルと比較して、構文的およびトポロジカルな誤りが著しく少なかった。
- CoCoGenは、ベースラインモデルと比較してF1スコアおよび正確一致スコアが高く、コード表現がシリアル化されたテキスト形式よりもグラフ構造をよりよく保持していることを示した。
- 本手法は多様なタスクに対して堅牢であったため、入力が純粋に自然言語である場合でも、Code-LLMが構造的推論に一般化できることを示した。
- 結果から、Code-LLMがプログラミングの構文と意味論で事前学習されていることにより、構造的生成に優れた構造的推論能力が備わっていることが示唆された。
- 著者らは、自然言語言語モデルがシリアル化形式を生成する際、グラフのトポロジーを維持するのが困難であるのに対し、Code-LLMは適切なコード構造によって関係性を保っているのを観察した。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。