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

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

推薦する

今年、データ サイエンティストはどのようなアルゴリズムを使用しましたか?

「データが王様」と言われる今日の世界では、データサイエンスに興味を持つ人が増えています。データ サ...

「人工知能+教育」はどのような機会と課題をもたらすのでしょうか?

人工知能がどのような新しい形で登場するかが話題になっている一方で、教育分野では新たな一連の変化が起こ...

DeepMindは、オートエンコーダに「自己修正」を教える「SUNDAE」と呼ばれる言語モデルを提案している。

[[440946]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitA...

マスク氏とアルトマン氏がともに暗号通貨を復活させたい理由

著者 | プリタム・ボルドロイ徐潔成編纂暗号通貨は死んだのか?この質問に対する答えは、誰が答えるかに...

AI時代、私たちは将来の仕事にどう備えればいいのでしょうか?

将来のテクノロジーとそれによって可能になるかもしれない新しいタイプの仕事について多くのことが書かれて...

アルゴリズム | 再帰の深い理解、あなたは再帰を誤解しています

再帰は、プログラミングの本で説明するのが最も難しい部分である魔法のアルゴリズムです。これらの本では通...

3400 コミ​​ットを統合します。バッチサイズの選択に役立つフレームワーク、PyTorch 1.10 がリリースされました

[[431318]] 10月21日の夜、ついにPyTorch 1.10がリリースされました!このアッ...

考えてみてください。連合学習は大規模な言語モデルをトレーニングできるのでしょうか?

1. 概要大規模言語モデル (LLM) の急速な発展に伴い、LLM が人工知能業界の発展に与える影...

いくつかの最短経路アルゴリズムの比較

最短経路問題は、グラフ理論研究における古典的なアルゴリズム問題であり、グラフ(ノードとパスで構成され...

人工知能は二酸化炭素排出量のせいで制限されるのでしょうか?

AI にカーボン フットプリントがあることは驚くことではありません。カーボン フットプリントとは、...

7Sモデルを活用してAI変革を成功させる

多くの組織と連携する顧客関係管理 (CRM) コンサルタントとして、AI を主要な検討テーマとして見...

...

アフリカはパンデミックの最中に包括的な接続性を構築しており、明確な投資方針を持っている

テクノロジーと通信の急速な進歩により、自動化革命の時代において、アフリカの大規模かつ急成長中の人口は...

ウー・ジアン:nEqual は、優れたユーザー エクスペリエンスで企業がスマートなビジネスを構築できるよう支援します

[原文は51CTO.comより] 1月中旬に開催されたAdMaster再編メディアカンファレンスで、...

このAIは、監視対象を素早く検索するのに役立ちます:テキスト配置キーフレーム、24時間のビデオ録画10分処理

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...