LLMの推論能力を上げる|ステップバック・プロンプティングとは

※このnoteは、以下の論文を参考に作成しています。論文:Take a Step Back: Evoking Reasoning via Abstraction in Large Language Models


ステップバック・プロンプティングとは

ステップバックプロンプティングは、大規模言語モデルの推論能力を向上させる手法の一つ。

具体的な問題解決ではなく、問題の背後にある原則や概念を探り、物事の本質に迫ることができます。

たとえば、数学の問題。単に答えを出すのではなく、その問題がどの数学的原則から派生しているかをまず考える。そうすることでより根本的な理解に基づいて答えを導き出すことが可能になります。

従来のプロンプティングと異なるところ

ステップバックプロンプティングは従来のプロンプティングとは異なる点は、以下の通りです。

従来のアプローチ:
→直接的な回答を求める

ステップバックプロンプティング:
→大規模言語モデルに抽象的な思考を促す

例えば、歴史の質問について。単に日付や出来事を答えるのではなく、まずその時代の社会的文脈や影響を考えます。これにより深い分析と理解ができ、質問の背後にある意味を探ることができるようになります。

ステップバックプロンプティングの例

ステップバックプロンプティング(STEP-BACK PROMPTING)の実例として、論文には2つの例が書かれています。

理想気体の圧力に関する物理問題

元の質問: 理想気体の圧力Pは、温度が2倍、体積が8倍になった場合、どうなるか?
ステップバック質問: この問題の背後にある物理原理は何か?
抽象化: 理想気体の法則PV = nRTを適用することで、圧力P、体積V、物質量n、気体定数R、温度Tの関係を理解する。
推論: 温度が2Tになり、体積が8Vになると、新しい圧力はP = nR(2T) / 8Vとなり、圧力は4分の1に減少する。

エステラ・レオポルドの教育歴に関する問題

元の質問: エステラ・レオポルドは1954年8月から11月の間にどの学校に通っていたか?
ステップバック質問: エステラ・レオポルドの教育歴はどうなっているか?
抽象化: エステラ・レオポルドが取得した学位とその年代を確認することで、彼女の教育歴を把握する。
推論: 彼女が1951年から1955年までイェール大学で博士課程に在籍していたことから、1954年8月から11月の間はイェール大学に通っていたと推測する。

"エステラ・レオポルドの教育歴に関する問題"について見てみましょう。

元々は「エステラ・レオポルドは1954年8月から11月の間にどの学校に通っていたか?」という質問(プロンプト)だったものが、ステップバック質問を用いることで「エステラ・レオポルドの教育歴はどうなっているか?」に変化しています。

質問を抽象化することで、元々の質問に対する推論をしやすくなっているのが分かります。

使い方

それでは、このステップバックプロンプティングをどのように使えばいいのか考えてみます。

上記の「ステップバックプロンプティングの例」では「ステップバック質問」が記載されていますが、そもそもステップバック質問を思いつけなければ始まりません。

ということで、ステップバック質問をChatGPTに考えてもらおうと思います。

例1:ブログ記事の作成

以下のようにChatGPTに尋ねてみます。

ゴール:ブログ記事を作成し、サイトにアクセスを集める
成果物:ブログ記事を作成するためのアウトライン

上記を達成するためのステップバック質問を作成してください。

回答は、以下。

# ブログ記事作成に向けたステップバック質問

## ターゲットオーディエンス
- 誰をターゲットにしていますか?具体的にどのような情報を求めていますか?

## ユニークな価値
- 競合と比較して、私たちのブログ記事が提供するユニークな価値は何ですか?

## 戦略
- アクセスを集めるための主要な戦略は何ですか?SEO、ソーシャルメディア、Eメールマーケティングのどれを重視しますか?

## 成功の測定
- 成功をどのように測定しますか?どのメトリクスを使用しますか?

## コンテンツ戦略
- この記事はサイト全体のコンテンツ戦略にどのように組み込まれますか?

## トピック選定
- トピックはどのように選定しますか?トレンド、検索ボリューム、ユーザーフィードバックのどれに基づきますか?

## 編集プロセス
- コンテンツのクオリティを保証するための編集プロセスはどのように設けますか?

## リソースと予算
- 記事のプロモーションに必要なリソースと予算はどの程度ですか?

## ユーザーエンゲージメント
- ユーザーエンゲージメントを高めるために、どのようなインタラクティブな要素を含めるべきですか?

## 管理と更新
- 記事の更新と維持管理はどのように計画しますか?


これらの質問は、ブログ記事を作成する前の計画段階で深く考えるための出発点となります。

ブログ記事の作成にあたり必要な要素を、入力したプロンプトから一歩引いて(ステップバックして)考えてくれています。

例2:モテる方法

次に、女の子にモテる方法のステップバック質問を尋ねてみます。

女の子にモテたいです。
上記を達成するためのステップバック質問を作成してください。

ChatGPTからの回答は、以下の通りです。

# 女の子にモテたいためのステップバック質問

1. **動機の理解**: なぜ女の子にモテたいと思うのですか?
2. **目標の定義**: 「モテる」とはあなたにとってどういう意味ですか?
3. **自己改善のポイント**: あなたが女の子にとって魅力的に映るためには、どのような資質や行動が必要だと思いますか?
4. **成功体験から学ぶ**: 過去に女の子と良好な関係を築けた経験はありますか?あれば、その時はどのような行動を取っていましたか?
5. **具体的な目標設定**: あなた自身のどのような点を改善すれば、より魅力的になれると思いますか?
6. **価値観の確認**: 女の子とのコミュニケーションで大切にしていることは何ですか?
7. **ターゲットの明確化**: どのようなタイプの女の子にモテたいですか?また、そのタイプの女の子はどのような人に惹かれると思いますか?
8. **第一印象の重要性**: 自分の外見やファッションについて、どのように感じていますか?改善する余地はありますか?
9. **関係構築の共通点**: 女の子に対してどのような関心を持っていますか?共通の趣味や興味はありますか?
10. **自己プレゼンテーションの改善**: 自分自身をどのように表現していますか?もっと自信を持って表現する方法はありますか?

これらの質問は自己反省を促し、女の子にモテるための個人的な目標に焦点を当てた改善へと導くためのものです。

「女の子にモテたい」というざっくりしたゴールに対しても「動機の理解」「目標の定義」「自己改善のポイント」など抽象化を行い、「そもそも論」から考えてくれています。

まとめ

ステップバックプロンプティングを使うことによって、入力したプロンプトを抽象化して推論がしやすくなりました。

ゴールを達成するための過程をより明確にするために「ステップバック質問」は活用できます。

1. ざっくりしたゴール+ステップバック質問を作成するように依頼
2. 抽象化した要素をアウトプットしてもらう
3. ゴールを達成するために必要だと思う部分を深掘りして、アクションプランに落とし込んでもらう

という3ステップで進めると、ChatGPTをより効果的に使えるのではないかと思います。参考まで。

参考資料


この記事が気に入ったらサポートをしてみませんか?