← 最新の論文
💬 NLP

Regression Language Models for Code

原著者: Yash Akhauri, Xingyou Song, Arissa Wongpanich, Bryan Lewandowski, Mohamed S. Abdelfattah

公開日 2026-05-28
📖 1 分で読めます☕ さくっと読める

原著者: Yash Akhauri, Xingyou Song, Arissa Wongpanich, Bryan Lewandowski, Mohamed S. Abdelfattah

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

あなたが Python、C++、あるいはグラフィックカード用の専用言語など、数十もの異なる言語で書かれた膨大なコンピュータプログラムの図書館を持っていると想像してください。通常、あるプログラムがどれだけのメモリを消費するか、実行にどれだけの時間がかかるか、あるいはニューラルネットワークの精度がどれほどになるかを知りたい場合、実際にコンピュータでそのプログラムを実行して確認する必要があります。これは遅く、費用がかかり、ハードウェア尚未構築の場合は不可能です。

長年、専門家たちはコードを実行せずにこれらの数値を予測するための特別な「水晶玉」の構築を試みました。しかし、これらの水晶玉はカスタムメイドの道具のようでした。Python のメモリを予測するには一つの道具が必要で、グラフィックカードの速度を予測するには全く異なる道具が必要でした。これらは人間が手動でコードを掘り起こし、特定の命令を数え、計算機に入力するためにコードを複雑なチャートやグラフに変換することを要求しました。コードが少し変わっただけで、道具はしばしば機能しなくなりました。

コードのための新しい「万能翻訳機」

この論文は、回帰言語モデル(RLM)と呼ばれる新しい種類の AI を紹介しています。これを計算機ではなく、「コンピュータコード」と「数値」の両方を話すスーパー翻訳機として考えてください。

以下に、簡単な比喩を用いてその仕組みを説明します。

1. 「凍結された脳」と「創造的な作家」

このモデルは、二人組のチームのように構成されています。

  • 凍結された脳(エンコーダ): この部分は、T5Gemma というモデルに基づいた事前学習済み AI で、すでに数百万冊の本と数百万行のコードを読んでいます。これは文やコードの構造を完璧に理解しています。研究者たちはこの部分を「凍結」しました。つまり、新しいことを教えることはしませんでした。これは単に、コードが何を言っているかを理解する賢い読者として機能します。
  • 創造的な作家(デコーダ): これが実際に訓練された部分です。物語を書く代わりに、この作家の仕事は、「脳」が読んだコードを見て、文の次の単語として数値を書くことです。

比喩: あなたがレシピ(コード)を読んでいると想像してください。通常の AI は材料リストを推測しようとするかもしれません。しかし、この新しい AI はレシピを見て、「このテキストに基づくと、次の単語は『500』(カロリー)です」と言います。これは、メモリ使用量や速度のような数値の予測を、文を完成させることと全く同じように扱います。

2. すべてを扱う一つの道具

最大の画期的な点は、この単一の「万能翻訳機」がすべてを一度に処理できることです。

  • Pythonのコードを読み、使用するメモリ量を推測できます。
  • **C++**のコードを読み、実行にかかる時間を推測できます。
  • ニューラルネットワークの設計(ONNX という形式で記述されたもの)を読み、特定のチップ上での精度や実行速度を推測できます。

以前は、これらの各タスクごとに異なる「専門家」が必要でした。このモデルは、テキストを見るだけでメモリ専門家、速度専門家、精度専門家へと切り替えることができるスイスアーミーナイフのようです。

3. 数学なしで「数える」方法

このモデルが数値を出力する際の巧妙なトリックの一つは、数値の出力方法にあります。複雑な数学を行って「72.5」を出力する代わりに、デジタルロックのように、数値を小さな断片に分解します。

  • 「72.5」とは言いません。
  • 「プラス記号... 7... 2... 小数点... 5」と言います。
  • 比喩: 子供に数を教えることを想像してください。「50 + 25」を解くよう頼む代わりに、答えを桁ごとに書かせるのです。「5... 0... プラス... 2... 5... イコール... 7... 2... 5」。これにより、AI は数百万バイトのような巨大な数値や、非常に小さな数値を混乱することなく処理しやすくなります。

4. なぜ古い方法より優れているのか

  • 手作業不要: 古い方法は、人間が手動で特徴を設計する必要がありました(例:「ループの数を数える」など)。このモデルは、人間が本を読むのと同じように、生のテキストを直接読みます。
  • ランキング能力の向上: この論文は、このモデルに同じコードの 10 種類の異なるバージョンを与えると、「最速」から「最遅」へ、あるいは「最小メモリ」から「最大メモリ」へと並べ替えるのが非常に得意であることを示しています。ストップウォッチがなくても、10 人のランナーを見て瞬時に勝者を知ることができる審判のようです。
  • コスト: 研究者たちは、このモデルを使用することが、数値を推測するために巨大な汎用 AI チャットボット(GPT-5 など)を使用するよりもはるかに安価であることを発見しました。チャットボットは、ナットを割るために金槌を使うようなもので、高価でしばしば誤っています。このモデルは、ペンス単位で仕事を完了させる専門的で軽量な道具です。

彼らが実際に証明したこと

この論文は以下のものに対してこのモデルをテストしました。

  • CodeNet: 37 の異なる言語で書かれた数百万のコードスニペットを含む巨大なデータセット。このモデルは、それらすべてにわたってメモリ使用量を正常に予測しました。
  • APPS: コーディング課題のセット。このモデルは、解答を見てそのメモリ使用量を非常に高い精度(現実との相関 90% 以上)で予測できました。
  • ニューラルネットワーク: 複雑なグラフ図を使用した従来の最先端の方法よりも、AI 設計の速度と精度を予測できました。

まとめ:
この論文は、コードのパフォーマンスを予測するために複雑でカスタムメイドのツールを構築する必要はないと主張しています。代わりに、コードを物語のように扱い、数値をその物語の次の単語のように扱うことができます。これを行うために単一の統合された AI を訓練することで、ほぼあらゆるプログラミング言語や AI 設計に対して、単にテキストを読むだけでメモリ、速度、精度を予測できます。これは、難しい数学の問題を、単純な「次は何が来る?」というゲームに変えるものです。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →