> 昨日 (8 月 25 日) の私: オープンソース LLM はコード生成に関して数か月以内に GPT-4 を破るでしょう。今の私:実は今日です。昨日、メタ オープン ソース コード Llama (コード生成に特化した基本モデル) が研究および商用目的で無料になりました。Code Llama シリーズのモデルには 3 つのパラメーター バージョンがあり、パラメーターの数は 7B、13B、および 34B です。また、Python、C++、Java、PHP、Type (Java)、C#、Bash などの複数のプログラミング言語をサポートします。Meta が提供するコード Llama のバージョンは次のとおりです。* Code Llama、基本コードモデル。* Python の微調整バージョンである Llama-Python をコード化します。* Code Llama-Instruct、自然言語命令の微調整バージョン。その効果という点では、Code Llama のさまざまなバージョンでは、Human および MBPP データセットの生成パス レート (pass@1) が GPT-3.5 を上回っています。さらに、Human データセット上の Code Llama の「Unnatural」34B バージョンの pass@1 は GPT-4 (62.2% 対 67.0%) に近いです。ただし、Meta はこのバージョンをリリースしませんでしたが、少量の高品質のエンコード データを使用したトレーニングを通じて大幅なパフォーマンスの向上を達成しました。 *ソース:*そのわずか 1 日後、一部の研究者が GPT-4 に挑戦しました。これらは、Phind (開発者向けの AI 検索エンジンの構築を目的とした組織) によるもので、**微調整されたコード Llama-34B による人間による評価で GPT-4** を上回りました。Phindの共同創設者であるMichael Royzen氏は、「これはメタ論文の『アンナチュラル・コード・ラマ』の結果を再現する(そしてそれを超える)ことを目的とした初期の実験にすぎない」と述べた。将来的には、実際のワークフローで競争力があると思われる、さまざまな CodeLlama モデルの専門家ポートフォリオを用意する予定です。 」 どちらのモデルもオープンソースです。 研究者らはこれら 2 つのモデルを Huggingface で公開しており、誰もがチェックしに行くことができます。* Phind-CodeLlama-34B-v1:* Phind-CodeLlama-34B-Python-v1:次に、この研究がどのように実施されたかを見てみましょう。## ** GPT-4 を上回るようにコード Llama-34B を微調整します**まずは結果を見てみましょう。この研究では、Phind の内部データセットを使用して Code Llama-34B と Code Llama-34B-Python を微調整し、それぞれ Phind-CodeLlama-34B-v1 と Phind-CodeLlama-34B-Python-v1 という 2 つのモデルを取得しました。新しく取得した 2 つのモデルは、Human でそれぞれ 67.6% と 69.5% の合格@1 を達成しました。比較のために、CodeLlama-34B pass@1 は 48.8%、CodeLlama-34B-Python pass@1 は 53.7% です。そして、Human での GPT-4 pass@1 は 67% です (今年 3 月にリリースされた「GPT-4Technical Report」で OpenAI が発表したデータ)。 *ソース:* *ソース:*微調整に関しては、当然のことながらデータ セットが不可欠であり、この研究では、約 80,000 の高品質なプログラミングの問題と解決策を含む独自のデータ セットに基づいて、Code Llama-34B と Code Llama-34B-Python を微調整しました。このデータセットは、コード補完の例の代わりに、Human データ構造とは異なる命令と回答のペアを使用します。その後、この研究では、合計約 160,000 の例を使用して、2 つのエポックにわたって Phind モデルをトレーニングしました。研究者らは、トレーニングではLoRA技術は使用されなかったが、局所的な微調整が使用されたと述べた。さらに、この研究では DeepSpeed ZeRO3 および Flash Attendant2 テクノロジーも採用されており、これらのモデルを 32 個の A100-80GB GPU で、シーケンス長 4096 トークンでトレーニングするのに 3 時間かかりました。さらに、この研究では、OpenAI の除染手法をデータセットに適用して、モデルの結果をより効果的にしました。ご存知のとおり、非常に強力な GPT-4 であってもデータ汚染のジレンマに直面することになりますが、平たく言えば、トレーニング済みモデルは評価データに基づいてトレーニングされている可能性があります。この問題は LLM にとって非常に厄介で、たとえばモデルの性能を評価する過程で、科学的に信頼できる評価を行うためには、研究者は評価に使用した問題がモデルの学習データに存在するかどうかを確認する必要があります。そうであれば、モデルはこれらの質問を記憶できるため、モデルを評価するときに、これらの特定の質問に対するパフォーマンスが明らかに向上します。それは、人が試験を受ける前に試験問題をすでに知っているようなものです。この問題を解決するために、OpenAIはGPT-4がデータ汚染をどのように評価するかを公開したGPT-4技術文書「GPT-4Technical Report」で公開した。彼らは、このデータ汚染を定量化して評価するための戦略を開示しています。具体的には、OpenAI は部分文字列マッチングを使用して、評価データセットと事前トレーニング データの間の相互汚染を測定します。評価データとトレーニング データは両方とも、スペースと記号をすべて削除し、文字 (数字を含む) のみを残すことによって処理されます。各評価例について、OpenAI は 3 つの 50 文字の部分文字列をランダムに選択します (50 文字未満の場合は、例全体が使用されます)。 3 つのサンプリングされた評価部分文字列のいずれかが、処理されたトレーニング サンプルの部分文字列である場合、一致と判断されます。これにより、汚染されたサンプルのリストが生成されます。OpenAI はこれを破棄し、再実行して汚染されていないスコアを取得します。ただし、このフィルタリング方法にはいくつかの制限があり、部分文字列の一致では、偽陽性だけでなく偽陰性 (評価データとトレーニング データの間にわずかな差がある場合) が発生する可能性があります。したがって、OpenAI は評価例の情報の一部のみを使用し、質問、コンテキスト、または同等のデータのみを使用し、回答、応答、または同等のデータを無視します。場合によっては、多肢選択オプションも除外されます。これらの除外により、誤検知が増加する可能性があります。この部分については、興味のある読者はこの論文を参照して詳細を確認してください。用紙のアドレス:ただし、Phind が GPT-4 のベンチマークを行うときに使用した Human スコアについては、いくつかの議論があります。 GPT-4の最新のテストスコアは85%に達したという人もいます。しかしフィンド氏は、このスコアを導き出した関連研究では汚染研究は実施されておらず、新たなテスト段階でGPT-4が人間のテストデータを見たかどうかを判断することは不可能だと答えた。 「GPT-4 がバカになっている」という最近の研究を考慮すると、元の技術レポートのデータを使用する方が安全です。 しかし、大規模モデル評価の複雑さを考慮すると、これらの評価結果がモデルの真の能力を反映できるかどうかは依然として議論の余地があります。モデルをダウンロードしてご自身で体験していただけます。*参考リンク:*
リリースから 1 日後、Code Llama のコーディング能力は飛躍的に向上し、微調整されたバージョンの Human_ は GPT-4 よりも高いスコアを獲得しました
昨日、メタ オープン ソース コード Llama (コード生成に特化した基本モデル) が研究および商用目的で無料になりました。
Code Llama シリーズのモデルには 3 つのパラメーター バージョンがあり、パラメーターの数は 7B、13B、および 34B です。また、Python、C++、Java、PHP、Type (Java)、C#、Bash などの複数のプログラミング言語をサポートします。
Meta が提供するコード Llama のバージョンは次のとおりです。
その効果という点では、Code Llama のさまざまなバージョンでは、Human および MBPP データセットの生成パス レート (pass@1) が GPT-3.5 を上回っています。
さらに、Human データセット上の Code Llama の「Unnatural」34B バージョンの pass@1 は GPT-4 (62.2% 対 67.0%) に近いです。ただし、Meta はこのバージョンをリリースしませんでしたが、少量の高品質のエンコード データを使用したトレーニングを通じて大幅なパフォーマンスの向上を達成しました。
そのわずか 1 日後、一部の研究者が GPT-4 に挑戦しました。これらは、Phind (開発者向けの AI 検索エンジンの構築を目的とした組織) によるもので、微調整されたコード Llama-34B による人間による評価で GPT-4 を上回りました。
Phindの共同創設者であるMichael Royzen氏は、「これはメタ論文の『アンナチュラル・コード・ラマ』の結果を再現する(そしてそれを超える)ことを目的とした初期の実験にすぎない」と述べた。将来的には、実際のワークフローで競争力があると思われる、さまざまな CodeLlama モデルの専門家ポートフォリオを用意する予定です。 」
次に、この研究がどのように実施されたかを見てみましょう。
** GPT-4 を上回るようにコード Llama-34B を微調整します**
まずは結果を見てみましょう。この研究では、Phind の内部データセットを使用して Code Llama-34B と Code Llama-34B-Python を微調整し、それぞれ Phind-CodeLlama-34B-v1 と Phind-CodeLlama-34B-Python-v1 という 2 つのモデルを取得しました。
新しく取得した 2 つのモデルは、Human でそれぞれ 67.6% と 69.5% の合格@1 を達成しました。
比較のために、CodeLlama-34B pass@1 は 48.8%、CodeLlama-34B-Python pass@1 は 53.7% です。
そして、Human での GPT-4 pass@1 は 67% です (今年 3 月にリリースされた「GPT-4Technical Report」で OpenAI が発表したデータ)。
微調整に関しては、当然のことながらデータ セットが不可欠であり、この研究では、約 80,000 の高品質なプログラミングの問題と解決策を含む独自のデータ セットに基づいて、Code Llama-34B と Code Llama-34B-Python を微調整しました。
このデータセットは、コード補完の例の代わりに、Human データ構造とは異なる命令と回答のペアを使用します。その後、この研究では、合計約 160,000 の例を使用して、2 つのエポックにわたって Phind モデルをトレーニングしました。研究者らは、トレーニングではLoRA技術は使用されなかったが、局所的な微調整が使用されたと述べた。
さらに、この研究では DeepSpeed ZeRO3 および Flash Attendant2 テクノロジーも採用されており、これらのモデルを 32 個の A100-80GB GPU で、シーケンス長 4096 トークンでトレーニングするのに 3 時間かかりました。
さらに、この研究では、OpenAI の除染手法をデータセットに適用して、モデルの結果をより効果的にしました。
ご存知のとおり、非常に強力な GPT-4 であってもデータ汚染のジレンマに直面することになりますが、平たく言えば、トレーニング済みモデルは評価データに基づいてトレーニングされている可能性があります。
この問題は LLM にとって非常に厄介で、たとえばモデルの性能を評価する過程で、科学的に信頼できる評価を行うためには、研究者は評価に使用した問題がモデルの学習データに存在するかどうかを確認する必要があります。そうであれば、モデルはこれらの質問を記憶できるため、モデルを評価するときに、これらの特定の質問に対するパフォーマンスが明らかに向上します。
それは、人が試験を受ける前に試験問題をすでに知っているようなものです。
この問題を解決するために、OpenAIはGPT-4がデータ汚染をどのように評価するかを公開したGPT-4技術文書「GPT-4Technical Report」で公開した。彼らは、このデータ汚染を定量化して評価するための戦略を開示しています。
具体的には、OpenAI は部分文字列マッチングを使用して、評価データセットと事前トレーニング データの間の相互汚染を測定します。評価データとトレーニング データは両方とも、スペースと記号をすべて削除し、文字 (数字を含む) のみを残すことによって処理されます。
各評価例について、OpenAI は 3 つの 50 文字の部分文字列をランダムに選択します (50 文字未満の場合は、例全体が使用されます)。 3 つのサンプリングされた評価部分文字列のいずれかが、処理されたトレーニング サンプルの部分文字列である場合、一致と判断されます。
これにより、汚染されたサンプルのリストが生成されます。OpenAI はこれを破棄し、再実行して汚染されていないスコアを取得します。ただし、このフィルタリング方法にはいくつかの制限があり、部分文字列の一致では、偽陽性だけでなく偽陰性 (評価データとトレーニング データの間にわずかな差がある場合) が発生する可能性があります。したがって、OpenAI は評価例の情報の一部のみを使用し、質問、コンテキスト、または同等のデータのみを使用し、回答、応答、または同等のデータを無視します。場合によっては、多肢選択オプションも除外されます。これらの除外により、誤検知が増加する可能性があります。
この部分については、興味のある読者はこの論文を参照して詳細を確認してください。
用紙のアドレス:
ただし、Phind が GPT-4 のベンチマークを行うときに使用した Human スコアについては、いくつかの議論があります。 GPT-4の最新のテストスコアは85%に達したという人もいます。しかしフィンド氏は、このスコアを導き出した関連研究では汚染研究は実施されておらず、新たなテスト段階でGPT-4が人間のテストデータを見たかどうかを判断することは不可能だと答えた。 「GPT-4 がバカになっている」という最近の研究を考慮すると、元の技術レポートのデータを使用する方が安全です。
参考リンク: