4/22のプレゼンテーションの資料です
04/22/2023 1ChatGPTがエンジニアに与える影響LINE Fukuoka きしだ なおき2023/4/22 ITエンジニアのためのライトニングトーク
View Slide
04/22/2023 2ChatGPTとは●OpenAIが開発したチャットAI●GPT4、GPT3.5ベース●2021年9月までのほぼすべてのWebテキストで学習●GPT4はかなり性能が高い●入力の続きの単語を生成●繰り返すことで返答の文章を生成する※ generated by Stable Diffusion
GPT●GPT = Generative Pre-trained Transformer●Transformerが大切●Transformer●アテンションに基づくエンコーダー&デコーダー●「アテンション」は文章のどこに注目するかを決める仕組み
Java song!
微調整(Fine Tune)
ツールの使い方
コード生成
Webアクセスするコード
Javaに変換
コードの修正
コードの実行
実際の実行結果
OpenAI API●ChatGPTの機能をプログラムから利用可能●Chat API●テキストに対してテキストを返す●Embedding API●テキストの特徴をあらわす1500次元のベクトルを得る
例1. ブログのエントリをEmbeddingでベクトルをとって保存2. 質問からベクトルを得て近いベクトルのエントリを検索3. 得られたエントリから質問の回答を生成
ChatGPTを信じてはいけない●「もっともありそうな続き」を生成しているだけ●それでコードが生成できていることは驚きだけど、論理的に考えているわけではない●ChatGPTはそれが正しいかどうか気にしていない●流れるようにウソをつく
もっと賢くなるんでは?●学習データの限界●いまのAIは学習データの量で性能の上限がきまる●ほぼすべてのWebテキストを使っているので、これ以上の学習データがない●計算機の限界●GPT4を学習させた計算機クラスタより大きいものを作るのは困難●いまでも運用に1億円/日かかっている●ウソが混ざりがちという性質は変わらない
まとめ●アイデアを得るのに強力なツールになる●とりかかりになるコードの生成に強い●GitHubのCode Copilotを使うと定型コードに時間をとられなくなる●VS CodeにGPTを組み込む●2つの条件が組み合わさると難しくなる●実際のコードは複数の条件を満たすので人間が書く必要がある●セキュリティなどコンテキストをもった正しいコードは人間が注意して確認する必要がある