Self-Consistencyって何?
どう活用するのか知りたい!
この記事を読むことで、上記のような疑問が解決します。
「Self-Consistency」(自己整合性)は生成AI言語モデル(ChatGPTなど)の出力結果を改善する手法の一つです。
こんにちは、シントビ管理人のアキラです。
今回紹介するSelf-Consistencyを学ぶことで、ChatGPTなどの生成AI言語モデルをさらに有効活用できるでしょう。
今回も文系目線でわかりやすく解説していきます。
それではSelf-Consistencyについて、一緒に学んでいきましょう。
※この記事ではイメージしやすくするために、「生成AI言語モデル」を代表ツールの「ChatGPT」と表記します。他の生成AI言語モデルでも活用できる手法です。
Self-Consistencyとは?
「Self-Consistency(自己整合性)」とは、ChatGPTが同じ質問に対して異なる回答パターンをいくつか出力し、それらの中から最も一貫している(信頼性が高い)答えを選び出す手法のことです。
通常、生成AIにはランダム性があり、同じ質問に対しても異なる答えを出すことがあります。これは、ChatGPTなどの生成AIモデルが、回答を作る際に最も自然に見える文章をつなげて出力しているだけだからです。
単純な計算や知識の場合と異なり、特に推論をするような場合にこの問題は顕著になります。
この点を踏まえて、Self-Consistencyでは、複数回プロンプトを実行して複数の出力を収集し、その中で最も多く繰り返される、または最も共通している答えを採用します。
このSelf-Consistencyを活用することで、ChatGPTの精度向上やエラー回避が期待できます。
「生成AIは嘘をつく」と言われますね。このもっともらしく誤った回答をすることをハルシネーション(幻覚)と呼びます。
Self-Consistencyの実例解説
Self-Consistencyの実例を解説します。
いい事例を作りたかったのですが、何十回繰り返しても完璧な事例を作ることができなかったので、今回はイメージになります。
(ChatGPTの精度が上がっており、簡単な推論は正確に回答します。)
以下の質問に3回推論をして、それぞれの回答を出力してください。
3つの回答を元に、最も頻度の多かった回答と理由を最終的な回答として提示してください。
## 質問
同僚には3人の娘がいる。
ヒント1.全員の年齢をかけると84になる
ヒント2.一番下の子と真ん中の子の年齢の和は、一番上の子の年齢と同じかそれ以下
ヒント3.一番上の子は下の子が0歳の時、自転車で保育園に連れていった
ヒント4.現在1歳の子はいない
3人の娘の年齢は?
赤字の部分がSelf-Consistencyを促すプロンプトです。このプロンプトの回答は以下になります。
この問題を解決するために、以下のように推論を進めていきます。
推論 1
- 全員の年齢をかけると84になる
- 84の因数分解を行います。84 = 2 × 2 × 3 × 7 です。
- この因数を組み合わせて、3つの年齢の積にする必要があります。例として、年齢が 2, 3, 14 の場合を考えます。
- 一番下の子と真ん中の子の年齢の和は、一番上の子の年齢と同じかそれ以下
- 一番下の子をa、真ん中の子をb、一番上の子をc として、a + b ≤ c でなければなりません。
- 一番上の子は下の子が0歳の時、自転車で保育園に連れていった
- 一番上の子が下の子が0歳の時に自転車で保育園に連れていくためには、一番上の子は一番下の子より年齢が上でなければなりません。
- 現在1歳の子はいない
- 全ての年齢が1歳でないことを確認します。
解答1
- 年齢の組み合わせ: 2, 3, 14
- 2 × 3 × 14 = 84
- 一番下の子が2歳、真ん中の子が3歳、一番上の子が14歳
- 2 + 3 = 5 であり、一番上の子(14歳)はこの和よりも年上です。
- 現在1歳の子はいません。
推論 2 〜以下省略〜
最終的な回答
最も頻度の多かった回答: 3, 4, 7
理由:
- 1, 6, 14 の組み合わせは一番下の子が1歳であるため条件に合いません。
- 2, 3, 14 の組み合わせも条件を満たしますが、年齢差の点で推論1で確認した通りにしておくと、一番下の子が1歳でない条件に合うのは3, 4, 7です。
- 3, 4, 7 の組み合わせが最も条件に合致しており、全てのヒントを満たしています。
今回ChatGPT4miniでは正解にはたどり着きませんでした。想定していたこの問題の正解は「2歳,3歳,14歳」です。
4歳が自転車に0歳児を乗せて、保育園にいけるものなのでしょうか…
AIが2/3の確率で正解を導ける問題を作るのは、非常に難易度が高いです。
ただイメージとしては掴んでいただけたでしょう。
このプロンプトのポイントは以下です。
- 複数回推論をさせる
- 出された推論の中で最も多い回答を正解とする
ちなみに推論能力の高いChatGPT4oを使っても正解にはなりませんでした。
「2,3,14」がNGな理由を尋ねたところ、「家族内の年齢構成の違和感」と回答してきました…。(ChatGPT先生、同級生にこのくらいの年の差の兄弟がいましたよ…)
Self-Consistencyの実践活用例
前章で紹介したような複雑な計算と推論を組み合わせるような事例では、まだまだChatGPTを用いるのにはリスクがあります。(そもそもそのような場面はあまりないでしょう)
そこで実践で活用できる事例を紹介します。
以下の質問に3回推論をして、それぞれの回答を出力してください。
3つの回答を元に、最も頻度の多かった回答と理由を最終的な回答として提示してください。
## 質問
カメラを販売する我が社ではECサイトを運営しています。利益アップのために3つのプランを用意しました。どのプランを実行するのが良いですか?
1.カメラのアクセサリーを仕入れてラインナップに加え、クロスセルを狙う。
2.Instagramを始め、カメラで撮り方について投稿し、商品のファンを増やす。そしてECサイトへの流入を増やす。
3.Google広告を行い、ECサイトへの流入を増やす。
## 条件
1.予算は30万円
2.半年以内に成果を出したい
3.プランを実行できる人員は1人
回答結果は以下です。
回答1:
プラン3を実行するのが良いです。
理由:
Google広告を活用することで、短期間でECサイトへの流入を増やすことができます。予算30万円を広告費に充てれば、「半年以内に成果を出したい」という条件にも適しています。また、人員1人でも広告の設定や管理が可能です。
回答2:
プラン2を実行するのが良いです。
理由:
Instagramを始めてカメラの撮り方について投稿することで、ブランドのファンを増やし、長期的な顧客関係を築くことができます。人員1人でも運用が可能で、予算を抑えつつ効果的なマーケティングができます。ただし、半年以内に大きな成果を出すには戦略的なコンテンツが必要です。
回答3:
プラン3を実行するのが良いです。
理由:
Google広告は即効性があり、ターゲットユーザーに直接アプローチできます。30万円の予算で効果的な広告キャンペーンを展開すれば、半年以内に成果を出すことが期待できます。また、人員1人でも運用と最適化が可能です。
最終的な回答:
最も頻度の多かったプラン3を実行するのが良いです。
理由:
プラン3のGoogle広告を活用すれば、短期間でECサイトへの流入を増やし、売上アップが期待できます。予算30万円を広告費に充てることで、「半年以内に成果を出したい」という条件に適合します。また、人員1人でも広告の設定や運用が可能で、リソースを効率的に活用できます。以上の理由から、プラン3が最適な選択と考えられます。
今回の例のように正解を求めるのではなく、アドバイスを求めるような質問の場合には、多いに効果を発揮するでしょう。
複数の選択肢があってアドバイスをもらいたい時、迷った時などに、ChatGPTの力を借りてみてはいかがでしょうか。
ちなみにこの事例ではChatGPT4を使用しています。実践で使う場合には、わざわざ古いモデルを使う必要はありませんね。
Self-Consistencyを活用して、ChatGPTの力を引き出そう!
この記事では、プロンプトエンジニアリングの手法、Self-Consistency(自己整合性)について解説しました。
この手法は、どれも魅力的に見える選択肢の中からどれかを選ばなければならない、というような場合に大きな助けになるでしょう。ぜひ活用してみてください。
仕事に活かすためにプロンプトエンジニアリングを身に付けたい方には、スクール活用が効果的です。
中にはリスキリング補助金で格安で受講できるスクールもあります。以下の記事を参考にしてください。
最後までお読みいただき、ありがとうございました!!