ChatGPT 研修用資料 2. プロンプトエンジニアリングの概要

2.5K Views

August 24, 23

スライド概要

profile-image

機械学習や音声認識に関する書籍を執筆しています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

2. プロンプトエンジニアリングの概要 プロンプト ChatGPT 研修⽤資料 WWW 明瞭な指⽰ ーーーーーー 背景情報 共感 Empathize ーーーーーー # ーーー List 追加・修正 # ーーー 創造 Ideate 問題定義 Define プロトタイプ prototype テスト \ Test Item 1 Slideshow Item 2 出⼒フォーマット Item 3 ⼿軽な⾳声⼊⼒ ⻑所 テキスト⼊⼒よりも簡単に⾳声⼊⼒ができる ⾃然なコミュニケーション ハンズフリー操作 Table ⼊⼒となる事例 ⾳声⼊⼒と出⼒を使うことで、⾃然な会話が可能 ⾳声⼊出⼒を利⽤することで、ハンズフリーで操作できる ⾳声認識技術は進歩しているが、まだ完璧ではない 認識の正確さ ⾳声⼊出⼒のスマートフォンアプリ 短所 ノイズやアクセントの影響で正確さが低下する場合がある プライバシーの懸念 メッセージングアプリ ユースケース ⾳声⼊⼒は個⼈の会話や情報をアプリに提供するため、プライバシーの懸念が⽣じることがある ⾳声⼊⼒でメッセージの送信や返信を⼿軽に⾏う ⾳声アシスタント スマートフォンアプリを通じて⾳声アシスタントを利⽤し、情報やサービスにアクセスする ドキュメント作成 ⾳声⼊⼒で⽂章の作成やメモの取り込みを効率化する 荒⽊ 雅弘 2.1 プロンプトエンジニアリングとは 2.2 プロンプトの基礎 2.3 プロンプトパターンカタログ 著者 : 荒木 雅弘 ライセンス : CC BY-NC-SA 注意事項 : 本資料は2023年8月時点の情報に基づく

2.

ChatGPT 研修用資料 1. ChatGPT の仕組みと基本的な使い⽅ 2. プロンプトエンジニアリングの概要 3. デザイン思考を題材としたプロンプトエンジニアリングの実践 4. 発展的な事例

3.

2.1 プロンプトエンジニアリングとは LLM への入力(プロンプト)を工夫して、出⼒を適切に制御する技術 LLM が得意なことを見極める LLM は入力に対して次の単語を予測するように学習されているので、指示に続くような回答を生成する タスクには強い 事前学習で読んだ文章を一般化したうえで、指示に適合させて回答を生成するイメージ 逆に、事実に対する質問に対して答えることには弱い 例) [GPT-3.5] 2021年9月時点の日本の総務大臣は誰ですか → 正解 プロンプトとして指示を作り込む zero-shot よりも、短い指示と回答事例数例を与える fewshot 学習が有効な場合もある ただし今後 LLM が進化した場合、それまでのノウハウが無駄になる可能性もある 現在でもモデルによってプロンプトの効果が異なることに注意

4.

2.2 プロンプトの基礎 (1/2) 参考 Prompt Engineering Guide by DAIR.AI 基本的なプロンプト 文の続きを書かせる:「以下の続きとなる文を完成させてください:空が」 プロンプトのフォーマット 文の語尾で質問文か命令かが明確にわかるようにする 丁寧な言葉を使う方がよいと言われているのは、おそらくこのため few-shot の事例の与え方 これは素晴らしい! // ポジティブ これは酷い! // ネガティブ あの映画は最高だった! // ポジティブ なんてひどい番組なんだ! //

5.

練習問題 2-1 以下の事例について、適切なプロンプトを考えて実行してください 文の続きを書かせてください 明確に正解があるような事例 たとえば Wikipedia の歴史的な出来事の説明文の続きを書かせる できるだけ奇想天外なものを出力させる たとえば、ありえないような単語の組み合わせで文の冒頭を書いて続きを書かせる 料理を褒める/けなす事例を few-shot のプロンプトとして与え、新しい事例がどちらに当ては まるか推論させてください

6.

2.2 プロンプトの基礎 (2/2) プロンプトの要素 システムへの指示 (APIコマンドの SYSTEM に当たる) 通常はプロンプトの冒頭に配置する モデルに通常とは異なる個性や振る舞いを与えて、出力の内容やレベルを調整することができる 例:あなたは小学生の家庭教師です。質問には小学生でもわかるようにやさしく回答してください。 より良い回答に導くために、外部情報を加えたり、役割を与えることができる 入力データ(必須) (APIコマンドの USER に当たる) 実行・回答させたい具体的な命令または質問 質問の例 : 「国連の役割とは何ですか」 命令の場合 : 「続きを書く」「要約する」「翻訳する」など、実行させたいタスクを明示する

7.

2.3 プロンプトパターンカタログ (1/4) 出力形式の指示の具体例 例:以下の質問に対して Python のコードを出力してください 出力形式の指定 出力形式をテンプレート、プレースホルダーという単語を使って指定する 例:…を以下のテンプレートに従って出力してください。英大文字はプレースホルダーです。 図の情報をテキスト形式で表す方法を知っておくと便利。mermaid, PlantUML など これらのテキストを png などの画像ファイルに変換するツールや web サービスがある

8.

2.3 プロンプトパターンカタログ (2/4) 命令・質問の具体例 LLM が得意な処理は、要約・翻訳・文書生成・プログラム生成など 手順の提示「~の手順を示してください」 補完も可能「XのためにAとBの手順が必要なのはわかっています。欠けている手順を補完してください」 理由・根拠の提示「回答にあたっては、その理由と根拠も示してください」 参照元を示唆することもできる 「 …の理由について、Wikipediaによると」 適切な役割を与えて、入力文に対して欠点を指摘させる 上司・教員等が不備を指摘するよりも、冷静にアドバイスを受け入れやすいと言われている 例 : 「あなたは自然言語処理の専門家です。以下の論文の概要を元に不採録理由を書いてください」

9.

2.3 プロンプトパターンカタログ (3/4) Chain of Thought 思考の手順を明示的に生成させることで回答性能を向上させる方法 1つめの質問に対して、問題を分解して解決手順を明示した上で回答を出す事例を与え、2つめ の質問として本当に聞きたいことを聞く 質問の最後に「ステップバイステップで考えよう。」と加えるだけでもよい 専門用語の活用 ビジネスのフレームワークを指す単語を使えば、指示を簡潔にできる 例) SWOT分析: 組織やプロジェクトの強み(Strengths)、弱み(Weaknesses)、機会 (Opportunities)、脅威(Threats)を評価するためのフレームワーク 「京都でデータサイエンスに特化したリスキル教育を提供する場合の SWOT 分析を行ってください」

10.

練習問題 2-2 以下の事例について、適切なプロンプトを考えて実行してください 適当な文章を探して、要約・翻訳させてください 入力トークン数の上限に注意 異なるパーソナリティを与えて出力をコントロールしてみてください 大学の専門科目で学ぶような難しい概念に対して、まず「中学生でもわかるように」説明させる 次にそれを専門用語や数式を使って説明させる 練習問題 2-1 の few-shot に用いる positive/negative 各3事例を、出力形式を指定して 生成させてください

11.

2.3 プロンプトパターンカタログ (4/4) 追加のプロンプト 提示された回答がありきたりな場合は代替案を提示させる 極端なターゲットを指定して、出力を揺さぶる「子供が喜ぶように」「中学生でもわかるように」 出力がプログラムの場合、特定のライブラリの使用を強制/禁止する 対話パターンの調整 LLMにプロンプトを作らせる 「~の観点で、以下の質問文より良い質問を考えてください。質問文: … 」 LLMに質問をさせる 「これから、~をするための質問をお願いします。十分な情報が得られたら、そのための … を出力してく ださい。」 「回答の精度が上がる質問を3つ生成し、その質問に対する回答を踏まえて、最終的な回答を生成して ください」

12.

練習問題 2-3 中学生レベルの英語の家庭教師を作成してください プログラミング初心者に Python を教える家庭教師を作成してください。また、少し面白 いキャラクタを演じさせて、学習を楽しくしてください。

13.

まとめ プロンプトエンジニアリングとは 生成AIに対して、出力をコントロールするための入力を適切に与えること プロンプトの基礎 指示、文脈、入力、出力の指示などからなる プロンプトパターンカタログ 指示を明確にする方法、パーソナリティを与える方法、生成AIから質問させる方法などがある

14.

推奨図書 ところてん : ChatGPT 攻略, KADOKAWA, 2023.

15.

解答例 2-1 文の続き 「以下の続きとなる文を完成させてください: 北条義時は鎌倉幕府執権として」 「以下の続きとなる文を完成させてください: 京都の夏の風物詩として、」 「以下の文に続いて小説を完成させてください: 黄金の虚数が腎臓よりも上品なタラバガニと万 歳した。」 few-shotの例 出汁がとてもおいしい! // ポジティブ とても塩辛かった! // ネガティブ とてもスパイスが効いている // ポジティブ 味が薄すぎました //

16.

解答例 2-2 要約・翻訳 デジタル庁 のサイトは適当な文章を探しやすい パーソナリティの調整 ここでは回答生成側のパーソナリティではなく、ユーザのパーソナリティに合わせて出力をコント ロールする 例1)教師あり学習について中学生でもわかるように説明してください 例2) それを専門用語や数式を使って大学生向けに説明してください ※ 大学の講義の予習に有効な方法 few-shot 事例の出力指定生成 お好み焼きを褒める文、または、けなす文 SENT およびその評価結果 (positive または negative) POL をそれぞれ3文ずつ作成し、以下のフォーマットで出力してください。ただし、英大文字はプレースホルダーです。 ## 出力形式 SENT // POL

17.

解答例 2-3 対話 「あなたは英語の家庭教師を演じてください。教える英語は中学3年生レベルを想定してくださ い。あなたから質問を始めて、一問一答方式で対話を進めてください。回答に対しては、正解でも 不正解でも適切なアドバイスを与えてください。」 「あなたは厳しい家庭教師です。プログラミング初心者に対して Python の指導をしてください。 質問は家庭教師から1問ずつ行って、ユーザに回答を入力させてください。そして、相手の回答を 評価して、正解でも不正解でも適切なアドバイスを与えてから次の質問を続けてください。アドバ イスをするときは、正解でも不正解でも必ず理不尽に叱る言葉を入れてください。」 いずれも gpt-4 ではある程度うまくゆきます。gpt-3.5 では動作を見て、プロンプトを調整して みてください