連載 vol.6
LLMを日常生活に導入していこう
みるめも(https://mirumi.me)というブログをやっている みるみ といいます。本業はソフトウェアエンジニアで、毎日プログラムかブログを書いている…という人間です。しばらくの間、IT 技術を中心に幅広いネタで寄稿させていただくこととなりました。どうぞよろしくお願いいたします。
ChatGPTがリリースされた衝撃の日からちょうど2年くらいが経とうとしています。思えば2022年の夏から秋にかけてはMidjourneyやStable Diffusionなどの画像生成AIが話題を集めていたタイミングでしたが(この時点で既にとんでもない技術進歩を目にしている気がしました)、その数ヶ月後にChatGPTがリリースされ、これをもっていよいよ人類のステージはひとつ先へ進んだのだろうと思われました。筆者もリリース後数日は1日中対話をしてあれこれ試したものです。
「人類の進歩」という言い方は決して誇張表現ではないと今でも思いますが、その後多くの人がAIの利活用を探求していく中で、いわゆる「生成AI驚き屋」のような人たちが大量に現れたのを見て、なんとなく触るに至らなかったという方も多いのではないでしょうか。結局「なんかすごい」だけで実生活の役に立つものではないのでは、という疑念です。
少なくとも筆者はそう考えていません。この2年間ChatGPTなどのAIを使わない日はほとんどなかったことからも、間違いなく生活必需品になったといってよいなという感覚です。孫正義氏は「ChatGPTを使っていない人は人生を悔い改めたほうがいい」とまで言いましたが(1)、そこまでではないにしろ、まだ日常的に使っていない方がいるのであればぜひこの便利さを知ってもらいたいなと思い今回のテーマとしました。
本稿は、対話型生成AIの簡単なしくみを知ることから始め、日常生活でどう使っていくかの指針の紹介、そして実利用における細かいノウハウも紹介するような内容になっています。もしまだどのAIも使ったことがない方は、ぜひこの機会にアカウントを作成し実際に触りながら読み進めてみてくださいね(2)。
基本的なしくみ
本稿では、今後ChatGPTなどのAIのことをLLMとよびます。LLMとは大規模言語モデル(Large Language Models)のことで、生成AIの一種です。
名前からわかる通り、LLMは「たくさんの文章を学習したプログラム」だと捉えるといいでしょう。実はこの学習の結果から「質問に対するそれらしい回答」を行っているだけで、そこに「思考」はありません。単にその精度が尋常ではなく高いだけなのです。
この話を瞬時に理解できる非常にわかりやすい概念図があるので紹介します。【画像1】
文章は「トークン」とよばれる単語のような塊ごとに生成されていきますが、この過程で「次に来るべき最もふさわしいであろうトークンが選ばれ続けているだけ」です。実際にはここにランダム性が加わり、ある程度のゆらぎを持ったものとして動作します(全く同じ質問をしても一言一句同じ文章での回答が返ってくるわけではない)。
この2年の間でも各LLMは恐ろしいほどの成長をしていて、もはや人間と会話している以外の感覚がないほどなのですが、こうなると我々人間とは一体…ということでSFの領域になってしまいますから、今回はこの辺にしておきましょう。実際、普段LLMを利用するうえで理解しておくべきなのはここまでで十分です。
インターネット検索との棲み分け
日常生活でLLMを使おうといっても、実際にどのようなシーンで使うのか想像がつかないかもしれません。これについては具体例を示すのがよいと思えたので、完全に筆者のユースケースに限定されはしますが、いくつかのポイントにまとめて紹介してみます:
・ 何か調べるとき
→基本的にすべてLLMを使う
・ 非常に難解で何をどこから調べるべきかわからないようなものに臨みたいとき
→LLMを使う
・ 自分の理解や考えが正しいか確認したいとき
→LLMを使う
・ 特定のサイトへ行きたいとき
→従来通りの検索をする
・ 「 ◯◯とは」や「◯◯発売日」など答えがほぼ一意であると思われるものについて知りたいとき
→従来通りの検索をする
・ 最新情報、時事ネタ、刻一刻とデータが変わるものなどについて知りたいとき
→従来通りの検索をする(3)
簡単に言うと、これまで「ググる」だった作業は基本的にすべてLLMへの質問に置き換わりました。反対に、知りたいことが高いレベルで局所化されていたり、「調べる」という行為が特定のサイトへ行くことそのものを意味している場合、これまでと同じようにキーワードを用いた検索を行います。
例えば税金について知りたいことがあるとしましょう。インターネット検索しか使えない場合、自分の状況に適合させるために何度も部分的に検索した結果を自力で組み合わせて「こういうことだろうか?」と推測していかなければなりません。これに対し、こちらの状況を提示して質問できるLLMがいかに強力かは想像に難くないです。
一方で、今日の株式市場について何か知りたいときはインターネットで検索するべきですし、"google"のスペルを確認したいときも同様です。わざわざ長ったらしい質問文を日本語で書いて対話する必要はありません。
どんなタスクがLLMに向いているのか、またはそうではないのか、これらは「LLMは人間界にある膨大な量のテキストを学習した(だけの)ものである」という前節の内容を理解しておけば十分に予想することができるのです。
コンテキストの共有
ChatGPTリリース時に最も驚いたのは、一度質問してそのあと会話を続けたとき、以前にやりとりした内容をふまえた回答がなされる点でした。これを見たときクラっとしたのを今でもよく覚えています。
これこそ単なるインターネット検索とは一線を画すアドバンテージです。前節の時点ではあくまでも「一回の質問と返答」を前提としたものでしたが、そうではなく、例えば最初の回答でわからなかった点を細かく掘り下げたり、その質問の回答を踏み台に次の質問に移ることさえ可能です。この便利さを知ってしまうと単なるインターネット検索にはなかなか戻れなくなるのではないでしょうか。
現在の対話型AIではどれも「チャット」という形でコンテキストが区切られており、同じチャットで会話された内容は以降ずっと影響力を持つ、ということになっています(各レスの"距離"が離れるとコンテキストが弱まるという特徴がありますが、これについては後述します)。
さらに、ひとつのチャットよりさらに広い意味でのコンテキストの共有もあります。それはカスタムプロンプト、システムプロンプトなどとよばれる、LLMの利用方針を定義するようなレベルでの指示です。例えば自分の性格や回答の好み、職業や趣味を伝えておくことで、無駄な回答を減らしたりより読みやすいものにカスタマイズすることができる、といった具合です。
「自分は既にその領域にある程度詳しいけど、いまはそのプラスアルファについて知りたいんだ」というようなシーンは多いと思いますが、このようなとき余分な前提説明をお互いに省けるのは非常にストレスフリーで気持ちがよいです。まさにコンテキストが共有されている状態、といえそうです。
言語モデル本体以外の機能性はLLMの製品ごとに差が出やすい部分なので、パーソナライズド機能などに着目して自分のパートナーを決めるというのもよい選択だと思います。
質問のコツを知る
ある程度LLMを適切なシーンで使えるようになったという前提で、より高品質な回答を得るための細かいコツも知っていきましょう。
ノウハウとしては以下のようなものがあります:
・ チャットの最初で条件や前提などの背景を共有し、自分が回答を得たい領域にトップダウンでフォーカスしていく
・ 質問は構造的に(箇条書きや順序立てた説明が効果的。さらには返答内容をもJSON(4)などによって構造化させられます)
・ 聞きたいことが複数あったとしても、比較的関係が薄いと思われる場合には一緒にせず別々で質問する(回答文のテキスト量には暗黙的な上限があるため、説明が必要な範囲が広がるほど個々の内容の詳細度は必然的に下がっていきます)
・ コンテキストは時間が経つと弱まるので重要なものは再掲するなどしてコントロールする
・ 堂々巡りを感じたらチャットを一新するか「一旦これまでのことはすべて忘れてください」などのプロンプトでリフレッシュする(A案が提案された→問題があるので別の案を希望→B案が提案される→これも問題があったのでさらに別の案を希望→C案が出ずにA案に戻ってしまうことが多い)
最後の2つあたりなどはまだ「機械っぽさ」のようなものに起因するテクニックですが、おそらく今後早いうちに改善されていくのではと考えています。
実際、モデルがバージョンアップされたことによって細かい使用感は変化してきています。この2年間で各モデルが目覚ましい成長を遂げていることは先に述べた通りですが、その過程で不要になったテクニックもたくさんあるのです(例:回答がイエスなのかノーなのかはっきりさせるために質問文の最後を明示的に書く、回答例と点数を先に例示してから高得点を狙ってもらうような制御をする、など)。
手法が目的になってしまわないように気をつけるのはもちろんのこと、AIではなく人間とのコミュニケーション力アップだと思って向き合っていくのがいいのかもしれませんね。
「回答内容が信頼できない…」という場合には?
とはいえ、こう思っている方もおられるかもしれません。「回答された内容が正しいことが前提になっている気がするけど、正しくないことを言われても気づけないのでは? 怖くて使えないよ」と。これについて筆者の考えを述べましょう。
まず、これまでのインターネット検索で主に情報源としていたサイトはどんなものだったでしょうか。種々様々ではあると思いますが、中には誰が運営しているかわからないような収益だけが目的のサイトも混ざっていたかもしれません。これによる情報の質低下を防ぐため、多くのサイトを確認したり、キーワードを変えて何度も検索し直したりする必要がありました。この過程で人の判断に依存した情報の取捨選択が行われている点も重要です。正しい回答を組み上げられる可能性と同じだけ、誤った結論に至ってしまう危険性も孕んでいます。
LLMはインターネットを含めた膨大な情報の学習結果なので、上記のプロセスも同様に経ていると考えることができます。さらに、最も一般的でそれらしい回答を行うという性質から、ごく一部の誤った理解や言説は概ね無視され、より「正しいであろう」回答が出力されることが期待できます(5)。
それでももしLLMを使い始めた最初の期間に「内容が正しくないかもしれない」という不安が拭えないようなら、回答された内容について答え合わせをするようなインターネット検索を併用することをおすすめします(実際、いまでもLLMの理解が怪しいかもと感じた場合には別途検索を行って確認することはあります)。しかし、ある程度の回数その手順を繰り返した段階でこの「動作確認」は普段はやる必要は全くないであろうということに気づけるはずです。それは自分で手を動かしたからこそ得られる納得感であり、その後安心してLLMを使っていける貴重な根拠になっていくことでしょう。
日常の情報源を変えるというのはかなり不安があるものだと思いますが、上記のように少しずつ安全さを維持しつつLLMに慣れていってみてください。
おわりに
GPTシリーズが急激な進化を遂げた過程で、「なぜAIがこんなにもいきなり成長を遂げてしまったのか実はAIの研究者たちもよくわかっていない」という噂が囁かれました。これは完全に都市伝説まがいのものということでもなく、どちらかというと近年のAI研究において特に課題視されている点のひとつでもあります。もし直近2年ほどの技術革新がまたいつ起こるか予測ができないとなると、このブレイクスルーが連続し、いよいよ人間が置いてけぼりになる時代が来てしまうかもしれません。いわゆるシンギュラリティ(技術的特異点)です。
ここ数年は驚くほどの便利さを手にできて非常に心地よい期間ではありますが、今後何が起こるかでいえば不安も含めたワクワク感がありますね。今後の発展から色々な意味で目が離せません。
注
(1) https://www.itmedia.co.jp/news/articles/2310/04/news175.html
(2) 最近のChatGPTなら無料プランでも最新モデルが使えるようになりました:https://openai.com/chatgpt/pricing
(3) LLMは既存のテキストを学習したものですから、そのモデルがまだ学習していない事柄については基本的に答えられません。対話型生成AIをインターネット検索の延長のように捉えてしまうというのはよくある誤解のひとつで、十分気をつけるべき点です。
(4) JavaScript Object Notationのことで、システムを問わず構造的にデータを扱うための非常にポピュラーな方法のひとつです。
(5) これは完全にモデルごとの設計に依存する部分ではありますが、当然のことながらよりオフィシャルで確度が高いと考えられる情報は重要度が高くラベル付けされたりする傾向があるので、インターネット上のすべての情報が同列に扱われるなどということも普通はありません。この意味で、情報の取捨選択が一定のルールに従って統一化されていると考えることができます。
(執筆:みるみ)
(Up&Coming '24 秋の号掲載)
|
Up&Coming |
LOADING