「GPT4のデータなしでコードLLMのインストラクションチューニングを行う方法は? OctoPackに会いましょう:インストラクションチューニングコード大規模言語モデルのためのAIモデルのセット」

「GPT4のデータなしでコードLLMのインストラクションチューニングを行う方法は? OctoPackに会いましょう:インストラクションチューニングコード大規模言語モデルのためのAIモデルのセット」 The condensed result is How to perform instruction tuning for code LLM without GPT4 data? Let's meet OctoPack AI model set for instruction tuning code large-scale language models.

大規模言語モデル(LLM)の使いやすさと全体的なパフォーマンスは、指示を介して提供されるさまざまな言語タスク(指示チューニング)によって向上できることが示されています。視覚、聴覚、多言語データでトレーニングされたモデルは、すべて指示チューニングのパラダイムでうまく機能しています。

コード学習マシンは、研究者によってコーディングの方法を教えられます。コードコメントを使用してCode LLMが望ましいコードを生成するように間接的に指示することは可能ですが、望ましい結果が自然言語の場合には不安定で失敗します。Code LLMの操作性を向上させ、適用範囲を広げるためには、明示的な指示によるチューニングが行われる必要があります。

研究者は、制約のあるライセンスを持つデータを使用せずに、オープンソースモデルを使用して合成データを生成することを好みます。彼らは、次の4つの一般的なコード指示データベースを比較しています:

  • xP3x:広く使用されているコードベンチマークからの結果をまとめたもの
  • lax Code LLM:研究者による独立したデータ生成を可能にするもの
  • OASST:主に言語情報を保持するリポジトリで、コーディング例は最小限です
  • 新しいGitコミットの4TBのデータセットであるCOMMITPACK

研究者の貢献

  • 事前トレーニングでは、350の異なるプログラミング言語で書かれた4テラバイト(TB)のコミットコードを許可ライセンスの下で使用できます。チューニングでは、高品質なコード指示を含むフィルタリングされたバリアントのCOMMITPACKにアクセスできます。
  • コードLLMの一般化ベンチマーク(HUMANEVALPACK)は、6つのプログラミング言語(Python、JavaScript、Java、Go、C++、およびRust)と3つのシナリオ(コード修復、コード説明、コード合成)に対して行われます。
  • 最も寛大なCode LLMはOCTOCODERとOCTOGEEXです。

研究者は、データセットの基礎としてGitHubのコミットのアクションダンプをGoogle BigQueryで使用しています。コミットメッセージが非常に具体的であり、多くのファイルを扱うことから追加の複雑さを回避するために、品質フィルターを複数適用し、商業的に利用可能なライセンスをフィルタリングし、複数のファイルに影響を及ぼすすべてのコミットを削除します。影響を受けるGitHubソースコードファイルは、フィルタリングされた情報を使用してコミット前後に抽出されます。

自然言語(NL)の応答を必要とするタスクの場合、指示チューニングLLMの入力は、NL指示とオプションのNLコンテキストです。コードデータで指示をチューニングする場合、コードは入力のみ、出力のみ、またはNL指示と共に入力と出力の両方に含まれる場合があります。ほとんどの既存のベンチマークはコード合成のバリアントに焦点を当てていますが、顧客はすべての3つのケースでモデルを使用したい場合があります。そのため、6つの言語の3つの入出力の順列が、コード合成ベンチマークHumanEvalに含まれるようになりました。

3つの評価状況すべてで、OCTOCODERはすべての他の許可モデルを大幅に上回っています。OCTOGEEXは、ベンチマーク化されたモデルの中で最も少ないパラメーターを持っており、60億ですが、それでも他の許可されたCode LLMに比べて最も優れた結果を達成しています。GPT-4は他のモデルと比較して最も高いパフォーマンスを発揮しています。他のモデルよりも大きなモデルである可能性がありますが、GPT-4はクローズドソースです。

コード、モデル、データなど、すべてはhttps://github.com/bigcode-project/octopackで見つけることができます。

まとめると、大規模言語モデル(LLM)は、指示に基づいて細かくチューニングされることで、さまざまな自然言語タスクでより優れたパフォーマンスを発揮することができます。研究者は、コーディングを使用して人間の指示を細かくチューニングし、Gitコミットの固有の構造を使用してコード変更と人間のガイダンスをペアにします。350の異なる言語からの4テラバイトのGitコミットはCOMMITPACKにまとめられています。16Bのパラメーターを持つStarCoderモデルでは、COMMITPACKを他の自然言語および合成コード指示と比較しています。HumanEval Pythonテストでは、OpenAIの出力でトレーニングされていないモデルの中で最新のパフォーマンスを実現しています。さらに、Python、JavaScript、Java、Go、C++、およびRustの6つの追加のプログラミング言語と、Code Repair、Code Explanation、およびCode Synthesisの3つの新しいコーディングタスクをHumanEvalベンチマークに追加したHUMANEVALPACKも提供しています。モデルのうち、OCTOCODERとOCTOGEEXは、すべての許可モデルの中でHUMANEVALPACK全体で最も優れたパフォーマンスを提供し、COMMITPACKの利点を示しています。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more