Large Language Model(LLM)は、入力された文章に対して文脈を考慮しながら自然な文章を生成する、生成AIの一種です。現在では、ChatGPTなどのチャットAIサービスをはじめ、文章生成や自動翻訳、要約、感情分析など、さまざまな分野で応用されています。本稿では、miLab記事「材料開発におけるLLMの活用事例」を理解するための前提知識として、LLMの基礎を解説します。
LLMは自然言語を効率的に処理し、多様なタスクを自動化する力を持っています。しかし、材料開発のような専門性が高く複雑な分野では、LLM単体では解決できない課題も多く存在します。このような分野では、LLMを他の技術と組み合わせて活用することが重要です。以下では、まずLLMの基本的な仕組みを概説し、次にその応用を支える重要な補完技術であるRAG(検索拡張生成)について説明します。
LLMの基本的な仕組み
1.Transformerモデル
現在、LLMの多くはTransformerというアーキテクチャを採用しています。このモデルは、自然言語処理(NLP)の分野で大きな進化をもたらしました。Transformerは、「Encoder」と「Decoder」という2つの主要な構成要素からなるDeep Neural Network(DNN)です。DNNは、人間の脳の神経回路を模倣した構造を持つ機械学習モデルで、入力データを層ごとに処理しながら高度なパターン認識を可能にします。Transformerはその一種であり、ここで解説する言語処理タスクを始めとして、画像処理や音声処理など幅広い分野に用いられています。
Transformerの最大の特徴がAttention機構です。これは文章中に含まれる各単語間の関係を計算する仕組みで、特に同じ文内の単語間の関係を処理する場合にはSelf-Attentionと呼ばれます。DNNの中で、それまで主に使われていたRNN(Recurrent Neural NetworkやLSTM(Long Short-Term Memory)は、再帰的な構造を持つため、計算が逐次的に進行し、一度に処理できる情報量が限られていました。これに対し、Transformerは再帰処理を排除し、Attention機構を中心に設計することで、計算効率を飛躍的に向上させています。特に、全データを並列計算で処理できるため、大規模データの学習や推論を高速で行えます。
また、Transformerは自然言語を処理する際に、トークナイザーと埋め込み技術を使用します。まず、トークナイザーを用いて文章をトークンという最小単位に分割し、次にこれらのトークンを埋め込み技術を用いて数値ベクトルに変換します。この変換により、文章が高次元空間で表現され、単語間の意味的距離を数値化できるようになります。この仕組みは、人間が漠然と感じる単語間の意味の近さや遠さをモデルが学習しやすくするために重要です。
ここで注意しなければならないのが、LLMはトークンごとに情報を処理するため、トークンよりも細かい単位での解析を行うことが出来ないことです。たとえば、「セルロース」という単語が含まれる「メチルセルロース」を処理する際、これを1トークンとするか、「メチル」と「セルロース」に分割するかは、モデルが認識できる情報に大きな影響を与えます。特に専門分野における追加学習では、トークナイザーの選択や設定が重要です。
これらの仕組みによって、Transformerは自然言語処理を行っています。
図1. Transfomerモデルの概要
2.GPT(Generative Pretrained Transformer)
GPT(Generative Pretrained Transformer)は、現在の主流である文章生成モデルであり、ChatGPTなどの多くのLLMで採用されています。このモデルは、先に説明したTransformerアーキテクチャを基盤としており、その中でもDecoder部分のみを使用しています。元々Transformerは翻訳タスクを念頭に設計されたため、Encoderが入力文(翻訳元)を解析し、Decoderが出力文(翻訳先)を生成するという仕組みを持っています。一方で、文章生成のようなタスクでは、翻訳元となる文章そのものを必要としないため、GPTはEncoderを省略し、Decoderの機能に特化しています。
GPTは、文章を生成する際に「次に出てくる単語の確率分布を予測する」仕組みを用いています。具体的には、入力された文章(または生成中の文章)を元に、その続きに来る可能性の高い単語を選びます。このプロセスを繰り返し、文全体を少しずつ構築していきます。
例えば、「This is a」という入力があったとき、GPTは次に来る可能性のある単語として「pen」「book」「banana」などの候補を挙げ、それぞれの確率を計算し、それを元に出力を選択します。この選択は単純に最も高い確率の単語を選ぶだけではありません。場合によっては、わざと確率の低い単語を選ばれるよう調整することで、単語の繰り返しや単調な文構造を避け、より自然な文章を生成できるよう工夫されています。これには「温度」と呼ばれるパラメータが用いられ、モデルがどの程度確率分布に従うかを調整します。
図2. GPTが文章を生成するイメージ
ChatGPTのようなスムーズな対話を可能にするモデルでは、Instructチューニングと呼ばれる特殊な学習手法を用いています。前述のようにGPTは入力された文章の次の単語を予測することで文章の生成を行うモデルです。一方で、ChatGPTではチャット形式で質問に対して答えが返ってくるという形式になっており、入力された文章の続きを予測しているようには見えません。ここで鍵になるのがInstructチューニングです。
Instructチューニングとは、指示と回答を1つのまとまりとしてモデルに学習させる手法です。この方法により、モデルはユーザーの意図を正確に理解し、それに基づいた応答を生成できるようになります。具体例として、「指示:日本で一番高い山はなんですか。回答:富士山」といった形式のデータを学習します。これにより、ユーザーから「日本で一番高い山はなんですか」という入力があった際には、内部で「指示:日本で一番高い山はなんですか。回答:」という形式に変換してモデルに入力し、その続きの文章を生成します。そして、「回答:」以降を取り出してチャットの応答として表示する仕組みです。このアプローチによって、ChatGPTをはじめとする対話型AIは、単なる文章生成ではなく、指示に基づいた応答を実現しています。ユーザーから見ても自然で的確な会話が可能となり、チャット形式のやり取りがスムーズに進むようになっています。
LLMの主な補完技術:RAG(検索拡張生成)
RAG(Retrieval-Augmented Generation)は、LLMを研究開発のような専門的な場や特定の課題に適用する際に欠かせない技術です。GPT-4のような大規模なLLMは、非常に広範な知識を持っていますが、すべての専門分野や最新の情報を網羅しているわけではありません。GPT-4は教科書や専門書に載っているような知識は把握している一方で、学術論文レベルの知識は把握していないことが報告されています(Prompt engineering of GPT-4 for chemical research: what can/cannot be done?)。また、学習のために行われたデータ収集以降の研究動向をモデルは把握していません。このギャップを補うためにRAGが活用されます。
RAGでは、まず外部のデータベースや検索エンジンを活用して、関連情報を収集します。例えば、ユーザーが「特定の材料の熱伝導率に関する最新研究」を尋ねた場合、RAGは学術論文や専門書のデータベースから関連する情報を検索し、その内容を要約する形でLLMに入力します。LLMは提供された情報を基に、回答を生成します。RAGを用いた回答作成は、下記の3ステップで構成されます。
- 検索(Retrieval):質問内容に関連する情報を、外部データベースや知識グラフから取得
- 要約(Summarization):取得した情報を簡潔に整理し、LLMが理解しやすい形に変換
- 生成(Generation):LLMが整理された情報を基に、質問への回答や提案を生成
このプロセスにより、RAGはLLM単体ではカバーしきれない専門分野の課題解決や、最新情報への対応を可能にします。
まとめ
本記事では、LLMの基礎技術であるTransformerモデルやGPTの仕組み、専門分野での活用を支えるRAGについて説明しました。
LLMは万能の知能ではなく、発展途上の技術です。LLMが持つ知識の限界を補う信頼性の高いデータ連携の確立や、生成結果の精度向上、専門性の高い分野における応用範囲の拡大が、今後進展していくでしょう。