コーディングが ChatGPT を圧倒します! UIUCと清華大学が共同で7BパラメータのMagicorderをリリース、コードデータの重みは完全にオープンソース

コーディングが ChatGPT を圧倒します! UIUCと清華大学が共同で7BパラメータのMagicorderをリリース、コードデータの重みは完全にオープンソース

オープンソースの「ビッグコードモデル」が登場しました。

UIUC 清華大学の研究者チームは、70 億未満のパラメータを持ち、コード生成分野のトップ コード モデルに匹敵する Magicoder をリリースしました。

Magicoder のコード、重み、データは、完全に無条件でオープン ソースであることは言及する価値があります。

論文アドレス: https://arxiv.org/abs/2312.02120

Magicoder は、既存のトップ コード モデル (ChatGPT など) からのプロンプトとインターネットからのシード コード スニペットを組み合わせてコードを生成する OSS-INSTRUCT メソッドに依存しています。

これはまさにビッグモデルから取り出して、それをビッグモデルで使用するというものです。あるネットユーザーはこれを再投稿して次のように述べています。「これらの結果から、LLM に使用される合成データの可能性を向上させることも非常に興味深い分野であることがわかります。」

では早速、Magicoder の起源について詳しく見ていきましょう。

コード生成の歴史

コード生成はプログラム合成とも呼ばれ、ここ数十年、学界では「解決困難な問題」となっています。抽象ベースの合成や例ベースのプログラミングなど、この分野での多くの試みは、良い結果を達成していません。

コード上でトレーニングされた大規模な言語モデルを使用することで大きな進歩が遂げられたのはごく最近のことであり、実際のソフトウェア開発を支援するために広く使用されるようになりました。

当初は、GPT-3.5 Turbo や GPT-4 などのクローズドソース モデルが、さまざまなコード生成ベンチマークやリーダーボードを支配していました。

コード生成分野でのオープンソース LLM の応用を促進するために、強力な LLM を使用して合成コーディング命令を生成し、これらの命令を活用して弱い生徒モデルを微調整し、強力な教師モデルから知識を抽出する SELF-INSTRUCT メソッドが開発されました。

しかし、SELF-INSTRUCT は、LLM の指示追従能力を向上させる際に、依然として限られた範囲の定義済みタスクまたはヒューリスティックに依存しています。

この問題に対処するため、UIUC と清華大学の研究者は、OSS-INSTRUCT メソッドを使用して LLM 固有のバイアスを軽減し、オープンソース コードを直接学習することで高品質で創造的なコーディング指示を作成する可能性を引き出す Magicoder を提案しました。

OSS-INSTRUCT は、オープンソースから収集されたランダムなコード スニペットからインスピレーションを得て、新しいコーディング問題を自動的に生成します。 OSS-INSTRUCT は、さまざまなシード コード フラグメントの助けを借りて、多様で信頼性が高く制御可能なエンコード命令データを直接生成できます。

下の図に示すように、この例では、LLM は 2 つの異なる関数の不完全なコード スニペットからインスピレーションを得て、それらをうまくリンクし、現実的な機械学習の問題を構築します。

OSS-INSTRUCT は既存のデータ生成方法とは直交しているため、OSS-INSTRUCT を既存のデータ生成方法と組み合わせて使用​​することで、エンコード タスクにおけるモデルの機能をさらに向上させることができます。

OSS-INSTRUCT がなぜ素晴らしいのか?

OSS-INSTRUCT は、LLM (ChatGPT など) をプロンプトし、インターネット (GitHub など) から取得したシード コード スニペットに基づいてプログラミングの問題とその解決策を生成することによって機能します。

一方では、シードフラグメントは生成の制御可能性を提供します。

一方、OSS-INSTRUCT は、LLM によって作成されたプログラミング問題の多様性を強化し、実際のプログラミング シナリオにさらに沿ったものになっています。

以下の指標からわかります。

1. カテゴリーバランス

下図に示すように、OSS-INSTRUCT の各サンプルの埋め込みとこれら 10 のカテゴリ間のコサイン類似度を計算すると、異なるカテゴリ間の多様性とバランスが示されていることがわかります。

2. 長さの分布

下の図は、生成された問題と解決策の長さの分布を示しています。バランスがよいため、OSS-INSTRUCT は実際のアプリケーション シナリオにより適しています。

3. HumanEvalによる類似度計算

下の図は、HumanEval サンプルとのコサイン類似度を示しています。

OSS-INSTRUCT は、調査したすべてのデータ生成手法の中で平均類似度が最も低いことがわかります。これは、OSS-INSTRUCT によって生成されたデータが最も多様であることを示しています。

しかし、OSS-INSTRUCT によって取得されたシード フラグメントはオープン ソース コードから取得されるので、これらのオープン ソース コードを直接微調整しないのはなぜでしょうか?

この質問に答えるために、研究者は CodeSearchNet に従い、同じトレーニング設定に従って、ベース CODELLAMA-PYTHON-7B を使用して 2 エポックのペアデータで微調整しました。

比較結果を次の表に示します。75,000 個の注釈関数ペアデータでは、微調整によってベースモデルがさらに悪化しますが、OSS-INSTRUCT によって大幅な改善がもたらされます。

研究者らは、この劣化は、これらのペアデータに内在する大量のノイズと不一致によって引き起こされた可能性があると推測している。

これは、コード命令の調整にはフォーマットではなくデータの信頼性が重要であることをさらに示しています。

この結果は、これらの緩く関連するコード スニペットを意味的に一貫した命令調整データに変換する際の OSS-INSTRUCT の優位性も強調しています。

Magicoder パフォーマンス評価

研究チームはまずOSS-INSTRUCTを使用してトレーニングしたMagicoderシリーズを構築し、さらにOSS-INSTRUCTとEvol-INSTRUCTを組み合わせてMagicoderSシリーズを構築し、両シリーズでテストしました。

使用されるコード生成ベンチマークは HumanEval と MBPP であり、これらは現在最も広く使用されている 2 つのベンチマークです。これらのベンチマークの各タスクには、タスクの説明 (docstring など) がヒントとして含まれており、LLM が対応するコードを生成します。その正確性は少数のテストケースによってチェックされます。

より厳密な評価を行うために、研究者らは、EvalPlus フレームワークでサポートされている HumanEval+ と MBPP+ も使用して、さらに多くのテストを実施しました。

MagicoderS-CL と MagicoderS-DS の両方が、70 億個のパラメータしかない HumanEval+ 上で ChatGPT よりも優れていることは注目に値します。

Magicoder のパフォーマンスを詳しく見てみましょう。

1. パイソン

まず、Magicoder-CL フェーズは HumanEval および HumanEval+ の CODELLAMA-PYTHON-34B に比べて大幅に改善されていることがわかります。

MagicoderS-CL は、HumanEval+ 上の ChatGPT および他のすべてのオープン ソース モデルよりも優れています。

さらに、HumanEval では WizardCoder-CL-34B や ChatGPT よりもわずかに低いスコアを獲得しましたが、より厳密な HumanEval+ データセットではこれらを上回っており、MagicoderS-CL がより堅牢なコードを生成できる可能性があることを示唆しています。

2. その他のプログラミング言語

Python を除く言語比較では、Magicoder-CL は、調査したすべてのプログラミング言語において、基本的な CODELLAMA-PYTHON-7B を大幅に上回ります。

さらに、MagicoderS-CL はすべてのプログラミング言語で Magicoder-CL をさらに改善し、わずか 34B のパラメータを使用して WizardCoder-CL-7B と同等のパフォーマンスを実現します。

Magicoder-CL は非常に限られた多言語データのみでトレーニングされていますが、それでも同様の規模またはさらに大規模な他の LLM よりも優れていることは注目に値します。これは、LLM がデータの形式を超えてデータから知識を学習できることを意味します。

3. データサイエンスライブラリ

最後に、研究者らは、実際の使用例における LLM のパフォーマンスを評価することを目的として、7 つの一般的な Python データ サイエンス ライブラリについて、1,000 個の固有のデータ サイエンス コーディング問題 (DS-1000 データセット) の単体テストも実施しました。

表からわかるように、Magicoder-CL-7B は、最先端の WizardCoder-SC-15B を含むすべての評価対象ベースラインをすでに上回っており、8.3 パーセント ポイントの改善が見られます。

Magicoder はまだ完璧ではありませんが、すべてのデータとコードの詳細を公開することで、より高度なコード モデルが出現すると著者は考えています。

待って見てみましょう。

<<:  ジェミニは、文鑫の言葉が大きな問題を引き起こしていることを明らかにした。世界は質の高いデータの不足に直面しているのだろうか? 2024年には枯渇するかもしれない

>>:  人工知能チュートリアル(IV):確率論入門

ブログ    
ブログ    
ブログ    

推薦する

...

売上を予測するための 5 つの機械学習テクニック

売上予測は、機械学習 (ML) の一般的かつ重要な用途です。予測売上は、ベースラインを確立して新しい...

AIアルゴリズム企業パシフィック・フューチャー・テクノロジーの文化観光ソリューションがOCTカラープラネットに上陸

ディープな旅行がますます高品質の観光オプションに浸透するにつれて、観光型の観光はもはや現代人の旅行ニ...

ディープラーニング画像認識の未来:機会と課題が共存

人間にとって画像を認識するのは簡単ですが、機械がそれを実現するには長い時間がかかりました。コンピュー...

AIの将来はどうなるのでしょうか?

人間のような知能を実現するという永遠の夢を超えて、AI の将来は消費者市場と商業市場の両方で極めて重...

人工知能が金融市場をどう変えるのか

多くの資産運用会社やヘッジファンドにとって、人工知能は成功にとって非常に重要であるため、彼らは新しい...

...

初心者のためのディープラーニングの10,000語レビュー

論文: ディープラーニングの最近の進歩: 概要論文アドレス: https://arxiv.org/p...

最高の顔認識アルゴリズムでもマスクによって妨害される可能性がある:研究

海外メディアの報道によると、研究者らは、マスクはCOVID-19などの空気感染する病気の拡散を効果的...

浙江大学のロボット魚がネイチャー誌に登場:マリアナ海溝の奥深くまで到達、画期的な進歩

人類は初めて、水深1万メートルでのソフトロボットの深海制御と深海自律遊泳実験を達成し、ロボット工学分...

SAP、データスフィアプラットフォームを強化する新たな生成AI機能を発表

SAP は、生成 AI 向けの多数の新機能を発表しており、まもなく SAP Datasphere プ...

RVフュージョン!自動運転におけるミリ波レーダーとビジョンフュージョンに基づく3D検出のレビュー

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

簡単なアルゴリズムからアセンブリ言語の予備的研究

コンパイルを無視しないでくださいC、C++、Javaなど、日常生活で慣れ親しんでいる高級言語と比較す...

Baidu PaddlePaddleがHuawei Kirinと提携し、中国のAIの道を歩む

7月3日、北京で開催されたBaidu Create 2019 Baidu AI Developer ...

自己教師学習の効率限界を突破! Ma Yi と LeCun が共同で EMP-SSL をリリース: 特別なトリックは不要、30 エポックで SOTA を達成可能

過去数年間、教師なし学習と自己教師あり学習 (SSL) は大きな進歩を遂げてきました。SSL を通じ...