大規模モデルが 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 つのステップが含まれます。
モデルアーキテクチャ 研究者らは、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 の実験結果から、次の結論が導き出されます。
下の図 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のソースを公開、商用利用は無料
2023 年の幕がゆっくりと下りる中、IT 業界は楽観と慎重さをもって新年を待ち望んでいます。警戒感...
[51CTO.com からのオリジナル記事]昨日の記事「顔認識の威力はどれほどか? AIFR 技術...
誇大宣伝されているかどうかは別として、人工知能アルゴリズムの可能性は依然として有望です。しかし、今日...
「GPT-4 は変曲点を超え、パフォーマンスの大幅な向上を達成しようとしています。」これは、Ope...
機械学習コミュニティでは研究の再現性に関する議論が活発化していますが、こうした議論は主に学術的な環境...
翻訳者 |ブガッティレビュー | Chonglou人間の動きが複雑で、環境によって見た目が微妙に異な...
「OpenAIが2027年にAGIを実現する」という53ページのPDFがインターネット上で広く流通...
51CTO 編集者注: 「Java ガベージ コレクション メカニズムの簡単な分析」では、Java ...
Reddit のネットユーザーが何か新しいことをやっている。彼は、自身のオンラインフットプリントデー...
2022 年、データと AI はデジタル革命の新たな章の基盤を築き、ますます多くのグローバル企業に...
著者: cooperyjli、Tencent CDG のデータ アナリスト機械学習は、データの収集、...
[51CTO.comより引用] 2019年8月8日、ファーウェイの2019年スマートセキュリティビジ...