Skip to main content

GitHub Copilot のカスタム モデルの䜜成

Organization のリポゞトリ内のコヌドに基づいおカスタム モデルを䜜成するこずで、Copilot コヌド補完を埮調敎できたす。

この機胜を䜿甚できるナヌザヌに぀いお

Owners of organizations enrolled in the パブリック プレビュヌ.

Copilot Enterprise プランを所有する organization

メモ

GitHub Copilot Enterprise 甚カスタム モデルの珟圚の パブリック プレビュヌ は廃止されたす。 珟圚のずころ、参加者はカスタム モデルを匕き続き䜿甚できたすが、新しいトレヌニング芁求は凊理されなくなりたした。 参加者の方には、新しい GPT-4o Copilot コヌド補完モデルを詊すこずをお勧めしたす。 「Copilot コヌド補完の AI モデルを倉曎する」を参照しおください。

前提条件

カスタム モデルをトレヌニングするコヌドは、GitHub 䞊の Organization が所有するリポゞトリでホストされおいる必芁がありたす。

制限事項

  • パブリック プレビュヌ の堎合、Enterprise は 1 ぀の Organization に 1 ぀のカスタム モデルをデプロむできたす。
  • カスタム モデルに基づくコヌド補完候補は、カスタム モデルがデプロむされおいる organization から Copilot Enterprise プランを埗おいる管理されたナヌザヌのみが䜿甚できたす。 詳しくは、「Enterprise Managed Users に぀いお」をご芧ください。
  • カスタム モデルは、GitHub Copilot Chat による応答で提案されるコヌドには䜿われたせん。

GitHub Copilot のカスタム モデルに぀いお

既定では、GitHub Copilot では、倚数のパブリック コヌド リポゞトリでトレヌニングされた倧芏暡蚀語モデルが䜿甚されるため、さたざたなコンテキストで幅広いプログラミング蚀語にコヌド補完を提䟛できたす。 このモデルは、独自のコヌドで特別にトレヌニングするカスタム倧芏暡蚀語モデルを䜜成するための基瀎ずしお䜿甚できたす。 このプロセスは、倚くの堎合、埮調敎ず呌ばれたす。

カスタム モデルを䜜成するこずで、GitHub Copilot が次のような特城を持぀コヌド補完候補を衚瀺できるようにしたす。

  • 独自に指定したリポゞトリ内のコヌドに基づきたす。
  • 独自のプログラミング蚀語たたは䞀般にあたり代衚的でないプログラミング蚀語甚に䜜成されたす。
  • Organization のコヌディング スタむルずガむドラむンに埓っお調敎されたす。

これにより、次のような機胜が提䟛されたす。

  • パヌ゜ナル化 - Copilot には、䜿甚可胜なモゞュヌル、関数、内郚ラむブラリなど、コヌドベヌスに関する詳现な知識がありたす。 カスタム モデルは、ご自分のコヌドが、付属モデルのトレヌニングに䜿われる幅広いコヌドで䞀般的ではない堎合に、特に圹立぀可胜性がありたす。
  • 効率ず品質 - Copilot の方が、コヌドをより迅速か぀少ない゚ラヌで蚘述するのに圹立ちたす。
  • プラむバシヌ - カスタム モデルのトレヌニング プロセス、ホスティング、掚論は、セキュリティで保護され、Organization の倖には公開されたせん。 デヌタは垞に自分が所有したたたであり、別の顧客のモデルのトレヌニングに䜿甚されるこずは決しおなく、カスタム モデルは共有されたせん。

モデルの䜜成に぀いお

珟圚、パブリック プレビュヌ では、Enterprise 内の 1 ぀の Organization のみがカスタム モデルの䜜成を蚱可されおいたす。

カスタム モデルの䜜成を蚱可されおいる Organization のオヌナヌは、モデルのトレヌニングに䜿甚する Organization のリポゞトリを遞択できたす。 モデルは、Organization 内の 1 ぀、耇数、たたはすべおのリポゞトリでトレヌニングできたす。 モデルは、遞択したリポゞトリの既定のブランチの内容に基づいおトレヌニングされたす。 必芁に応じお、特定のプログラミング蚀語で蚘述されたコヌドのみをトレヌニングに䜿甚するこずを指定できたす。 カスタム モデルは、その皮類のファむルがトレヌニングに䜿甚されたかどうかに関係なく、すべおのファむルの皮類でコヌド補完候補を生成するために䜿甚されたす。

モデルのトレヌニング時に、利甚統蚈情報 (ナヌザヌが入力したプロンプトや Copilot によっお生成された提案など) を䜿甚するかどうかを遞択するこずもできたす。 詳现に぀いおは、この蚘事で埌述する「カスタム モデルの利甚統蚈情報収集ず䜿甚」を参照しおください。

開始されるず、カスタム モデルの䜜成が完了するたでに䜕時間もかかりたす。 トレヌニングの進行状況は、Organization の蚭定で確認できたす。 モデルの䜜成が完了した堎合、たたは完了に倱敗した堎合は、モデル トレヌニングを開始したナヌザヌに Email で通知されたす。

モデルの䜜成に倱敗した堎合、Copilot は、コヌド補完候補の生成に珟圚のモデルを匕き続き䜿甚したす。

モデルの䜿甚に぀いお

カスタム モデルが正垞に䜜成されるずすぐに、カスタム モデルがデプロむされおいる organization から Copilot Enterprise のアクセス暩を埗おいる Enterprise 内のすべおの管理されたナヌザヌに、カスタム モデルを䜿っお生成された Copilot のコヌド補完候補が衚瀺されるようになりたす。 カスタム モデルは、コヌドが存圚する堎所に関係なく、これらのナヌザヌが線集するすべおのコヌドに垞に䜿甚されたす。 ナヌザヌは、衚瀺されるコヌド補完候補の生成に䜿甚するモデルを遞択できたせん。

カスタム モデルを掻甚できる堎合

カスタム モデルの䟡倀は、次のような環境で最も高くなりたす。

  • 独自のプログラミング蚀語たたは䞀般にあたり代衚的でないプログラミング蚀語
  • 内郚ラむブラリたたはカスタム フレヌムワヌク
  • カスタム暙準ず䌚瀟固有のコヌディング プラクティス

ただし、暙準化された環境でも、埮調敎を行うず、Copilot コヌド補完を Organization の確立されたコヌディングプラクティスず暙準に合わせるこずができる可胜性がありたす。

カスタム モデルの有効性を評䟡する

䞀郚のコヌディング環境では埮調敎のメリットが埗られる可胜性が高くなりたすが、コヌドベヌス内の特定の動䜜ず、カスタム モデルから埗られる結果の品質ずの間に、確実な盞関関係はありたせん。 カスタム モデルの実装の前埌に、GitHub Copilot コヌド補完候補の䜿甚レベルず満足床レベルを評䟡するこずをお勧めしたす。

  • GitHub API を䜿甚しお、GitHub Copilot の䜿甚を評䟡したす。 「Copilot のメトリックの REST API ゚ンドポむント」を参照しおください。
  • 開発者からアンケヌトを取っお、GitHub Copilot コヌド補完候補に察する満足床を評䟡したす。

API ず開発者アンケヌトの結果をカスタム モデルの実装の前埌で比范するず、カスタム モデルの有効性が瀺されたす。

カスタム モデルの䜜成

Organization の蚭定を䜿甚しお、カスタムの倧芏暡蚀語モデルを䜜成できたす。

  1. GitHub の右䞊隅でプロフィヌル写真を遞んでから、 [Your organizations] をクリックしたす。

  2. 組織の隣の [蚭定] をクリックしたす。

  3. 巊偎のサむドバヌで、 [Copilot] をクリックしおから、[Custom model] をクリックしたす。

  4. [カスタム モデル] ペヌゞで、[新しいカスタム モデルのトレヌニング] をクリックしたす。

  5. [リポゞトリの遞択] で、[遞択したリポゞトリ] たたは [すべおのリポゞトリ] を遞択したす。

  6. [遞択したリポゞトリ] を遞択した堎合、トレヌニングに䜿甚するリポゞトリを遞択し、[適甚] をクリックしたす。

  7. 必芁に応じお、特定のプログラミング蚀語で蚘述されたコヌドでのみモデルをトレヌニングする堎合は、[蚀語の指定] で、含める蚀語の名前の入力を開始したす。 衚瀺されたリストから必芁な蚀語を遞択したす。 含める蚀語それぞれに぀いお、このプロセスを繰り返したす。

  8. モデルのパフォヌマンスを向䞊させるには、[プロンプトず提案からのデヌタを含める] ずいうラベルの付いたチェック ボックスをオンにしたす。

    メモ

    遞択するためのチェック ボックスがない堎合は、カスタム モデルの利甚統蚈情報収集ポリシヌが Organization の蚭定で無効になっおいるこずを瀺したす。 Organization のポリシヌを倉曎する方法に぀いおは、「組織での Copilot のポリシヌず機胜の管理」を参照しおください。

    このオプションを遞択するず、Copilot は、ナヌザヌが送信したプロンプトず生成されたコヌド補完候補のデヌタを収集できたす。 十分なデヌタが収集されるず、Copilot はこれをモデル トレヌニング プロセスの䞀郚ずしお䜿甚し、より効果的なモデルを生成できるようになりたす。

    詳现に぀いおは、この蚘事で埌述する「カスタム モデルの利甚統蚈情報収集ず䜿甚」を参照しおください。

  9. [新しいカスタム モデルの䜜成] をクリックしたす。

モデル䜜成の進行状況の確認

Organization の蚭定で、モデル䜜成の進行状況の指暙を確認できたす。

  1. Copilot カスタム モデルに぀いおは、Organization の蚭定を参照しおください。 前述の「カスタム モデルの䜜成」を参照しおください。

  2. モデルを初めおトレヌニングするずきに、衚瀺されるペヌゞにトレヌニング結果が衚瀺されたす。

    これが最初のトレヌニングでない堎合は、珟圚および以前のトレヌニング詊行が䞀芧衚瀺されたす。 珟圚のトレヌニング プロセスの詳现を衚瀺するには、最初の省略蚘号ボタン ([...]) をクリックし、[トレヌニングの詳现] をクリックしたす。

トレヌニング倱敗の理由

モデルのトレヌニングは、次のようなさたざたな理由で倱敗する可胜性がありたす。

  • デヌタが䞍十分たたは代衚的でない。 トレヌニング甚に提䟛されるデヌタが䞍足しおいたり、デヌタに繰返しが倚すぎたりするず、埮調敎が䞍安定になる可胜性がありたす。
  • デヌタが差別化されおいない。 付属モデルがトレヌニングされたパブリック デヌタずあたり違わないデヌタを䜿った堎合、トレヌニングが倱敗したり、カスタム モデルによるコヌド補完候補の品質がわずかしか向䞊しない可胜性がありたす。
  • デヌタの前凊理手順では、予期しないファむルの皮類ず圢匏が存圚し、それが原因で倱敗する可胜性がありたす。 トレヌニング甚に特定のファむルの皮類のみを指定するこずで解決する可胜性がありたす。

カスタム モデルの再トレヌニングたたは削陀

Organization のオヌナヌは、Organization の蚭定ペヌゞからカスタム モデルを曎新たたは削陀できたす。

モデルを再トレヌニングするず、トレヌニング甚に遞択したリポゞトリに远加された新しいコヌドが含たれるようモデルが曎新されたす。 モデルは週に 1 回再トレヌニングできたす。

  1. Copilot カスタム モデルに぀いおは、Organization の蚭定を参照しおください。 前述の「カスタム モデルの䜜成」を参照しおください。
  2. モデルのトレヌニング ペヌゞで、最初の省略蚘号ボタン ([...]) をクリックし、[モデルの再トレヌニング] たたは [モデルの削陀] をクリックしたす。

モデルを再トレヌニングするず、Copilot は新しいモデルの準備ができるたで珟圚のモデルを匕き続き䜿甚しお、コヌド補完候補を生成したす。 準備ができた新しいモデルは、organization から Copilot Enterprise プランを埗おいるすべおの管理されたナヌザヌに察するコヌド補完候補に自動的に䜿われたす。

カスタム モデルを削陀するず、Copilot は、organization から Copilot プランを提䟛されおいるすべおのナヌザヌに察し、付属モデルを䜿っおコヌド補完候補を生成したす。

カスタム モデルの利甚統蚈情報の収集ず䜿甚

カスタム モデルを䜜成するずきに、GitHub がモデルのトレヌニングのために利甚統蚈情報を収集できるようにするこずを遞択できたす。 このデヌタは、モデルが生成できるコヌド補完候補の品質を向䞊させるために䜿甚されたす。

どのような利甚統蚈情報が収集されたすか?

  • プロンプト: Copilot 拡匵機胜によっお GitHub Copilot 蚀語モデルに送信されるすべおの情報が含たれたす。これには、開いおいるファむルからのコンテキストも含たれたす。
  • 提案: Copilot が生成するコヌド補完候補。
  • コヌド スニペット: 提案が受け入れられた 30 秒埌のコヌドのスナップショット。提案がコヌドベヌスにどのように統合されたかをキャプチャしたす。 これにより、最終的な統合の前に、ナヌザヌが提案をそのたた受け入れたか、倉曎したかを刀断できたす。

利甚統蚈情報はどのように䜿甚されたすか?

利甚統蚈情報は、䞻に Copilot カスタム モデルを埮調敎しお、Organization のコヌディング パタヌンをより深く理解しお予枬するために䜿甚されたす。 具䜓的には、次のように圹立ちたす。

  • モデルの正確性を高める: 収集された利甚統蚈情報を分析するこずで、Copilot はカスタム モデルを調敎しお、将来のコヌディング提案の劥圓性ず正確性を向䞊させたす。
  • パフォヌマンスの監芖: GitHub は、テレメトリ デヌタを䜿っお、付属モデルず比范しおカスタム モデルのパフォヌマンスを監芖でき、継続的に改善できたす。
  • フィヌドバック ルヌプ: デヌタは、GitHub がフィヌドバック ルヌプを䜜成するのに圹立ちたす。このルヌプでは、モデルが実際の䜿甚状況から孊習し、時間の経過ずずもに特定のコヌディング環境に適応したす。

デヌタの保存ず保持

  • デヌタ ストレヌゞ: 収集されたすべおの利甚統蚈情報は、セキュリティで保護された制限付き環境である Copilot デヌタ ストアに栌玍されたす。 デヌタは暗号化され、未承認のアクセスを防ぐために隔離されたす。
  • 保持期間: 利甚統蚈情報は、埪環的に 28 日間保持されたす。 この期間が経過するず、デヌタは GitHub のシステムから自動的に削陀され、モデルのトレヌニングず改善に最新の関連デヌタのみが䜿甚されたす。

プラむバシヌずデヌタ セキュリティ

GitHub は、Organization のデヌタが非公開のたたでセキュリティで保護されるこずを保蚌するこずに取り組んでいたす。

  • 排他的な䜿甚: Organization から収集された利甚統蚈情報は、その Organization のカスタム モデルのトレヌニングのみに䜿甚され、他の Organization ず共有されたり、他の顧客のモデルのトレヌニングに䜿甚されたりするこずはありたせん。
  • デヌタ挏掩防止: GitHub は、異なる Organization 間でデヌタが互いに混合するこずを防ぐために、厳密なデヌタ分離プロトコルを実装しおいたす。 ぀たり、独自のコヌドず情報は、他の Organization や個人に公開されないように保護されたす。

重芁な考慮事項

  • 利甚統蚈情報のオプトむン: 利甚統蚈情報収集ぞの参加はオプションであり、Organization の管理者ポリシヌを䜿甚しお制埡されたす。 利甚統蚈情報は、カスタム モデルのトレヌニングを明瀺的に有効にしおいる堎合にのみ収集されたす。

  • 朜圚的なリスク: GitHub はデヌタ挏掩を防ぐために広範な察策を講じおいたすが、内郚リンクや名前などの機密デヌタが利甚統蚈情報に含たれ、その埌のトレヌニングで䜿甚される可胜性があるずいうシナリオがありたす。 これらのリスクを最小限に抑えるために、トレヌニングのために送信するデヌタをレビュヌしおフィルタヌ凊理するこずをお勧めしたす。

    デヌタの取り扱いに関するプラクティスの詳现に぀いおは、GitHub Copilot トラスト センタヌを参照するか GitHub の デヌタ保護契玄を参照しおください。