🚄

エンタープライズでのLLM導入: 戦略的アプローチとリスク管理

2024/02/20に公開

どうも、株式会社ナレッジワーク AI Integration Lab 所属のざわきん(@zawawahoge)です。

この度、2/28(水)に開催する勉強会イベントの Encraft #11 LLMとエンタープライズの距離感 の参考用記事として、LLMのエンタープライズ領域での活用についての考察記事を書きました!

特に、以下に当てはまる方は興味深く読んでいただけるかと思います。

  • エンプラ領域でのLLM活用を考えている方
  • エンプラ領域でのLLM活用に課題を感じている方
  • LLMの実社会への応用に興味がある方

https://knowledgework.connpass.com/event/309925/

はじめに

まず、"LLM"とは何か、簡単に説明します。

"LLM"とは

LLM(Large Language Models、大規模言語モデル) とは、大量のテキストデータから学習を行い、自然言語理解や自然言語生成を行うことができる人工知能モデルのことです。これらのモデルは、インターネット上の書籍、ウェブサイト、ニュース記事などの広範なテキストデータを使用して訓練されます。

LLMは、国内外問わず様々なモデルが作られており、現在最も活発な研究が行われている分野の一つです。

この記事では主に、テキストを入力とし、テキストを出力するタイプのLLMを取り上げます。このようなLLMは、テキスト生成AIと呼ばれたりもします。

このLLMに入力するテキストのことを、プロンプトと呼びます。

LLM技術の可能性と限界

ここでは、LLM技術の可能性と限界について簡単に触れておきます。

可能性

LLM技術の可能性は、高度な文章生成、教育、コンテンツ生成、翻訳、高度な情報検索、質疑応答など、多岐にわたります。

LLMの一般言語理解能力は、部分的には人間の言語理解能力に匹敵するほどです。LLMの凄さは、このような言語理解をした上でのテキスト生成が、計算資源さえあれば無尽蔵に行えることです。

また、1人の人間が同時に処理できない大量の情報を、瞬時に「人間が読んで解釈したかのように」処理できる点も、LLMの大きな特徴です。
人間が本を一冊読んで、その内容を理解するのにかかる時間を、数秒で処理できるため、LLMは、情報を処理するための新しい方法を提供できると考えられます。

2024年2月16日にGoogleが発表したGemini Pro 1.5では、現在、一度の入力で最大100万個のトークンを入力として実行できるとされています。(ちゃんと計算してないですが、噂によるとハリーポッター全巻分くらいに匹敵するとかしないとか・・・)
研究段階では1000万トークンにまで拡張できるとのことです。

このように今後、コンテキスト長がさらに伸びていくことで、LLMの可能性はますます広がっていくと考えられます。

限界

LLMにももちろん限界があります。ぱっと思いつくものでも以下のようなものがあります。

  • 出力結果は、入力や学習データに依存し、それらに含まれない情報は出力できない
  • もっともらしい嘘をつく(ハルシネーション)
  • 生成には時間がかかる
  • 入力できる情報の長さに制限がある
  • 出力できる情報の長さに制限がある

限界1: LLMの出力結果は、入力や学習データに依存し、それらに含まれない情報は出力できない

LLMそのものの精度がどんなに向上したとしても、昨日食べたあなたの夜ご飯を知ることはできません。LLMは、入力プロンプトや学習データに含まれていない情報は正しく出力することはできません。

もちろん、一般言語理解能力は高いため、汎用的な推論を行なって導けるものであれば正しい出力ができる可能性はありますが、そうでないものは、正しい出力ができない可能性が高いです。

対策

つまり、LLMに正しく出力させるためには、

  • 適切なプロンプト(入力テキスト)を与えること
  • 適切なデータで学習させること

の二つが重要です。
この「適切なプロンプトを与えること」が、いわゆる 「プロンプトエンジニアリング」 と呼ばれるもので、LLMを使う上で重要なスキルの一つです。
場合によっては、ファインチューニングを行い、ベースモデルをカスタマイズすることも必要になります。

また、忘れてはいけない重要な点として、LLMが学習したデータは、意図せず出力されてしまうことがあるということです。エンプラレベルのセキュリティを担保する場合には、この点にも注意が必要です。

限界2: もっともらしい嘘をつく(ハルシネーション)

LLMの限界の一つとして、もっともらしい嘘をつくというものがあります。この現象は、 ハルシネーション と呼ばれます。

LLMは、基本的には学習パラメータに基づいて決まる確率分布に基づいて次のトークンの出力を行います。そのため、必ずしも正しい情報を出力するとは限りません。それどころか、まるで本当かのように平気で嘘をつくことがあります。モデルによって、この傾向は異なります。

対策

この辺りの調整は、LLM開発者側が頭を悩ませるところでしょうし、LLMの利用者、特にエンプラ領域での採用を考える場合、以下のようなことに注意が必要です。

  • ファクトチェックを行う仕組みを作ること
  • ハルシネーションが起こりにくいモデルを選ぶこと

例えば、OpenAI の GPT-4 は比較的ハルシネーションが起こりにくいとされていますが、それでも完全には防げません。
ですので、エンプラ領域での採用を考える場合は、ファクトチェックを行う仕組みを作ることが重要だと考えられます

エンタープライズでの活用事例

それでは、LLMのエンタープライズ領域での活用事例について見ていきましょう。
多くの会社が ChatGPT をはじめとしたLLMを活用していますが、その中でもエンプラ領域での課題への対処を行っている事例を見ていきます。

事例1: メルセデス・ベンツの ChatGPT を使った車載音声制御

有名な自動車メーカーであるメルセデス・ベンツは、ChatGPTを使った車載音声制御を開発しています。このプロジェクトは、2023年6月に発表されました。

Hey Mercedes という従来の音声アシスタントを補完するために、ChatGPTを使った高度な音声アシスタントを提供しています。自然な音声コマンドだけでなく、利用者と会話もできる音声アシスタントを目指しています。

Mercedes-Benz R&D North America の CEO、Philipp Skogstad 氏のインタビューでは、LLMの安全な活用について、以下のような考え方が述べられています。

  • セキュリティ
  • データプライバシー
  • ファクトチェック

具体的には、以下のようなことが述べられています。

安全性はメルセデスにとって絶対的な鍵であり、私たちの評判の礎でもあります。物理的な安全性であれ、デジタルな安全性であれ、どちらも最も重要なものです。ChatGPTをどのように使っているかというと、データはメルセデス内部、つまりあなたとあなたのクルマに留まります。マイクロソフトのクラウドにあり、他の車両データにはありません。しかし、私たちのパーミッションでは、何がどこに行くのかという点で、すべてが正確に開示されています。

この話によると、 物理的な安全性デジタル上の安全性 の両方を重要視しているとのことです。
データはあくまで他の車両データとは分離されており、Microsoft クラウドに保管されているとのことです。

また、データ漏洩を防ぐために、学習データについても以下のように述べられています。

このデータはOpenAIやChatGPTと共有されることはないので、将来の回答のトレーニングに使用することはできません。 これがデータ漏洩を避ける重要なポイントです。社内のプロジェクトでも同じことが言えます。自分たちのデータにも、顧客データと同じルールを使って、漏れないようにしています。

先ほど述べた、「LLMは、学習データは意図せず出力してしまうことがある」という点についても、学習データに含めないようにする形で対策が取られていることがわかります。

AIの責任ある使用

また、このインタビューの中で、AIの責任ある使用についての考え方が述べられています。
(正直読んでめちゃくちゃ良かったのでおすすめです。)

このインタビューの中で、AIの責任ある使用に関して、二つの重要なポイントを指摘しています。

  • ポイント1: 顧客と従業員に対して明確なガイドラインを確立し、特に説明可能性と呼ばれるものに関しては責任を持つこと
  • ポイント2: 明確な免責条項を提供すること

ポイント1: 顧客と従業員に対して明確なガイドラインを確立し、特に説明可能性と呼ばれるものに関しては責任を持つこと

多くの場合、あなたは自分が得た答えを本当に理解していない。しかし、ソースを確認し、なぜそのモデルがその答えを出しているのかを理解することで、その答えを理解できるようにする必要があります。そして、フィリップの指摘するように、人間の判断を適用する必要があるのは明らかだ。

これはつまり、LLMの出力結果をそのまま鵜呑みにせず、人間の判断を適用する(ファクトチェックする) ことが重要であるということです。先ほどの章で述べたハルシネーションの対策ともリンクしています。

ポイント2: 明確な免責条項を提供すること

ポイントその2は、明確な免責事項を提示することで、これはすべて公的な知識と私的な企業知識のみに基づいていることを説明することです 。最後に、私たち全員が、人として、企業として、このテクノロジーの力とその限界の両方を実際に理解することが重要だと思います。AIの責任ある使用には法的・倫理的な意味合いが含まれ、私たちは生活のあらゆる側面を破壊するこの驚異的なテクノロジーの使い方をまだ学んでいる段階であることを認識しなければならない。そして時には、人間も完全に正確とは言えないので、それは旅なのだ。

ここでのポイントは、あくまで学習データがパブリックデータと一部の企業のプライベートデータに基づいているため、特定の回答の正確性または信頼性のレベルに大きな影響を与えることを説明しています
必ずしも、LLMの出力結果が正しいとは限らないことを認識し、法的および倫理的な影響を考慮することが重要であると述べられています。

技術

このプロジェクトで作られている Gen AI では、Azure OpenAI Service を使っています。

事例2: ナレッジワークAIチャット

弊社(株式会社ナレッジワーク)でも、LLMを使ったAIチャットを提供しています。

2023年4月にリリースされたKnowledge AI Chatは、現在 Azure OpenAI Service を使って、LLMを活用しています。

Knowledge AI Chatは、ナレッジワークに格納された営業資料やノウハウをベースに文章で回答するAIチャットです。

特に、弊社では顧客のデータを守るために、以下のような対策を講じています。

  • 仕組み
    • 基本的には、いわゆるRAG(Retrieval Augmented Generation)を用いています。
    • データをチャンクごとに分割し、埋め込みベクトルの類似度を使って検索を行い、類似度の高いチャンクを取得し、それを元に生成テキストを生成します
      • チャンクごとの権限管理を行えるように、チャンクごとに権限判定が可能な情報をメタデータとして付与

2023年4月当時から、このような権限管理を行うための仕組みを導入しており、これにより、顧客のデータを守ることができています。

大雑把な機能の裏側は以下のような感じです。

インデクシング

  1. データを複数のチャンクに分割し、データごとに権限判定が可能な情報をメタデータとして付与
  2. チャンクの埋め込みベクトルを計算し、ベクトルDBに保存

回答生成時

  1. ユーザーの入力の埋め込みベクトルを計算
  2. ユーザーが閲覧可能なチャンクのみを検索対象として、ベクトル検索を行い、類似度の高いチャンクを取得
  3. 取得したチャンクを元に、生成テキストを生成

ベクトル検索を行う際、閲覧可能なチャンクのみを検索対象とすることで、閲覧権限がないチャンクがヒットすることを防ぎます。

また、その他にも、様々な工夫を行なっています。
RAGの精度を上げる、つまり取ってくるチャンクが質問に対して回答性があるかどうかLLMによってスコアリングするようにしています。これにより、ユーザーの質問に対し、うまく答えられないチャンクは回答生成時には切り捨てられるようになっています。もっと正確にいうと、RAGの工夫というより、RAGで取ってきたチャンクのフィルターという感じです。
2023年4月当時から、プロンプトエンジニアリングに力を入れてきたからこそ、この記事で紹介するようなエンプラ課題に早くから対応することができたと言えるでしょう。

ナレッジワーク社内でのLLM活用

プロダクトへの組み込み以外にも、社内で ChatGPT 活用を行っています

GPT-4 Turbo を社内Slackで活用しており、エンジニアだけでなく、ビジネス・コーポレートメンバーにも利用されています。
今後、活用の幅を広げていきたいと考えています。

LLMを使ったその他事例

LLMに限らず、生成AIを使ったエンプラ領域での活用事例は、以下のようなものがあります(ほんの一例です)。
プレスリリースをざっとみただけでもこの数があるので、エンプラ領域での活用が進んでいることがわかります。

特に、Azure OpenAI Service を使った事例が多いですね。

LLMをエンプラ領域で活用する際に重要なポイント

事例で見てきたとおり、LLMをエンプラ領域で活用する際には、以下のような点に注意が必要です。

  • 顧客データを守る
  • データ漏洩を防ぐ
  • 説明可能性を担保する
  • 明確な免責条項を提供する
  • 高いユーザー価値を提供する

顧客データを守る

特に企業向けのプロダクトの場合、顧客データや個人データは必ず守らなければなりません。

適切な権限管理を行い、特定のユーザーにしか見せてはいけない情報は、それ以外のユーザーには見せない仕組みを作る必要があります。

データ漏洩を防ぐ

LLMが学習したデータは、意図せず出力されてしまうことがあります。エンプラ領域での採用を考える場合は、この点にも注意が必要です。

特に、あるベースモデルにファインチューニングを行う場合には、ファインチューニングしたデータのなかに、そのモデルを利用するユーザーが閲覧できてはいけない情報が含まれないようにする必要があります

RAG(Retrieval Augmented Generation) のような形でLLMを使う場合にも、どのような情報を入力として与えるか についても注意が必要です。

単純にコサイン類似度が高いチャンク(コンテキスト)上位をそのまま使うと、意図せず閲覧してはならない情報が含まれることがありますので、適切にフィルターをかけることが重要です。

説明可能性を担保する

LLMの出力結果をそのまま鵜呑みにせず、人間の判断を適用する(ファクトチェックする) ことが重要であるということです。

全ての結果を人間が確認するわけにもいかないので、この部分をある程度自動化し、定量的な説明可能性を定点観測する仕組みを作ることが重要です。

明確な免責条項を提供する

LLMの出力結果が正しいとは限らないことを認識し、法的および倫理的な影響を考慮することが重要です。

高いユーザー価値を提供する

エンプラ領域でのLLMの採用を考える場合、高いユーザー価値を提供することが重要です。

実際のところ、プロダクトにLLMを組み込む際には、ユーザーの価値を最優先に考えることが重要です。

「とりあえずLLMを使ってみよう」 というような形でLLMを使うと、ユーザーにとって十分優れた価値がない場合があります。プロダクト作りの基本に則り、ユーザーストーリーを考え、その上で、LLMを使うことでどのような価値を提供できるか、その点についても考える必要があります。

リスクを理解する

LLMを使う上でのリスクを理解することが重要です。
LLMプロバイダーが外部クラウドサービスを利用している場合、そのサービスが提供するセキュリティに依存することになります。
以下のような問題が起こる可能性はゼロではありません。

  • 自社の機密データがLLMプロバイダーを介して流出する
  • プロダクトの権限管理が不十分で、機密情報が無許可のユーザーに流出する

したがって、これらが起こるリスクを理解し、それに対する対策を講じることが重要です。

ポイントまとめ

LLMをエンプラ領域で活用する際には、顧客データを守るデータ漏洩を防ぐ説明可能性を担保する明確な免責条項を提供する高いユーザー価値を提供するリスクを理解する といった点に注意が必要です。

しかし、やってみないとわからないことも多いです。まずは、使ってみる!というスタンスで、実際に使ってみることが重要です。

まとめ

ここまで読んでいただき、本当にありがとうございます!!

この記事では、LLMのエンタープライズ領域での活用について考察してきました。

LLMの可能性は無限大ですが、その一方で、その限界もあります。
エンプラ領域でのLLMの採用を考える場合には、現実を直視し、 その可能性と限界を理解し、その上で、活用することが重要です。

特に、顧客データを守るデータ漏洩を防ぐ説明可能性を担保する明確な免責条項を提供する高いユーザー価値を提供するリスクを理解する といった点に注意が必要です。

LLMを使った探索的な応用研究の中には、「タスク自動化」や「AGI(汎用人工知能)」など、興味深いテーマが多く、私自身とても遊んでいて楽しいです。
一方、LLMのエンタープライズ領域での活用は、それらに比べるとやや地味なところはありますが、実世界への応用という点で、非常に重要な部分です

LLM大好き人間として、一番思うのは、この魅力ある技術を早く社会の中の一部に溶け込ませていきたいということです!

これを読んでくださった方に、何かしら持ち帰っていただければ幸いです!

イベント開きます!

https://knowledgework.connpass.com/event/309925/

この記事を読んで、LLMのエンタープライズ領域での活用についての考察が少しでも深まったら、ぜひ、2/28(水)に開催する勉強会イベントの Encraft #11 LLMとエンタープライズの距離感 に参加してみてください。

LLMのエンタープライズ領域での活用について、一緒により深く考えてみましょう!

イベント内容

この勉強会では、エムスリー株式会社VPoE ばんくしさん(@vaaaaanquish)と、弊社(株式会社ナレッジワーク)のAIエンジニアが、LLMのエンタープライズ領域での活用について、それぞれの視点から以下のようなテーマでトークを行う予定です。

  • 普段の業務におけるLLMやその周辺技術との関わり方は?
  • エンタープライズに固有のAI開発の難しさはどういったところにある?
  • 閲覧権限やハルシネーションへの対処は総合的にどうしている?
  • セキュリティ上の懸念を持たれる可能性への対処をどうしている?
  • AI開発を前提にした事業・プロダクト・組織に、「こうあるべき」はある?
  • 今後どういう方向に発展していくことが期待できそうか?

シェアのお願い

↓この記事がタメになったと感じたら、こちらいいね・リポストなどしていただけると大変嬉しいです!
https://twitter.com/zawawahoge/status/1759896124251631696

参考文献

株式会社ナレッジワーク

Discussion