「GitHub Copilot Enterprise」で限定公開β版が始まった「ファインチューニング」、コード補完でのメリットとは:COBOLを使う金融機関でも役立つ? RAGよりも良い?
GitHubは、AIコーディングアシスタント「GitHub Copilot Enterprise」の限定公開β版として、モデルのファインチューニングを可能にした。
GitHubは2024年9月10日(米国時間)、AI(人工知能)コーディングアシスタント「GitHub Copilot Enterprise」の限定公開β版として、モデルのファインチューニングを可能にしたと発表した。
この新機能により、企業ユーザーは独自のコードベースやコーディング手法に合わせてGitHub Copilotをカスタマイズし、特定のニーズに沿った関連性、品質、一貫性のあるコード補完サポートを提供できるようになるという。
これまでGitHubは、リポジトリインデックスやナレッジベースなどの機能を統合することで、GitHub Copilotを強化し、より文脈に即したパーソナライズされた支援を提供してきた。モデルのファインチューニングは、この取り組みをさらに一歩進めたものであり、GitHubは、「カスタマイズにおける次の大きな飛躍」を意味するとしている。
コード補完におけるファインチューニングの具体的なメリットとは
GitHubはこの新機能をインラインのコード補完エクスペリエンスに直接拡張している。GitHub Copilotをプライベートなコードベースでトレーニングし、チームがGitHub Copilotの提案とどのようにやりとりしたかを示すテレメトリーを組み込むことで、モデルをファインチューニングできる。このモデルはリアルタイムのコーディングでシームレスに動作し、組織固有のコーディング環境にスムーズに適応できるようになる。
GitHub Copilotは、モジュール、関数、レガシー言語や独自言語などの希少言語、内部ライブラリに精通するようになり、構文的に正しいだけでなく、チームのコーディングスタイルや標準により深く沿ったコード案を提供する。
内部API、特殊なフレームワーク、独自の言語、厳格なコーディングスタイルを採用している組織は、業種にかかわらず、ファインチューニングされたモデルを活用できる。
例えば、COBOLのようなレガシー言語を使用する金融機関では、ファインチューニングされたモデルを活用して固有のコーディング要件に対応できる。また、テクノロジーやヘルスケアのように、コンプライアンスやセキュリティの標準を実施するために内部ライブラリに依存することが多い業種では、組織のポリシーに沿ったクラウドリソースのデプロイを保証するなど、コーディングの精度と効率に有意義な改善が見られる。
これらの業種をはじめ、どんな業種でも、ファインチューニングされたモデルを使用することで、GitHub Copilotは、固有のニーズに合わせてカスタマイズできる。
ファインチューニングされたモデルを使用すると、開発者は調整の必要性が少ないコード提案を受け取ることができる。そのため、新しいチームメンバーはより迅速にチームに参加できるようになり、経験豊富な開発者は修正よりも作成に集中できるようになる。
GitHubはGitHub Copilotのカスタムモデルをどのようにファインチューニングするか
GitHub Copilot Enterpriseでは、まずリポジトリインデックスとナレッジベースの機能が統合されたが、どちらもRAG(検索拡張生成)という軽量な検索手法に基づいている。RAGは最新の出力でチャット体験を向上させるのに効果的だが、リアルタイムのコード補完に求められるパフォーマンス要求を満たしていない。GitHubはファインチューニングにより、コード補完エクスペリエンスに初めてカスタマイズを導入し、GitHub Copilotがインラインコーディングに必要なスピードで文脈に応じた提案を提供できるようにした。
GitHubはLoRA(低ランク近似)法を使用して各モデルをカスタマイズし、教師あり学習(Supervised Learning)段階で最も重要なモデルパラメーターのサブセットを微調整することで、モデルをより管理しやすく、効率的にしている。これにより、ユーザーは従来のファインチューニング手法と比べて、より速く、より手ごろなコストでトレーニングできる。
さらに、ファインチューニングのプロセスには、GitHub Copilotからの提案とチームのやりとりから得られた洞察が組み込まれているため、モデルを組織固有のニーズに密接に合わせることが可能になる。
ファインチューニングのプロセスでは「Azure OpenAI Service」が利用されており、このサービスがトレーニングパイプライン全体を通して、スケーラビリティとセキュリティを提供している。
ファインチューニングされたモデルのセキュリティとプライバシー
GitHubは、「顧客のデータは常に顧客のものであり、他の顧客のモデルのトレーニングに使用されることはない。顧客のカスタムモデルは非公開のまま、顧客が完全にコントロールできる」と強調している。
ユーザーがトレーニングプロセスを開始すると、ユーザーのリポジトリデータとテレメトリーデータはトークン化され、一時的にAzureトレーニングパイプラインにコピーされる。ファインチューニングプロセスが完了すると、モデルは一連の品質評価を受ける。モデルが品質チェックに合格すると、Azure OpenAI Serviceにデプロイされる。GitHubはこのセットアップにより、複数のLoRAモデルを互いにネットワーク的に分離したまま、大規模にホストできる。
プロセスが完了すると、一時的なトレーニングデータは全て削除され、通常の推論チャネルを通じてデータフローが再開される。GitHub Copilotプロキシサービスが、開発者のコード補完に正しいカスタムモデルが使用されることを保証する。
利用開始方法
モデルのファインチューニング機能は現在、限定公開β版として提供されており、ウェイティングリストに登録することで、順次利用できるようになる。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
「『GitHub Copilot』は人を置き換えるのではなく、支援する存在」 GitHubが説明
生成AIの用途として、与えられたプロンプトに応じてソースコードを生成したり補完したりするAIコードアシスタントに注目が集まっている。GitHubは記者説明会を開き、日本のAIプロジェクトへの貢献状況や、「GitHub Copilot」の現状、グローバルでのAI法規制を巡る同社の貢献を説明した。GitHub Copilotの能力を最大限に引き出すためのヒントとは GitHubが紹介
GitHub Copilotのコード補完機能を最大限活用するためには、できるだけ多くのコンテキストを提供する必要がある。本稿ではテキストエディタでより多くのコンテキストを提供するためのヒントを紹介する。生成AIツールで気になるセキュリティ GitHubはどう対処しているのか
TechTargetは、「NVIDIAとGitHubの新しいAIコーディングアシスタント」に関する記事を公開した。セキュリティ面の懸念は残るものの、ベンダー側もその懸念を解消するためにさまざまな対応を進めている。