# 大規模言語モデルとは

大量の文章から語の並びの傾向を学習し、指示に応じて文章を生成するモデルです。システムから呼び出すAPIでは主に処理した文章量で課金され、処理できる量と知識の時点に上限があるため、自社の業務の実例で比較して選定します。

## 大規模言語モデルとは

大規模言語モデル、LLM（Large Language Model）は、大量の文章から語の並びの傾向を学習し、入力された指示や文章の続きを計算して生成する仕組みです。
文章を処理する生成AIの中核で、[AI事業者ガイドライン](https://www.soumu.go.jp/main_content/000943079.pdf)は大規模言語モデルを、多様な用途に転用できる汎用のモデルである基盤モデルの代表として位置づけています。

たとえばChatGPT、Claude、Geminiといったチャットの製品は、LLMに画面、会話履歴の保存、検索などの機能を統合したサービスです。
LLMはエンジン、チャットの製品は車体という自動車の構成に近い関係です。
製品や契約プランによっては1つの製品の中で複数のモデルから選択でき、APIでも提供されているモデルは自社のシステムから呼び出せます。

![チャットの製品は画面・会話履歴・検索とLLMを統合したサービスで、APIでも提供されているLLMは自社のシステムからも呼び出せることを示す図](https://media.marketing.kdotdev-tunnel.org/glossary-llm-9b5623ab7a28c2bfb4fe5341ae5c119c3458347629ce8c70fc95bf3b68871fe2.png)

従来の手法には需要予測や不良品の判定のように、用途に応じて正解付きのデータを準備し、専用のモデルを学習させるものがあります。
これに対しLLMでは作業内容を指定する文章であるプロンプトを変更するだけで、1つのモデルが要約、翻訳、分類、抽出に対応できます。

## LLMで変化したこと

以前は問合せの分類や文書からの項目抽出を自動化するたびに、正解付きのデータの準備と専用のモデルの開発が必要になることがありました。
LLMでは[学習済みのモデルを更新せず](https://www.soumu.go.jp/main_content/000943079.pdf)、プロンプトに指示と例を記述するだけで特定の作業を担当させられます。
モデルを追加の学習で調整するファインチューニングなしで検証できる用途があり、業務の担当者がプロンプトを作成して試行できます。

![従来の手法の一例では用途ごとに正解データで専用のモデルを学習させ、LLMでは1つの学習済みのモデルがプロンプトによって要約・翻訳・分類・抽出を担当することを示す図](https://media.marketing.kdotdev-tunnel.org/glossary-llm-8f3ca6b0c031008e66529942d7dfae95bdf1c3a3f6b31b1e2628f17e76f9f34e.png)

## 業務システムへの組み込みで考慮するLLMの性質

API（Application Programming Interface）は、自社のシステムからLLMを呼び出し、指示を送信して結果を受信するための接続の仕様です。
APIで業務のシステムに組み込むと、費用、一度に処理できる量、知識の時点、提供期間、時間あたりの処理能力の5つが設計の条件になります。

### 料金はトークンの数を基に計算される

LLMは文章を、語や語の一部にあたるトークンという単位に分割して処理します。
[Googleの説明](https://ai.google.dev/gemini-api/docs/tokens)では英語で1トークンがおよそ4文字で、入力と出力の両方がトークンの数に算入されます。

APIの利用料金は基本的に、入力と出力のそれぞれのトークン数と単価の積で計算します。
[OpenAIの料金表](https://developers.openai.com/api/docs/pricing)では出力の単価が入力より数倍高く、モデルによって単価に大きな差があります。
同じ入力の再利用による割引、長い入力の割増、検索などの機能の利用料が加算されることもあります。

会話の履歴を保持して送信する使い方では、履歴の分も[入力として計上される](https://platform.claude.com/docs/en/build-with-claude/context-windows)ため、送信する履歴が多いほど入力のトークンが増加し、入力側の費用の増加要因になります。

### コンテキストウィンドウには上限がある

1回の処理で対象にできる文章の量をコンテキストウィンドウと呼び、指示、資料、会話履歴、出力の合計トークン数で計算します。
主要なモデルでは[100万トークン級](https://platform.claude.com/docs/en/docs/about-claude/models/overview)まで拡大しています。
ただし上限の範囲内でも[トークン数の増加に応じて正確さが低下する](https://platform.claude.com/docs/en/build-with-claude/context-windows)ことがあります。
不要な情報を削減した入力で、精度と費用の両方を評価します。

![指示・資料・会話履歴・出力はコンテキストウィンドウの上限を共有し、会話履歴が多いほど残りの容量が減少することを示す模式図](https://media.marketing.kdotdev-tunnel.org/glossary-llm-98a5d2db6422476c29014300dfe4b87d3139e334c05f9297cce89ad26ae35ab5.png)

### 知識にはカットオフがある

LLMの知識の時点を示す日付をカットオフと呼びます。
提供者は学習データの範囲の終了時点や、知識を広範に信頼できる時点をカットオフとして[モデルの一覧](https://platform.claude.com/docs/en/docs/about-claude/models/overview)などの資料で公開しています。

カットオフの前後で知識の有無が厳密に区分されるわけではありません。
学習済みの知識だけではカットオフより後の法改正や価格を正確に回答できる保証がなく、カットオフ前の情報にも欠落や誤りがあります。

チャットの製品は検索などの外部の情報を取得する機能との併用で、最新の情報を回答できます。
検索機能を備えないモデルをAPIで呼び出す場合、最新の情報の取得は別途組み込む必要があります。
検索機能を備えたAPIやモデルもあります。

規程やマニュアルを検索し、その結果を入力に含めて回答させる使い方をRAG（Retrieval-Augmented Generation）と呼びます。
在庫数や残高のような現在の値は、業務システムへの照会で取得します。

![LLMが学習するのはカットオフまでの学習データで、規程やマニュアルの検索結果と在庫数や残高の照会結果は入力で補完することを示す図](https://media.marketing.kdotdev-tunnel.org/glossary-llm-7091fba3070cb143882a126f31f2b8ab620e1076b18367d11de0bd45822af7bd.png)

### モデルには提供終了がある

商用のモデルには提供終了があり、終了の時期や順序は提供者とモデルによって異なります。
通知の期間はモデルの区分で異なります。
[OpenAIの方針](https://developers.openai.com/api/docs/deprecations)では一般提供のモデルは6か月以上、特定用途向けの派生モデルは3か月以上、名前にpreviewを含む試験的なモデルは2週間などの短い予告で終了する場合があります。
安全上や法令への対応上の理由で短縮されることもあるため、利用するモデルの区分と個別の通知を確認します。

[Gemini](https://ai.google.dev/gemini-api/docs/models)のように、常に最新版を指す名前の中身がリリースのたびに更新される提供者もあります。

### 処理能力にはレート制限がある

APIには時間あたりの呼び出し回数やトークン数の上限であるレート制限があり、提供者側の障害で停止することもあります。
再試行で課金対象の処理が発生すると追加の費用がかかり、失敗時の課金の条件は提供者によって異なります。
必要な時間内に必要な件数を処理できるかを、再試行の費用も含めて確認します。

## 主な利用形態

| 利用形態 | 費用の形 | 主な制約 |
|---|---|---|
| 提供者のモデルをAPIで呼び出す | トークン数に応じた従量課金 | データを外部へ送信する。提供期間と料金は提供者が決定する |
| 重みが公開されたモデルを、クラウド事業者などのAPIで利用する | 従量課金または稼働時間の課金 | ライセンスの条件に従う |
| 重みが公開されたモデルを自社環境で稼働させる | 計算資源と運用の人件費 | 構築、更新、障害対応を自社で担う |

![提供者のモデルとクラウド事業者のAPIで利用する重みが公開されたモデルは自社環境の外で、自社で稼働させる重みが公開されたモデルは自社環境の中で稼働することを示す図](https://media.marketing.kdotdev-tunnel.org/glossary-llm-efe4cf6301109e96155f98e279d1a3958105163c0fbac3f0dd234dbcc8e13206.png)

重みは学習によって調整され、モデルの振る舞いを決定する大量の数値です。
重みが誰でも入手できる状態で[公開されている](https://www.gov.uk/government/publications/ai-scenarios-2030-helping-policymakers-plan-for-the-future-of-ai/ai-scenarios-2030-helping-policymakers-plan-for-the-future-of-ai#glossary)モデルをオープンウェイトと呼びます。
オープンウェイトは入手が無料でも、学習データの公開や自由な利用は保証されません。
商用利用や表示の条件は[Llama 3.1のライセンス](https://dev.meta.ai/llama/llama3_1/license)などモデルごとのライセンスで定められています。

自社で稼働させるには計算資源の費用もかかります。
計算資源にはCPU（Central Processing Unit）や、AIの計算に使用する演算装置であるGPU（Graphics Processing Unit）があります。

提供者のモデルをクラウド事業者経由で自社のクラウド契約の中で利用する形もあり、[Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/data-protection.html)ではモデル提供者が入力と出力のログにアクセスできません。

## LLMの効果と運用のコスト・リスク

### 効果

- ファインチューニングなしで、1つのモデルに要約、分類、抽出、翻訳を担当させられる
- API利用自体は少額から開始でき、件数に応じて費用が増減する
- 用途ごとに安価なモデルと上位のモデルを選択し、費用と精度の釣り合いを調整できる

### コストとリスク

- 接続の開発、評価データセットの作成、比較作業の人件費が利用料とは別にかかる
- 乗り換えのたびに再評価が必要で、結果によってはプロンプトの調整も発生する
- 提供者による提供終了、料金改定、仕様変更を自社では阻止できない
- 最新版を指す名前で呼び出すと、同じプロンプトでも出力が変化しうる
- 第三者のモデルは内部の情報を確認しにくく、出力の問題の原因を特定しにくい場合がある。米国国立標準技術研究所の[生成AIのリスク管理の指針](https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf)も第三者の構成要素の組み込みをリスクとして明記している
- 自社環境で稼働させる場合は、計算資源とともに構築、更新、障害対応を担う人材も必要になる

## モデルの選定と乗り換えの判断

自社の業務の実例で複数のモデルを比較し、必要な精度を満たす中で最も安価なモデルを選定します。
定型処理では上位のモデルと安価なモデルの精度の差がわずかで、費用の差だけになることがあります。

![候補のモデルを精度と1件あたりの費用の2軸で配置し、必要な精度を満たすモデルのうち最も安価なモデルを選定することを示す模式図](https://media.marketing.kdotdev-tunnel.org/glossary-llm-2280f611d7a4094cef1c8287fac14acce76c473c7891c06023d96340ae844fbe.png)

### 比較は自社の業務の実例で行う

公開されているベンチマークの順位は、自社の業務での精度を示しません。
初期の比較の目安として例外的な事例も含めた対象業務の実例を50件から200件程度用意します。
この実例の集まりを評価データセットと呼びます。
同じ評価データセットで正答率、修正にかかる時間、1件あたりの費用と応答時間を比較し、乗り換えのたびに再利用します。

### モデルの自社環境での稼働を検討する条件

検討の材料は外部へ送信できないデータの制約、性能や可用性の要件、総費用の比較です。
総費用は同じ品質と処理量での従量の利用料と、計算資源に構築と運用の人件費を合算した額を比較します。
計算資源と運用の担当者を確保できることは実施の前提です。

データの送信が懸念の場合は、懸念の中身を項目ごとに確認します。
入力を学習に利用しない契約は学習への利用を防止しますが、外部への送信、保存の期間、保存の所在地の条件は別に確認が必要です。

### 乗り換えの判断

新モデルの公開だけでは乗り換えの理由になりません。
契機は提供終了の通知、費用の削減、評価データセットで精度の向上を確認できたことです。

業務に組み込むときは日付や版で固定された名前を指定し、モデル名を設定値として分離して、提供終了に備えて移行できる構成にします。
移行時は評価とともに、APIの仕様や外部の機能の呼び出しの互換性も確認します。

![提供終了の通知・費用の削減・精度の向上という契機の有無で現行の継続と確認に分岐し、精度と互換性の確認の結果で乗り換えとプロンプトの調整・再評価に分岐する流れを示す図](https://media.marketing.kdotdev-tunnel.org/glossary-llm-ce8145f1ca254dc351694343a99b94d77aa715901990629f122e06a13c3e6ad7.png)

低リスクの社内の下書きでチャットの製品を利用するだけなら、モデルを詳細に比較する優先度は低いです。
選定と乗り換えの判断が必要になるのは、業務のシステムに組み込み、件数と費用が積み上がる段階からです。
