150億のパラメータと60%以上の初回合格率を持つHuaweiの大規模モデルが登場、コーディング能力はGPT3.5を超える

150億のパラメータと60%以上の初回合格率を持つHuaweiの大規模モデルが登場、コーディング能力はGPT3.5を超える

大規模モデルが AI 開発の新たなパラダイムとなるにつれ、大規模言語モデルをプログラミング分野に統合し、コード生成と補完タスクを完了することが重要なトレンドの 1 つになっています。業界には、OpenAI の CodeX、Google DeepMind の AlphaCode、HuggingFace の StarCoder など、注目を集める大規模なコード モデルがいくつかあります。

中国では昨年7月末、ファーウェイ・ノアズ・アーク研究所の音声・セマンティクス研究所とファーウェイ・クラウドPaaS技術イノベーション研究所が共同でコードモデル「PanGu-Coder」を発表した。 Codex および AlphaCode と比較すると、このモデルは、コード生成の初回合格率 (PASS@1) の点で同じパラメータ サイズのモデルを大幅に上回り、さらに大規模なモデルよりも優れています。 PanGu-Coder は英語に加えて、中国語でも優れたパフォーマンスを発揮します。

PanGu-Coder モデルのサイズと構成。

PanGu-Coder の内部テストのパフォーマンスによると、一般的なアルゴリズムに精通しているだけでなく、さまざまな API を巧みに使用して高度な数学の問題を解決することもできます。

1年後、ついにPanGu-Coder2が完成し、論文がarXivに提出されました。今回、Huawei Cloud、中国科学院、北京大学の研究者が共同で、より強力なコード生成モデルを実現しました。

論文アドレス: https://arxiv.org/pdf/2307.14936.pdf

事前学習済みコードモデルの生成性能を向上させるために、教師あり微調整、命令調整、強化学習 (RL) など、さまざまな方法が提案され、適用されてきました。本論文では、既存の RL ベースの方法の問題を解決し、大規模コード モデルの可能性をさらに探求するために、研究者らは、大規模コード モデルに自然言語 LLM アライメント技術をうまく適用した、正式名称を Rank Responses to align Test&Teacher Feedback という新しい RRTF フレームワークを提案しました

RRTF フレームワークは、その考え方の面では、これまでの CodeRL や RLTF とは異なります。代わりに、 RLHF (人間のフィードバックに基づく強化学習) の考え方に従い、ランキング応答 (報酬モデルの絶対値の代わりに) をフィードバックとして使用することで、よりシンプルで効率的なトレーニング方法を実現します。

研究者らは、オープンソースのStarCoder 15BにRRTFを適用し、公開されているすべてのコードモデルの中で最高のパフォーマンスを実現するPanGu-Coder2をリリースしました。このモデルは、OpenAI HumanEval ベンチマークで 62.20% の pass@1 メトリックを達成しており、これは PanGu-Coder の 3 億パラメータ バージョンの 17.07% と比べて大幅に改善されています

さらに、CoderEval および LeetCode ベンチマークでの広範な評価結果により、PanGu-Coder2 はこれまでのすべての大規模コード モデルを上回っていることが示されています。

方法の概要

RRTF フレームワーク

研究者らは、命令チューニング、Evol-Instruct メソッド、強化学習など、いくつかの最先端技術をシームレスに組み合わせた、よりシンプルだが強力なフレームワーク RRTF を提案しました。この方法の中心的な考え方は、テスト信号と人間の好みをフィードバックとして使用して応答をランク付けし、モデルがより高品質のコードを生成するように導くことです。

そのため、大規模な自然言語モデルと命令の微調整における最近の進歩に触発されて、研究者たちはこの新しいトレーニングパラダイム、すなわち RRTF フレームワークを提案しました。フレームワークの概要を下図に示します。

RRTF には、サンプリング、ソート、トレーニングという 3 つのステップが含まれます。

  • サンプリング フェーズ: Evol-Instruct によって生成されたプロンプトを通じて応答性をサンプリングします。
  • ランキング フェーズ: ユニット テストとヒューリスティックな設定に基づいて、さまざまなソースからの応答をランキングします。
  • トレーニング フェーズ: プロンプト トリプレットと、選択/拒否された応答の対応するスコアを使用して、大規模なコード モデルをトレーニングします。

モデルアーキテクチャ

研究者らは、Multi-Query-AttentionShazeer を備えたデコーダーのみの Transformer に基づいて、 150 億のパラメーターを持つ PanGu-Coder2 をトレーニングしました。同時に、FlashAttention を使用して計算量とメモリ使用量を削減します。したがって、モデルの最大長は 8192 まで拡張できます。以下の表 1 に、モデルの詳細なハイパーパラメータを示します。

トレーニングコーパス

高品質のコーパスを手作業で収集するのは時間がかかり、労力もかかるため、研究者は Evol-Instruct 手法に従ってトレーニング コーパスを構築しました。具体的には、Alpaca 20K データセットに基づいており、データセット内のプログラミング問題を反復的に進化させて新しいプログラミング問題を取得します。プロンプトは以下の図 2 に示されています。

これらの質問に答えるために、研究者たちはさまざまなモデルから回答をサンプリングしました。彼らは合計で 10 万件のプログラミング問題の回答済み生のコーパスを収集し、これを「命令と解決策のペア」と呼んでいます。次に、手動で定義されたいくつかのルールを使用して、元のコーパスに対してデータ前処理を実行し、そのサイズを 68K に縮小します。

さらに重要なことは、データ漏洩を防ぐために、研究者らは 68K データセットと HumanEval ベンチマーク間の潜在的な重複を調査するために多大な労力を費やしたことです。慎重に調査した結果、実験ではデータ漏洩は発生していないことが確認され、PanGu-Coder2 の有効性がさらに検証されました。

実装の詳細

研究者らは StarCoder 15B をベースモデルとして選択し、グローバルバッチサイズ 512 で 6 エポックにわたってトレーニングしました。図 3 は、単一のトレーニング サンプルの形式を示しています。プロンプトに三重引用符を追加すること以外は、トレーニングには応答から抽出したコード スニペットのみを使用しました。

実験と評価

研究チームは、PanGu-Coder2 のパフォーマンスを評価するために一連の実験を実施しました。

パフォーマンス

この研究では、PanGu-Coder2 のパフォーマンスを、Python コード生成のための既存のコード集約型モデルと比較します。以下の表 2 は、HumanEval ベンチマークの比較結果を示しています。

すべてのクローズドソース モデルの中で、PanGu-Coder2 は 2 位にランクされています。 PaLM-Coder や LaMDA などの大規模モデルと比較すると、PanGu-Coder2 はサイズが小さいにもかかわらず、パフォーマンスが優れています。 PanGu-Coder2 のパフォーマンスは OpenAI の GPT-3.5 よりも優れていますが、GPT-4 とはまだ差があることは注目に値します。

表3は貪欲復号法の比較結果を示しています。すべてのベンチマークにおいて、PanGuCoder2 が最高の結果を達成しました。 PanGu-Coder2 は HumanEval で WizardCoder や StarCoder よりも優れているだけでなく、CoderEval と LeetCode でもこれら 2 つのモデルよりも優れていることは注目に値します。

表 2 と表 3 の実験結果から、次の結論が導き出されます。

  • オープンソース モデルの中で、PanGu-Coder2 は HumanEval で 61.64% の合格率で SOTA を達成しました。
  • PanGu-Coder2 はサイズが小さいにもかかわらず、PaLM-Coder や LaMDA などの大規模なモデルよりも優れたパフォーマンスを発揮します。
  • PanGu-Coder2 は、HumanEval、CoderEval、LeetCode で同時に最高のパフォーマンスを達成した実験の唯一のモデルです。

下の図 4 に示すように、データセットのサイズが大きくなるにつれて全体的な精度が向上します。

トレーニング計算に関しては、データセットのサイズに関係なく、トレーニングの開始時に精度が急激に低下したり、横ばいになったりすることがあります。約 2 エポック後、トレーニング曲線はより安定し、損失が減少するにつれて精度は向上し続けます。 3 エポック後に精度は最高に達し、4 エポック後には精度がより安定し、収束の兆候を示しました。これは、PanGu-Coder2 モデルがデータセット内の知識を完全に取得するには約 3 ~ 4 エポックが必要であり、その後のトレーニング ステップではモデルの機能の向上にほとんど役立たない可能性があることを示しています。

ユースケーススタディ

本研究では、モデルを実証的に調査し、今後の作業の方向性を分析するために、基本モデル StarCoder、指示調整モデル WizardCoder、PanGu-Coder2 モデルの 3 つのモデルの成功事例と失敗事例を比較し、分析します。下の図 5 は、貪欲デコードと核サンプリングの観点から 3 つのモデルの類似点と相違点を示しています。

図 5 は、PanGu-Coder2 と WizardCoder が互いに補完できることも示しています。PanGu-Coder2 はほとんどの問題を解決しますが、一部の問題は WizardCoder では解決できません。また、WizardCoder でしか解決できない問題もいくつかあります。さらに、これら 3 つのモデルでは 200 回サンプリングしても解決できない問題がいくつかあります。

この研究では、StarCoder、WizardCoder、PanGu-Coder2 によって生成されたいくつかの代表的なサンプル コードをケース スタディとして選択し、PanGu-Coder2 の利点と欠点を評価します。

下の図 6 に示すように、PanGu-Coder2 はプログラミング問題のロジックを熟知していますが、WizardCoder と StarCoder はこの点が欠けています。この観察結果は、PanGu-Coder2 が、本研究で提案されたランキング フィードバックを通じて、プログラミングの問題ステートメントとコード ソリューション間の詳細なマッピングを効果的に構築することを示唆しています。

下の図 7 に示すように、場合によっては PanGu-Coder2 と StarCoder のパフォーマンスは WizardCoder よりも劣り、WizardCoder は豊富な注釈が付けられた多数のコード命令を使用してトレーニングすることでメリットが得られる可能性があります。この観察結果は、ある程度、注釈付きデータを導入するとトレーニング プロセスにプラスの効果がある可能性があることを示唆しています。

さらに、下の図 8 は複雑なプログラミング チャレンジを示しており、StarCoder、WizardCoder、PanGu-Coder2 のいずれも誤ったコード ソリューションを示しています。この観察結果は、現在のコードマクロ モデルは複雑なプログラミング要件を処理する上で依然として人間の能力に及ばず、改善の余地があることを示唆しています。

推論の最適化

GPU メモリ消費量と推論速度は、モデルの実際の展開と使用において重要な要素です。そのため、本研究では、CTranslate2 と GPTQ という 2 つの量子化技術を使用して実験を行い、モデル推論の最適化戦略を研究しました。以下の表 4 は、さまざまな量子化手法を使用して最適化されたモデルの GPU メモリ消費量、推論速度、および HumanEval パフォーマンスを示しています。


<<: 

>>:  北京交通大学が中国初の大規模交通モデルTransGPTのソースを公開、商用利用は無料

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

企業で文明的な AI を推進するための 6 つのヒント

「文明化された AI」への期待が高まるにつれ、コンサルタントは公平で偏見のないアルゴリズムを作成する...

人工知能は産業の発展を促進し、産業構造のアップグレードを加速する

トップレベルの設計を継続的に改善し、コンピュータービジョン、音声認識、機械学習、ナレッジグラフなどの...

脳とコンピュータをつなぐ技術が実現!未来の人類社会はどうなる?

人類の歴史において、あらゆる主要な技術革命は人類自身と社会全体に影響を及ぼしてきました。同じことは、...

量子コンピューティングはどのようにして AI の「兄弟技術」になるのでしょうか?

[[254920]]画像出典: Visual China過ぎ去ったばかりの 2018 年を振り返っ...

LRUアルゴリズムの概念から実装まで、React非同期開発の未来

[[428240]]みなさんこんにちは、カソンです。 React ソース コードは、さまざまなモジュ...

人工知能を理解していないかもしれませんが、次の3つのポイントを知っておく必要があります

人工知能は人間の弱点を補うものであり、人間に代わるものではない多くの人が「人工知能が人間に取って代わ...

...

機械学習を知っていれば十分でしょうか?次世代のデータ サイエンティストは「フル スタック」へと移行しています。

[[342168]]データサイエンスは、特にコンピューターサイエンス、統計、ビジネス分析、エンジニ...

企業がチャットボットの自然言語処理について学ぶべき理由は何ですか?

自然言語処理 (NLP) により、チャットボットは会話のメッセージを理解してそれに応じて応答できるよ...

...

...

AIネットワークワームが暴露:増殖を続け、スパムを送信し、データを盗むことが可能

3月3日、国際的なサイバーセキュリティチームが、生成型人工知能サービス間で独立して拡散し、データを盗...

データ変換ツールにおけるAIの未来

人工知能はデータ変換ツールに革命をもたらし、効率、精度、リアルタイム処理を向上させます。シームレスな...

ボトルネック: テクノロジー界の大物たち、AI がどこで使われているのか本当にご存知ですか?

需要と供給の関係は商品経済における基本的な関係です。市場経済においては、買い手と売り手、つまり需要と...