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

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

推薦する

チューリング賞受賞者のベンジオが新論文を発表、Redditがクラッシュ: アイデアがクラッシュ

[[403771]]機械学習における重要な研究はモデルの一般化を改善することであり、モデルをトレーニ...

顔認識はより便利で安全になるべきだ

[[348313]]ノースウェスタン工科大学の学生は顔をスキャンして図書館に出入りします。新華社通信...

明らかにした! BBC は 365 の職業を分析し、これが機械によって排除される可能性が最も低い職業であると判明しました。

この写真を見ると怖いと感じますか? [[211553]]これは、将来人間がロボットに物乞いをするよう...

国内大学がSORA型VDTを開発、汎用ビデオ拡散トランスフォーマーがICLR2024に採択

2月16日のOpenAI Soraのリリースは、間違いなくビデオ生成の分野における大きな進歩を示しま...

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

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

...

機械学習エンジニアとデータサイエンティストの違い

今日では、データ サイエンティストの仕事は非常に一般的になり、機械学習もその中に完全に含まれる可能性...

...

...

人工知能はクラウドストレージとデータサービスの革新を推進する

[[358649]]従来のストレージとデータ構造が、クラウドネイティブ アプリケーションに必要な移植...

人工知能はIoTの触媒

世界中の企業がモノのインターネット (IoT) を急速に活用して新しい製品やサービスを生み出し、新た...

CAPとPaxosコンセンサスアルゴリズムについての簡単な説明

CAPとはCAP理論についてはすでに多くの背景情報が語られているので、ここでは詳しくは触れません。ど...

人工知能によるデータ管理の変革

企業は人工知能 (AI) を適用する新しい方法を見つけています。 AI プロジェクトの主な障害の 1...

AIを使えばITの運用と保守が簡単になる

[[437499]]この記事はWeChatの公開アカウント「Computer World」から転載し...