大規模言語モデル(LLM)をアプリケーション開発で活用するには? グーグル・クラウドが基礎から解説
【A-2】大規模言語モデル(LLM)を機械学習アプリケーションで活用するための基礎知識と現実的なアプローチ
Q&Aシステムで理解する「埋め込み表現」と「ベクトル検索」
たとえば、膨大な製品カタログの情報から、製品に関するQ&Aシステムを実現するシステムを作るには「埋め込み表現(エンベッディング)」や「ベクトル検索」といった技術と組み合わせるパターンがよく紹介されているという。中井氏は、その身近な例としてGoogle検索のふるまいを紹介した。
現在のGoogle検索にLLMは組み込まれていないが「クラウドの特徴」と検索すると、その質問に対する明確な答えの文章がハイライトされて表示される。以前の検索は単語レベルのマッチングだったが、今は検索の意図や意味にあった情報を探し出すことができるようになっている。
Google検索の仕組みは公開されていないが、中井氏は「エンベッディングやベクトル検索が使われていることが想像できる」と語る。
質問したい人が検索キーワードを入力すると、エンベッディングを経てコンテキストを解析し、ベクトルに変換する。そしてベクトル検索を用い、関連性の高い単語が含まれている部分をユーザーに提示する。この2つの技術を活用すれば、LLMを使わなくてもQ&Aシステムを実現することができる。
これにLLMを追加すれば、チャットボットと会話しながらより自然に回答を得られるシステムが考えられる。会話文からLLMが検索したい内容をまとめて、エンベッディング処理に渡す。そしてベクトル検索の処理で返ってきたカタログの情報をLLMがまとめて自然な文章として回答するような仕組みだ。このように、LLMは人と自然言語でやりとりするインタフェースをより使いやすくするために利用できるのだ。中井氏は、Google Cloudでも、今回の要求のような製品カタログをベースにした製品Q&Aの実装が可能だという。
続いて下田氏は、LLMの部分に使える「PaLM for Text and Chat」を紹介した。プロンプトエンジニアリングを通じてPaLM 2モデルを使ったチャットボットのようなものが作れる。自社のデータを使った固有のチューニングも可能となる。チューニングにはコストと精度のバランスの取れた比較的軽量な仕組みを提供しているという。
エンベッディングを行うサービスが「Embeddings API」だ。テキストや画像を入力すると、そのデータの持つ「意味」を抽出できる。また、意味の近いものを高速に探すベクトル検索には「Vertex AI Matching Engine」というサービスがある。下田氏は、メルカリUSから提供された商品データカタログで、テキストや画像を用いて人の感覚で「似ている」と感じるような商品を検索できるシステムのデモンストレーションを行った。
「T shirts」と入力すると、Tシャツの画像が並び、その後「With Dancing People」と入れると、踊っている人の柄のTシャツが並んだ。「T shirts」を「cups」に変えると、踊っている人の柄のカップが表示された。
「このデモのポイントは2点あります。メルカリのサービスの性質上ですね、いわゆる商品マスターみたいなものがなく、出品ユーザーが必ず商品情報を記述しているわけではない条件でもこれらの情報を見た目でヒットさせたことが1つ。もう1つは、100万点ぐらいあるベクトルに対してかなり速いレスポンスで返ってくることです」(下田氏)
このデモでは、データがテキストであれ画像であれ、一度その意味を抽象的な埋め込みベクトルに変換すると、そこから先はベクトルマッチングのシステムを用いて同様の処理が可能となった。中井氏は、LLMに固執すると、扱えるデータは自然言語に限られ、画像処理ができないことを指摘し、なんでもLLMで処理しようとせず、既存の技術を組み合わせることの重要性をあらためて強調した。
Google CloudのAI/MLソリューションは、SaaS、PaaS、IaaSの層でさまざまなものが展開されている。フルスクラッチで独自のシステムを作ることもできれば、決まった用途ならSaaSで対応も可能だ。下田氏は、その代表として「Generative AI App builder(Enterprise Search)」を紹介した。Google Cloudのサービスを組み合わせてカタログ検索をするには、ベクトルの長さやカタログ情報の分割など変動する部分が存在し、調整が難しい。Enterprise Searchであれば、生成AIのテクノロジーを組み込み、スケーラブルな検索システムを手軽に作れるという。
下田氏は「典型的なユースケースとして、検索や会話が頭にも浮かぶと思います。こういったものをマネージドサービスという形で提供しています。ユーザーの皆様がやっていただくのは、データを入れて、少し設定するだけでご利用いただけます。よりアプリケーション開発に集中できようになります」
中井氏はLLMの技術はまだ黎明期にあり、さまざまな技術と組み合わせたアーキテクチャーのパターンが考えられるため「現在は失敗を経験しながら知見をためていく段階」であるとし、最後にGoogle Cloudの利用と、メンバー限定のウェビナーなどが配信されるプログラム「Google Cloud Innovators」への参加を促した。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- Developers Summit 2023 Summer セッションレポート連載記事一覧
- この記事の著者
-
丸毛 透(マルモ トオル)
インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
森 英信(モリ ヒデノブ)
就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
提供:グーグル・クラウド・ジャパン合同会社
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア
