業界をリードする AI に関する最新情報や独占コンテンツを入手するには、毎日および毎週のニュースレターにご登録ください。 もっと詳しく知る
大規模言語モデル(LLM)は、多くの場合、 膨大なデータセット テキストとコードが混在するモデルです。プログラミング タスク用に設計されたモデルのトレーニングにはコードが不可欠ですが、コード生成を明示的に意図していないモデルの事前トレーニング データにコードを含めることがますます一般的になっています。
で 新しい論文、研究者 コヒア LLM事前トレーニングにおけるコードデータがコーディングタスクを超えた一般的なパフォーマンスに与える影響を体系的に調査しました。
「実務家の間では、コードデータがLLMのパフォーマンスに重要な役割を果たすという共通認識があるが、コードが非コードタスクに及ぼす正確な影響を分析する研究は限られている」と研究者らは書いている。
彼らの研究結果は、コードが幅広いタスクにおけるLLMのパフォーマンス向上に重要な役割を果たしていることを示しています。彼らがその結果に到達した方法も重要であり、LLMのトレーニングに影響を与える可能性があります。 現実世界のアプリケーション。
コードの影響を調査する
コードが LLM の一般的なパフォーマンスに与える影響を理解するために、研究者らは一連の実験を実施しました。彼らは、トレーニング データ内のコード量、トレーニング プロセス中にコードが追加される場所、コードの品質、モデルの規模など、さまざまな要素を考慮しました。
研究者らは、2 段階のトレーニング プロセスを使用しました。まず、「継続的事前トレーニング」を実行し、事前トレーニング済みのモデルを使用して、一定数のトークンに対してテキストとコードの比率が異なる新しいデータセットでトレーニングを続けました。次に、「クールダウン」フェーズを使用し、トレーニングの最終段階で高品質のデータセットに高い重み付けを行いました。
ベースライン モデルはテキストのみでトレーニングされました。また、最初にコードとテキストのバランスの取れたデータセットで事前トレーニングされ、その後の事前トレーニング フェーズでテキスト データでさらにトレーニングされたモデルもテストされました。また、コードのみのデータで事前トレーニングされ、さらにテキストでトレーニングされたモデル セットもありました。
研究者らは、4億7000万から28億のパラメータまで、さまざまな規模でモデルのパフォーマンスを評価した。彼らは、世界知識、自然言語推論、コードパフォーマンスに関するモデルの能力を測定するさまざまなベンチマークを使用した。
コーディング以外のタスクにおけるコードのメリット
実験の結果、コードがコードに関連しないタスクにおける LLM のパフォーマンスを一貫して向上させることが明らかになりました。
自然言語推論タスクでは、コードでトレーニングされたモデルが一貫してテキストのみのモデルよりも優れたパフォーマンスを発揮しました。興味深いことに、研究者は、100% コード データでモデルを事前トレーニングすると、これらのベンチマークで最高のパフォーマンスが得られることを発見しました。
「これは、さまざまなコードを混合した事前トレーニング済みモデルからの初期化が、NL推論タスクに強いプラスの影響を与えることを示している」と研究者らは書いている。
世界知識タスクの場合、事前トレーニング データ内のコードとテキストのバランスの取れた混合が最高のパフォーマンスをもたらしました。研究者は、「世界知識タスクのパフォーマンスは、初期化のためのよりバランスの取れたデータ混合と、継続的な事前トレーニング段階でのテキストの割合の増加に依存するようです」と示唆しています。
生成タスクでは、コードのみのモデルとバランスのとれたモデルの両方がテキストのみのモデルよりも優れたパフォーマンスを示しました。これは、事前トレーニング ミックスのコード データが「推論を改善するだけでなく、モデルがより高品質な生成を行うのにも役立つ」ことを裏付けています。
研究者らはまた、事前トレーニング データにコードを追加することで得られるパフォーマンスの向上は、モデルのサイズが大きくなるにつれて大きくなることも観察しました。改善は世界知識とコード パフォーマンスで最も顕著で、自然言語推論でもわずかな向上が続きました。
「これらの結果は、自然言語タスクとコード生成の間のトレードオフがモデルのサイズとともに増加することを示しています」と研究者らは書いている。
LLMでは、 出現行動 非常に大規模なもので、研究で観察された傾向は数百億または数千億のパラメータで変化する可能性があります。コストの制限により、研究者は非常に大規模な実験の効果をテストできませんでした。しかし、彼らは、自分たちの発見がより大きなモデルにも当てはまると楽観しています。
「私たちの調査結果は4億7000万から28億ドルまで当てはまるので、より大きなモデルサイズやトークン予算にも当てはまるはずだと考えています」と彼らは書いている。
研究者らはまた、事前トレーニング データに高品質の合成コードを追加するとパフォーマンスが大幅に向上することを発見しました。これは、量が限られている人間が生成したコードに依存しないため、特に便利です。
「私たちの合成コードデータは、形式的に検証されたPythonソリューションを作成するために使用された問題ステートメントを使用して作成されました」と、Cohere For AIの研究員であり、論文の主著者であるViraat Aryabumi氏はVentureBeatに語った。「これは将来の可能性の大きな方向性です。合成コードデータを利用したい場合に実践者が心に留めておくべき主な基準は、コードデータを生成するために高性能な教師モデルを使用することです。」
また、GitHub のプルリクエストやコミットなどのコードに隣接するデータを追加すると、推論タスクにおけるモデルの能力が向上する可能性があることも発見しました。
トレーニングのクールダウン フェーズにコードを組み込むと、コードに関連しないさまざまなタスクにおける LLM のパフォーマンスがさらに向上しました。この発見は、独自のモデルをゼロからトレーニングするのではなく、データを使用してモデルを微調整する可能性が高い企業に関係する可能性があります。
「クールダウン段階は、コスト、データ品質、必要なリソースの点で、おそらく微調整に最も近い段階です。大きな利益が得られるため、トレーニング段階に関係なく、トレーニング ミックスにコードを含めることをお勧めします」と Aryabumi 氏は述べています。「高品質のコード (内部コード ベースからのコードやコードに隣接するデータなど) を含めると、クールダウン中に改善がもたらされると期待しています。」
Cohere はエンタープライズ アプリケーション向けの LLM の提供に重点を置いているため、これらの調査結果が今後のモデルや製品の展開にどのように影響するかは興味深いところです。たとえば、さまざまなタイプのタスク向けに、さまざまなコードとテキストの組み合わせで事前トレーニング済みのモデルを幅広く提供することが考えられます。企業は、独自のデータでこれらのモデルを微調整して、特定のタイプのアプリケーションで最高のパフォーマンスを得ることができます。
「私たちの論文の調査結果は開発者にとって本当に意味のあるものであり、より高性能なモデルのリリースを促進するものになるだろうと期待しています」とアリヤブミ氏は述べた。「私たちの調査結果で驚くべきことは、コードがコードタスク以外でもパフォーマンスの向上をもたらしているということです。そしてそれはすでに、私たちが提供する最先端のモデルのトレーニングに関する考え方に影響を与えています。」