LLMとは?仕組み・得意なこと・苦手なことを情シス向けに整理
LLM(大規模言語モデル)の仕組みを、実際のトークン分割と次トークンの確率の値で説明。作られ方、コンテキストウィンドウ、ハルシネーションの原因、業務に使えるかの判断基準をまとめました。
LLM(大規模言語モデル)とは、大量の文章から「次に来るトークン(語の断片)」を予測するよう学習した、数億〜1兆を超えるパラメータを持つニューラルネットワークです。英語のLarge Language Modelの略で、パラメータは学習で調整される数値を指します。ChatGPT、Microsoft 365 Copilot、Geminiといったサービスの中で文章を組み立てている本体がLLMで、サービスはそれに画面や検索、社内データとの連携を付けたものです。
情シスがLLMの仕組みを知っておくと、「この業務に使えるか」「どこで間違えるか」「何を渡すと危ないか」を、製品の宣伝文句ではなく自分で判断できるようになります。ここでは、実際に小さなモデルを動かして取り出したトークン分割と確率の値を使いながら、得意・苦手の理由を仕組みから説明します。
この記事でわかること
- LLMが文章を生成するときに内部で行っている「次のトークン選び」の実際
- 事前学習・指示チューニング・好みの学習という作られ方と、知識に期限がある理由
- コンテキストウィンドウ、トークン課金、ハルシネーションが起きる仕組み
- 情シスの業務で向く作業・向かない作業と、その判断基準
LLMとは何をしているのか:次のトークンを1つずつ選ぶ
LLMは文字や単語をそのまま扱わず、まず文章を「トークン」という単位に分けます。Qwen2.5というモデルのトークナイザー(語彙数151,665)に社内でよく見る文を通すと、次のように分かれました。
| 入力 | 文字数 | トークン数 | 分割結果 |
|---|---|---|---|
| 社内VPNに接続できません | 13 | 7 | 社 / 内 / VPN / に / 接 / 続 / できません |
| I cannot connect to the company VPN | 35 | 7 | I / cannot / connect / to / the / company / VPN |
| 情報システム部 | 7 | 3 | 情報 / システム / 部 |
| パスワードをリセットしてください | 16 | 7 | パス / ワ / ード / を / リ / セット / してください |
「接続」は2つに割れているのに「できません」は1トークンで、分け方は意味ではなく学習データでの出現頻度で決まっています。APIの料金や、一度に読める量の上限(後述のコンテキストウィンドウ)はこのトークン数で数えるため、同じ内容でも言語やモデルによって費用が変わります。
生成の中身は、それまでのトークン列を見て、語彙のすべてのトークンに「次に来る確率」を割り振り、1つを選んで末尾に足す、という処理の繰り返しです。Ollamaで qwen2.5:0.5b に途中までの文を渡し、次の1トークンの上位候補を取り出した結果が次の表です(例:パラメータ数5億の小型モデルでの値)。
| 途中までの文 | 1位 | 2位 | 3位 |
|---|---|---|---|
| DNSの正式名称はDomain Name | System(92.0%) | Service(3.4%) | Server(1.4%) |
| 社内のファイルサーバーにつながらないときは、まず | 「、」(12.0%) | 「「」(6.1%) | 「まず」(5.6%) |
正解が1つに決まる文では確率が1位に集中し、続け方が何通りもある文では分散します。ここで注目したいのは、1行目で誤りの「Service」にも3.4%が残っている点です。生成時にある程度のランダムさを持たせる設定(温度、temperature)では、この3.4%が選ばれる回もあり、一度「Domain Name Service」と書き始めたら、モデルはその続きを最ももっともらしく書き進めます。
どうやって作られるか:事前学習と追加学習
LLMは大きく3段階で作られます。最初の事前学習では、Webページ、書籍、ソースコードなどの膨大な文章で「次のトークン当て」を繰り返します。正解ラベルは文章そのもの(次に実際に来た語)なので、人が答えを付ける必要がありません。この段階で、文法、言語をまたいだ対応関係、よく書かれている事実、プログラムの書き方などが重みとして蓄積されます。
事前学習だけのモデルは「続きを書く」ことしかできず、質問をすると質問文の続きを書き始めます。そこで、人が作った「指示と望ましい回答」の組で追加学習(指示チューニング)を行い、指示に答える振る舞いを身につけさせます。さらに、複数の回答のどちらが好ましいかという人の評価を使って調整し(RLHFやDPOと呼ばれる手法)、丁寧さや危険な依頼を断る振る舞いを整えます。
この作り方から、2つの性質が出てきます。1つは知識の期限で、事前学習のデータを集めた時点より後の出来事は知りません。もう1つは社内情報を知らないことで、自社の規程やサーバー構成は学習データに含まれていないため、聞いても一般論か作り話が返ります。どちらも、必要な情報を質問と一緒に渡す(RAGや検索との連携)ことで補います。
コンテキストウィンドウとトークン課金
LLMが1回の処理で読めるトークン数の上限をコンテキストウィンドウと呼びます。入力(システムの指示、会話履歴、添付資料)と出力の合計がこの枠に収まる必要があります。チャットで会話が続いているように見えるのは、アプリが毎回それまでの履歴をまとめて送り直しているからで、モデル自体は前回のやり取りを覚えていません。
枠を超えた分の扱いは実装次第です。ローカルLLMのOllamaでは、モデルごとの設定値(今回の環境では4,096トークン)を超えた入力は先頭側が切り捨てられ、エラーにならないまま「長い手順書の前半を無視した回答」が返ることがあります。クラウドAPIはトークン単位の従量課金が一般的で、長い資料を毎回添付する作りにすると、回答の中身が変わらなくても費用は資料の長さに比例して増えます。
長い資料を丸ごと渡せば精度が上がるとは限りません。枠に収まっていても、資料の中ほどに書かれた情報は拾われにくい傾向が知られています。必要な部分を検索で絞ってから渡す、資料の要点を先に書く、といった工夫のほうが、枠の大きいモデルに替えるより効くことが多くあります。
ChatGPT・Copilot・API・ローカルLLMの関係
「LLMを使う」には複数の形があり、データの行き先と管理のしやすさが違います。社内で導入を検討するときは、まずどの形の話をしているのかをそろえると議論が早く進みます。
| 使い方 | 例 | 入力データの行き先 | 情シスが管理しやすい点・しにくい点 |
|---|---|---|---|
| チャットサービス | ChatGPT、Gemini、Claude | 提供元のクラウド | すぐ使えるが、個人契約の利用は把握しにくい。法人契約なら管理画面で制御できる |
| 業務アプリへの組み込み | Microsoft 365 Copilot など | 契約中のクラウドの範囲内 | 既存の権限をそのまま使うため、権限設定の不備がそのまま検索範囲になる |
| API | 各社のAPI、クラウド事業者経由のAPI | 提供元のクラウド | 自社アプリに組み込める。キーの管理と費用の上限設定が必要 |
| ローカルLLM | Ollama、llama.cpp | 自社のサーバー内 | データは外に出ないが、性能はGPUなど手元の計算資源で決まる |
同じ「GPT系のモデル」でも、個人向けのチャットと法人契約とAPIとでは、入力データの扱いに関する条件が別々に定められています。モデル名ではなく契約形態で判断してください。
得意なこと・苦手なこと(情シスの業務で考える)
向き不向きは「答えの材料が入力の中にあるか」と「間違いをすぐ確かめられるか」でほぼ決まります。仕組みと結びつけて整理すると次のとおりです。
| 作業 | 向き不向き | 理由 | 使うときの条件 |
|---|---|---|---|
| 障害報告やメールの要約 | 向く | 材料がすべて入力にあり、言い換えは学習の中心 | 元の文書を必ず一緒に残す |
| 問い合わせの分類 | 条件付きで向く | 文の特徴から分類する作業は得意 | 分類の定義と例を渡し、正解付きのデータで精度を測る |
| PowerShellやBashの雛形 | 向くが検証必須 | 公開コードを大量に学習している | 検証環境で実行し、削除や権限変更の行は人が確認する |
| エラーメッセージの意味の説明 | 向く | よく出るエラーは学習データに多い | 製品の版で挙動が違う点は公式情報で確かめる |
| 社内規程の質問への回答 | 単体では向かない | 社内文書を学習していない | 規程を検索して渡す構成(RAG)にする |
| ライセンス数や費用の集計 | 向かない | 数字もトークン単位で扱い、計算を保証しない | 計算はExcelやスクリプトに任せ、LLMには式を書かせる |
| 最新の脆弱性の影響判断 | 向かない | 知識に期限がある | 一次情報(ベンダーの告知)を読ませたうえで要約させる |
ハルシネーションはなぜ起きるか
ハルシネーションは、事実と異なる内容をもっともらしく生成する現象です。原因は先ほどの「次のトークン選び」にあります。モデルは各段階で最ももっともらしい続きを選ぶだけで、その内容が事実かどうかを確かめる処理はどこにもありません。「分かりません」も、学習の中でその場面にふさわしいと覚えた場合にだけ選ばれる続き方の1つです。
小さいモデルほど顕著で、qwen2.5:0.5b に「DNSとは何か1文で」と聞いたところ、「DNS(ドメイン名サーバーとドメインマップ)とは…」と存在しない正式名称から書き始め、その誤りに沿った説明を続けました。前の表で「System」に92%を割り振っていたのと同じモデルです。確率の高い候補を知っていても、問いの形や書き出しが変わると別の経路に入り、入ったあとは一貫した誤りを書き進めます。
- 答えの根拠となる文書を渡し、「この文書に書かれていないことは『記載なし』と答える」と指示する
- 回答に根拠の引用(文書名や該当箇所)を付けさせ、人が照合できる形にする
- 計算・日付・在庫のような事実は、LLMに答えさせずツール(関数やAPI)から取得させる
- 誤りの影響が大きい用途では、出力を人が確認してから使う手順を業務に組み込む
大きいモデルほどハルシネーションは減りますが、なくなりはしません。しかも大きいモデルの誤りは文章が自然なぶん見抜きにくくなります。「精度の高いモデルに替えたから確認は不要」という判断は避けてください。
業務に入れるかどうかの判断基準
新しい用途の相談を受けたら、次の4つを順に確認すると判断がぶれません。
- 答えの材料は入力の中にあるか。ないなら、検索や社内データとの連携を先に設計する
- 間違えたときの影響はどこまでか。社外への回答、金額、権限変更に関わるなら人の確認を必須にする
- 正しさをすぐ確かめられるか。要約は原文と照合でき、コードは実行して確かめられる。確かめる手段がない作業は後回しにする
- 入力する情報の機密区分は、利用する契約形態で許されているか
4つとも問題なければ、まず20〜30件の実データで試し、正解と比べて使える水準かを確認します。プロンプトの書き方と検証の進め方はプロンプトエンジニアリング実践で扱っています。
よくある質問
LLMとChatGPTの違いは何ですか?
LLMは文章を生成するモデルそのもので、ChatGPTはOpenAIのLLMにチャット画面、会話履歴の管理、Web検索やファイル読み込みなどの機能を組み合わせたサービスです。同じLLMでもサービスや契約によって使える機能やデータの扱いが異なるので、導入判断はサービス単位で行います。
LLMとAIの違いは何ですか?
AIは人の知的な作業をコンピューターで行う技術全体の呼び名で、画像認識や需要予測も含みます。LLMはその中の、大量の文章で学習して言語を扱うモデルの一種です。生成AIは文章・画像・音声などを新しく作るAIの総称で、文章を生成する生成AIの中心にLLMがあります。
LLMは教師あり学習ですか?
最初の事前学習は、文章の次に来る語そのものを正解として使う自己教師あり学習で、人が正解を付ける必要がありません。そのあとの指示チューニングは、人が作った指示と回答の組を使う教師あり学習で、さらに人の好みの評価を使った調整が加わります。段階ごとに学習方法が異なります。
日本語に強いLLMはどれですか?
クラウドの主要なLLMはおおむね日本語を実用水準で扱えます。ローカルで動かすモデルは系列やサイズで差が大きく、目安として数十億パラメータ以上から実用的になります。候補の選び方と必要なメモリはローカルLLMの選び方にまとめています。
まとめ
LLMはトークンの確率を計算して続きを選ぶ仕組みなので、材料が入力にある要約や分類は得意で、事実の保証、計算、社内情報、期限後の出来事は苦手です。業務に入れるかは「材料が入力にあるか」「間違いの影響」「確かめやすさ」「データの機密区分」で判断し、少数の実データで精度を測ってから広げてください。
次に読む
- RAGとは?仕組みと社内導入で失敗しない設計原則:社内情報を知らないという弱点を補う構成
- プロンプトエンジニアリング実践:業務で使えるプロンプトの書き方と検証方法
- ローカルLLMの選び方:自社サーバーで動かす場合のモデルとメモリの目安