Upgrade to Pro — share decks privately, control downloads, hide ads and more …

コード生成ツールGitHub Copilotは本当に効果があるのか~生成ツールの定量的評価方法~

コード生成ツールGitHub Copilotは本当に効果があるのか~生成ツールの定量的評価方法~

EVF2023 発表資料

Tasuku Hori

October 26, 2023
Tweet

More Decks by Tasuku Hori

Other Decks in Technology

Transcript

  1. 生成AIを 使おう!/大丈夫? 2022/3/15 OpenAI 『New GPT-3 capabilities:Edit & insert』 2022/11/15

    ORICON NEWS 『小室哲哉「マウスのよう な存在」 理研での研究内容を解説 AI×音楽の将来について 白熱対談が実現』 2023/6/28 Yahoo(KYODO) 『対話型AI活用で生産性向上 パナソニック傘下、作業大 幅短縮』 2023/7/28 AI+ ITmedia 『非IT企業も「AIプログラミ ングのない時代には戻れない」 「GitHub Copilot」導入した 東急の内製開発チーム、手応 えは?』 2023/5/22 Impress Watch 『G7広島サミット閉幕 デジタ ルやAIについても議論』 2023/6/5 Yahoo(KAI-YOU) 『AIイラスト販売サービス「petapi」 批判うけて、クリエイターへの配慮不足 を謝罪 方針転換を表明』 2023/6/15 ORICON NEWS 『音楽作家団体連合、生成AIで 「創作者が不利益を被るおそれ」 問題解消へ意見表明』 2023/5/29 GIZMODE 『ChatGPTは会社で使っていいの? 禁止している企業8つの例』 使おう! 大丈夫? Copyright ©2023 EXA CORPORATION 2
  2. 提案書作成支援ツール 文章要約ツール 生成AIに対する”日本の戦略” 1. 大規模言語モデルを自ら開発する • 数百億円あれば同じようなものは作れる(ただし、その間に相手はもっと先に行く。) • 今後のインパクトの大きさを考えればこの戦いに参入するチケットとしては安い。この機会 が開いているウィンドウは短い。

    2. APIを使いサービスを作ることを奨励する • ChatGPTなどのAPIを使って、ローカライズした専用アプリ、専用ソフトウェアが多く出 現。国内の市場になるので、最低限ここはしっかり伸ばすべき。 • 一方Apple Store等と同じく、手数料を払い続けないといけない。 3. ユーザとしての活用を促進する • DXが進んでいない現状において、言語による指示ができることは、DXの決め手になる可 能性はある • つまり、DXにおけるリープブロック。(アフリカに固定電話が入っていないのに携帯が入っ たように。) ※2023/2/17 『AIの進化と日本の戦略』東京大学松尾研究室 p30より引用 詳細は書籍を参考に 10/27 15:00~ コード生成ツール Copyright ©2023 EXA CORPORATION 3
  3. 主なコード生成AI 組織 名称 概要 無料版 有料版 備考 OpenAI Codex OpenAI

    GPTを使ったコード生成API、IDEのプラグイン経由で コード生成支援に使われる - - 2023年3月、Codexモデルは非推奨に(2023/4/24 時点のDocumentationトッ プ) Microsoft Codex GPT-3シリーズの後継Code-Cushmanモデルを使ったコード生 成API、IDEのプラグイン経由で使用する事ができる。 Azure無償枠内 での使用 0.024ドル/1000 トークン 価格は2023/4/24時点、米国西部2リージョン(日本リージョンは選択でき なかった) GitHub Copilot OpenAI Codexをもとにしたコード生成API、IDEのプラグイン 経由でコード生成支援に使われる 30日間 Indivisuals:10ド ル/月 Business:19ド ル/月 Business版を使うと提案要求時に自コードが送信されるが、提案返信時に破 棄される。Indivisual版の場合コードスニペット(ソース、関連ファイル、同 時に開いている別のファイル、リポジトリURL、ファイルパスなど)が収 集・保持される可能性がある。 Google Bard 2023/3/24にアナウンスされたGoogle社のChatGPTに相当する APIおよび活用したサービス、日本でも利用可能とのこと(日 本語性能は高くないという二次情報あり) 要順番待ちリス ト登録 N/A ※2023/4/24時点では、順番待ちリストに参加可能 Amazon CodeWhisperer AWS提供のコード生成サービス、IDEから利用する Individual Professional 19 ドル/月 Pro版は組織単位のポリシー管理(ex. OSSコードに類似する生成を許可する か)が可能 BigCode santacoder HuggingFaceに登録された学習済みモデル(GPT-2ベース)、 ローカルPCで動作可能 OSS - CodeML Open RAIL-M v0.1ライセンス準拠 ※2023/4/27時点 Copyright ©2023 EXA CORPORATION 4
  4. 目次 (1/4) • GitHub Copilot • 検証方法 • 結果 •

    考察 《おまけ》 ①生成AIの可能性と課題 ②言語モデルはどのようにして動くのか ※本セッション内では解説しません Copyright ©2023 EXA CORPORATION 5
  5. GitHub Copilot • IDE環境の拡張機能としてセットアップ • Visual Studio Code/Visual Studio/nvm/neovim/Jet Brains

    IDEs • 入力したコードの次の行以降を予測し提案 • 操作の習熟はほぼ不要 • プログラミング言語を問わない • Java, C, C++, C#, Fortran, Python, JavaScript, CSS, HTML, Dockerfile, Docker/Kubernetes関連YAML, Makefile, Spring関連定義ファイル ①新規行を入力 print(‘祇園精舎の鐘の声’) ②候補行を提案 print(‘諸行無常の響きあり’) • 入力してから数秒かかることがある • 候補がない場合は、何も表示されない Copyright ©2023 EXA CORPORATION 6
  6. GitHub Copilotの効果 Webサイトのデータは本当化? 組織観点(品質/コスト/納期)に対する効果は? ※GitHub Copilot:Your AI pair programmerより引用 74%

    より満足度の高い 仕事に集中できた 88% より生産的になった 96% 反復作業がよりはやく なった 数字が物語る 調査によると、GitHub Copilotを利用することで、開発者はより速くコーディング することができ、より大きな問題の解決に集中し、より長くフローにとどまり、仕事 に充実感を感じることができます。 GitHub Copilotは驚くほど よく動く。私は二度とこれ なしでソフトウェアを開発 することはないだろう。 GitHub Copilotを使って Clojureを書き始めたら、 私が書こうとしていたのと 同じように、慣用的な名 前空間のrequireが埋まっ たときには唖然とした。 慣れない言語ですべてを ググってコーディングし ようとするのは、フレー ズブックだけで外国をナ ビゲートするようなものだ。 GitHub Copilotを使う のは、通訳を雇うような ものだ。 計測しないとわからない Copyright ©2023 EXA CORPORATION 7
  7. 送信データ • ユーザエンゲージメントデータ • 対話時に発生するイベント情報 • ユーザが提案を受け入れる・却下する情報 • エラー、通信時間、機能エンゲージメント(候補の貢献度) •

    コードスニペットデータ • 編集中のソースコード • ソースコードの関連ファイル • IDEで同時に開いている他のファイル • リポジトリURL • ファイルパス データの種類 GitHub Copilot for Indivisuals for Business ユーザエンゲージメントデータ 収集される 収集される コードスニペットデータ 収集される場合 がある 一時的に収集、 提案返却後破棄 ユーザ エンゲージメント コード スニペット プロジェクトで使用する場合は GitHub Copilot for Business を使用する 月10ドル 月19ドル Copyright ©2023 EXA CORPORATION 8
  8. GitHub Copilot使用時のリスク • セキュリティリスク • OSSコードから学習しているため、機密情報や重要なセキュリティ情報が含まれる可能性がある • これらの情報が不適切な形で公開されることは、企業にとって深刻なセキュリティリスクになる可能性につな がる •

    著作権侵害のリスク • 生成コードが、既存の著作物に似ている場合、著作権侵害の可能性がある • コードが既存の著作物と競合しないかどうかを確認する必要がある • 品質管理のリスク • 生成コードの品質は、手動で書いたコードと同等であるとは限らない • 生成されたコードの品質を慎重に監視する必要がある • コストのリスク • コストが増加する可能性がある • バイアスのリスク • 学習データであるOSSコードには、潜在的なバイアスが含まれている可能性がある • 生成コードにもバイアスが反映される可能性がある 《リスク低減》 GitHub Copilot for Businessでは OSSコードと類似したコード提案を行 わない 《リスク低減》 従来どおりのコードレビューで対応 《リスク低減》 従来どおりのテスト実施で対応 リスク発生時のコストと導入効果が見合うかどうか コード生成ツールにおける”潜在的なバイアス”とはなにか? 計測しないとわからない Copyright ©2023 EXA CORPORATION 9
  9. GitHub Copilotにおける潜在的バイアス • ジェンダーバイアス • 男性が多く書いている場合がある • 女性の視点が反映されていない可能性がある • 文化的バイアス

    • 特定の文化的背景に基づいて書かれている場合がある • 他の文化的背景を持つ人には理解しづらい場合がある • 言語的バイアス • 特定の言語で書かれている場合がある • 他の言語を話す人には理解しづらい場合がある • 技術的バイアス • 特定の技術的プラットフォームに基づいて書かれている場合がある • 他のプラットフォームに移植する場合に問題が生じる場合がある • 人種的バイアス • 特定の人種的背景に基づく固定観念やステレオタイプが含まれる場合がある • それが反映されたコードが生成される可能性がある 明文化しなくても 遵守できていた項目が多い 《対処案》 人間系による チェックリスト Copilotが提案するコードを 開発者が採用・却下を判断 その時の観点として加える ことをルール化する 《リスク低減》 従来どおりのコードレビューで対応 試行しないとわからない 2014/1/9 ITmedia NEWS 『人工知能学会、 新学会誌の表紙問題 で公式見解 「女性差別の意図はない」』 Copyright ©2023 EXA CORPORATION 10
  10. 検証すべき項目 • 導入による効果は? • 品質・コスト・納期 • 経験年数による効果の違い • リスクが効果を打ち消す可能性は? •

    潜在的リスク軽減方法は? 計測しないとわからない 試行しないとわからない 計測しないとわからない Copyright ©2023 EXA CORPORATION 11
  11. 目次 (2/4) • GitHub Copilot • 検証方法 • 結果 •

    考察 Copyright ©2023 EXA CORPORATION 12
  12. 検証方法 サンプルシステム2 サンプルシステム1 グループ1 1日で開発 Copilotを使用 1日で開発 Copilotを使用しない ✕ グループ2

    1日で開発 Copilotを使用 1日で開発 Copilotを使用しない ✕ 開発後 完了アンケート提出 【ユーザ観点】 【定量・定性評価】 ✕ QCD指標 QCD指標 【組織観点】 【定量評価】 Copyright ©2023 EXA CORPORATION 13
  13. 【母集団】参加メンバ 3 3 6 SEランク A B C SEランク コスト比率

    A 10ポイント/時 B 8ポイント/時 C 6ポイント/時 0 5 10 15 20 25 経験年数 平均 7.5ポイント/時 平均7.1年 • 参加SE12名 (募集20名) • 2023年6月後半に募集 • 2023年7月のうち2日検証に参加可能なSEを社内公募 Copyright ©2023 EXA CORPORATION 14
  14. 【母集団】参加者のアウトプット • 作業時間 • 参加者による報告 • 単位:時間(小数点1位) • 0.0~7.5時間 •

    ソースコード • 潜在リスク回避率 • 潜在リスクチェックリスト • 0~100% • E2Eテスト合格率 • E2Eテストケース • 0~100% 対象がコードなので潜在リスク発生確率がそもそも低い 受け入れテストレベルの粒度で作成 《潜在リスクチェックリスト》 《E2Eテストシナリオ・テストケース》 Copyright ©2023 EXA CORPORATION 15
  15. 目次 (3/4) • GitHub Copilot • 検証方法 • 結果 •

    考察 Copyright ©2023 EXA CORPORATION 16
  16. Q E2Eテスト合格率×潜在リスク回避率 • E2Eテスト合格率 • 合格件数/総件数 • 潜在リスク回避率 • 潜在リスク合格件数/総件数

    • 今回すべて100% • 品質にリスクを加えるため積を採用 • 最大値100%、値が大きいほど高品質 Copilotを使用すると 1.2%品質効率が向上 組織観点 品質 67% 68% Copilotなし Copilotあり 品質指標 ✕ Copyright ©2023 EXA CORPORATION 17
  17. C CPI: Cost Performance Index • CPI:コスト効率指標 • 出来高(EV)/実コスト(AC) •

    対計画でのコスト効率の良さ悪さ • CPIが60% • メンバは計画の6割しか生産性を出していない • Copilotなし/ありコスト効率を相対比較できる • サンプル開発では100%を超えることはない Copilotを使用すると 10%コスト効率が向上 組織観点 コスト 82% 92% Copilotなし Copilotあり コスト指標 ✕ Copyright ©2023 EXA CORPORATION 18
  18. D 作業時間余剰率 • 作業時間余剰率 • 余剰時間(平均)=1日-実作業時間(平均) • 作業時間余剰率=余剰時間(平均)/7.5H • 2指標と合わせるために余剰を採用

    • 最大値100%、値が大きいほど高品質 Copilotを使用すると 3.7%納期効率が向上 組織観点 納期 17分/日短縮 11% 14% Copilotなし Copilotあり 納期指標 ✕ Copyright ©2023 EXA CORPORATION 19
  19. SEランク別QCD • ランクが高いほど効率よく扱っていた -10% 10% 30% 50% 70% 90% 110%

    130% 150% 170% A B C 納期指標 Copilotなし Copilotあり -10% 10% 30% 50% 70% 90% 110% 130% 150% 170% A B C 品質指標 Copilotなし Copilotあり -10% 10% 30% 50% 70% 90% 110% 130% 150% 170% A B C コスト指標 Copilotなし Copilotあり ✕ Q C D ✕ ✕ ✕ ✕ ✕ ✕ ✕ ✕ 組織観点 品質 コスト 納期 Copyright ©2023 EXA CORPORATION 20
  20. Q:GitHub Copilot導入による効果は? • コスト効果は質問対象外 • コスト知識のないメンバがいたため • ユーザ視点での効果 • Copilotはコード品質をあげるツールではない

    • Copilotはコード実装フェーズの期間短縮に効果が ある • 品質効果なし • 納期効果あり ユーザ観点 品質 納期 0 1 2 3 4 5 6 7 8 納期効果あり 納期効果なし 品質効果あり 品質効果なし Copilot導入による効果は? Q D Copyright ©2023 EXA CORPORATION 21
  21. Q:GitHub Copilotは有効? あなたにとって Copilotは有効? YES どちらかというとYES どちらともいえない どちらかというとNo No 肯定的

    ユーザ観点 品質 コスト 納期 会社にとって Copilotは有効? YES どちらかというとYES どちらともいえない どちらかというとNo No 肯定的 組織として考えると Copyright ©2023 EXA CORPORATION 22
  22. 結果 まとめ • 品質:微増 コスト:◎ 納期:◯ • SEランクB以上推奨 • 品質:ー

    コスト:未計測 納期:◯ • 組織導入推奨 ユーザ観点 組織観点 Copyright ©2023 EXA CORPORATION 23
  23. 目次 (4/4) • GitHub Copilot • 検証方法 • 結果 •

    考察 Copyright ©2023 EXA CORPORATION 24
  24. 考察 • 時短ツール • Copilot導入→納期効率向上→コスト効率向上 • 経験・スキルが必要 • AI生成物の良い・悪いの判断速度 •

    サンプル2は単独でWebアプリ実行環境構築技術が必要→差が開いた • ユーザ評価だけでは見誤る可能性あり • SEが評価すると機能・性能に目が行きがち • “何で”作るか、にいつのまにか固執してしまう • コスト指標の設定は難しい Copyright ©2023 EXA CORPORATION 25
  25. コスト指標の難しさ • ツール費用の扱いによりCPIの値が大きく変化する 57% 56% Copilotなし Copilotあり CPI (計画時に予算組み込み済み) 82%

    92% Copilotなし Copilotあり CPI (計画時に予算未組込) 82% 93% Copilotなし Copilotあり CPI (費用は販管費持) -0.73% +10.07% +10.53% ※実装の助っ人としてCopilot臨時投入 Copilot費用は実コスト(人件費)に加算 ※全SEにCopilot配布済み 費用は本部損益時に原価に ✕ ✕ ✕ ※PMP作成時点でツール費用組み込み済み ツール導入効果による納期短縮は行わなかった PV: AC: ✕ ✕ PV: AC: PV: AC: ✕ ✕ PV: AC: ✕ PV: AC: ✕ ✕ PV: AC: ✕ ✕ Copyright ©2023 EXA CORPORATION 26 Copilotを人件費として扱う 計画予算 実コスト
  26. 他の生成AIツールの組織観点評価に 評価可能とする条件 • 業務シナリオ2つ、定量評価可能なテスト • 母集団標本数に見合う参加者数 サンプル業務1 サンプル業務2 ✕ ツールあり

    ツールなし ✕ ツールなし ツールあり ✕ 【組織観点】 開発後 完了アンケート提出 【ユーザ観点】 組織としての 導入判断 Copyright ©2023 EXA CORPORATION 28
  27. 【サンプルシステム】概要 サンプルシステム1 サンプルシステム2 画面サンプル 作業内容 Web画面の実装 Webアプリの実装 提供資料 • 画面仕様書

    • 実装サンプルリンク • 画面/処理仕様書 • 画面モック(HTML/CSS) • DBファイル(SQLite3) • 実装サンプルリンク 開発言語 HTML/CSS/JavaScript 自由選択 ※参加者が選択した言語は以下の通り • Java 2名 • Python 3名 • Node (JavaScript) 7名 プ レ ゼ ン テ ー シ ョ ン ア プ リ ケ ー シ ョ ン デ ー タ プ レ ゼ ン テ ー シ ョ ン ア プ リ ケ ー シ ョ ン デ ー タ Copyright ©2023 EXA CORPORATION 30 参考
  28. Earned Value Management (1/3) • プロジェクト管理手法の一つ • 人月ではなくコストでプロジェクト管理 0 20

    40 60 80 1月 2月 3月 4月 5月 6月 プ ロ ジ ェ ク ト 計 画 ・ 実 績 ( 累 積 人 月 ) 計画 実績 ¥0 ¥20,000,000 ¥40,000,000 ¥60,000,000 ¥80,000,000 1月 2月 3月 4月 5月 6月 プ ロ ジ ェ ク ト 計 画 ・ 実 績 ( 累 積 金 額 ) 計画(PV) 実績(AC) ×単価 ×単価 人月では計画通り 実コストは計画遅延 時間単価を加える 参考 Copyright ©2023 EXA CORPORATION 31
  29. Earned Value Management (2/3) 各自毎月完成率が異なる →実コスト×完成率=出来高(EV) をもとに管理 0 50000000 100000000

    1月 2月 3月 4月 5月 6月 プ ロ ジ ェ ク ト 計 画 ・ 実 績 ( 累 積 金 額 ) 計画(PV) 実績(AC) ×完成率 ×完成率 ¥0 ¥20,000,000 ¥40,000,000 ¥60,000,000 ¥80,000,000 1月 2月 3月 4月 5月 6月 EVM 計画(PV) 実績(AC) 出来高(EV) 週報 各アクティビティの 完成率を加える いるだけでコスト消費する →実コストで大丈夫? 出来高で評価 参考 Copyright ©2023 EXA CORPORATION 32
  30. Earned Value Management (3/3) 出来高と計画予算、実コストの差で評価 (¥10,000,000) (¥8,000,000) (¥6,000,000) (¥4,000,000) (¥2,000,000)

    ¥0 1月 2月 3月 4月 5月 6月 E V M ( 累 積 差 異 ) スケジュール差異(SV) コスト差異(CV) 累積差異をグラフにすると プロジェクトの遅れの進み具合を 傾きで確認できる 0% 50% 100% 150% 1月 2月 3月 4月 5月 6月 EVM ( 生産性指標) スケジュール生産性指標(SPI) コスト生産性指標(CPI) 残作業効率指標(TCPI) 《残作業効率指標》 計画通りに終わるには今の生 産性の何倍頑張ればいいか 《生産性指標》 メンバの生産性が計画よりどの くらいの比率のパフォーマンス なのかを示す。 人間味がないため 使用を嫌うPMも少なくない 参考 Copyright ©2023 EXA CORPORATION 33
  31. 本検証でのPV(BAC)・EV・ACの算出方法 • 1日のみなのでPV=BACとして計算 • EV算出のための完成度は品質指標を使用 • AC算出時にCopilot費用を加算 計画 予算 PV

    (BAC) 7.5H 時間単価 出来高 EV 7.5H×品質指標 実コスト AC Copilot 無 実コスト AC Copilot有 実作業時間(Copilot無) 時間単価 時間単価 時間単価ツール費用 (円/時間) 実作業時間(Copilot有) 《Copilotあり・なし EV》 《Copilotなし AC》 《Copilotあり・なし PV(BAC)》 《Copilotあり AC》 ✕ ✕ ✕ 参考 Copyright ©2023 EXA CORPORATION 34
  32. GitHub Copilot使用中の通信 <<GitHub>> <<Visual Studio Code>> ファイル名:sample.py 入力コード: # 平家物語

    Print(“祇園精舎の鐘の声” 候補3: Print(“諸行無常の響きあ り”) スコア:0.75 候補2: Print(“諸行無常の響きあり”) スコア:0.75 候補1: print(“諸行無常の響きあり”) ①新規行を入力 ②候補行を提案 ユーザ エンゲージメント コード スニペット OpenAI GPT-3ベース { "id":"chatcmpl-abc123", "object":"chat.completion", "created":1677858242, "model":"gpt-3.5-xxxx", "usage":{ "prompt_tokens":13, "completion_tokens":7, "total_tokens":20 }, "choices":[ { "message":{ "role":"assistant", "content":"¥n¥nprint(“諸行無常の 響きあり”) " }, "finish_reason":"stop", "index":0 } ] } 《ユーザエンゲージメント》 日時:XXXX/XX/XX XX:XX:XX ユーザID: XXXXX イベント:提案却下 《コードスニペット》 { "model": "gpt-3.5-xxxx", "messages": [{"role": "user", "content": "ファイル名:sample.py というソースコードに以下の入力コードが記述さ れました。 ### # 平家物語 print(“祇園精舎の鐘の声” ### このコードの続きを記述してください。"}], "temperature": 0.7 } Copyright ©2023 EXA CORPORATION 36 参考
  33. 【母集団】グループ構成 • 参加申込順に振り分け→各6名 0 10 20 30 経験年数 (Gr.1) 0

    10 20 経験年数 (Gr.2) 平均6.2年 1 3 2 SEランク(Gr.1) A B C 2 0 4 SEランク(Gr.2) A B C グループ1 グループ2 平均 7.4ポイント/時 平均 8.7ポイント/時 全体平均7.1年 全体平均 7.5ポイント/時 平均8.0年 Copyright ©2023 EXA CORPORATION 37 参考
  34. 【サンプルシステム】ボリューム • ボリューム: システム1<システム2 • 難易度: システム1<システム2 0 100 200

    300 400 500 サンプル1 サンプル2 論理LOC(行) 5.6 5.8 6.0 6.2 6.4 6.6 6.8 7.0 7.2 サンプル1 サンプル2 作業時間(時間) 83% 52% 100% 100% 0% 20% 40% 60% 80% 100% 120% サンプル1 サンプル2 E2Eテスト・潜在リスク E2Eテスト合格率 潜在リスク回避率 ※検証結果より Copyright ©2023 EXA CORPORATION 38 参考
  35. 生成AI (Generative AI) 明確な定義は存在しない テキスト生成:ChatGPT(GPT-4)、GitHub Copilot(Codex) 画像生成:MidJourney、Stable Diffusion、Adobe Firefly 音声生成:VALL-E、MusicLM

    クリエイティブかつ現実的な、 全く新しいオリジナルのアウトプットを生み出すAIのこと ※Webサイト AI/機械学習の用語辞典「生成系AI(Generative AI)とは」より引用 ※呼称もいくつか.. 拡散モデル 大規模言語モデル 基盤モデル.. Copyright ©2023 EXA CORPORATION 40
  36. ChatGPTはAI、”関数”である Neural Network Playground • AIがどのように学習していくか • を視覚的に理解できるサイト • 第3次AIブーム初期に流行した

    • 2クラス分類器の訓練 • 青点、橙点の2クラス • 隠れ層×4の重回帰モデル • 右端の図 • 渦巻き:評価データ • 背景色:学習済みAIの挙動 級数展開された関数のパラメータ値が学習/評価データに合致するように少しずつ調整されていく 訓練が進むと、評価データ(右端)の青・橙の境界が調整されていく挙動が確認できる AI Copyright ©2023 EXA CORPORATION 42
  37. ChatGPTは”言語モデル”である • “文”の出現確率=すべての単語の出現確率をかけあわせたもの • 入出力データを”文”に拡張→文章に • 対話 • 要約 •

    翻訳 (言語)モデルの名称 • Sequence2Sequence • LSTM • Transformer • BART • GPT-3, GPT-4 • Llama2 言語モデル:単語の出現確率を用いて表現 • 次に登場する単語を予測 • 入力:直前のテキスト • 出力:次の単語 私 は 昨日 友達 と ? 入力 出力 スコア トイレ 富士山 学校 公園 0.55 0.53 0.09 0.01 《高スコアの単語群》 1つ選択 Copyright ©2023 EXA CORPORATION 43
  38. 言語モデルの精度向上が困難な理由 学習データ問題 • 目的に応じた学習データが大量に必要 • 要約→原文+要約済み文章 • 翻訳→原文+翻訳済み文章 • 対話→発話文+応答文

    • 目的が明確ではない場合の学習データの用意は特に困 難 • 自然対話..自然とは?! • 何をもって”正解”? Copyright ©2023 EXA CORPORATION 44
  39. 性能の良いモデルの発見 Transformer • 2017年に発表されたモデル • 特に「翻訳」性能を向上させた • Self-Attentionを初めて導入 • 並列処理の効率化

    • 音声、画像などへの汎用性 • 派生モデルBARTがさらに精度向上 2017/12/6 arXiv論文『Attention is all you need』より引用 Copyright ©2023 EXA CORPORATION 45
  40. 自己教師あり学習:単語当て問題を解く • 隠しを移動させることで、1文から複数の学習データが • 目標が明確でない文章を学習データに 「また、昨今のリモート環境で 改めて の重要性が高まってきています。」 可能性の高いもの •

    ①名詞、②形容詞、③動詞.. • リモート環境で必要となるモノ・コト • 「昨今の」、「改めて」から、以前から重要だったモノ・コト ? ※答え「1on1」 大量に用意できる! Copyright ©2023 EXA CORPORATION 46
  41. 自己教師あり学習:特徴量抽出の活用 1. 「単語当て」を訓練 2. 目的に応じた学習データで訓練 穴あき 文 特徴量抽出 内部表現 単語予測

    単語 使わずに捨てる 特徴量抽出 内部表現 目的に合わせて 新たに加えた層 質問文 回答文 訓練によるモデル更新を行う モデル更新しない 知識 ルール Copyright ©2023 EXA CORPORATION 47
  42. 言語モデルの「冪乗則」 • 言語モデルにおいて、以下の要素でべき乗則が成り立つ • 大規模言語モデルで、性能が急に向上する べきじょう ※2020年1月ジョンズ・ホプキンス大学、OpenAIの両研究者による論文より引用 グラフは対数値であるため直線になっている X軸 Y軸

    学習データ量 検証データの予測誤差 パラメータ数 投入計算量 モデル名称 学習データ量 パラメータ数 MMULスコア(%) GPT-1 (2018) 4.5GB (約30億トークンと推定) 1.2億 - GPT-2 (2019) 40GB (約280億トークンと推定) 15億 32.4(微調整あり) GPT-3 (2020) 570GB (4000億トークン) 1750億 43.9 53.9 (微調整あり) PaLM (2022) 7800億トークン 5400億 69.3 75.2 (微調整あり) GPT-4 (2024) 未発表 (1兆トークン以上と推定) 未発表 (1兆以上と推定) 86.4 ※岩波書店刊岡野原大輔著「大規模言語モデルは新たな知能か」より引用 MMUL:数学、歴史、計算科学など57のタスクで構成される世界についての 知識や問題解決能力を評価する指標 トークン:言語モデルにおける単語の単位、英語では4~6文字/トークン、 日本語では1~2文字程度/トークン Copyright ©2023 EXA CORPORATION 48
  43. まとめ • 性能の良いモデルが発見された • 単語当て問題により学習データ不足を克服 • AI内部にできあがった知識・ルールをもとにモデルを再編 • 冪乗則を信じ、物量作戦をかけた なぜ応答性能が急にあがったのか?

    単語当てをひたすら解く 文中から予測するために 必要な情報とななにかを 自分なりに把握する なんとなく把握したら 対話文をひたすら学ぶ 文が理解できるようになる 学習データ、パラメータ数、 計算量を爆発的に増やす 応答性能が 急に向上する 《冪乗則》 ※劇的な性能向上へ 《自己教師あり学習》 Copyright ©2023 EXA CORPORATION 49
  44. 生成AIの可能性:仕事が変わる • 従来の業務ツールが変わる • 検索 • Office製品 • 画像編集 •

    専門知識をもつ業務支援エージェントが増える • 法律、会計、医学 • 教師、メンタルケア、推奨商品紹介 • 司会、ファシリテーション いろんな仕事への活用を 紹介する雑誌も増えている ホワイトカラーを中 心とした 仕事のやり方が変 わっていく 使いこなす時代に 突入 日本は母国語で 高度教育が可能な特殊な環境 Copyright ©2023 EXA CORPORATION 50
  45. 生成AIの課題:偽情報と信頼性 幻覚 (Hallucination) • 存在しない情報を生み出してしまうこと 原因①:機械学習における「汎化」 • 無限の未知データに対応できる反面、誤った関係や事実を生み出してしま うこと 原因②:機械学習における「破滅的滅却」

    • 機械学習モデルは記憶が苦手 • 新しいことを学習すると、過去に覚えていたことを忘れ、壊してしまうこと も モデルサイズを巨大化することで、ある程度防ぐことができる Copyright ©2023 EXA CORPORATION 52
  46. 生成AIの課題:偏見と公平性 • 潜在的バイアスの認識と正しい対応が求められる • 「あたりまえのこと」?:明示的ルール化されていない 《対策案の一例》 潜在的バイアスチェックリスト Copolot評価時に試験的に作成 要定期的更新 •

    潜在的バイアスの分類 • 分類別チェック項目 「あたりまえ」すぎるので ほとんど不合格にならない • チェックリスト以外の方法の検討 • “なれ”による”もれ” 事件・事故を教訓 に更新していく 2014/1/9 BITmedia NEWS 『人工知能学会、 新学会誌の表紙問題 で公式見解 「女性差別の意図はない」』 2014/1/9 AITmedia NEWS 『人工知能学会、 新学会誌の表紙問題 で公式見解 「女性差別の意図はない」』 2014/1/9 ITmedia NEWS 『人工知能学会、 新学会誌の表紙問題 で公式見解 「女性差別の意図はない」』 Copyright ©2023 EXA CORPORATION 53
  47. 主な言語モデル • 2010 RNN: Recurrent Neural Network • 2014 LSTM:

    Long Short-Term Memory • 2015 Attention • 2017 Transformer • 2018 BERT • 2018 GPT 言語モデルを発展させた Transformerに絞って理解する Copyright ©2023 EXA CORPORATION 57
  48. Transformer • 2017年に発表されたモデル • 特に「翻訳」性能を向上させた • Self-Attentionを初めて導入 • 並列処理の効率化 •

    音声、画像などへの汎用性 • 派生モデルBARTがさらに精度向上 2017/12/6 arXiv論文『Attention is all you need』より引用 Copyright ©2023 EXA CORPORATION 58
  49. トークン化・位置情報も含むベクトル化 • 入力文をn-Gram分割し単語に分割 • 単語をID化→embedding • 位置エンコーディング結果を連結 そ れ は

    犬 で す それ は 犬 です トークン化 ベクトル化 《embedding》 ベクトル 位置ベクトル ベクトル 位置ベクトル ベクトル 位置ベクトル ベクトル 位置ベクトル 位置エンコーディング 《positional encoding》 Copyright ©2023 EXA CORPORATION 59
  50. Attention機構 ベクトル 位置ベクトル ベクトル 位置ベクトル ベクトル 位置ベクトル ベクトル 位置ベクトル それ

    は 犬 です それ は 犬 です Queryベクトル そ れ は 犬 で す Keyベクトル それ は 犬 です Valueベクトル 線形変換 それ は 犬 です それ 0.85 0.08 0.34 0.61 は 0.02 0.85 0.02 0.05 犬 0.21 0.06 0.85 0.52 です 0.03 0.04 0.21 0.85 それ は 犬 です それ X.X X.X X.X X.X は X.X X.X X.X X.X 犬 X.X X.X X.X X.X です X.X X.X X.X X.X 確率分布 期待値 × 単語同士の相関関係をあらわす 同じベクトルデータから 変換 →Self-Attention Scaled Dot-Product Attention 通常のAttentionは 単語の注目度のみだった QとKの内積を正規化し 確率分布化 Copyright ©2023 EXA CORPORATION 60
  51. シングルヘッド・マルチヘッド Single Head Attention ヘ ッ ド アテンションの結果 ※1つの観点でのアテンション Multi

    Head Attention ベクトル 位置ベクトル それ は 犬 です ベクトル ベクトル ベクトル 位置ベクトル 位置ベクトル 位置ベクトル Scaled Dot- Product Attention Scaled Dot- Product Attention Scaled Dot- Product Attention Scaled Dot- Product Attention Scaled Dot- Product Attention ヘ ッ ド ヘ ッ ド ヘ ッ ド ヘ ッ ド ヘ ッ ド 連結・線形変換 ※複数の観点でのアテンション ベクトル 位置ベクトル それ は 犬 です ベクトル ベクトル ベクトル 位置ベクトル 位置ベクトル 位置ベクトル Copyright ©2023 EXA CORPORATION 61
  52. エンコーダ・デコーダ そ れ は 犬 で す E m b

    e d d I n g Multi Head Attention Qベクトル Kベクトル Vベクトル 《エンコーダ》 _ E m b e d d I n g Multi Head Attention 単語的意味をもつ Multi Head Attention 文脈的意味をもつ 《デコーダ》 予測した次の単語をデコーダの入力へ Qベクトル Kベクトル Vベクトル I am a dog New I am a Qベクトル Kベクトル Vベクトル Copyright ©2023 EXA CORPORATION 62