LLMとは「Large Language Model」の略で、日本語では「大規模言語モデル」と呼ばれます。
大量のテキストデータを学習し、文章の生成や要約、翻訳、質問への回答など、言語に関するさまざまな処理を行うAIモデルです。
ChatGPTのような対話型AIの中核技術として知られていますが、LLMそのものがチャットサービスを意味するわけではありません。
LLMはAIを構成する技術の一つであり、そのLLMを組み込んでユーザー向けの機能を提供するものが、チャットAIや文章生成サービスなどのAIアプリケーションです。
現在の代表的なLLMの多くは、機械学習の一分野である深層学習を基盤としています。
そのため、LLMを理解するうえでは、AI、機械学習、深層学習といった基本的な概念もあわせて理解しておくと役立ちます。
LLMの基本的な仕組み
大量の文章から言葉の関係を学習する
LLMは、大量の文章を学習することで、言葉がどのような文脈で使われるのか、ほかの言葉とどのような関係があるのかを学習します。
たとえば、
「今日は天気がよいので、公園に〇〇」
という文章があれば、「行く」「出かける」などの言葉が続く可能性が高いと推測できます。
実際のLLMでは、非常に大規模なニューラルネットワークを使い、より複雑な文脈や言葉同士の関係を処理します。
LLMが人間とまったく同じ意味で言葉を理解していると断定するのは適切ではありません。
より正確には、大量のデータから言葉や文章のパターン、文脈上の関係性を学習していると考えるとよいでしょう。
トークン単位で文章を処理する
LLMは、文章をそのまま一つのまとまりとして処理しているわけではありません。
一般的には、文章を「トークン」と呼ばれる小さな単位に分割して処理します。
トークンは、単語そのものになることもあれば、単語の一部、文字列、記号などになることもあります。
そのため、「1単語=1トークン」になるとは限りません。
日本語の場合も、文字数とトークン数は一致しないことがあります。
どのように文章を分割するかは、モデルが使用するトークナイザーによって異なります。
LLMを支えるTransformer
Transformerとは
現在の主要なLLMの多くは、「Transformer」と呼ばれるニューラルネットワークの構造を基盤としています。
Transformerは2017年に発表されたアーキテクチャで、その後の自然言語処理やLLMの発展に大きな影響を与えました。
GPT系のモデルをはじめ、多くの言語モデルがTransformerまたはその派生技術を採用しています。
ただし、「LLM=Transformer」という意味ではありません。
あくまで、現在主流のLLMの多くがTransformer系の仕組みを利用しているという関係です。
Attentionで言葉同士の関係を捉える
Transformerを支える重要な仕組みの一つが「Attention」です。
Attentionは、入力されたトークン同士の関連性を計算し、関連度に応じて情報を重み付けして利用する仕組みです。
たとえば、
「太郎は新しいパソコンを購入した。
それを仕事で使っている」
という文章では、「それ」が「パソコン」と関係していることを捉える必要があります。
Attentionを利用することで、文章内で離れている言葉同士の関係も処理しやすくなります。
特に「Self-Attention」と呼ばれる仕組みでは、同じ入力文の中にある各トークン同士の関係を計算します。
LLMはどのように学習するのか
事前学習
LLMの開発では、まず大量のテキストデータを利用した「事前学習」が行われるのが一般的です。
文章の続きの予測などを大量に行うことで、モデルは言葉の使われ方や文章のパターンを学習します。
その結果として、文法、文章構造、言葉同士の関係、一定の事実関係などを出力できるようになります。
ただし、LLMの内部に百科事典のようなデータベースがそのまま保存されているわけではありません。
学習データから得たパターンが、ニューラルネットワーク内部のパラメータに反映されています。
ファインチューニング
事前学習済みのモデルを、特定の目的に合わせて追加学習する方法を「ファインチューニング」と呼びます。
たとえば、
カスタマーサポート、法律文書、医療文書、プログラミング、社内業務など、特定の用途に適応させるために利用されます。
ファインチューニングでは、特定分野の知識だけでなく、出力形式や回答スタイルなどを調整することも可能です。
ただし、LLMを業務で活用する際に、必ずファインチューニングが必要というわけではありません。
プロンプト設計やRAGなどで目的を達成できる場合もあります。
人間の指示に合わせた調整
文章の続きだけを予測するように学習したモデルは、そのままではユーザーの質問に適切に答えられるとは限りません。
そのため、対話型AIでは、人間の指示や評価に合わせるための追加調整が行われます。
代表的な方法として、
Instruction Tuning、RLHF、DPOなどのPreference Optimizationがあります。
これらを利用することで、単なる文章予測モデルから、ユーザーの指示に従って回答しやすいモデルへと調整できます。
LLMにおけるパラメータとは
学習によって調整されるモデル内部の数値
LLMについて調べると、「数十億パラメータ」などの表現を見ることがあります。
パラメータとは、ニューラルネットワーク内部にある大量の数値です。
モデルは学習を通じて、これらの数値を少しずつ調整します。
その結果、文章のパターンや言葉同士の関係を反映した出力ができるようになります。
ただし、パラメータ数が多ければ必ず性能が高くなるわけではありません。
LLMの性能には、学習データの量や品質、モデル構造、学習方法、推論方法、追加学習など、さまざまな要因が影響します。
そのため、単純にパラメータ数だけを見てモデルの性能を判断することはできません。
LLMはどのように文章を生成するのか
次のトークンの確率を計算する
GPTのような自己回帰型の生成LLMでは、これまでの文章をもとに、次にどのトークンが続く可能性が高いかを計算します。
たとえば、
「日本の首都は」
という文章が入力された場合、「東京」が続く確率が高いと計算される可能性があります。
LLMは一つの答えだけを計算するのではなく、候補となる複数のトークンについて確率分布を計算します。
その後、設定された生成方法に応じて、次のトークンを選択します。
必ず最も確率の高い単語を選ぶとは限らない
LLMは、常に最も確率の高いトークンだけを選択するわけではありません。
生成方法によっては、複数の候補からある程度ランダムに選択することがあります。
代表的な仕組みとして、
Greedy Decoding、Temperature、Top-k Sampling、Top-p Samplingなどがあります。
この仕組みによって、同じ質問をしても回答が少しずつ変わることがあります。
LLMでできること
文章を生成する
LLMが得意とする代表的な用途が文章生成です。
ブログ記事、商品説明文、メール、広告コピー、SNS投稿、マニュアル、レポートなど、さまざまな文章の下書きを作成できます。
Webマーケティングでは、SEO記事の構成案や広告文、LPのコピー、メルマガなどにも活用できます。
文章を要約する
長い文章の中から重要なポイントを抽出し、短くまとめることも可能です。
たとえば、長文のレポートや会議資料を要約し、要点だけを整理する用途に利用できます。
翻訳する
LLMは多言語処理にも利用できます。
単純な直訳だけでなく、
「ビジネスメールとして自然な英語にしてください」
のように目的や文章のトーンを指定することもできます。
情報を分類する
文章を特定のルールに基づいて分類する用途にも利用できます。
たとえば、アンケートの自由回答を、商品、価格、配送、接客などのカテゴリーに分けることが可能です。
情報を抽出する
文章の中から特定の情報だけを抜き出すこともできます。
問い合わせメールから、顧客名、商品名、問い合わせ内容、希望日時などを抽出するといった使い方があります。
プログラムコードを扱う
LLMは自然言語だけでなく、プログラムコードの処理にも利用できます。
コードの生成、修正、解説、デバッグ、リファクタリングなどに活用できます。
プロンプトとは
LLMに与える指示や入力
LLMに入力する文章を一般的に「プロンプト」と呼びます。
たとえば、
「生成AIについて説明してください」
という文章もプロンプトです。
より具体的に条件を指定すると、目的に合った回答を得やすくなります。
たとえば、
「生成AIについて、ITに詳しくない会社員向けに、専門用語をなるべく使わず1,000文字程度で説明してください」
と指定すれば、対象読者や文章量に合わせた回答を生成しやすくなります。
プロンプトによって回答品質が変わる
LLMは入力された指示をもとに回答を生成します。
そのため、プロンプトの内容によって回答品質が大きく変化することがあります。
一般的には、
目的、対象読者、前提条件、出力形式、制約、必要な情報などを明確にすると、期待する回答を得やすくなります。
コンテキストとは
回答生成時に利用される文脈情報
LLMでは「コンテキスト」という言葉も重要です。
コンテキストとは、モデルが回答を生成するときに参照している文脈情報を指します。
たとえば、現在入力した質問だけでなく、それ以前の会話やシステムから与えられた指示などが含まれることがあります。
コンテキストウィンドウには上限がある
LLMが一度に処理できるコンテキストの量には上限があります。
この範囲を「コンテキストウィンドウ」と呼びます。
コンテキストウィンドウが大きいモデルほど、一度に多くの情報や長い文章を扱いやすくなります。
ただし、コンテキストウィンドウが大きいからといって、入力されたすべての情報を常に同じ精度で利用できるとは限りません。
RAGとは
外部情報を検索して回答生成に利用する仕組み
RAGとは「Retrieval-Augmented Generation」の略で、日本語では「検索拡張生成」などと呼ばれます。
LLMだけで回答を生成するのではなく、外部のデータベースや文書などから関連情報を検索し、その情報をLLMに与えて回答させる仕組みです。
たとえば、社内規程について質問できるAIを作る場合、
「質問 → 社内文書を検索 → 関連する文章を取得 → LLMに渡す → 回答を生成」
という流れで処理できます。
これにより、モデルの学習時点では知らなかった情報や、社内独自の情報を回答に反映しやすくなります。
RAGを使っても必ず正確になるわけではない
RAGはLLMの回答精度を高めるために有効な仕組みですが、正確性を保証するものではありません。
検索結果が適切でなかったり、取得した情報をLLMが誤って解釈したりする可能性があります。
そのため、RAGを導入した場合でも、重要な情報については確認が必要です。
LLMと生成AIの違い
生成AIはより広い概念
LLMと生成AIは混同されることがありますが、同じ意味ではありません。
生成AIとは、文章、画像、音声、動画、プログラムコードなどのコンテンツを生成するAI技術全般を指します。
一方、LLMは主に言語処理を得意とする大規模なモデルです。
そのため、LLMは生成AIを実現する代表的な技術の一つと考えることができます。
最近では、テキストだけでなく画像や音声なども扱えるマルチモーダルモデルも増えています。
そのため、LLMとほかの生成AI技術との境界は以前より複雑になっています。
LLMとチャットAIの違い
LLMはモデル、チャットAIはサービス
LLMとChatGPTのようなチャットAIも同じものではありません。
LLMは、文章を処理・生成するための基盤モデルです。
一方、チャットAIは、そのLLMを活用してユーザーとの対話を実現するサービスやシステムです。
実際のチャットAIには、LLM以外にも、検索機能、ファイル処理、外部API、ユーザーインターフェース、安全対策などが組み合わされている場合があります。
初心者向けに例えるなら、
「LLMはエンジン、チャットAIはそのエンジンを搭載したサービス」
と考えると分かりやすいでしょう。
LLMのメリット
一つのモデルでさまざまなタスクに対応できる
従来の機械学習では、分類、翻訳、要約など、タスクごとに専用モデルを構築・調整するケースが多くありました。
LLMでは、自然言語で指示することで、一つのモデルをさまざまな用途に活用できます。
文章生成、要約、翻訳、分類、情報抽出などを一つのモデルで処理できる点は、大きな特徴です。
自然言語で指示できる
LLMの大きなメリットの一つが、自然な日本語や英語で指示できることです。
プログラミングの知識がなくても、
「この文章を要約してください」
「このデータから問題点を整理してください」
といった形で利用できます。
そのため、これまで専門知識が必要だったAI活用のハードルを下げることにつながっています。
LLMを利用するときの注意点
ハルシネーションが発生することがある
LLMを利用するときに注意したい代表的な問題が「ハルシネーション」です。
ハルシネーションとは、事実とは異なる情報を、もっともらしい文章として生成してしまう現象です。
たとえば、
存在しない統計、存在しない論文、誤った人物名、架空のURLなどを生成することがあります。
そのため、重要な情報については、公式情報や一次情報と照合することが重要です。
最新情報を知っているとは限らない
LLMは、必ずしもリアルタイムの最新情報を持っているわけではありません。
モデルの学習時期や利用するサービスによって、参照できる情報の範囲は異なります。
検索機能や外部データベースと連携しているサービスもありますが、すべてのLLMが最新情報を確認できるわけではありません。
最新のニュース、価格、法律、製品仕様などについては、最新の情報源を確認する必要があります。
個人情報や機密情報の入力に注意する
業務でLLMを利用する場合は、入力する情報にも注意が必要です。
顧客情報、個人情報、社外秘情報、未公開の経営情報、パスワード、APIキーなどを安易に入力するべきではありません。
入力したデータがどのように保存・処理・利用されるかは、サービスや契約内容によって異なります。
利用規約、プライバシーポリシー、社内ルールなどを確認したうえで利用することが重要です。
回答をそのまま信用しない
LLMは非常に自然な文章を生成できるため、間違った情報でも正しく見えてしまうことがあります。
特に、医療、法律、金融、セキュリティ、統計、ニュースなど、正確性が重要な分野では注意が必要です。
重要な意思決定に利用する場合は、人間による確認や信頼できる情報源との照合が必要です。
LLMを理解するうえで重要な用語
LLM
大量の言語データを学習し、文章生成や要約、翻訳などを行う大規模言語モデルです。
Transformer
現在の主要なLLMで広く利用されているニューラルネットワークの構造です。
Attention
入力されたトークン同士の関連性を計算し、情報を重み付けして利用する仕組みです。
トークン
LLMが文章を処理するときの基本的な単位です。
単語だけでなく、単語の一部や文字列、記号などが一つのトークンになる場合があります。
パラメータ
ニューラルネットワーク内部に存在し、学習によって調整される数値です。
プロンプト
LLMに与える指示や入力内容です。
コンテキスト
LLMが回答生成時に参照している文脈情報です。
コンテキストウィンドウ
LLMが一度に扱えるコンテキストの範囲です。
ファインチューニング
事前学習済みのモデルを、特定の用途や出力特性に合わせて追加学習する方法です。
RAG
外部情報を検索し、その情報をLLMに渡して回答生成に利用する仕組みです。
ハルシネーション
LLMが事実とは異なる情報をもっともらしく生成してしまう現象です。
マルチモーダル
テキストだけでなく、画像、音声、動画など複数種類の情報を扱う仕組みです。
LLMの基礎知識を理解するポイント
LLMを学ぶ際に、最初から高度な数学やニューラルネットワークの詳細まで理解する必要はありません。
まずは、
LLMは大量の文章から言葉や文脈のパターンを学習するモデルである。
文章をトークンという単位に分割して処理する。
現在の主要なLLMではTransformerが広く利用されている。
GPTのような生成型LLMでは、次のトークンの確率を計算しながら文章を生成する。
文章生成、要約、翻訳、分類、情報抽出など、幅広い用途に利用できる。
一方で、ハルシネーションや情報の鮮度、個人情報の取り扱いなどには注意が必要である。
このような基本事項を押さえることが重要です。
LLMは単なる「文章を作るAI」ではありません。
自然言語をインターフェースとして、検索支援、データ分析、プログラミング、業務支援など幅広い用途に利用できる基盤技術の一つです。
今後さらに理解を深めるのであれば、Transformer、トークン、プロンプト、コンテキスト、RAG、ファインチューニングの順に学んでいくと、LLMの仕組みから実務での活用方法まで体系的に理解しやすくなります。
以上、LLMの基礎知識についてでした。
最後までお読みいただき、ありがとうございました。
