コーディングが 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):確率論入門

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

推薦する

...

会話型AIが顧客体験を向上させる方法

[[380661]] [51CTO.com クイック翻訳] 会話型 AI により、アプリケーションは...

...

データに飽きた?人工知能は良い選択です

今日のデジタル マーケティング担当者にとっての課題は、共感を得るためにすべてのプラットフォームでブラ...

Natureサブジャーナル:ニューロモルフィックコンピューティングがさらに進歩し、科学者はニューロンとシナプスの人工シミュレーションを実現した

ニューロモルフィック コンピューティングは、人間の脳を構成するニューロンとシナプスのメカニズムを模倣...

あなたの脳は寝ている間に本当に学習します!初めての人間実験証拠:再生速度が1~4倍に

寝る前に本を数ページ読んだり、数語読んだりするだけで、目覚めたときに深い感銘を受けていることに気づき...

...

エンジニアリングパフォーマンスを分析してデータ駆動型チームを構築

Gigster の副社長 Cory Hymel 氏は、2024 年にさらなる適応力と成功を実現するた...

OpenAIがChatGPTに「ドラゴン退治のテクニック」を直接教える!公式のヒントエンジニアリングガイドはこちら

Prompt プロジェクトをどのように説明すればよいでしょうか? ChatGPT を初めて使用する初...

自動運転技術のアルゴリズムを研究するにはどのような知識が必要ですか?

自動運転システムには、環境認識と位置決め、行動予測、計画制御が含まれます。自動運転認識アルゴリズムエ...

...

...

...

インスパー・シャオ・シュエ:人工知能はモノのインターネットを「スマート」にする

「人類の発展以来、テクノロジーの継続的な進化により、接続性、インタラクション、オンライン機能が絶えず...

第14次5カ年計画を見据えて、我が国のロボット産業はどこに向かっているのでしょうか?

ロボットは製造業の「至宝」とみなされています。近年、人口ボーナスの継続的な減少と自動化生産の需要の継...