文章や画像を自動生成してくれるアプリが登場し、ますますAIの活躍が広がる昨今、にわかに注目を集めているのがプロンプトエンジニアリングと呼ばれる技術です。
一体どんな物なのか、具体的になにができるのか確認していきましょう。
プロンプトエンジニアリングって一体なに?
「プロンプトエンジニアリング(Prompt Engineering)」とは、AIの中でも特に自然言語処理を担う言語モデル(LM/Language Model)を効率的に使用するため、言語モデルへの命令を開発・最適化するスキルのことを言います。
自然言語処理とは、人間の言葉を機械で処理して内容を抽出することを意味し、人間がコミュニケーションで使う「話し言葉」から、論文などに用いられる「書き言葉」に至るまで、それぞれの言葉が持つ意味を様々な方法で解析、処理します。
言語モデルは単語の出現確率をモデル化したものをいい、この言語モデルへの命令をプロンプトと言います。
最近、文章や画像をAIが自動生成してくれるアプリが登場していますが、これら高品質なデータを生成できるAI技術のことを「Generative AI」といいます。プロンプトは、このGenerative AIに入力する指示文のことで、質問や命令といった形で入力することになります。
Generative AIをフルに活用するには、このプロンプトの形成が非常に重要になります。質問の仕方を間違えたり命令の出し方が不十分だったりすると、望む結果を得ることはできません。
とはいえ相手はあくまで機械なので、こちらの機微を察してくれるようなこともありません。
そこで必要になってくるのがプロンプトエンジニアリングのスキルで、これによってAIが生成する結果の精度を上げたり、作業の効率化を達成することができるようになります。
プロンプトエンジニアリングは、AIが人間の指示を理解し正しく結果を出力するために必要なスキルであり、自動生成AIの活用が今後も広がって行くことを考えると、ますます重要性が増し、かつ必要とされていくことは間違いありません。
AIは非常に便利な存在ですが、決して万能ではなく、人間の意図通りに結果を出力できなかったり、質問に正しく答えられないといったことも当然起こり得ます。
プロンプトエンジニアリングはそのAIの欠点を補う技術であり、特にAIの苦手分野である新しいタスクや複雑なタスクを実行するときに力を発揮します。
プロンプトエンジニアリングでできること
ChatGPTは、アメリカのOpenAI社が開発したAIチャットボットです。
様々な質問や要望に対して文章で回答を行ってくれます。
ここではそんなChatGPTに利用できるプロンプトエンジニアリングとして
- Zero-shot Prompting
- Few shot Prompting
- Chain-of-Thought Prompting
の3つを解説していきます。
①Zero-shot Prompting
「Zero-shot Prompting」は、事前知識を与えることなく直接質問を提示するプロンプトのことです。
例えば「地球の人口は?」「アメリカの首都は?」といった質問は、事前知識や条件設定などを行わなくてもAIは正確な答えを出すことができます。AIは膨大なデータを用いて学習し指示通り機能するよう調整されているため、一定の水準で回答を出すことができるのです。
短いシンプルなプロンプトで済む一方で、Zero-shot Promptingは複雑な質問に対しては適切な答えをAIが返してくれないというデメリットがあります。
②Few shot Prompting
Zero-shot Promptingでは不十分なときに、プロンプト内に例を出してより精度を高めるテクニックを「Few shot Prompting」といいます。
例えば単純に「りんご」と入力しただけでは、AIは何を返せば正解なのか理解してくれません。
しかし「犬→dog・机→desk・車→car」という例を提示しておけば、「日本語→英語」という形式を正しく理解し、「りんご」という問いかけに対して「apple」という答えを出力してくれます。例の数が多ければ多いほど適切な回答をする確率は高まる傾向があり、難易度の高いタスクの場合は例を増やして試すことが可能です。
文章を自動生成させる場合でも、例文を入れておけば構成もそれに合せて出力させることができます。ただし複雑なタスクはFew shot Promptingでも対応できないことがあり、その場合はより工夫したプロンプトが必要になります。
③Chain-of-Thought Prompting
「Chain-of-Thought Prompting(連想型プロンプティング)」とは、AIが苦手としている推論能力を改善するための手法で、AIに連鎖的な思考をさせることで出力精度を高めるテクニックです。
具体的には質問と回答という単純な例で回答生成を促すのではなく、間に「中間段階付きの回答」を挟むことで、中間段階も生成させるというやり方です。
「マイケルは10個のおかしを持っています。友達に3つあげた後、自分で2つ食べました。マイケルは今おかしをいくつ持っていますか?/答えは5つです」
という標準的な例に対し、
「マイケルは10個のおかしを持っています。友達に3つあげたので残りのおかしは10-3=7です。その後自分で2つ食べたので、残りのおかしは7-2=5です。したがって、マイケルは今おかしを5つ持っています」
というのがChain-of-Thought Promptingの例題となります。
実際に活用されているサービス
プロンプトエンジニアリングが活用されているサービスはたくさんあります。
具体的なものを確認していきましょう。
ChatGPT
ChatGPTは、アメリカのOpenAI社が開発した自然言語処理に特化したAIを用いたチャットサービスです。膨大なテキストデータを学習しており、まるで人間のような自然な会話が行えることから一気に有名になりました。
これまでのAIは人間が与える「質問」に対し予め「回答」が用意されていたのですが、ChatGPTは「質問」に対して最適な答えを「予測」しているので、幅広い質問に精度の高い回答を返すことができるのです。会話の他にもできることとして、プログラムの自動生成やデータ整理など複数の例が挙げられ、今後ますます活用が広がって行くと予想されています。
Bing
BingはMicrosoftの検索エンジンです。ここにAIチャット機能が加わりました。
MicrosoftがOpenAIのChatGPT開発に対して重点的に投資している関係で、BingにはChatGPTの技術がかなり応用されています。
会話をしたりコンテンツを作成したりするほかに、画像やイラストも生成できることが特徴で、検索エンジンと関連付けることで、最新の情報を盛り込んだ回答を行える点も強みだといえます。回答には情報ソースのリンクも生成され、信頼性の点でも評価されています。
Bingは無料で利用することができ、有料プランはありません。
Rytr
Rytrは、アメリカに本社を持つRytr LLCが運営しているAIライティングアシスタントツールです。簡単な情報を入力するだけで、ブログ記事や広告コピーなどを自動で生成してくれます。
自動生成だけではなくリライトや文章コンテンツの拡充など、文章をアップデートするための便利な機能が搭載されており、世界中多くのユーザーに活用されています。
文章のトーンを複数の選択肢の中から簡単に指定できるという点も、多くのブロガーに支持される理由の一つでしょう。
Bard
Titan
Perplexity.ai
Stable Diffusion
Stable Diffusionは、AI画像生成ツールの一つで、ユーザーが生成したい画像の具体的なイメージを英単語でテキスト入力することで、様々な画像を出力してくれます。
ドイツのミュンヘン大学研究チームが開発し、「絵が描けなくても文字から画像が出せる」という点が注目され一気に有名になりました。
思い通りの絵を描かせるためのプロンプト生成がユーザーの大きなテーマとなっています。
ただし、学習データにウェブ上で公開されている画像が使用されており、その中には当然著作権で保護されている画像も含まれていることから、問題点も指摘されています。
Adobe Firefly
Midjourney
DALLE2
BlenderGPT(3DCAD)
Versy(VRデータ)
Voice.ai(音声)
Deep Nostalgia(アニメーション)
ますます広がるAIの活用
AIの活用が広がって行く中、AIに適切な答えを出力させるためのプロンプト技術が注目されています。AI活用にはリスクや課題もまだまだ多いため、それらを回避するためにもプロンプトエンジニアリングが必要とされているのです。