Slide 1

Slide 1 text

[GitHub Copilot]あなたもコードの自動生成を体験できる! with VSCode - VS Code Meetup #17 忘年会LT - Takashi Kawamoto 2021.12.20

Slide 2

Slide 2 text

自己紹介 2 Takashi Kawamoto/もっちゃん LINE 株式会社 テクニカルエバンジェリスト/Developer Relations ( ITコミュニティの登壇・運営やコミュニティコラボに興味ある方、気軽に連絡ください) ● Microsoft MVP for AI/LINE API Expert(3期生|2019~2021) ● LINE API/プロダクト全般の啓発活動(Azure×LINE組み合わせ活用の布教も) ● 著書『LINE API実践ガイド』/LINE、VS Codeコミュニティ オーガナイザ/エンジニアフレン ドリーシティ福岡アワード2020受賞(LDGQ) ● クラウドの機械学習系のサービスが好き ● 趣味は子育てです...(趣味にでもしないとやってられまry ● 本当の趣味は旅行とか温泉に行くことです 取得済みクラウドの機械学習系資格

Slide 3

Slide 3 text

GitHub Copilotとは? どうやって使うの? 実際に使ってみた 新機能 !? 01 02 03 04 アジェンダ

Slide 4

Slide 4 text

ちなみに本日のネタは Qiita記事にしてます。 https://bit.ly/33KJmiF

Slide 5

Slide 5 text

5 GitHub Copilotとは? 開発者が入力したコードや文章をふまえて、次に続く コード・文章を自動生成、提案として表示する。 強大な機械学習の言語モデルによって実現されている。 OpenAIが開発したGPT-3に関連するもので、さらにコー ドの生成に特化している。 開発者はVS Codeなどのエディタを通じて誰でも使うこ とが可能。 コードの自動生成、コードの提案を行う

Slide 6

Slide 6 text

6 GitHub Copilotとは? GPT: Generative Pre-trained Transformer ・OpenAIが開発した巨大言語モデル(教師なし学習) ・45TBの大規模コーパス使用 ・1750億パラメータ(GPT-2は15億) ・Transformerという仕組みを持っている ・高い精度かつ複数のタスクをこなせる ・文章生成が得意 そもそもGPT-3とは https://openai.com/ https://en.wikipedia.org/wiki/OpenAI https://arxiv.org/abs/2005.14165 https://openai.com/blog/microsoft/ 事前学習済 モデル ファイン チューニング後の モデル

Slide 7

Slide 7 text

7 GitHub Copilotとは? Transformerの登場でブレイクスルーが起きた https://www.arxiv-vanity.com/papers/2103.04037/ Transformer登場で ブレイクスルーが起きた。 (全てのモデルを過去に) BERT: Bidirectional Encoder Representatio ns from Transformers

Slide 8

Slide 8 text

8 GitHub Copilotとは? ・Seq2seq 右側がTransformer、Attention機構を備えている https://docs.chainer.org/en/v7.8.0/examples/seq2seq.html https://pytorch.org/tutorials/beginner/transformer_tutorial.html https://arxiv.org/abs/1508.04025 ・Transformer, (Attention)

Slide 9

Slide 9 text

9 GitHub Copilotとは? ちなみに 先日のMicrosoft Ignite 2021でAzureのサービスとして提供されると発表 https://myignite.microsoft.com/sessions/e3f5c4bc-5cc8-4e09-89a7-033da3a16433?source=sessions MicrosoftとOpenAIはパートナーシップを2019年に結んでおり、またGPT-3 言 語モデルの独占ライセンスを取得していたりする。 (さらにGitHubを傘下に持っている。巨大言語モデルの構築に使用するコーパ スはインターネット上にあるコードの割合も大きいと思われるので..) Microsoftと パートナーシップ結ぶ

Slide 10

Slide 10 text

10 (余談)セサミストリートのキャラ名を付ける習慣が.. https://bit.ly/3oRu4iZ https://www.sesamestreetjapan.org/characters.html

Slide 11

Slide 11 text

要するに自然言語系の機械学習を 用いた優れた予測機能によるもの

Slide 12

Slide 12 text

12 どうやって使うの? 1. GitHub Copilotのwaitlistに登録します 2. プレビューが通ったメールがきます 3. VS CodeにGitHub Copilotの拡張機能入れる 4. コードや文章を打つと、次に続くであろうコードや文 章を自動で生成・提示する VS Codeの拡張機能をインストールで使える https://github.com/features/copilot/signup https://myignite.microsoft.com/sessions/e3f5c4bc-5cc8-4e09-89a7-033da3a16433?source=sessions

Slide 13

Slide 13 text

13 実際につかってみた 続きはWEB(Qiita)で.. https://qiita.com/mochan_tk/items/43493dd862ecda98886c

Slide 14

Slide 14 text

14 新機能 !? コードの説明文も自動生成 !? https://github.com/github/feedback/discussions/8308

Slide 15

Slide 15 text

15 まとめ ・機械学習のブレイクスルーによる恩恵 ・GitHub CopilotはVS Codeの拡張機能で使うことができる ・今時点で実用的かより、意図したやり取りが成立している点がポイントかなと ・今後の開発のありかたが変わるかも?(Software 2.0の世界) ・こういうところにもVS Code絡んでいるのもまた素晴らしい 今後がとても楽しみですね!

Slide 16

Slide 16 text

良いお年をお過ごしください!