見出し画像

大規模自然言語モデル(LLM)による新しい検索:ChatGPT, Bing, Bard

1.概要

 研究開発職に移動したのに企画っぽい仕事しているKIYOです。仕事で技術シーズ探索をしているのですが2023年2月より検索技術に革命?が起きており、自分の使い方メモも含めて記事化しました。

1-1.まとめ

 紹介するサービスの一覧は下表の通りです。

1-2.LLMとは

 大規模言語モデル(LLM:Large Language Model)とは大量のテキストデータを使ってトレーニングされた自然言語処理のモデルのことです。

2.ChatGPT(OpenAI/GPT-3.5)

 GhatGPTとはOpenAI(非営利法人のAI研究所:DALL-E2など提供)から2022年11月に発表された自然言語モデルとなります。

2-1.特徴

 まずChatGPTで重要なことは下記の通りです。

  • 自然言語モデルを使用して入力値から推論結果を出力する

  • つまり「学習済みモデルが入力値(質問など)から、学習時に使用した答え(入力データの文章)を推論」している

  • つまり学習したデータ以上の答えは出ないし、入力値が間違っていたらあてずっぽうな結果が出る

 ChatGPTが最強の大規模自然言語モデルでも基本的な原理は同じっぽいみたいであり、①文章を形態素に分解(参考:janome)、②word2vecなどで行列化、③transformerなどを使用したモデルで学習 となります。
 あくまで推論モデルとなるため情報調査においては証憑がないため鵜呑みにするのは危険となります。

2-2.使用準備

 使用方法はChatGPTのURLからいけます。下記記事を参考にしたら問題なく対応できると思います。

2-3.使い方:基礎編

 サインインすると下記画面があり下にコメントボックスがあります。その中に質問やコメントを記載するとGhatGPTが回答を出力します。

 参考として「Pythonでよく使用されているライブラリを詳細な説明付きで箇条書きで書いて」と質問しました。

 結果は下記の通りです(字数制限があるのか不明ですが、追加したいため「続きを書いて」と記載しました。)。機械学習モデルに少し片寄っていますが、素晴らしい結果だと思います。

2-4.使い方:応用・まとめ

 ChatGPTを自分が使うときのまとめ(AIに欲しい答えを出してもらう方法)を箇条書きにしました。

【使用方法まとめ】

  • 質問はある程度詳細な情報を与えること

    • Pythonのコードが欲しいならPythonをつける

    • エラー解決ならログもつける

  • 既に質問済みなら、追加の質問・コメントの詳細情報は前の情報を前提としてもよさそう

  • 欲しい出力形式があれば指定

    • e.g:レポート、latex、コード、箇条書き、テーブルなど

  •  途中で途切れたら「続きを書いて」と記載

  • 欲しい答えが出なかった場合は英語でも試してみる

  • Prompt(AIに渡す入力値)のテンプレートを作っておく

【参考:他の人の使い方】
 note 深津さんが紹介していた内容の一部抜粋したのは下記の通りです。 

2-5.特殊編:APIの利用

 米OpenAIより3月1日にChatGPTのAPIが提供開始されました。またHugging Faceにもデモが公開されています。

 なおAPIに関しては下記記事をご参照ください。

 既に記事が出ていますがよさそうだったら追記します。

3.Microsoft Bing(MS/GPT-3.5)

 2023年2月7日よりMicrosoftがChatGPTを利用したBingを発表し既に一般ユーザーにも公開されております。なおBingチャットはEdgeでしか使えないため、ブラウザはEdgeを使用します。

3-1.特徴

 基本的にはChatGPTと同じですが下記が追加されております。ChatGPTは「証憑がない推論」結果のアウトプットに対して、Bingでは検索結果の出典を表示してくれます。

  • Bingによる自動検索機能

  • 出力に検索結果の出典を記載

※何個かの結果が出典元から見つからないこともあったため100%の精度ではないと思います。

3-2.使用準備

 使用準備は下記の通りです。

  1. EdgeをインストールしてMicrosoftアカウントでログイン

  2. bing.comに移動して左上の「チャット」をクリック

  3. 「順番待ちリストに参加」ボタンがあるのでクリック(下図では既にクリック済みであり承認待ちの状態)

 申請が通ると「チャット」ボタンを押した時に下記画面に移動します。なお承認期間はかなりばらつきがあり、今からすると1週間以上かかる可能性があります。

3-3.使い方:基礎編

 チャット欄下にコメントボックスがあります。その中に質問やコメントを記載するとGhatGPTが回答を出力します。
 参考として「Pythonでよく使用されているライブラリを詳細な説明付きで箇条書きで書いて」と質問しました。結果は下記の通りです。

  1. 前提として同じ質問でもOpenaiのChatGPTとは出力が異なる。

  2. 出力結果にリンク付きで出典(赤枠)が出力される

  3. 出力結果に対して予想される追加質問(緑枠)も出力される

  4. 注意点として「サイトの更新(F5)」するとチャットの履歴は消えます。

 個人的にはとくに2つ目が革命的であり、サイト内の情報を自然言語処理で要約したうえで出典付きで出力してくれます。海外のサイトでも同様な処理をしてくれるため調査が非常に楽になります。

【参考:検索履歴】
 下記の通り出典で開いたサイトの検索履歴は残っておりますが、チャットの出力結果は残っておりません。

3-4.推論結果のTry&Error

 どのような結果がでるのかTry&Errorしてみました。

 3-4-1.検証1:認知度のない人を検索

 「検索対象:KIYO」 で調べました。
 ChatGPTで説明した通り条件縛りが無いと欲しい結果が得られませんでしたが、条件追加することで欲しい結果が出典付きで出ました。
※なお出典1・3は私の記事ですが2は別の方でした。ちなみにYoutuber全然しらないので初めて知りましたw

 3-4-2.検証2:企業検索(AIベンチャー×製造業)

 「検索対象:AIベンチャー×製造業」で調べました。
 結果は下記の通りです。頭の中では”Preferred Networks(PFN)”や”Mujin”あたりが出てくれると嬉しいと思ってます。

  • 製造業向けAIベンチャーでも対象が様々あるため最初の質問では情報を絞り込めていない:Bing側で補足してくれている(推論モデルのため漏れがある可能性には注意

  • 前に質問した内容が前提となるが、追加の質問ではある程度情報を残してあげるほうが欲しい結果が出た(追加の質問ベースで検索をかけているっぽいため、前の情報が抜けていた)。

  • (※今回の結果では)サイト(Web上に公開されているもの)ベースになり、まとめ記事からの出典が多いため記事の質に依存した

  • まとめ記事の中にはPFNはありましたが検索範囲が広いため、最初の質問条件をより絞らないと欲しい結果は綺麗に出力されなさそうです。

 3-4-3.検証3:企業検索(検証2+ロボット)

 下記はロボットに絞って検索しました。検索されている結果を見ると前の情報が抜けているように見えるため、追加検索のときは前の文章をコピーしたうえで欲しい情報を追加してあげるほうが欲しい結果が得られそうです。
※前の文章でAIベンチャーとしているが、2個目の質問ではベンチャーの情報が消えており大企業のみが出力されている。

 3-4-4.検証4:転職と年収

 「検索対象:転職と年収」で調べました。
 そもそもスキルがあり転職できることが前提のため、むしろ高校生などが将来を考慮したうえで専門選択などに使うのもありだと思います。
 今回の結果は下記の通りですが結論としては全然ダメでした。原因はAIモデルだけでなく検索サイトの方にあると思います。

  • 大前提として出典元のサイトの情報の正しさが不明(平均年収は有価証券報告書から確認可能ですが、サイトに記載されている1次ソースが不明)

  • 今回の出力では出典元との値が合っておらず情報抽出できていない

    • 数値(推定年収)があっていない

    • 出典元にない社名(ダウ・バスフなど)が出力されている※バスフは多分BASFであり、ダウ共に実在する会社ではあります。

  • 製造業(IT除く)で絞ってもIT系の会社が出力された

 調べ方を変えてみてもいまいちの結果のため、まとめサイトや四季報見るほうが早そうでした。

【補足:年収の調べ方】
 日本の会社の平均年収は有価証券報告書に記載されているため上場企業であれば調査可能です。調査方法はEDINETから下記手順で確認できます。

  1. 提出者/発行者/ファンド/証券コード」に調べたい社名を入力

  2. 調べたい会社の有価証券報告書を選択

  3. (選択後にポップアップがでるので)「従業員の状況」を選択

  4. 「(2)提出会社の状況」から確認

 3-4-5.検証5:出力結果の指定

 企業などの情報検索をする場合は漏れが無いようにできる限り多く調べてほしいため「XXXなど」や「XX以上」のように指定値以外の意味合いをつけることがありますが、AIにはあまり効果がありません。
 質問として「製造業向けに生産性向上のソリューションを提供するAIベンチャーを①なるべく多く②5社以上③10社以上紹介して」としました。
 結果として下記が確認できました。

  • Bing AIは検索も実施するため「たくさん」や「なるべく」などのニュアンスは理解しない。よって、出力は具体的に記載すること

  • 5社の記載では5社出力されたが、10社の記載では何も記載しない結果と同じとなった。現実的?でない数値の場合は意味をなさない。(※そもそも字数制限があるため1回の出力で過剰な数値設定は意味がない)

 検索と同様に出力をテーブル形式とするときの項目名に対して「など」を使っても1mmの頑張ってくれないことが確認できます。

3-5.使い方:応用・まとめ

 Microsoft Bingチャットを使用する時のまとめメモは下記の通りです。基本的にはChatGPTと同じですが、出典をつけれたりサイトの情報を抽出してくれることを前提とした

【使用方法まとめ】

  • 自分が調査(手を動か)しながら並行してBingに調べてもらう:自分とAIで並列処理

  • 推論モデルなので出力結果に依存しない使い方にすること

    • 情報のとっかかりや情報漏れがないかの補間などに使用

    • 出力結果は鵜呑みにせず必ず出典元を確認

  • 質問はある程度詳細な情報を与えること

  • 既に質問済みなら、詳細情報は前の情報を前提としてよさそう

  • 欲しい出力形式があれば指定

    • e.g:レポート、latex、コード、箇条書き、テーブルなど

    • 出力形式は数値や項目は具体的な値にすること("など”, "以上"のような表現は効果がない)

  •  途中で途切れたら「続きを書いて」と記載

  • 欲しい答えが出なかった場合は英語でも試してみる

  • Prompt(AIに渡す入力値)のテンプレートを作っておく(例:入力条件の設定方法や出力形式を指定)

  • コーディングならChatGPTで問題ないが、情報調査だとBingがベター

  • 2023年2月17時点で「1回のセッションでの質問を5問、1日当たり50問に制限」がかかっているため依存すると業務が止まる可能性あり。また一回の出力文字数も制限があります。

4.Bard(Google/PaLM2)

 Googleが提供するLLM検索のBardを紹介します。大前提として、基本的に英語の方が性能がよいはずですので、英語で実行した結果は期待するものより良くなる可能性があります。

4-1.Update情報

 Bardの最新情報は下記に記載されていますが、一部情報を抽出しました。

【2023年2月7日】
 会話型AIサービス「Bard」について、Google Japan Blogで発表した。Google検索に組み込むことを目標にしており、まずはテストユーザー向けに提供を開始した。

【2023 年 5 月 10 日】
 Bard を利用できる国と言語を拡大し、日本語にも適用

4-2.特徴

 BardはGoogleが開発したLLMであるPaLM2を使用した検索システムです(当初LaMDAでしたが現在はPaLM2に変更されています)。

 まだ”試験運用版”ですが、下記の内容が実装されています。

【Bardでできること】

  • 簡潔な要約の生成

  • Bard が生成した結果を各種アプリに出力

    • テーブル:Google スプレッドシート

    • 文字:Googleドキュメント、Gmailの下書き

    • コード:Google Colab

  • Bard が Google 検索から画像を表示

  • デバイスの正確な位置情報の使用を Bard に許可すると、より関連性の高い回答が表示

  • 数学的なタスク、コーディングに関する質問への回答、文字列の操作をより適切に行える

4-3.使用準備

 現状ではGoogleアカウントがあれば、そのまま使用できると思います。

4-4.使い方:基礎編

 チャット欄下にコメントボックスがあります。その中に質問やコメントを記載すると回答が出力されます。 参考として「Pythonでよく使用されているライブラリを詳細な説明付きで箇条書きで書いて」と質問しました。結果は下記の通りです。

  1. 前提として同じ質問でも得られる出力は異なる可能性がある

  2. ”他の回答案を表示”を選択すると異なるパターンの回答を表示できる。また右の更新ボタンを押すと別の回答案も出力してくれる。

  3. ”Googleで検索”を押すと検索キーワードが出力される。それを押すと通常のGoogle検索ができる

  4. ”回答をエクスポート”ボタンを押すとGoogleドキュメントやGmailの下書きを作成できる

 所感としてChatGPTにはある「出典元のリンク」が無く結果の正しさが判断できず結局ググることになるので、現状ではChatGPTの方が好きです。

【1.回答例】

【2.他の回答案を表示】

【3.Googleで検索】

【4.Googleで検索】

4-5.推論結果のTry&Error

 どのような結果がでるのかTry&Errorしてみました。ChatGPTと比較するために初期プロンプト(検索ワード)は同じにしています。

 4-5-1.検証1:認知度のない人を検索

 「検索対象:KIYO」として検索しました。

Prompt:KIYOさんについてどのような人で何をしているか紹介して

 ChatGPT同様に条件縛りが無いと欲しい結果が得らませんでした。また条件を追加した場合、ChatGPTでは私の記事を紹介してくれましたがBardではほしい結果が得られませんでした。

 4-4-2.検証2:企業検索(AIベンチャー×製造業)

 「検索対象:AIベンチャー×製造業」として調べました。

Prompt1:製造業向けに商品を提供しているAIベンチャーを技術、規模、人員、実績も含めて可能な限り多くの会社を紹介して。出力はテーブル形式
Prompt2:下記3つに絞って オペレーション予測 AI技術を製品として提供(AIを搭載した家電など) 生産計画の自動策定

 結果は下記の通りです。頭の中では”Preferred Networks(PFN)”や”Mujin”あたりが出てくれると嬉しいと思ってます。

  • テーブル形式で出力を依頼すると”Googleスプレッドシートにエクスポート”で出力が可能

  • 最初に絞り込みやテーブル形式での作成に関してはChatGPTより見やすい結果となった。

  • 前の情報を理解しているためプロンプトが重要となる。2個目の質問は”分野を絞ってたくさん企業を検索して”の意味だったのですが、Bardは”前の答えの中から該当する企業を抽出”しているため、前の文章を理解した上での回答となっています。

  • ”Googleで検索”ボタンからググった結果、参考記事は「【日本発 AIベンチャー企業一覧】<2020年版・厳選20社>」が主と思われる。

【エクスポートしたGoogleスプレッドシート】

 4-5-3.検証3:企業検索(検証2+ロボット)

 「検索対象:製造業×ロボット」として調べました。

Prompt1:製造業向けに生産効率向上のソリューションを提供しているAIベンチャーを技術、規模、人員、実績も含めて可能な限り多くの会社を紹介して。出力はテーブル形式
Prompt2:工場向けロボットに強みをもつ会社に関して技術、規模、人員、実績も含めて、新しく調査しなおして。
Prompt3:AIを活用したロボットを使用して製造業の生産効率を改革するベンチャーを再調査してください。

 結果は下記の通りです。頭の中では”Mujin”が出ると嬉しいと思ってます。

  • AIベンチャーと記載するとベンチャーで絞り、会社と書くと大企業も出してくれるためかなり文章を理解してくれています。逆いうとプロンプトをしっかり書かないと欲しい情報は得られません。

  • プロンプトでは依頼はしていないですが、個別企業に概要説明があります。前のプロンプトの影響かもしれません。

 4-5-4.検証4:転職と年収

 「検索対象:転職と年収」として調べました。

Prompt1:製造業の技術系で、できる限り年収が高い会社に転職したいと思っております。年収の高い順に会社名、規模、推定年収の一覧をできる限り多くの会社書いて
Prompt2:製造業の技術系で、できる限り年収が高い会社に転職したいと思っております。年収の高い順に会社名、規模、推定年収の一覧をできる限り多くの会社書いて。なお年収は有価証券報告書の値を使用してください。

 結果として「そんなわけないだろ!」でした。平均年収はEDINETによる有価証券報告書から調べることが出来ますが、数値がおかしく”Googleで検索”ボタンもないため完全に推論しています。
 この手のは自分で調査する必要がありそうです。

 4-5-5.検証5:出力結果の指定

 企業などの情報検索をする場合は漏れが無いようにできる限り多く調べてほしいため「XXXなど」や「XX以上」のように指定値以外の意味合いをつけることがありますが、AIにはあまり効果がありません。
 プロンプトの数値・用語指定の影響を確認のため下記を実行しました。

Prompt1:製造業向けに生産性向上のソリューションを提供するAIベンチャーをなるべく多く紹介して
Prompt2:製造業向けに生産性向上のソリューションを提供するAIベンチャーを5社以上紹介して
Prompt3:製造業向けに生産性向上のソリューションを提供するAIベンチャーを10社以上紹介して

 結果として下記が確認できました。

  • 「たくさん」や「なるべく」などのニュアンスは意味がない可能性が高い。よって、出力は具体的に記載すること

  • 5社以上の場合、ちゃんと5社を超える数を提供してくれた

  • 10社以上の場合は、10社提供してくれたがベンチャーだけでなく大企業も混ざっており、さらっと不要な情報が混じっていることに注意

4-6.検索以外の使用方法

 BardはMicrosoft BingのChatGPTのような検索だけでなく、OpenAI提供のChatGPTのようにLLMとしての使用も可能です。本節ではChatGPT的な使用方法を試してみました。

 4-6-1.プログラミング

 下記の通りプログラミングの出力結果が得られるだけでなく、結果をGoogle Colabに出力も可能です。

 4-6-2.論文の要約

 結論は「現状では使えない」です。
 サンプルとして「メタン・二酸化炭素・水素のための触媒」から化学反応式を抽出してもらいたかったのですが回答はただの推論でした。

 次に「経済財政運営と改革の基本方針2023」(骨太の方針)と「新しい資本主義のグランドデザイン及び実行計画2023改訂版」を読ませてみました。

 実行計画の方はありきたりな回答でしたが、前者では骨太の方針であることを理解しています。内容もそれっぽいのですが前の年のをそのまま流用しても行けるため本当に読み取っているのか不明です(グリーンやGXのようなキーワードがない)。

 4-6-3.画像の出力

 現在は英語のみですが、Google検索と連動して画像を出力できます。あくまでGoogle検索のため著作権の取り扱いには注意が必要です。

4-7.使い方:応用・まとめ

 基本的にMicrosoft Bing、ChatGPTと同じですので省略します。

5.所感

 今回のLLMに関して、特にGoogleはエコシステムとの連動が分かりやすく将来の姿が少しだけ見えてワクワクしました。
 今の形でも「プロンプトから”学習した知識+大量の情報を検索”した結果を文章、画像、コード、テーブルを出典付きで生成」から「要約してドキュメント、プレゼン資料、ファイル化(pkl, py)」などしてくれれば、今の私の業務の50%くらいは簡略化できます。多分頭の良い人がもっと深く考えてくれていると思うので、より良い未来があるかもしれません。

 この分野の進歩は早いため未完成な部分はあるのは当たり前ですが、それでも将来に向けて着実に進歩しており非常に楽しみであります。


参考資料

あとがき

 みんなどうやって情報取得してるんだろう。情報の取得が早すぎてついていけないし、情報網ほしい。


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