LLM(大規模言語モデル)は、データ量(トークン数)、計算量、パラメータ数のいずれも大規模となった言語モデルを指します。豊富な語句をLLMに蓄積でき、まるで人間と会話しているようなスムーズなやり取りを実現します。応答の質を大きく高めていることは、従来の言語モデルとの違いです。日本国内でも、数兆パラメータ規模のLLM構築に着手した企業が現れています。
言語モデルは人間が読み書きする文章をもとに、次に来る単語がどの程度の確率で出現するか、予測できる確率を活用してモデル化したものです。文章が成立しやすい単語には高い確率が、成立しにくい単語には低い確率が割り当てられます。
例えば「朝は」に続く単語として、「すがすがしい」には高い確率が、「暗い」には低い確率が割り当てられるでしょう。高い確率で出現する単語を並べることで、人間が理解しやすい文章をコンピュータでもつくることが可能です。
言語モデルの解析には、ベクトルなど数学的な知識が用いられます。言葉の説明に数学が用いられることに、不思議さを感じる方もいるかもしれません。
ベクトルは、単語などトークンどうしの位置関係を説明する目的で使われます。それぞれのトークンは「ベクトル化(エンベディング)」と呼ばれるステップでベクトルを使った表現に変換され、空間上に配置されます。この結果、意味の近いトークンは近くなるように、遠いトークンは遠くなるように配置されます。
ベクトルを使ってトークンを数学的に把握することで、語句どうしの関連性や類似性をコンピュータでも把握することが可能となります。このように、ベクトルはLLMで適切な文章を生成するうえで必要な概念です。
LLMは5つのステップで動作し、文章を作ります。LLMが動作する仕組みを、以下の表にまとめました。
ステップ | 動作する内容 |
---|---|
1 | 入力された文章やテキストデータを、トークン(単語や句読点、記号などの単位)に分割する |
2 | それぞれのトークンをベクトルに変換(ベクトル化、エンベディング)して、コンピュータで扱えるようにする |
3 | 人間の脳の構造を模倣した「ニューラルネットワーク」を活用して、入力データの特徴を抽出する |
4 | 文章の意味や文脈を理解する |
5 | 適切な応答を作成して、人間が理解できる形で表示する |
上記の動作により、数学を使って文章が持つ特徴を押さえることができ、文脈の理解と自然な文章の提示を実現しています。
LLMは、人間のような脳を持っているわけではありません。確率を使って言葉を並べるなら、支離滅裂な文章もできあがるように見えます。しかし実際には、支離滅裂な文章は作りにくくなっています。なぜコンピュータが人間のような文章を作ることができるか、不思議に感じた方も多いのではないでしょうか?
「そもそも『言語モデル』とはなにか?」で解説したとおり、LLMは単語や語句の次にどのような単語や語句が続きやすいか、重みをつけています。文脈を把握しながら重みの大きい単語や語句どうしを優先してつなぐため、人間でも自然に理解できる文章を作成できるというわけです。
LLMは、プログラムを組みテストを行っただけでは完成しません。システムの稼働にあたっては事前に大量のデータを読み込ませてトレーニングを行い、調整を行うことが必要です。これは一般的な業務システムとの大きな相違点です。
事前のトレーニングが必須となる背景に、LLMは既存の文章から学ぶという点が挙げられます。さまざまな文章を通して、LLMはどの単語とどの単語がつながりやすいかを学習し、文脈を理解することが理由です。出力される文章を見ながら、適宜調整する場合もあります。何も学習していない状態のLLMでは、適切な文章を作ることは難しいでしょう。
ここまで、LLMが動く仕組みを解説しました。動作する仕組みを理解することは、LLMの適切かつ有効な活用につながります。LLMの特徴を活かした使い方ができれば、実務にも役立つでしょう。仕組みを理解して、LLMを上手に活用しましょう。
LLMに活用されている技術や関連する技術との相違点は、「 LLM(大規模言語モデル)を支える技術を紹介!注目される技術との違いも解説 」記事で取り上げました。ぜひお読みのうえ、LLMに関する理解を深めてください。