GitHub CoPilot への評価:AI モデルのトレーニングに開発者を利用して良いのか?

GitHub Copilot update stops AI model from revealing secrets

2023/02/15 BleepingComputer — GitHub の発表は、Visual Studio 上でソースコードや関数のレコメンドをリアルタイムに生成する、プログラミング・アシスタント Copilot の AI モデルを更新し、より安全で強力になったというものだ。今週からユーザーに展開される新しい AI モデルは、より質の高い提案を短時間で提供し、受け入れ率を高めることで、ソフトウェア開発者の効率をさらに向上させるという。


CoPilot に導入されたのは、”Fill-In-the-Middle” と呼ばれる新しいパラダイムであり、既知のコード・サフィックスのライブラリを用い、さらに、AI ツールが埋めるべきギャップを残すことで、プロジェクト内のコードにおける、より適切な関連性/一貫性を実現するものだという。

さらに、GitHub は CoPilot のクライアントをアップデートし、不要な提案を 4.5% 減らし、コードの受け入れ率を全体的に向上させた。

Senior Director of Product Management である Shuyin Zhao は、「2022年6月に GitHub Copilot for Individuals の提供を開始したとき、平均してコード・ファイルの 27% 以上が、GitHub Copilot により生成されていた。現時点における GitHub Copilot は、すべてのプログラミング言語において、開発者によるコードの 46% を支えており、Javaでは 61% に跳ね上がる」と述べている。

CoPilot's accepted suggestions rate over time
CoPilot’s accepted suggestions rate over time (GitHub)
セキュリティ・レベルを向上させる提案

今回の CoPilot アップデートおいて特筆すべきものは、新しいセキュリティ脆弱性フィルタリング・システムの導入であり、ハードコードされた認証情報/パス・インジェクション/SQL インジェクションなどの、危険性を伴う提案を識別してブロックするという。

Zhao は、「この新システムは、LLM (大規模言語モデル) を活用して、静的解析ツールの動作をトレースする。GitHub CoPilot は強力な計算リソース上で、高度な AI モデルを実行するため驚くほど高速であり、不完全なコードの断片から脆弱性のパターンを検出にいたるまでをカバーする。つまり、安全ではないコーディング・パターンが迅速にブロックされ、代替案に置き換えられることを意味する」と述べている。

CoPilot には新しい文字列のトレーニング・データに見られる、キー/資格情報/パスワードなどの秘密を生成する可能性があると、GitHub は述べている。 ただし、これらは完全に架空のものであり、新しいフィルタリング・システムによりブロックされるため、使用できないデータだという。

Example of the real-time blocking system
Example of the real-time blocking system (GitHub)

しかし、これらの秘密が、CoPilot のコード・サジェストに出現したことで、ソフトウェア開発コミュニティからは激しい批判が巻き起こっている。Microsoft は、一般公開されている大量のデータセットを使って が AI モデルのトレーニングを行っているが、ほとんどセキュリティは考慮されていないとする、多くの非難が上がっている。

コード・エディタ内で、安全ではない提案をリアルタイムでブロックするために、
悪意のペイロードを含むような提案を行うよう、GitHub が AI アシスタントを訓練する可能性もある。それにより、有害なデータセット攻撃に対する抵抗力が得られるのかもしれない。

現時点において、CoPilot の LLM は、脆弱なコード・パターンと、脆弱でないコード・パターンを区別するためのトレーニングの最中である。このような領域における AI モデルのパフォーマンスは、これから徐々に改善されると予想される。

CoPilot の LLM も、OpenAI なのだろうと思います。当然、トレーニングは必要であり、そのためには、開発者が持つナレッジが必要になるはずです。ただし、彼らが反発するのも当然のリアクションです。2023/02/16 の Gigazine に、「GitHub の従業員はMicrosoft Teamsへ移行せよとのお触れが激論に発展」という記事がポストされていましたが、それと同じ根っこなのかと思ってしまいます。

%d bloggers like this: