「GitHub Copilot Enterprise」で限定公開β版が始まった「ファインチューニング」、コード補完でのメリットとはCOBOLを使う金融機関でも役立つ? RAGよりも良い?

GitHubは、AIコーディングアシスタント「GitHub Copilot Enterprise」の限定公開β版として、モデルのファインチューニングを可能にした。

» 2024年09月16日 11時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 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は、「顧客のデータは常に顧客のものであり、他の顧客のモデルのトレーニングに使用されることはない。顧客のカスタムモデルは非公開のまま、顧客が完全にコントロールできる」と強調している。

GitHub Copilotのファインチューニングされたモデルの高レベルの技術アーキテクチャを示すフローチャート。顧客、GitHub、Azureが何を管理するかが分かる(提供:GitHub)

 ユーザーがトレーニングプロセスを開始すると、ユーザーのリポジトリデータとテレメトリーデータはトークン化され、一時的にAzureトレーニングパイプラインにコピーされる。ファインチューニングプロセスが完了すると、モデルは一連の品質評価を受ける。モデルが品質チェックに合格すると、Azure OpenAI Serviceにデプロイされる。GitHubはこのセットアップにより、複数のLoRAモデルを互いにネットワーク的に分離したまま、大規模にホストできる。

 プロセスが完了すると、一時的なトレーニングデータは全て削除され、通常の推論チャネルを通じてデータフローが再開される。GitHub Copilotプロキシサービスが、開発者のコード補完に正しいカスタムモデルが使用されることを保証する。

利用開始方法

 モデルのファインチューニング機能は現在、限定公開β版として提供されており、ウェイティングリストに登録することで、順次利用できるようになる。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。