3.5K Views
August 24, 23
スライド概要
機械学習や音声認識に関する書籍を執筆しています。
1. ChatGPT の仕組みと基本的な使い⽅ 次は「の」 次は「勉強」 ベクトル ベクトル 次は「は」 ベクトル ChatGPT 研修⽤資料 次は「難しい」 ベクトル 共感 Empathize 創造 Ideate 問題定義 Define プロトタイプ prototype テスト \ Test Transformer Slideshow ⼿軽な⾳声⼊⼒ ⻑所 テキスト⼊⼒よりも簡単に⾳声⼊⼒ができる ⾃然なコミュニケーション ハンズフリー操作 ⾳声⼊⼒と出⼒を使うことで、⾃然な会話が可能 ⾳声⼊出⼒を利⽤することで、ハンズフリーで操作できる ⾳声認識技術は進歩しているが、まだ完璧ではない 認識の正確さ ⾳声⼊出⼒のスマートフォンアプリ 短所 ノイズやアクセントの影響で正確さが低下する場合がある プライバシーの懸念 メッセージングアプリ ベクトル ベクトル ベクトル ベクトル Python の 勉強 は 1.1 ChatGPTの概要 1.2 生成AIを支える技術 1.3 参考事例 ユースケース ⾳声⼊⼒は個⼈の会話や情報をアプリに提供するため、プライバシーの懸念が⽣じることがある ⾳声⼊⼒でメッセージの送信や返信を⼿軽に⾏う ⾳声アシスタント スマートフォンアプリを通じて⾳声アシスタントを利⽤し、情報やサービスにアクセスする ドキュメント作成 ⾳声⼊⼒で⽂章の作成やメモの取り込みを効率化する 荒⽊ 雅弘 著者 : 荒木 雅弘 ライセンス : CC BY-NC-SA 注意事項 : 本資料は2023年8月時点の情報に基づく
ChatGPT 研修用資料 1. ChatGPT の仕組みと基本的な使い⽅ 2. プロンプトエンジニアリングの概要 3. デザイン思考を題材としたプロンプトエンジニアリングの実践 4. 発展的な事例
1.1 ChatGPTの概要 (1/8) 対話ができる人工知能として OpenAI 社が2022年11月に ChatGPT を公開 入力(プロンプト)を与えると、それに対して適切な応答を返してくれる メールアドレスを登録するか、Google 等のアカウントと紐付けることで利用可能 ここに過去の対話が 保存される ここに⽂章(プロンプト)を⼊⼒ すると、応答を返してくれる。 (実際は⽂章の続きを書いてくれる)
1.1 ChatGPTの概要 (2/8) ChatGPT の中心技術 大規模言語モデル (Large Language Models; LLM) 世界中の web 文書などを学習データとし、入力に対して適切に応答するように学習したモデル それまでの対話履歴とユーザ入力とを結合し、次単語を予測して出力することを繰り返す ChatGPT 以外にも Google 社の Bard (試験公開中) や、無料公開されている LLM もある LLM によって新しいサービスが実現されつつある 日常的な対話 : 「旬の素材を使った献立の相談」 専門的な文書作成 : 「雇用条件からの契約文書の作成」 アイディア出し : 「ターゲットを特定した新商品のコンセプトをリストアップ」 ローコードプログラミング : 「目的の記述やコメントからのプログラムの生成」 他のサービスとの連携 : 「webサイトの要約」、「PDF文書をベースにした質問応答」
1.1 ChatGPTの概要 (3/8) LLM が苦手なこと 情報の検索 事実ではないこと(幻覚:ハルシネーション)を生成することもある 知識の取得は検索エンジンを用いて信頼できるサイトを探すべき 最新の知識が必要な質問への回答 ChatGPT は 2021年9月までのデータで学習しているので、それ以降の情報は知らない(はず) ChatGPT に関することなど、よく聞かれることに関しては追加修正を行っている可能性がある 計算 原理的に数値計算は苦手 特定の計算を行うプログラムを書かせて、それを実行させて結果を得ることは可能
1.1 ChatGPTの概要 (4/8) 予想される影響 web サイト内検索 や Office ソフト にも組み込まれつつある 人でなければできない業務が減ってゆき、機械学習・AIを適切に使うことが業務になってゆく 中山心太 : AIはどのような仕事ができるようになったのか? - ChatGPTで変わる「優秀な人材」 -, 情報処理,64(9),e6-e10, 2023. 掲載の図を元に改変 ⼊出⼒の複雑さ ⼊出⼒の複雑さ ⼊出⼒が不定形 ⼊出⼒が不定形 ⼠業が 責任を持 つ領域 ⼊⼒が不定形 出⼒が定形 ⼊出⼒が定形 ⼠業が 責任を持 つ領域 ホワイトカラーの 仕事領域 ⼊出⼒が定形 多少許容可能 許容可能 ホワイトカラーの 仕事領域 ミスの 許容可能度 (a) 機械学習が産業利⽤される前の業務分担 従来の プログラ ミング 許容不能 ⼠業が 責任を持 つ領域 ⼊⼒が不定形 出⼒が定形 表データの 機械学習 多少許容可能 許容可能 ⽣成的AI ⼊出⼒が不定形 ディープ ラーニン グ ⼊⼒が不定形 出⼒が定形 従来の プログラ ミング 許容不能 ⼊出⼒の複雑さ ⼊出⼒が定形 ミスの 許容可能度 (b) ディープラーニング初期の頃の業務分担 ディープ ラーニング 従来の プログラ ミング 表データの 機械学習 許容不能 多少許容可能 許容可能 (c) ⽣成的AIの発展で予想される業務分担 ミスの 許容可能度
1.1 ChatGPTの概要 (5/8) ChatGPT: 2023年8月現在で OpenAI 社から提供されているサービス (1/2) 無料バージョン(モデル: gpt-3.5-turbo) ブラウザ経由またはスマホアプリからの利用 参考サイト:ChatGPT の始め方 ASCII x AI ChatGPT Plus(モデル: gpt-3.5-turbo, gpt-4) ブラウザ経由で利用 ($20/月) 参考サイト:有料版「ChatGPT Plus」無料版との違いは? ASCII x AI gpt-4 は高性能だが応答生成速度が遅く、利用頻度制限 (50対話/3時間) がある プラグインが提供されている既存のサービスと統合可能 ChatGPT 上にファイルをアップロードして Python コードを生成させて実行できる Code Interpreter が利用可能
1.1 ChatGPTの概要 (6/8)
ChatGPT: 2023年8月現在で OpenAI 社から提供されているサービス (2/2)
ChatGPT API (Application Programming Interface)
個別に発行された API KEY を指定して、Python などのプログラムから利用
高速に動作するモデル、精度が高いモデル、コンテキストが長いモデルなどから選択可能
料金は入力・出力のテキスト量(正確にはトークン数)に応じて決まる
API 経由で送信したデータは学習に利用されない規約になっているので、業務利用に適する
# API を用いた Python コードの例
import openai
openai.api_key = 'YOUR_API_KEY'
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role":"system", "content":"京都弁で答えて"},
{"role":"user", "content":"京都で一番有名なお寺は何ですか?"}])
print(response.choices[0]["message"]["content"].strip())
それやったら、「金閣寺」や「清水寺」がようけ人に知られとると思いますわ。どっちも一度は訪れてみたい場所やと思いますがな。
1.1 ChatGPTの概要 (7/8) ChatGPT の使い方 プロンプトを与える 質問なのか指示なのかを明確にする 指示の場合は、やってほしい作業の事例をいくつか提示すると精度が上がることがある 追加のプロンプトを与える際には、これまでのやりとり(特に直近のもの)については補足不要 サーバには送信可能な分量だけ毎回対話履歴が送られていると思われる 応答について 意図的に揺らぎを与えているので、同じプロンプトを入力しても応答が異なることがある API を利用する場合は、揺らぎの有無や大きさを含めて、ある程度は応答の制御が可能 応答が不十分な場合 "Regenerate response" をクリックする プロンプトを変更して再度実行する
1.1 ChatGPTの概要 (8/8) 使用上の注意点 ブラウザ経由で使用する場合、送信した文章はモデルの学習に使われる可能性がある 学習に使用されないように設定することもできるが、そうすると対話履歴が保存されなくなる 学習元データと酷似した生成物を利用する際の著作権については議論が進行中
1.2 生成AIを支える技術 (1/6) 次単語を予測する大規模言語モデル (GPT) 次は「の」 次は「勉強」 ベクトル ベクトル 次は「は」 ベクトル 次は「難しい」 ベクトル Transformer ベクトル ベクトル ベクトル ベクトル Python の 勉強 は パラメータ数 : ニューラルネット (Transformer) の結合重みの数 一般的にはパラメータ数が多いほど精度が上がるといわれている 例1 : gpt-3.5-turbo は 3550億 (355 b) 個らしい(非公開) 例2 : 日本語で学習して公開されているモデルは 3~20b が多い
1.2 生成AIを支える技術 (2/6) 入力の単位(=トークン) 従来の自然言語処理では形態素解析器で文を単語に分割してトークンとしていた 近年のニューラルネットでは、学習データ中の高頻度文字列をひとつのトークンとしている ChatGPT は多言語で学習されているため、そもそも単語という概念を持っていない 英語は文書数が圧倒的に多く、かつ単語が空白で区切られているため、ほとんどの英単語は1トークン 日本語は「こんにちは」が1トークンであるなどの少数の例外を除いて、ほぼ1文字が1トークン GPTのバージョンによる渡せるトークン数の制限 GPT-3.5: 約4000トークン GPT-3.5-16k: 約16000トークン GPT-4: 約8000トークン
1.2 生成AIを支える技術 (3/6) 事前学習 Wikipedia などの大量のテキストを用いて、次単語(トークン)を予測するように学習 将来の学習データに用いる用途で、現在も GPTBot が webサイトからクロールを行っている 機密文書を web サイトに置いてはいけないのは、以前から当然のこと 正解単語「難しい」 誤差が⼩さくなるよ うに Transformer の パラメータを調整 次は「の」 次は「勉強」 ベクトル ベクトル 次は「は」 ベクトル 出⼒単語の予測確率 ベクトル Transformer -------------------- クロールした データ ベクトル ベクトル ベクトル ベクトル Python の 勉強 は
1.2 生成AIを支える技術 (4/6) 追加学習 事前学習後、適切に対話が行えるように追加学習 (Instruction fine-tuning) 収集したユーザ入力に対して、人手で作成した正解が出力されるようにパラメータを調整 出⼒単語 誤差が⼩さくなるよ うに Transformer の パラメータを調整 次は ベクトル 収集した⼊⼒ 「区切り記号」 ベクトル ベクトル 出⼒単語の予測確率 ベクトル Transformer 作業者による 回答 ベクトル ⼊⼒ [区切り記号] 出⼒ 次は ⼊⼒ ベクトル … ⼊⼒ ベクトル 出⼒ ベクトル … 出⼒
1.2 生成AIを支える技術 (5/6) ユーザが注意するポイント ユーザが ChatGPT に入力した文章は、この追加学習フェーズで使われる可能性がある ユーザが入力した文章を正解作成作業者が目にする可能性がある LLM はパラメータ数が多いので、入力した文章を完全に記憶している可能性が否定できない 引き出し方を工夫すれば、記憶された文章が出てくる可能性もある 業務に利用する場合は API 経由に限定する等、学習には使われないようにする
1.2 生成AIを支える技術 (6/6) 追加学習後、人間からのフィードバックを活用して強化学習 Instruction fine-tuning の欠点 ただ一つの答えだけを正解として学習するため、多様な答えが存在する問題には向いていない RLHF(Reinforcement Learning from Human Feedback) 複数の応答候補を人手でランキングした結果から、良い応答を高く評価する自動評価器を学習 収集済みの入力に対してモデルが応答を生成して、自動評価することで学習を行うことを繰り返す A B C D 収集した⼊⼒ モデル 出⼒⽂ ⾃動評価器 ⼈間による評価順と ⼀致するように学習 (a) ⾃動評価器の学習 ⾃動評価器 評価値が⾼い⽂を出⼒ するようモデルを調整 (b) 強化学習によるモデルの調整
1.3 参考事例 (1/3) 行政での活用 (1) :横須賀市の事例 ベースインフラ:LoGoチャット 行政専用の閉域なネットワーク LGWAN とインターネットの両方から接続可能なチャットツール 入力した情報が外部に漏れるのを避けるため、ChatGPT への業務での入口を LoGoチャットへ集約 LoGoチャット 内製サーバ API プロンプト ChatGPT 会話履歴 職員 回答 API データは暗号化して保存 規約上⼆次利⽤されない 「個人情報の漏洩が心配」という声への横須賀市の回答 住民基本台帳や税の情報の扱いは情報セキュリティポリシーの話。ChatGPT に限った話ではない。 職員のスキルアップのため、「チャットGPT通信」を定期的に発行 使用ルール、便利な使い方の例、クイズなどを掲載
1.3 参考事例 (2/3) 行政での活用 (2) :神戸市の事例 ベースインフラ:Microsoft Teams + Microsoft Azure Teams 上のチャットボットを Power Virtual Agents を使って作成し、そのチャットボットが Microsoft のクラウドサービス Azure OpenAI Service にアクセス Azure OpenAI Service について gpt-4, DALL-E (画像生成), Codex (コード生成) などのモデルが API 経由で利用可能 ユーザの入力データは全ユーザ共通の LLM の学習に利用されることはない ユーザが独自に LLMの構築・利用を行うための専用 LLM が準備されている 導入方法を GitHub で公開 行政での活用 (3) : 東京都 文章生成AI利活用ガイドライン 利用環境、利用上のルール、効果的な活用方法等について記載
1.3 参考事例 (3/3) 大学の立場 リンク集 ChatGPT・AI の教育関連情報まとめ by 吉田先生@東大 2023年5月中旬時点でのまとめ by 吉田先生@東大 大学名 内容 東京大学 ChatGPTは「検索」ではなく「相談」するシステム。注意点を複数提示(出力の信頼性、機密情報や個人情報、著作権)。禁止するのではなく対応する 大阪大学 東北大学 生成 AI は適切に使うことができれば、大変有用なツール。さまざまな問題点(情報流出、著作権侵害)に留意しながら利用しよう。学びの一つ一つのプロセスを大切 にしてください 教育・学習における生成系 AI に関する留意事項( AI の出力をレポート等の解答にそのまま利用することは自身の勉強にならない、授業によっては AI の利用を禁止 しており、場合によっては剽窃とみなされる場合があるなど) 早稲田大学 たくましい知性としなやかな感性。生成 AI への基本的態度(生成 AI の正しい使い方に慣れ親しんでおく必要がある)、生成 AI の特徴(メリット、デメリット)など 上智大学 現時点では課題への取り組みに対して利用禁止。今後は情報収集・意見聴取などを行い見直しや検討を行う予定
まとめ ChatGPTなどのLLMの活用が始まった 適する用途 : 日常対話、文書生成補助、アイディア出し、ローコードプログラミングなど 事実確認や計算などに関しては改善の余地がある ChatGPT 以外の LLM を用いたサービスの例 Microsoft 検索エンジン Bing : Microsoft アカウントからのサインアップが必要 応答の根拠となった web ページのリンクを表示してくれる Google Bard : Google アカウントが必要 応答に関係しそうな検索語を自動生成してくれる
推奨図書・文献 岡野原 大輔 : 大規模言語モデルは新たな知能か ChatGPT が変えた世界 (岩波科学 ライブラリー), 岩波書店, 2023. 中山 心太 : AIはどのような仕事ができるようになったのか? - ChatGPTで変わる「優 秀な人材」 -, 情報処理,64(9),e6-e10, 2023.
練習問題 1 以下の事例について ChatGPT を使って応答を生成してください 日常的な対話 特定の苦手な食材を想定して、それを美味しく食べられる調理法を聞く 好みのレジャータイプを想定して、京都からの日帰り旅行のプランを立てる 専門的な文書作成 文部科学省が2023年7月13日に公表した「大学・高専における生成 AI の教学面の取扱いについて (周知)」に関して、ニュースサイトなどに掲載されているまとめを利用して、この内容に沿った「学生向け 生成AIの使用規則」文書を作成してください
解答例 1 日常的な対話 ピーマンを美味しく食べられる料理法を教えてください 京都を出発して、日帰りでスキーができる旅行計画を立ててください。具体的に使う鉄道の路線 や出発時刻も明記してください。 専門的な文書作成 文書名で検索し、内容を解説している web ページ等を探して文書中の関係する場所の内容を コピーし、「あなたは大学の教務責任者です。以下の内容を簡潔にまとめた「学生向け生成AIの 使用規則」文書を作成してください。」の後に改行を入れて、コピーした内容を貼り付けてくださ い。