Microsoft が大規模コード モデル WaveCoder をリリースしました。 4つのコードタスクと20,000のインスタンスデータセットにより、LLMの一般化能力が大幅に向上しました。

Microsoft が大規模コード モデル WaveCoder をリリースしました。 4つのコードタスクと20,000のインスタンスデータセットにより、LLMの一般化能力が大幅に向上しました。

高品質のデータ セットを使用して命令のチューニングを実行すると、大規模なモデルのパフォーマンスを迅速に向上できます。

この目的のために、Microsoft の研究チームは、20,000 個の命令インスタンスと 4 つの一般的なコード関連タスクのデータセットを含む CodeOcean データセットをトレーニングしました。

その間に、研究者たちは大規模なコードモデルである WaveCoder を微調整しました。

論文アドレス: https://arxiv.org/abs/2312.14187

実験結果によると、Wavecoder は他のオープンソース モデルよりも優れており、以前のコード生成タスクでも優れたパフォーマンスを発揮します。

「ビッグコードモデル」の潜在能力を引き出す命令チューニング

過去 1 年間で、GPT-4、Gemini、Llama などの大規模モデルは、一連の複雑な NLP タスクで前例のないパフォーマンスを達成しました。

これらの LLM は、自己監督型の事前トレーニングとその後の微調整のプロセスを利用して、強力なゼロ/少数ショット機能を発揮し、人間の指示に効果的に従ってさまざまなタスクを完了することができます。

しかし、このような大規模なモデルのトレーニングと微調整にはコストが非常に高くなります。

そのため、比較的小規模な LLM、特にコード大規模言語モデル (コード LLM) は、コード関連の幅広いタスクで優れたパフォーマンスを発揮するため、多くの研究者の注目を集めています。

LLM は事前トレーニングを通じて豊富な専門知識を獲得できるため、大規模なコード モデルではコード コーパスの効率的な事前トレーニングが重要です。

Codex、CodeGen、StarCoder、CodeLLaMa などのいくつかの研究では、事前トレーニング プロセスによって、大規模モデルがコード関連の問題を処理する能力が大幅に向上することが実証されています。

さらに、命令チューニングに関する複数の研究 (FLAN、ExT5) では、さまざまなタスクにおける命令チューニングされたモデルのパフォーマンスが人間の期待と一致していることが示されています。

これらの研究では、数千のタスクをトレーニング パイプラインに組み込み、下流のタスクにおける事前トレーニング済みモデルの一般化能力を向上させています。

たとえば、InstructGPT は、人間の注釈者が作成した高品質の指示データを統合することでユーザー入力を効果的に調整し、指示の調整のさらなる探求を促進します。

スタンフォード大学の Alpaca は、Self-Instruct メソッドを通じて ChatGPT を使用し、命令チューニング プロセス用の命令データを生成します。

WizardLM と WizardCoder は、evol-instruct メソッドを適用して、事前トレーニング済みモデルの有効性をさらに向上させます。

最近の研究では、命令のチューニングが大規模モデルのパフォーマンスを向上させる大きな可能性を秘めていることが示されています。

これらの研究に基づいて、研究者は、命令の調整によって大規模モデルの潜在能力を活性化し、事前トレーニング済みのモデルを優れたレベルの知能に微調整できると直感しています。

この点に関して、彼らは命令チューニングの主な機能を次のようにまとめました。

- 一般化

命令チューニングは、もともと大規模モデルのタスク間一般化能力を強化するために提案されました。さまざまな NLP タスク命令を使用して微調整すると、命令チューニングによって、多数の未知のタスクでのモデルのパフォーマンスを向上させることができます。

- 整列

事前トレーニング済みのモデルは、トークンレベルと文レベルで多数の自己教師タスクから学習し、すでにテキスト入力を理解する能力を備えています。命令チューニングにより、これらの事前トレーニング済みモデルに命令レベルのタスクが提供され、元のテキストの意味を超えて命令からより多くの情報を抽出できるようになります。この追加情報はユーザーの意図であり、人間のユーザーとのやり取りを強化し、調整に役立ちます。

命令チューニングを通じて大規模コードモデルのパフォーマンスを向上させるために、主に 2 つの側面に焦点を当てた命令データを生成するための多くの方法が設計されてきました。

たとえば、self-instructe と vol-instruct は、teacher LLM のゼロ/少数ショット機能を利用して指導データを生成します。これにより、指導データを生成する魔法のような方法が提供されます。

しかし、これらの生成方法は教師 LLM のパフォーマンスに過度に依存しており、大量の重複データを生成することがあり、微調整の効率が低下します。

CodeOcean: 4つのタスクコードに関連する指示データ

これらの問題に対処するために、図 2 に示すように、研究者はソース コードを最大限に活用し、生成されたデータの品質を明示的に制御できる方法を提案しました。

命令のチューニングは、事前トレーニング済みモデルをトレーニング セットに従う命令と一致させることであるため、研究者は命令データ生成用の LLM ジェネレーター ディスクリミネーター (Large Model Generator-Disciminator) フレームワークを提案しました。

最近の方法では、ジェネレーターとディスクリミネータを使用することで、データ生成プロセスをよりカスタマイズ可能かつ制御可能にすることができます。

この方法は、元のコードを入力としてコアデータセットを選択し、元のコードの分布を調整することで、より現実的な命令データを安定して生成し、データの多様性を制御することができます。

上記の課題に対処するために、研究者は命令インスタンスを、コード集約、コード生成、コード変換、コード修復という 4 つの一般的なコード関連タスクに分類しました。

同時に、データ生成戦略を使用して、CodeOcean と呼ばれる 4 つのコード関連タスクの 20,000 個の命令インスタンスのデータセットを生成します。

研究者らは、最新の手法を検証するために、StarCoder、CodeLLaMa、DeepseekCoderを基本モデルとして使用し、最新のデータ生成戦略に基づいて新しいWaveCoderモデルを微調整しました。

同時に、研究者らは HumanEval、MBPP、HumanEvalPack でモデルを評価した結果、WaveCoder は小規模命令チューニングのベンチマークで優れたパフォーマンスを発揮することが示されました。

コードデータ生成

前述のように、研究者は 4 つの代表的なコーディング タスクを選択し、オープン ソース データセットから元のコードを収集しました。

以下は、トレーニング データ生成プロセスの詳細な紹介です。

このセクションでは、私たちの調査の方法論の詳細を紹介します。まず、代表的なコーディングタスクを 4 つ選択し、オープンソース データセットから元のコードを収集します。

著者らは、各タスクについて、GPT-3.5-turbo を使用して微調整用の指示データを生成しました。生成のヒントを表 2 に示します。

以下は、LLM ジェネレーター-ディスクミネーターの全体的なアーキテクチャであり、データ生成の完全なプロセスでもあります。

Codesearchnet は、GitHub でホストされているオープンソース リポジトリからの 200 万の (コメント、コード) ペアのデータセットです。 6 つのプログラミング言語のコードとドキュメントが含まれています。ベースデータセットとして CodeSearchNet を選択し、コアセットベースの選択方法 KCenterGreedy を適用して、元のコードの多様性を最大化します。

具体的には、ジェネレータは入力(a)に基づいて指示データを生成する。次に、識別器は出力を取得して分析結果を生成します。出力 (b) には 4 つのキーが含まれ、研究者はこの情報を命令チューニングの入力と出力として使用します。

分析(c)には、各ルールの詳細な理由と、サンプルがすべての要件を満たしているかどうかを確認するための全体的な回答が含まれます。

実験評価結果

コード生成タスク評価

表 3 は、2 つのベンチマークにおけるさまざまな大規模モデルの pass@1 スコアを示しています。結果から、次のことがわかります。

WaveCoder は、20,000 未満の命令チューニング データ (InsT データ) を使用した命令モデルのトレーニングよりも大幅に優れたパフォーマンスを発揮します。

微調整プロセスの後、最先端モデルのパフォーマンスは、選択された基本モデルやオープンソース モデルと比較して大幅に改善されていますが、70,000 を超えるトレーニング データでトレーニングされた独自のモデルには依然として遅れをとっています。

研究者らは、表 4 に示すように、HumanEvalPack の最先端の Code LLM を使用して WaveCoder のスコアも評価しました。

表 5 は、コード要約タスクにおける WaveCoder の結果を示しており、次の注目すべき点が強調されています。

<<: 

>>:  わずか 2 分で、シングル ビューの 3D 生成が高速かつ良好に行えます。北京大学などが新しいRepaint123法を提案

推薦する

AIはIoTベースのDDoS攻撃を阻止できる

研究者らによると、人工知能はインターネットサービスプロバイダー(IPS)がDDoS攻撃に先手を打つの...

ビジネスに大きな影響を与える 5 つの AI テクノロジー

企業は、画像認識、音声認識、チャットボット、自然言語生成、感情分析がビジネスの運営方法にどのような変...

...

ワシントンポスト紙の李開復氏のコラム:お金を与えることでAI失業危機は解決するのか?シリコンバレーの大物は世間知らずすぎる

AI革命が到来し、それは最良の時代になるかもしれないし、最悪の時代になるかもしれない。それが良いこと...

IBMのレポートは、ショッピングにおけるAIへの消費者の関心を強調している

小売業界は、経済の逆風と消費者の期待の高まりによる圧力の増大に直面しています。消費者のニーズと現在の...

美団におけるナレッジグラフ可視化技術の実践と探究

著者 | 魏耀成魏ナレッジ グラフの視覚化により、ナレッジ グラフ データをより直感的に表示および分...

シーメンスとマイクロソフトが共同でAIアシスタントを立ち上げ、製造業における人間と機械の連携を強化

シーメンスとマイクロソフトは協力し、人間と機械のコラボレーションを強化し、生産性を向上させるように設...

在庫 | 今年の世界の AI 事情

​​​ [[253255]]​​ 1. 2018 年の世界の AI 業界の発展は非常に爆発的でした。...

道に迷う心配はありません。AI マップが目的地までご案内します。

宝の地図を持って砂漠に埋もれた金や宝石を探すというのは、おとぎ話によく登場する筋書きです。今では、携...

...

Google: より多くのデータはより優れたアルゴリズムに勝ります!

Google が発表した新しい研究論文では、音声検索や YouTube 動画へのテキスト説明やタグ...

...

ローカル AI: スマートフォン時代の低消費電力分析

人工知能にはボトルネック問題があります。これはディープ ニューラル ネットワークに基づいており、数億...

...