生成AIツールで気になるセキュリティ GitHubはどう対処しているのか:「GitHub Copilot Enterprise」と「StarCoder2」の位置付けとは
TechTargetは、「NVIDIAとGitHubの新しいAIコーディングアシスタント」に関する記事を公開した。セキュリティ面の懸念は残るものの、ベンダー側もその懸念を解消するためにさまざまな対応を進めている。
TechTargetは2024年2月28日(米国時間)、「NVIDIAとGitHubのAI(人工知能)によるコーディング支援」に関する記事を公開した。
市場には、AIによるコーディング支援ツールが無数に存在している。2024年2月下旬、そこに新たな選択肢が追加された。GitHubの「GitHub Copilot Enterprise」と、NVIDIA、Hugging Face、ServiceNowが共同で開発した大規模言語モデル(LLM)の「StarCoder2」だ。
注目が集まるAIコーディングアシスタントだが、セキュリティと著作権に関する懸念は残っている。「導入には慎重を期すべきだ」と注意を促す専門家もいる。
本稿は、GitHub Copilot EnterpriseとStarCoder2が、AIコーディングアシスタントの懸念点にどのように対処しているのかについて解説する。
多くの開発者が利用している「GitHub Copilot Enterprise」
GitHub Copilot Enterpriseは、人気の高いAIコーディングアシスタント「GitHub Copilot」の新たなプランとして一般提供が開始された。「GitHub Enterprise Cloud」のユーザーが対象で、1ユーザー当たり月額39ドルで利用できる。このバージョンでは、Copilotを使用している組織向けにカスタマイズが可能で、特定のコードベースに基づいてチャットの回答、コード補完、プルリクエストの差分分析などの機能が利用可能だ。GitHubが公開したブログ記事によると、微調整(ファインチューニング)されたAIモデルのアドオンが間もなく登場するという。
調査会社Constellation Researchでアナリストを務めるアンディ・トゥライ氏は「コーディングアシスタントによって開発者の効率が上がることは間違いない。多くの企業で検討、試験、導入が進んでいる。中でも、Microsoftが支援するGitHub Copilotは、『Visual Studio』と統合することで、早期の導入者にメリットがある」と説明している。
ソフトウェアサプライチェーンセキュリティベンダーSonatypeが、エンジニアリング担当者800人を対象に実施した2023年の調査では、最も広く利用されているAIコーディングアシスタントとしてGitHub Copilotが挙がった。同調査でDevOps、SecOpsの責任者に生成AIの利用状況を聞いたところ、97%が「自社のワークフローで、ある程度は生成AIを利用している」と回答した。また、その97%のほとんどが「日常的に2つ以上のツールを使用している」と答えた。なお、最も利用されている生成AI関連ツールは「ChatGPT」(86%)で、「GitHub Copilot」(70%)は2位だった。
この結果からトゥライ氏は「競合他社がGitHub Copilotの座を奪うのは難しいだろう」と分析している。
「MicrosoftはVisual Studioへのプラグインを完全に制御している。GitHub Copilotプラグインの追加費用はわずかなため、大半の企業は慣行的にGitHub Copilotを利用するだろう」(トゥライ氏)
AIコーディングアシスタントにおけるセキュリティ上の注意点とは
GitHub Copilot EnterpriseについてGitHubは「エンタープライズクラスのセキュリティ、安全性、プライバシー」をうたっており、初期状態でモデルのトレーニングに組織のデータが使われないようになっている。また、「GitHub Copilot Business」と同様に、GitHub Copilot Enterpriseにも顧客への知的財産(IP)補償が含まれている。
“IP補償”を提供する目的は、Microsoft、GitHub、OpenAIに対して進行中の訴訟(彼らのAIモデルが著作権で保護されたデータで訓練されているという訴え)に関する懸念を和らげることだ。MicrosoftとGitHubは「この訴訟の結果として、有償契約をしている顧客が負担する可能性のある費用を補償する」と約束している。
ただ、Sonatypeは同社の調査報告書で「こうした補償があるとしても、AIコーディングアシスタントの利用に伴う著作権への懸念には引き続き注意が必要だ」と指摘。「生成AIのトレーニングセットと出力に関する著作権の問題はすぐには解決されないだろう。問題点は細かな部分にこそ潜んでいる。大きな視点で見れば、法的な課題が明確になることでAI環境の民主化が進む可能性は高い」としている。
GitHub Copilot Enterpriseに限らず、AIコーディングアシスタントの多くは、セキュリティの課題を抱えている。サイバーセキュリティベンダーSnykが実施した調査では、GitHub CopilotなどのAIコーディングアシスタントによって、顧客の既存コードに潜むセキュリティの脆弱(ぜいじゃく)性や悪質な慣行が再現される可能性があることが分かっている。
LLMは急速に改善されているが、トゥライ氏は「依然として『ハルシネーション』(幻覚)の課題がある。モデルをファインチューニングしたり、RAG(検索拡張生成)を実装したりしながらモデルを改善し、ハルシネーションを回避しなければならない」と指摘している。
GitHubはコードベース内の脆弱な依存関係を検出する無償ツール「Dependabot」を提供すると同時に、GitHubの利用者全てに2要素認証(2FA)を求めている。また、GitHubはアクティブにコードをコミットする「貢献者」に1人当たり月額49ドルで「GitHub Advanced Security」ライセンスを提供している。このライセンスでは、コードスキャンやシークレットスキャン、Dependabotのカスタム自動トリアージルール、依存関係のレビューなどの追加機能を使える。さらに、AIが生成したコードの脆弱性をスキャンして修復するサードパーティーツールも利用できる。
Snykの報告書の内容についてGitHubの広報担当者は「使用するツールに関係なく、チームはソフトウェアのセキュリティを保証するために単一のツールに依存できないし、依存すべきではない」とTechTargetにコメントを寄せている。
企業がAIコーディングアシスタントの導入を進める中、こうしたセキュリティに関する懸念が一部のDevSecOps担当者の間に根深い不信感を生み出していることがSonatypeの調査結果からは見て取れる。
Sonatypeの報告書には「DevOpsやSecOpsの責任者の75%が、セキュリティ上の懸念があるにもかかわらず、生産性が上がると考える上層部からAIテクノロジーを導入するよう求めるプレッシャーを感じている」と記載されている。
軽量のLLMとオプトインデータをサポートする「StarCoder2」
AIコーディングアシスタントはChatGPTとGitHub Copilotが先行した形だが、Metaの「Code Llama」、Stability AIの「StableCode」、Amazon Web Services(AWS)の「Amazon CodeWhisperer」、IBMの「IBM watsonx」など、競合製品が多数登場している。2024年2月末には「StarCoder」ファミリーのバージョン2(StarCoder2)がリリースされた。
StarCoder2をサポートするのは、ServiceNow、HuggingFace、NVIDIAで構成される業界団体(コンソーシアム)だ。このコンソーシアムは「新たに提供する3種類のLLMによって、AIコーディングアシスタントにまつわるセキュリティ上の懸念と法的懸念に対処する」としている。NVIDIAの関係者によると「この3つのモデルは既存のモデルよりも運用コストが低く、特定のコードベースに基づいて質の高い応答が返されるように簡単に微調整でき、運用中のデータの取得元とプライバシーに関する懸念に対処できる」という。
NVIDIAのジョナサン・コーエン氏(応用研究担当バイスプレジデント)は「フロンティアモデルと呼ばれるGPT-4クラスのモデルは、恐らく数千億以上、最大でも1兆程度のパラメーターを利用している。一方で、パラメーターが50億〜150億程度で収まるモデルも登場している。そのくらいのパラメーター数であれば、1基のGPUであっても快適に実行できるため、ノードを分散させるために、多くのGPUや超高速で相互接続できる特殊なサーバは必要ない」と語る。
StarCoder2のモデルはパラメーター数によって分かれている。ServiceNowがトレーニングした「30億パラメーターのモデル」、HuggingFaceの「70億パラメーターのモデル」、NVIDIAの「150億パラメーターのモデル」の3種類だ。(フロンティアモデルに比べると)小さなこのモデルは、StarCoderの第1世代モデルの7倍大きいデータセットで長時間トレーニングされており、「精度が向上している」とコーエン氏は述べている。
2024年2月下旬に公開されたNVIDIAのブログ記事によると、StarCoder2 LLMはSoftware Heritageのデジタルコモンズのライセンスに基づき、責任を持って収集されたデータを使ってトレーニングされているという。
著作権への懸念からGitHub Copilotの利用をためらっている企業は、このアプローチに魅力を感じるかもしれないとトゥライ氏は語る。
「もう一つ重要なのは、StarCoder2が619種類のプログラミング言語でトレーニングされていることだ。そのため、どの言語を使用しているプログラマーであっても、すぐに慣れることができるだろう」(トゥライ氏)
コーエン氏によるとStarCoder2は、自社独自のドメイン固有言語を使うベンダーや、AIコーディングアシスタントのカスタム版を作成するソフトウェアプラットフォームの提供ベンダーなどに定着する可能性が高いという。ServiceNowは、最初のバージョンのStarCoderを土台にドメイン固有のLLM「Now LLM」を2023年9月に公開している。
「ServiceNowのようなワークフローを豊富に取りそろえる企業が提供する『ワークフロー生成』は、StarCoder2を使って構築される今後のAIコーディングアシスタントにとって大きな付加価値になる可能性がある」(トゥライ氏)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- AI導入も考慮した「実践的なDX手引書」の改訂版をIPAが公開
情報処理推進機構は、「DX実践手引書 ITシステム構築編」の改訂版を公開した。第4章の「あるべきITシステムとそれを実現する技術要素」に、「データスペース」と「データ活用におけるAI」を追記した。 - Anthropic、生成AIモデル「Claude 3」ファミリーを提供開始
米国スタートアップ企業のAnthropicは、大規模言語モデルファミリーの「Claude 3」を発表した。「Haiku」「Sonnet」「Opus」からなるClaude 3は、各モデルとも強力な性能を備えているという。 - 「セキュリティ業務におけるAI活用の最適解」は何か パロアルトネットワークスが調査結果を発表
パロアルトネットワークスは、「日本企業のサイバーセキュリティにおけるAI・自動化活用」に関する調査の結果を発表した。多くの組織がセキュリティの課題に悩んでおり、約9割の企業が「変革の必要性」を感じていた。