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法を提案

ブログ    

推薦する

...

あなたの写真を「秘密裏に」使用した顔認識システムはいくつありますか?ツールを使って確認する時が来た

テクノロジー企業が「個人のプライバシーを侵害する」顔認識システムを開発する際、彼らはあなたが予想して...

コンピュータービジョン GPT の瞬間!カリフォルニア大学バークレー校の3つの巨人が最初の純粋なCV大規模モデルを発表し、その推論はAGIの火花を示した

コンピューター ビジョンの GPT の瞬間が到来しました。最近、カリフォルニア大学バークレー校のコン...

5分でPythonのランダムヒルクライミングアルゴリズムをマスターする

ランダム化ヒルクライミングは最適化アルゴリズムです。検索プロセスの一部としてランダム性を使用します。...

AI導入によるエッジインテリジェンスの強化

エッジに AI を導入すると、強力なリアルタイム分析と処理を実現できる可能性があります。使用例には、...

2024 年のビッグデータ業界予測 (パート 3)

ディープラーニングディープフェイクの危険性: 2024 年には、特に仮想顧客サービス環境において、消...

2024 年の人工知能に関するトップ 10 の予測

2023年の人工知能分野でキーワードを1つだけ選ぶとしたら、それはおそらく「ビッグモデル」でしょう。...

LLM ウィザード、コードの事前トレーニングは魔法の杖です! UIUC中国チームがコードデータの3つの利点を明らかに

大規模モデルの時代における言語モデル (LLM) は、サイズが大きくなるだけでなく、トレーニング デ...

GTA5をプレイしていますか?インテルの新しいモデルは3Dレンダリングをリアルな画像に変換します

GTA5 は古典的な 3D アドベンチャー ゲームであり、そのスタイルは次のとおりです。写真は現実に...

調査によると、ChatGPTが提供するアドバイスは専門家が提供するアドバイスよりも包括的で役立つことがわかっています。

12月26日、専門家が実施した最近の調査では、ChatGPTが提供する提案は、人間の専門家が提供す...

クアルコム:米国は自動運転技術の標準化で中国に遅れをとる可能性

[[272354]]画像: この Uber の自動運転車は、米国サンフランシスコでテスト中に信号待ち...

アルパカはクジラに進化し、Meta は位置合わせを自動化し、Humpback は既存の LLaMa モデルをすべて打ち負かします

今年は、ChatGPTやGPT-4に代表される大規模言語モデル(LLM)が急速に発展しました。それに...

音声認識、マッチングアルゴリズム、モデルに関する簡単な説明

[[185868]]スピーチの基本概念スピーチは複雑な現象です。それがどのように生成され、どのように...

顔認識技術は議論を呼んでいる。人工知能はどのように制御されるべきか?

[[264511]]最近、米国の18歳の大学生が、アップルが顔認識ソフトウェアを使用して彼を強盗と...