GitHub Copilot の盗作が確認されました! GitHub: 私たちの AI はコードを「暗唱」しません

GitHub Copilot の盗作が確認されました! GitHub: 私たちの AI はコードを「暗唱」しません

[[409261]]

GitHub Copilot は、コードを自動生成するという強力な機能により、リリース後に話題となりました。

Copilot は、GitHub から抽出されたテラバイト単位の公開コードと英語の例に基づいてトレーニングされた OpenAI の新しい Codex アルゴリズムに基づいて構築されています。

そのため、GitHub は、Copilot がドキュメント内の文字列、コメント、関数名、コード自体を分析して、以前に呼び出された特定の関数を含む新しい一致するコードを生成できると主張しています。

同時に、Copilot は Python、JavaScript、TypeScript、Ruby、Go など複数のプログラミング言語をサポートしています。

リリース後、何人かの人がCopilotにLeetcodeの問題バンクを練習するよう依頼し、この「AIプログラマー」のパフォーマンスに非常に満足しました。

いくつかの質問に対する検証後、Copilot は毎回 Leetcode テストに合格できます。ほぼ瞬時の生成速度を考えると、AI は人間よりもコードを書くのが得意かもしれないとブロガーは示唆しています。

しかし、ネットユーザーは、生成されたコメントが Leetcode によって提供されたテンプレートとほぼ同一であることから、Copilot が LeetCode データベースでトレーニングされたのではないかと疑っています。

これに対して GitHub は、直接引用は 0.1% あるかもしれないが、Copilot によって生成されるコードの大部分はオリジナルになると述べました。

「コピー&ペースト」は本当にハンマーだ

リリース2日目、一部のネットユーザーは、GitHub Copilotが無料のオープンソースコードをクリーンアップして、金儲けのためのツールに変えたのではないかと疑問を呈した。

これらのコードは GPL (General Public License) によって保護され、商用プロジェクトでの使用が防止される必要があります。

予想通り、この疑惑は2日以内に現実のものとなり、一部のネットユーザーが、Copilotが最も有名な「高速平方根逆数計算法」を単に「コピー&ペースト」しただけだと発見した。

Copilot によって「生成された」コードは、これまで誰も理解できなかったマジックナンバー 0x5f3759df を使用するだけでなく、このコードに関する苦情も含まれています: what the f***? 。

ソースコード

つまり、Copilot が行うことは、トレーニング セット内の他の人が書いたコードを再構成することだけであるようです。

私たちのAIはコードを「暗唱」しません

しかし、GitHubはすでにこれに備えていたようだ。チームメンバーのAlbert Ziegler氏は、2021年5月7日時点でCopilotからPythonに関する453,780件の提案をすべて収集しており、そのデータは300人の従業員の日常的な使用から得られたものだと語った。

Albert はこのデータセットを分析、整理し、それについて議論するために一見完全なブログを書きました。

記事の冒頭で、Albert は GitHub Copilot に有名な記事を暗唱するように依頼しました。明らかに、Copilot は記事の内容を記憶しています。

しかし、アルバートは、トレーニング セットの内容を覚えることは問題ではないと考えています。結局のところ、彼自身も詩を暗唱しており、日常のコミュニケーションで暗唱の内容に気を取られることはありません。

ケース分類

カテゴリ 1 : Copilot は、プログラマーが書いた新しいコメントが原因で、提案が受け入れられた後に、非常によく似た別の提案を行うことがあります。

アルバートは、2 回目は以前の「成功した」ケースの単なる繰り返しだと考え、問題分析から削除しました。

カテゴリー 2 : 副操縦士は長くて反復的なシーケンスを提案する場合があります。たとえば、次の例では、繰り返しの '<p>' が最終的にトレーニング セットで見つかりました。

カテゴリ 3 : Copilot は、自然数、素数、ギリシャ語アルファベットなどの標準リストを提案します。提案の中には役に立つものもあれば、役立たないものもあります。

しかしアルバート氏は、これらは「記憶された」コードに関する彼の仮説に当てはまらないと述べた。

カテゴリ 4 : 自由度が低いタスクを実行する場合、Copilot はいくつかの共通または一般的なソリューションを提供します。

たとえば、以下の中央のセクションは、BeautifulSoup パッケージを使用して Wikipedia リストを解析する標準的な方法です。

アルバート氏は、トレーニング データ内で見つかった最も一致するスニペットは、さまざまな記事を解析するためのコードを使用して解析されたと述べました。繰り返しますが、これは彼の「暗唱」コードの定義には当てはまりません。

カテゴリー 5 : これらの最後のケースは、コードまたは注釈に少なくとも何らかの具体的な重複がある場合の「コードの暗唱」というアルバートの考えに当てはまります。

テスト結果

アルバート氏は、GitHub Copilot の提案のほとんどについて、トレーニングに使用されたコードとの大きな重複は見つからなかったと述べています。最初のカテゴリを除外すると、185 件の提案が得られました。

これらのケースのうち、144件がカテゴリー2~4に該当しました。最終的なカテゴリー 5 には 41 件のケースが残りますが、著者はこれがコードの「朗読」で意味するものだと述べています。

GitHub Copilot はコンテキストが不足しているときに引用します

手作業による注釈付けで選ばれた 41 の主要な事例のうち、10 未満の異なる文書に出現したものはありませんでした。ほとんど(35 件)は 100 回以上出現しました。

ある時点で、GitHub Copilot は空のファイルから始めることを提案しました。これはトレーニング中に 70 万回以上も見られたもので、GNU General Public License でした。

以下のグラフは、カテゴリ 5 の結果 (各結果の下部に赤いマーカーがあります) と、カテゴリ 2 ~ 4 の一致するドキュメントの数を示しています。

推定された分布は赤い線で示され、一致数が 100 から 1000 の間でピークに達します。

GitHub Copilotは主に一般的なケースで使用されます

時間が経つにつれて、各ファイルは固有のものになります。しかし、ファイルが非常に一般的な場合には、GitHub Copilot がソリューションを提供します。

そしてこの時点では、具体的なものが何もないので、どこか他の場所から引用される可能性が高いです。

もちろん、ソフトウェア開発者はほとんどの時間を複雑なコードの中で過ごしており、そこでのコンテキストは十分に独特であるため、GitHub Copilot は独自の提案を提供します。

それに比べて、GitHub Copilot にはプログラムがどうなるかを知る方法がないため、最初の提案はより従来的なものになります。

ただし、スタンドアロン スクリプトでは、適度な量のコンテキストがあれば、ユーザーが何をしたいのかを適切に推測するのに十分です。

また、コンテキストがまだ非常に一般的なため、Copilot は使い慣れたソリューションが有望であると判断することもあります。

上記の例は、アップロードされたロボット工学のコースウェアから直接抜粋したものです。

結論は

Albert 氏は、GitHub Copilot はコード セットをそのまま引用できるものの、実際にそうすることはほとんどなく、引用する場合は、ほとんどが全員が引用するコードであり、ほとんどの場合はファイルの先頭にあると考えています。

理想的には、提案にトレーニング セットからコピーされたスニペットが含まれている場合、ユーザー インターフェイスは、そのスニペットがどこから引用されたかを簡単に示す必要があると Albert 氏は言います。その後、適切な帰属表示を含めるか、コードを使用しないことを決定できます。そして彼のチームはこれを実現するために一生懸命努力するでしょう。

ユーザーコメント

ネットユーザーは、GitHub チームが「コピー アンド ペースト」問題を懸念していることを知って安堵の意を表したが、この「調査」では明らかに人々を納得させることが困難だった。

「これはすべての愛好家を危険にさらし、企業で働くすべての人に『これは GPL コードを生成するのだろうか』という不安を抱かせることになる。」

「『まあ、少し違う』と言って、『だから、同じものではない』と推論することはできません。実質的に類似しているのであれば、それを引用する必要があります。」

Copilot にはまだ長い道のりが残っているかもしれません。

<<:  AIの未来: データだけでは不十分

>>:  古典的なアルゴリズム: 順序付けられていない配列の K 番目に大きい値を見つける

ブログ    
ブログ    

推薦する

顔認証決済は時代遅れですか?アマゾンはわずか0.3秒で手動支払いをテストした

北京時間9月4日の朝のニュース、ニューヨークポストによると、アマゾンのエンジニアは店内での買い物の精...

マイクロソフトは言語モデルをより調和のとれたものにするために複数のツールとデータセットをオープンソース化

Microsoft は最近、AI 駆動型コンテンツ モデレーション システムを監査し、AI モデルの...

...

実践的 | この記事は畳み込みニューラルネットワークを始めるのに十分です

まず、ディープラーニングとはすべてのディープラーニングアルゴリズムの総称であり、CNNは画像処理分野...

...

7Bモデルがまた手に入ると最高ですね! 700億のLLaMA2を突破、Appleのコンピュータは

「調整」に 500 ドルかかる 70 億パラメータのモデルは、700 億パラメータの Llama 2...

世界中のロボットが1つの脳を共有する、Google DeepMindが第一歩を踏み出した

過去 1 年間、生成型人工知能の開発におけるキーワードは「ビッグ」でした。強化学習の先駆者であるリッ...

百度技術研究所は、繁栄するテクノロジーエコシステムを促進するために一般に門戸を開放します

百度は4月28日、「世界に知恵を、未来に人材を育成」をテーマに百度技術研究所の開所式を開催し、もとも...

Google AIが既知のタンパク質配列の10%を一度に注釈付け、10年で人間の研究成果を上回る

タンパク質は人体のすべての細胞と組織の重要な構成要素です。体のすべての重要な成分にはタンパク質が必要...

ホンダのエンジニアはAIを活用して安全性と燃費規制を設計

[[378826]]本田技術研究所では、エキスパートナレッジシステムを活用して車体設計プロセスに A...

センスタイムは香港証券取引所に上場し、最悪の時期から脱却した。

【51CTO.comオリジナル記事】著者: 張傑本日2021年12月30日、SenseTimeの2...

コストを 95% 削減した ChatGPT の代替品を作成しましょう! OpenAIのハードコアアップデートが来月リリースされ、ビジュアルAPIが登場

世界中の開発者は長い間、OpenAI モデルの価格に悩まされてきました。ロイター通信は、11月6日に...

2021年の10のAIトレンド

IDCは2019年9月の時点で、2023年までに人工知能技術への支出が3倍以上の979億ドルに達する...

...