Slide 1

Slide 1 text

04/22/2023 1 ChatGPTが エンジニアに与える影響 LINE Fukuoka きしだ なおき 2023/4/22 ITエンジニアのためのライトニングトーク

Slide 2

Slide 2 text

04/22/2023 2 ChatGPTとは ● OpenAIが開発したチャットAI ● GPT4、GPT3.5ベース ● 2021年9月までのほぼすべてのWebテキストで学習 ● GPT4はかなり性能が高い ● 入力の続きの単語を生成 ● 繰り返すことで返答の文章を生成する ※ generated by Stable Diffusion

Slide 3

Slide 3 text

GPT ● GPT = Generative Pre-trained Transformer ● Transformerが大切 ● Transformer ● アテンションに基づくエンコーダー&デコー ダー ● 「アテンション」は文章のどこに注目するかを 決める仕組み

Slide 4

Slide 4 text

Java song!

Slide 5

Slide 5 text

微調整(Fine Tune)

Slide 6

Slide 6 text

ツールの使い方

Slide 7

Slide 7 text

コード生成

Slide 8

Slide 8 text

Webアクセスするコード

Slide 9

Slide 9 text

Javaに変換

Slide 10

Slide 10 text

コードの修正

Slide 11

Slide 11 text

コードの実行

Slide 12

Slide 12 text

実際の実行結果

Slide 13

Slide 13 text

OpenAI API ● ChatGPTの機能をプログラムから利用可能 ● Chat API ● テキストに対してテキストを返す ● Embedding API ● テキストの特徴をあらわす1500次元のベクトルを得る

Slide 14

Slide 14 text

例 1. ブログのエントリをEmbeddingでベクトルをとって保存 2. 質問からベクトルを得て近いベクトルのエントリを検索 3. 得られたエントリから質問の回答を生成

Slide 15

Slide 15 text

ChatGPTを信じてはいけない ● 「もっともありそうな続き」を生成しているだけ ● それでコードが生成できていることは驚きだけど、論理的に考えている わけではない ● ChatGPTはそれが正しいかどうか気にしていない ● 流れるようにウソをつく

Slide 16

Slide 16 text

もっと賢くなるんでは? ● 学習データの限界 ● いまのAIは学習データの量で性能の上限がきまる ● ほぼすべてのWebテキストを使っているので、これ以上の学習データ がない ● 計算機の限界 ● GPT4を学習させた計算機クラスタより大きいものを作るのは困難 ● いまでも運用に1億円/日かかっている ● ウソが混ざりがちという性質は変わらない

Slide 17

Slide 17 text

まとめ ● アイデアを得るのに強力なツールになる ● とりかかりになるコードの生成に強い ● GitHubのCode Copilotを使うと定型コードに時間をとられなくな る ● VS CodeにGPTを組み込む ● 2つの条件が組み合わさると難しくなる ● 実際のコードは複数の条件を満たすので人間が書く必要がある ● セキュリティなどコンテキストをもった正しいコードは人間が注 意して確認する必要がある