Open7
[Scrap] GitHub Copilot のイベントに参加した感想・メモ
以下は GitHub Copilot の開発者の方が、GitHub Copilot がどのように動いているのか説明してくれるイベントで、先日参加してきました。
この Scrap ではイベントで得た情報や感想をメモとして残します。
GitHub Copilot が読み込む情報
GitHub Copilotが読み込む情報は以下の通りで、トークン数の制限が許す限り上から順番に Context に埋め込まれるとのこと。
- 言語マーカー:使用されているプログラミング言語情報
- パスマーカー:プロジェクト内の現在のファイルへのパス情報
- 隣接タブ:他の非アクティブなオープンタブ上のデータ
a. 隣接したタブから順番に Context に挿入されるそうです。最大20タブまで。 - 兄弟関数:現在のカーソル位置の後のデータ
- 回収:コードベース中の、他の場所のコード
Tips
- 重要なタブを開く
- Comment をちゃんと書こう
- 3つの S (Single, Specific, Short)を意識しよう
OpenAI の API の各パラメーターについて、もっと知ったほうが良さそう
- OpenAI の API のパラメーターについて理解すること
- 各パラメータを調整することで何が実現できるのか、事例ベースで知っておくとより良さそう
Copilot では以下のことをやっているらしい
- Completion のパラメーターである
stop
とかsuffix
をうまく使っているらしい- Python が
\n
が二回出てきたら止めるような制御
- Python が
BPE について
BPE について ChatGPT に聞いた
GPT-3.5 の tokenizer が "Sequences" という単語を "Sequ" と "ences" に分けられるのですが、なぜこのようになっているんですか?