Zero-Shot
これ何?わかりやすく
あらかじめ情報を伝えずに、質問のみを投げかけるプロンプト
条件や例文をプロンプトにかかないため、シンプルで楽ちん
タスクの指示を与える感じ。
これやって!
これ何?教えて!
具体例
プロンプトって何?
以下の文章を要約して。
"""
私たちは、一連の中間推論ステップである思考の連鎖を生成することが、大規模言語モデルが複雑な推論を行う能力を大幅に向上させる方法を探求します。特に、十分に大きな言語モデルでは、いくつかの思考の連鎖の実例をプロンプトとして提供するというシンプルな方法である「思考の連鎖プロンプト」によって、そのような推論能力が自然に現れることを示します。
"""
なぜ、これが可能なの?
LLMは、膨大なデータを用いて学習されているから。
Zero- Shotを改善させるには?
注意点
複雑な質問に対しては精度が悪いというデメリットもある
Zero-Shotプロンプトがうまくいかないときは、Few-Shotプロンプトを使う 今のプロンプトエンジニアリングって、Zero-shotでタスクを解決する。というのが主眼になっているように見えます。
https://scrapbox.io/files/657efae32abbb90023db1fa1.png
グラフ見ると一目瞭然ですが、ぶっちゃけのFew-Shotの方が明らかに性能が良いわけです。パラメータが大規模になればなる
ほどそれは顕著です。ようするにGPT-4とかも、そっちのほうが良いわけです。
モデルの性能の指標的には、Zero-shotの性能が向上するというのは興味深いのは間違いなのですがが。
が、数個から10個程度サンプルだけで大きく性能が改善する手法がすでにあるわけです。最強のZero-Shotを見つける。より、雑なFew-Shotの方がいいだろうなーというのは、なんとなく想像通りかと。Zero-Shotに命をかけるより、複数のExample少し入れたやったほうがよっぽど精度が高いのです。
OpenAI の推奨でも、まず、Zero-shot、次にFew-Shot、ダメなら、ファインチューニングをと言っている https://scrapbox.io/files/657d052939332e00233ce97f.png