こんにちは、テクノロジー部の山﨑です。
近年さまざまな生成AIが登場していますが、「LLM」と呼ばれるモデルを活用した生成AIがとくに注目を集めています。以前からコンピュータと対話ができるAIは存在していましたが、このLLMの登場により、AIの対話能力の精度は飛躍的に向上しました。
そんなLLMについて、LLMの何がすごいのか、どう活用されているかについて解説します。今後AIを活用したい、簡単に理解したいという方はぜひご覧ください。
目次
LLM(大規模言語モデル)とは?
LLM(Large Language Model・大規模言語モデル)とは、NLP(Natural Language Processing・自然言語処理)の分野で使用される深層学習モデルの一種です。
噛み砕いて説明すると、人間の言葉を理解し、人間のような自然な会話を実現したモデルです。
ニューラルネットワークと呼ばれる人間の脳のニューロンの働きを模倣して作られているため、これまでのAIでは到達するのが難しいと考えられていた人間の言語能力に匹敵する性能がLLMにはあり、これが注目されている大きな理由になります。
生成AIやChatGPTとの違い
生成AIとは、テキストや画像、音声などのコンテンツを生み出す機能を持つAIの総称で、ChatGPT(テキスト生成AI)やMidjourney(画像生成AI)などがあります。
一方でLLMは、自然言語処理に特化した言語モデルであり、ChatGPTにもその技術が組み込まれています。つまり、「LLM」というモデルが組み込まれた「ChatGPT」は、「生成AI」の一種という位置付けになります。
LLMの仕組み
LLMの仕組みは、与えられたテキストのトークン化から始まり、以下のステップを踏んだのち、テキストとして出力されます。
- トークン化
- ベクトル化
- ニューラルネットワークの各層を通過
- コンテキスト(文脈)の理解
- 出力ベクトルに修正しテキストへ変換
ステップを一つひとつ簡単に解説します。
1. トークン化
トークン化とは、与えられたテキストデータを小さな単位(トークン)に分割する工程で、テキストデータを効率的に処理・解析するための重要なステップです。
たとえば、「こんにちは、世界」というテキストは、「こんにちは」と「、」と「世界」というトークンに分割される可能性があります。
テキストデータのままではコンピュータは理解できないため、トークン化によって数値データに変換可能な形に整理(数値化はまだ)されます。この工程により、LLMがテキストの構造を把握しています。
2. ベクトル化
次にベクトル化を行います。ベクトル化とはエンベンディングと呼ばれ、トークン化されたテキストデータが数値のベクトルに変換される工程です。
ベクトル化によって、コンピュータがテキストデータを数学的に処理し、解析することが可能になります。ベクトル化された各トークンは高次元空間上の点として表現されます。似た意味のトークンは互いに近い位置に、異なる意味のトークンは遠い位置になります。
これにより、トークン間の意味的な関連性や類似性が数値的に表現されるため、意味を理解し、高度な分析や学習を進めることが可能になります。
3. ニューラルネットワークの各層を通過
ベクトル化されたテキストデータは、ニューラルネットワークの各層を通過します。
ニューラルネットワークは、「入力を受け取る入力層」、「出力するための出力層」、「入力層と出力層の間に位置するさまざまな計算を行う隠れ層」の三つの層で構成されています。
一般的にこの隠れ層が三層以上あるニューラルネットワークをディープラーニングと呼び、層の数が多ければ多いほど、データの抽象度が高まり、より複雑なパターンを捉えることが可能になります。
このニューラルネットワークを通過するプロセスを通じて、LLMはテキストデータの文脈やニュアンスを理解し、より精緻で自然なテキスト生成をすることができます。つまり、LLMはこのプロセスでテキストの深層的な意味や構造を学習し、これを基に新しいテキストを生成する能力を獲得しているのです。
4. コンテキスト(文脈)の理解
ニューラルネットワークの各層を通過した後、LLMはコンテキスト(文脈)の理解をする段階に入ります。
ここでは、入力されたテキストデータの文脈や背景を把握し、それに基づいて意味の解釈を行います。テキストが持つ意味の多様性や微妙なニュアンスを正確に捉えるために不可欠な工程です。
コンテキストの理解によって、LLMは単語の並びではなく、文章全体の意味や、文と文の関連性を理解することができます。
たとえば、ライトという言葉には「光」、「軽い」、「正しい」、「右」など複数の意味が混在していますが、文章中でどんな意味で使われているのかをこの工程で判断していることになります。
5. 出力ベクトルに修正しテキストへ変換
これがLLMの最終段階です。この工程では、LLMが内部で処理していたベクトルデータを人間が理解できるテキストデータに戻します。
出力ベクトルに修正を加えることで、LLMは入力テキストに対して適切で人間の会話に近い形の応答を生成することができます。これにより質問に対する答え、文章の要約、新しい文章の生成など、さまざまなテキスト生成が可能になるのです。
LLMを活用した代表的なサービス
ChatGPT
ChatGPTはOpenAI社によって開発された、人間との対話に近い自然な文章を生成してくれるAIチャットサービスです。
GPTとは「Generative Pre-trained Transformer」の略で、事前に学習されたデータをもとに文章を生成するシステムを指します。
翻訳や、文章の要約、プログラミングコードの生成など多岐にわたります。2024年5月13日にGPT-4oの新モデルの提供を開始し、テキストだけでなく、音声や画像などによる入力が可能で、テキストや画像などの出力に対応(マルチモーダル)しているため、非常に注目が集まっています。
Copilot
https://www.microsoft.com/ja-jp/microsoft-copilot
Microsoft 365 Copilotは、WordやExcelなどのMicrosoft製品を生成AIの機能を通じてサポートしてくれるサービスです。
OpenAI社のGPT-4をベースにしたLLMが搭載されており、テキストで指示するだけでメールの下書きを作ったり、スライドや図表を作ったりなどさまざまなことが可能になっています。
これまで人の手で行っていた業務が削減され、生産性の向上が期待できます。
Gemini
https://gemini.google.com/?hl=ja
Geminiは2023年12月に発表されたGoogle開発のマルチモーダル生成AIモデルです。
Gemini Proと呼ばれるLLMにより、テキスト、音声、動画、画像を入力として受け取り、テキストと画像を生成できます。日本語にも対応しており、GmailなどのGoogleのプロダクトと連携し、生成結果をGoogleドキュメントに出力することや過去に生成した文章の活用など、業務効率を向上させる機能が多くあります。
LLMにできること
質問への回答
LLMの主要な用途の一つは、自然言語のプロンプト(入力)の質問に対する回答の生成です。
これにより以下のような多岐にわたる分野での応用が期待されています。
- 顧客サポートの自動化
- 教育プラットフォームでの疑問解決
- 企業内のFAQセクションの管理
たとえば、顧客サポートでは24時間体制でのサポートも実現可能になり、迅速な対応や人件費などが削減されることが考えられます。
アプリケーションやソフトウェアの開発
LLMはコードの生成やバグの検出・修正をすることができ、すでにソフトウェア開発の領域ではLLMが利用されています。
プロンプトで要件を指定するだけでコードを自動生成してくれるため、業務効率化による納期短縮や生産性向上などが期待できます。
また、コードのセキュリティホールを検出し、改善策を提案することも可能であり、セキュリティの強化も同時に図ることができます。
- コードの生成
- バグの検出・修正
- セキュリティの強化
テキストの要約
LLMは文章の意味や構造を把握することができるため、元のテキストの本質的な内容を失わずに、主要な考え方や情報をまとめることが可能です。
たとえば、以下のように迅速かつより効率的に文章理解をサポートしてくれます。
- ニュース記事の主要なポイントを短くまとめる
- 議事録を要約し、決定事項や議論内容をまとめる
LLMが抱えている課題
ハルシネーションを起こす可能性
ハルシネーションとは、幻覚という意味を持ち、LLMが事実に基づかない情報を生成してしまう現象のことです。
LLMは大量のデータから統計的な規則性を学習しますが、その過程で誤った関連性を見出してしまうことがあり、その結果、存在しない情報やもっともらしい嘘を生成してしまう場合があります。
生成されたものが真実なのか、嘘なのかをユーザーが判断することは困難です。この問題を解決するためにさまざまな研究が進められています。
出力の制御
LLMは人間の言語を模倣することができるがゆえに、人間が意図しない内容を出力することがあります。
例としては、不適切な言葉や偏見を含む文章の生成、著作権を侵害するようなテキストの生成が挙げられます。実際にLLMを導入している企業でこの問題が発生してしまうと、信頼性や評判が損なわれるだけでなく、社会的な問題を引き起こす可能性があります。
対策としてコンテンツモデレーションやガードレールと呼ばれる技術を活用することが必要になります。
機密情報流失の恐れ
大規模言語モデルに指示をする際、入力した情報の中に機密情報が含まれていると、その機密情報がLLMの学習に使用されてしまうリスクがあります。結果的に、他のユーザーが同じLLMを利用する際に、機密情報が回答として出力されてしまう恐れがあります。
対策としては、入力した情報を学習に使用しないモデルを利用することや、機密情報を入力しないことが必要となります。たとえばChatGPTの場合、OpenAIのAPIサービスを経由すればデータは学習に利用されません(関連:Enterprise privacy | OpenAI)。
企業で活用する際には、APIを経由して自社のチャットボットを構築することをおすすめします。通常の利用よりも、トラブルが発生する可能性を低くすることができます。
ただし、APIを使用する場合でも、機密性の高い情報や顧客の個人情報などは念のため入力しないよう注意が必要です。セキュリティを多層的に確保することで、より安全にAIを活用することができます。
実際に弊社でも、OpenAIのAPIを利用したチャットボットをSlackで運用しています。安全性が高まるだけでなく、誰でも簡単に利用できるため、社内のAI活用の促進にも繋がります。
弊社では社内での生成AI活用のコンサルティングも承っていますので、ぜひお気軽にご相談ください。
LLM(GPTモデル)を上手に活用するポイント
LLMであるGPTモデルを例に、上手に活用するポイントをご紹介していきます。
具体的な立場や役割を設定する
ChatGPTでは、具体的な立場や役割を設定することでより目的に沿った回答を得ることができます。
たとえば、単に「今日の夜ご飯を考えてください」と指示すると、ChatGPTは一般的な家庭料理の提案をします。
次に「あなたはプロの料理人です。今日の夜ご飯を考えてください。」と指示をします。
するとLLMがプロの料理人になりきってメインディッシュからデザートまでのプランを考えてくれます。
このように、ChatGPTに具体的な立場や役割を与えてあげることで、自分が求めている答えに近づけることができます。
評価基準を設けて回答をブラッシュアップさせる
ChatGPTの回答をさらに向上させるには、回答の評価基準を設けて、自分で改善を繰り返させる方法が効果的です。
先ほどの「あなたはプロの料理人です。今日の夜ご飯を考えてください。」の回答に対して、以下のようにブラッシュアップさせてみます。
- プロンプト
- 先ほどの夜ご飯のメニュー提案について、よりよいメニューになるように、3回改善を繰り返しながらブラッシュアップしてください。改善するたびに、以下の #採点基準で100点満点で自己評価してください。各項目は25点満点です。
#採点基準:”””
- 栄養バランス(25点)
- プラス評価:主食、主菜、副菜がバランスよく含まれている。多様な栄養素が摂取できる。
- マイナス評価:特定の栄養素に偏りがある。緑黄色野菜が不足している。
- 季節感(25点)
- プラス評価:旬の食材を使用している。季節の行事や気候に合わせた料理が含まれている。
- マイナス評価:季節外れの食材が使われている。季節感が全く感じられない。
- 創造性(25点)
- プラス評価:新しい調理法や食材の組み合わせが提案されている。見た目も楽しめる工夫がある。
- マイナス評価:ありふれた料理の組み合わせである。創意工夫が感じられない。
- 実現可能性(25点)
- プラス評価:一般家庭でも入手しやすい食材が使用されている。調理時間が適切である。
- マイナス評価:特殊な調理器具が必要である。調理工程が複雑すぎる。
“””
- 栄養バランス(25点)
すると自己採点を繰り返しながら、回答をブラッシュアップしてくれます。
以下が全文です。
#### メインディッシュ:ローストチキンと季節野菜のオーブン焼き
– **ローストチキン**: ハーブやにんにくを使って風味豊かに仕上げます。皮はカリッと焼き上げてジューシーな肉を堪能してください。
– **季節野菜のオーブン焼き**: ジャガイモ、ニンジン、ズッキーニ、ベビーコーンなど、お好みの野菜をオリーブオイルとハーブで焼きます。彩り豊かで栄養満点です。
#### サイドディッシュ:フレッシュサラダ
– **フレッシュサラダ**: トマト、キュウリ、レタス、アボカドを使ったシンプルなサラダ。お好みのドレッシングでお召し上がりください。
#### デザート:フルーツとアイスクリーム
– **フルーツとアイスクリーム**: 季節のフルーツ(例:メロン、イチゴ、ブルーベリー)とバニラアイスクリームを添えて、さっぱりとしたデザートを楽しんでください。
### 自己評価
– 栄養バランス: 23/25
– 季節感: 23/25
– 創造性: 20/25
– 実現可能性: 23/25
### 合計: 89/100
—
### 改善2
#### メインディッシュ:ハーブローストチキンと季節野菜のグリル
– **ハーブローストチキン**: タイム、ローズマリー、にんにくを使って風味豊かに仕上げます。皮はカリッと、肉はジューシーに焼き上げます。
– **季節野菜のグリル**: ジャガイモ、ニンジン、ズッキーニ、ベビーコーン、パプリカなどをオリーブオイルとバルサミコ酢でグリルします。彩りと風味が豊かです。
#### サイドディッシュ:シトラスドレッシングのフレッシュサラダ
– **シトラスドレッシングのフレッシュサラダ**: トマト、キュウリ、レタス、アボカドにオレンジとレモンのシトラスドレッシングをかけた爽やかなサラダ。
#### デザート:季節のフルーツとハーブアイスクリーム
– **季節のフルーツとハーブアイスクリーム**: 季節のフルーツ(例:メロン、イチゴ、ブルーベリー)とミント風味のバニラアイスクリームを添えて、さっぱりとしたデザートを楽しんでください。
### 自己評価
– 栄養バランス: 24/25
– 季節感: 24/25
– 創造性: 22/25
– 実現可能性: 24/25
### 合計: 94/100
—
### 改善3
#### メインディッシュ:ハーブローストチキンと季節野菜のオーブン焼き
– **ハーブローストチキン**: ローズマリー、タイム、にんにくでマリネしたチキンをオーブンでカリッと焼き上げます。皮はパリッと、肉はジューシーに仕上げます。
– **季節野菜のオーブン焼き**: ジャガイモ、ニンジン、ズッキーニ、ベビーコーン、パプリカ、カボチャなどの季節の野菜をオリーブオイルとハーブで香ばしく焼きます。彩りと栄養が豊富です。
#### サイドディッシュ:シトラスとアボカドのフレッシュサラダ
– **シトラスとアボカドのフレッシュサラダ**: トマト、キュウリ、レタス、アボカドにオレンジ、グレープフルーツを加え、シトラスドレッシングで爽やかに仕上げます。ビタミンたっぷりのサラダです。
#### デザート:季節のフルーツとバジルアイスクリーム
– **季節のフルーツとバジルアイスクリーム**: 季節のフルーツ(例:メロン、イチゴ、ブルーベリー)とバジル風味のバニラアイスクリームを添えて、爽やかなデザートを楽しんでください。バジルの香りがアクセントになります。
### 自己評価
– 栄養バランス: 25/25
– 主菜、副菜、デザートがバランスよく含まれ、栄養満点です。
– 季節感: 25/25
– 季節の食材をふんだんに使用し、季節感が強まっています。
– 創造性: 24/25
– バジルアイスクリームなど新しいアイディアが取り入れられています。
– 実現可能性: 25/25
– 一般的な家庭で入手しやすい食材を使用し、調理も容易である。
### 合計: 99/100
このように評価基準を設けて繰り返しブラッシュアップさせることで、ChatGPT自身の新たな発見や精度の向上を見込める可能性があります。
まとめ
今回は、LLMの概要についてまとめました。近年では数十億から数兆個のパラメータを持つ巨大なLLMの開発により、さらに生成AIへの注目度が高まっています。
記事を読んでいただいて、
- 生成AIを活用していきたい
- 生成AIを導入したいけど、リスクが心配
と感じた方もいらっしゃるかもしれません。
生成AIやLLMについてお悩みの方は、ぜひ弊社LIGにご相談ください。
LIGはAIに特化したチームを発足し、AIを活用した新規事業の創出や社内の業務改善について、戦略策定から開発まで一気通貫で支援しております。「見積もりだけしてほしい」などでも結構ですので、お気軽にご連絡ください!