ChatGPT プロンプトエンジニアリングガイドを和訳してみた
以下、dair.aiがGithubで公開しているプロンプトエンジニアリングガイドを、deeplの翻訳を元に修正したものです。
ChatGPT プロンプトエンジニアリング
このセクションでは、ChatGPTに関する最新のプロンプトエンジニアリング技術について、Tips、アプリケーション、制限、論文、追加の読み物などを取り上げています。
トピックス
ChatGPTの紹介
会話のタスクを確認する
ChatGPTとの対話
Pythonノートブック
1. ChatGPTの紹介
ChatGPTは、会話形式で対話できる新しいモデルOpenAIによって訓練されたです。このモデルは、プロンプトの指示に従い、対話の文脈の中で適切な応答を提供するように訓練されています。ChatGPTは、質問への回答、レシピの提案、特定のスタイルで歌詞を書くこと、コードの生成など、さまざまなことを支援することができます。
ChatGPTは、人間のフィードバックからの強化学習(RLHF)を使って学習されます。このモデルは、以前のGPTの繰り返しよりもずっと高性能ですが(有害で真実味のない出力を減らすように訓練されています)、それでも限界があります。具体的な例を挙げながら、その能力と限界のいくつかを取り上げてみましょう。
ChatGPTのリサーチプレビューこちらを使うことができますが、以下の例ではOpenAI PlaygroundのChatモードを使うことにします。
2. 会話のタスクを確認する
以前のガイド](https://github.com/dair-ai/Prompt-Engineering-Guide/blob/main/guides/prompts-basic-usage.md#conversation)では、会話能力と役割プロンプトについて少し触れました。LLMに特定のスタイルで、特定の意図、行動、アイデンティティを持った会話をするように指示する方法について説明しました。
前回の基本的な例で、質問に対してより専門的で科学的な回答を生成することができる会話システムを作成しましたので、復習しておきましょう。
プロンプト:。
以下は、AIリサーチアシスタントとの会話です。アシスタント口調は技術的、科学的です。
人間:こんにちは、あなたは誰ですか?
AI:ご挨拶です!私はAIの研究助手です。今日はどのようなご用件でしょうか?
人間の方です: ブラックホールの生成について教えてください。
AI:
上の例から、2つの重要な構成要素を見ることができます:
チャットボットが何であるかというインテントまたは説明
チャットボットが応答する際に使用するスタイルやトーンを指示するアイデンティティです。
上記の単純な例は、text-davinci-003を使用するテキスト補完APIでうまく動作します。より最近では、OpenAIがChatGPT APIを発表しました(https://openai.com/blog/introducing-chatgpt-and-whisper-apis)。これはより強力で安価なモデルで、gpt-3.5-turboはこの種の機能(チャット補完)のために特に作られました。OpenAIでは、チャット以外のユースケースでも、このモデルをベストモデルとして推奨しています。 ChatGPT APIを使用する他の利点は、大幅なコスト削減(90%)と効率化です。
Snap Inc.やInstacartのような大企業は、すでにChatGPTを利用した会話機能を自社製品に統合しており、パーソナライズされた推奨から自由なショッピング目標まで幅広く対応しています。
3. ChatGPTとの会話
マルチターン会話
ChatGPTの機能のデモンストレーションを始めるために、上記のチャットボットアシスタントの例を使って、その結果について説明します。text-davinci-003と比較して、ChatGPTを動かす gpt-3.5-turbo` モデルは入力としてチャット形式を使用します。このモデルは入力として一連のメッセージを期待し、それらを使って応答を生成します。
入力:
SYSTEM:あなたはAIの研究助手です。あなたは技術的、科学的な口調を使っていますね。
ユーザー:こんにちは、あなたは誰ですか?
アシスタント:ご挨拶です!私はAIの研究助手です。今日はどのようなご用件でしょうか?
ユーザー:ブラックホールの生成について教えてください。
出力:
アシスタント:もちろんです!ブラックホールとは、巨大な星が燃料を使い果たし、自らの重力で崩壊したときにできるものです。この崩壊によって、星は信じられないほど密度が高くなり、光さえも逃れられないほど強い重力場ができます。この帰らざる地点が事象の地平線と呼ばれるものです。事象の地平線を超えた星は、ブラックホールとみなされる...。
上記の例では、入力と出力を簡略化していますが、ChatGPTのチャット補完APIでは、メッセージは特定のフォーマットである必要があることに注意してください。OpenAI PlaygroundのChat Modelを使用した場合のスナップショットを以下に追加しておきます:
この例では、より正式なAPIコールは、以下の例のようになります:
import openai
openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are an AI research assistant. You use a tone that is technical and scientific."},
{"role": "user", "content": "Hello, who are you?"},
{"role": "assistant", "content": "Greeting! I am an AI research assistant. How can I help you today?"},
{"role": "user", "content": "Can you tell me about the creation of black holes?"}
]
)
今後、開発者がChatGPTとやりとりする方法は、Chat Markup Language(略称:ChatML)を介して行われることが予想されます。
シングルターン・タスク
チャット形式では、複数ターンでの会話が可能ですが、text-davinci-003で使用したものと同様の1ターンでのタスクもサポートしています。つまり、ChatGPTを使えば、オリジナルのGPTモデルで実証したのと同様のタスクを実行することができるのです。例えば、以下のような質問応答タスクをChatGPTで実行してみます:
Input:
ユーザー:以下の文脈に基づき、質問に答えてください。回答は短く、簡潔に。答えに自信がない場合は、「Unsure about answer」と答えてください。
背景 テプリズマブのルーツは、ニュージャージー州のオーソ・ファーマシューティカルという製薬会社です。そこで科学者たちは、OKT3と呼ばれる抗体の初期バージョンを作りました。この分子はもともとマウスから採取されたもので、T細胞の表面に結合し、その殺傷能力を制限することができた。1986年には、腎臓移植後の臓器拒絶反応を防ぐ目的で承認され、ヒトへの使用が許可された最初の治療用抗体となりました。
質問です: OKT3はもともと何から作られたのですか?
Output:
ASSISTANT: Mice.
USERとASSISTANTのラベルは、ChatGPTを使用してタスクを実行する方法をよりよく示すために追加していることに留意してください。以下は、Playgroundを使用した例です:
ChatGPTを使ったタスクの実行方法をよりよく示すために、`USER`と`ASSISTANT`ラベルを追加していることに留意してください。以下はプレイグラウンドを使った例です:
![](../img/chatgpt-classic.png)
より正式には、これがAPIコールです(リクエストのメッセージコンポーネントだけを入れました):
``python
CONTENT = """以下の文脈に基づき、質問に答える。答えは短く、簡潔に。答えに自信がない場合は、「Unsure about answer」と答えてください。
文脈 テプリズマブのルーツは、ニュージャージー州のオーソ・ファーマシューティカルという製薬会社です。そこで科学者たちは、OKT3と呼ばれる抗体の初期バージョンを作りました。この分子はもともとマウスから採取されたもので、T細胞の表面に結合し、その殺傷能力を制限することができた。1986年には、腎臓移植後の臓器拒絶反応を防ぐ目的で承認され、ヒトでの使用が認められた最初の治療用抗体となりました。
質問です: OKT3はもともと何から作られたのですか?
答え
"""
response = openai.ChatCompletion.create()
model="gpt-3.5-turbo",
messages=[
{"role": "ユーザー", "コンテンツ": CONTENT}です、
],
temperature=0となります、
)
より正式には、これがAPIコールです(リクエストのメッセージ・コンポーネントのみを記載しました):
CONTENT = """Answer the question based on the context below. Keep the answer short and concise. Respond \"Unsure about answer\" if not sure about the answer.
Context: Teplizumab traces its roots to a New Jersey drug company called Ortho Pharmaceutical. There, scientists generated an early version of the antibody, dubbed OKT3. Originally sourced from mice, the molecule was able to bind to the surface of T cells and limit their cell-killing potential. In 1986, it was approved to help prevent organ rejection after kidney transplants, making it the first therapeutic antibody allowed for human use.
Question: What was OKT3 originally sourced from?
Answer:
"""
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": CONTENT},
],
temperature=0,
)
チャットモデルを指導する
OpenAIの公式ドキュメントによると、gpt-3.5-turboモデルのスナップショットも公開される予定です。例えば、3月1日のスナップショット「gpt-3.5-turbo-0301`」にアクセスすることができます。これにより、開発者は特定のモデルバージョンを選ぶことができます。これはまた、モデルを指示するためのベストプラクティスが、バージョンごとに変わる可能性があることを意味します。
現在のところ、gpt-3.5-turbo-0301では、systemメッセージとは別に、userメッセージに指示を追加することを推奨しています。
4. Pythonノートブック
ChatGPT API Intro … openaiライブラリを使用してChatGPT APIを呼び出す方法について詳しく説明しています。
ChatGPT API with LangChain … LangChainライブラリを使ったChatGPTの機能の使い方をご紹介します。
参考文献
学生の目からChatGPTを見る:TikTokデータの分析】(https://arxiv.org/abs/2303.05349) (2023年3月)
会話型言語モデルとプロンプトエンジニアリングによる研究論文からの正確な材料データの抽出--ChatGPTの例】(https://arxiv.org/abs/2303.05352) (2023/03)
[ChatGPTは視野に入っている: Intelligent Transportationに必要なのは大規模な言語モデルだけなのか】(https://arxiv.org/abs/2303.05382) (2023年3月)
計算弁護士を作る】(https://arxiv.org/abs/2303.05383) (2023年3月)
LLMの合成データ生成は臨床テキストマイニングに役立つか】(https://arxiv.org/abs/2303.04360) (2023/03)
MenuCraft: Interactive Menu System Design with Large Language Models](https://arxiv.org/abs/2303.04496) (2023年3月)
AI生成コンテンツ(AIGC)の総合的な調査】: GANからChatGPTまでの生成AIの歴史](https://arxiv.org/abs/2303.04226) (2023年3月)
イベント抽出におけるChatGPTの実現可能性を探る】(https://arxiv.org/abs/2303.03836)
ChatGPT: Manual Annotationの終わりの始まり?自動ジャンル識別のユースケース](https://arxiv.org/abs/2303.03953) (2023年3月)
ChatGPTは良いNLG評価ツールか? 予備的研究】(https://arxiv.org/abs/2303.04048) (2023年3月)
アフェクティブ・コンピューティングは基礎モデルと一般AIから生まれるか?ChatGPTでの最初の評価 (2023年3月)
UZH_CLyp at SemEval-2023 Task 9: Head-First Fine-Tuning and ChatGPT Data Generation for Cross-Lingual Learning in Tweet Intimacy Prediction](https://arxiv.org/abs/2303.01194) (2023/03)
ChatGPTモデルへの入力のフォーマット方法](https://github.com/openai/openai-cookbook/blob/main/examples/How_to_format_inputs_to_ChatGPT_models.ipynb) (Mar 2023)
ChatGPTは人間の個性を評価できるか? 一般的な評価フレームワーク】(https://arxiv.org/abs/2303.01248) (2023/03)
ChatGPTによるクロスリンガル要約】(https://arxiv.org/abs/2302.14229) (2023年2月)
ChatAug: Leveraging ChatGPT for Text Data Augmentation](https://arxiv.org/abs/2302.13007) (2023年2月)
[ChatGPT先生、私が聞きたいことを教えてください: プロンプトの知識が健康回答の正しさに与える影響】(https://arxiv.org/abs/2302.13793) (2023年2月)
数学的語句問題(MWP)におけるChatGPTの独立評価】(https://arxiv.org/abs/2302.13814) (2023/02)
ChatGPT: A Meta-Analysis after 2.5 Month】(https://arxiv.org/abs/2302.13795) (2023年2月)
チャットで話そう!ChatGPTとの対話: 技術・応用・限界 (2023年2月)
事実を確認し、もう一度試してみる: 外部知識と自動化されたフィードバックによる大規模言語モデルの改善 (2023年2月)
ChatGPTの頑健性について](On the Robustness of ChatGPT: An Adversarial and Out-of-distribution Perspective](https://arxiv.org/abs/2302.12095) (Feb 2023)
ChatGPTのような生成AIモデルは、SPCの実践・教育・研究においてどのように(誤って)使用されうるか?An Exploratory Study](https://arxiv.org/abs/2302.10916)(2023年2月)。
[ChatGPTも理解できるのか?ChatGPTとFine-tuned BERTの比較研究】(https://arxiv.org/abs/2302.10198) (2023年2月)
ChatGPTでプロンプトエンジニアリングを強化するためのプロンプトパターンカタログ](https://arxiv.org/abs/2302.11382) (2023年2月)
ChatGPTでチャットによるゼロショット情報抽出】(https://arxiv.org/abs/2302.10205) (2023年2月)
ChatGPT: Jack of all trades, master of none](https://arxiv.org/abs/2302.10724) (2023年2月)
ChatGPT と DALL-E 2 の意思決定と空間推論に関するパイロット評価】(https://arxiv.org/abs/2302.09068) (2023/02)
ネットユーザー、学者、情報専門家のAIに対する意見 ChatGPTを中心に】(https://arxiv.org/abs/2302.07136) (2023年2月)
ChatGPTにおける言語的曖昧性解析】(https://arxiv.org/abs/2302.06426) (2023年2月)
知識グラフのためのChatGPTと従来の質問応答との比較: 知識グラフチャットボットの現状と今後の方向性](https://arxiv.org/abs/2302.06466) (2023年2月)
ChatGPTと生成AIが科学にもたらすもの】(https://www.nature.com/articles/d41586-023-00340-6) (2023年2月)
科学文献におけるライム病のセンチメント解析のためのBERTとChatGPTの応用】(https://arxiv.org/abs/2302.06474) (2023年2月)
ChatGPTのAI倫理を探る:診断分析】(https://arxiv.org/abs/2301.12867) (2023年1月)
ChatGPT for Good? On Opportunities and Challenges of Large Language Models for Education (2023年1月)
会話型AIの政治思想:ChatGPTの親環境、左リバタリアン志向に関する証拠の収束】(https://arxiv.org/abs/2301.01768) (2023年1月)
信頼性を高める技術 - OpenAI Cookbook】(https://github.com/openai/openai-cookbook/blob/main/techniques_to_improve_reliability.md)
Awesome ChatGPT Prompts】(https://github.com/f/awesome-chatgpt-prompts)
ChatGPTのご紹介】(https://openai.com/blog/chatgpt) (2022年11月)
前項(アプリケーション)
次のセクション(逆境プロンプト)
この記事が気に入ったらサポートをしてみませんか?