データ活用やDXがどんどん解る用語集   
大規模言語モデル(LLM:Large Language Model)

「大規模言語モデル(LLM:Large Language Model)」

データ活用やDX成功に必要な考え方を、各種キーワードの解説で理解できる用語解説集です。
今回は、今後のビジネスでのデータやAIの活用に大きな影響があるとされる「大規模言語モデル」について考えてみましょう。

大規模言語モデル(LLM:Large Language Model)とは

大規模言語モデル(LLM:Large Language Model)とは、大量のテキストデータで学習した自然言語の言語モデルのことです。通常はディープラーニング技術を用いて大量のコーパスを学習させたニューラルネットワークの学習済みモデルのことを指します。
従来は特定の用途専用に学習させた言語モデルが必要になることが多かった自然言語処理において汎用性を持っており、学習済みモデルを用途に合わせて調整(ファインチューニングや転移学習など)することで、質問応答やテキスト分類、文書要約や感情理解など、様々な自然言語処理の応用タスクを担うことができる。現在、大変な話題になっているChatGPTの基盤となっている技術としても知られます。

言語モデル(Language Model)とは

LLMという略語で話題になることも多い大規模言語モデルですが、その名前の通り「非常に規模が大きい言語モデル」のことをそのように呼びます。では「言語モデル」とは何でしょうか。なかなか理解しづらいものなのですが、以下イメージが湧きやすい例で、「おおよそ」どういうものなのかを説明します。

「言語モデル」のごく簡単な例

「言語モデル」とは、対象となる自然言語の特徴をモデル化したものです。例えば、学習データとして英語の文章を用意し、そこからアルファベットの文字ごとの出現率を分析して文字ごとに分析表にしたものも一種の言語モデルといえます。英語の通常の文章では「e」の出現頻度が最も高く、「e」「t」「a」「o」「n」「i」などが多く出現し、「j」「k」「q」「x」「z」などは出現頻度が低いことが知られています。

確かに英語が持つ性質をまとめたものといえますが、それが何の役に立つのか?と思えるかもしれませんが、実はそうでもありません。例えば他の言語(フランス語やドイツ語など)ではアルファベットの分布が異なりますから、これを用いることで、そのテキストデータが英語かどうかを自動判定することができます。

また、古代から使われている暗号に、アルファベットの文字を他の文字に置き換える暗号があります(換字暗号)が、これも解読することができます。人間には謎の単語が並んでいるようにしか一見見えない換字暗号の暗号文でも、元の文書が英語で書かれていると解っているなら、暗号文で出現数が最も多い文字がおそらく「e」である、というようにして解読できてしまいます。

単語の出現頻度によるモデル

アルファベット単位よりもっと複雑なモデルもあります。例えば、文書中の単語の出現頻度を数えたものも作ることができます。

こちらも一見用途が解らないように思えるかもしれません。しかし例えば、文書中での単語の出現の偏りを調べることで誰が書いたかを調べることが可能になります。例えばシェークスピアの正体は誰か?を研究考察する際に、単語の出現率が誰の書いた文章と一致するか調べることや、正体だと言われてきた人が書いた文章とシェークスピアの文書の分布を比較することで、同一人物と考えられるか検証が可能になります。

コンピュータが使われるようになってからはより高度な処理が可能になったため、ある単語とその次に出現する単語の並び(あるいは二つの単語が連続して並んでいる確率)を集計した「バイグラム(bi-gram)」や、同じように連続する三つの単語の並びが出現する確率で調べた「トライグラム(tri-gram)」で同じように言語モデルを作ることができます。

このようなモデルがあると、例えばワープロソフトでユーザが文章を書いているときに、ある単語の次に出現する確率が非常に低い単語がタイプされたら、書き間違いではないか?と判断してユーザに警告を表示して入力をアシストするようなことができます。

今話題の「大規模言語モデル」はどんな言語モデルか?

再度になりますが、「言語モデル」とは自然言語の特徴を何かしらの形でモデル化したものです。元になるテキストデータを用意して、それを用いて何かしらの分析や学習を行ったものです。アルファベットの出現率一覧、二つの単語の連続する確率などのごくシンプルなモデルもあれば、ディープラーニングを用いた非常に複雑なモデルもあり得ます。

GPT(Generative Pre-trained Transformer)

今話題の「ChatGPT」も大規模言語モデルを使って実現されています。OpenAI社が開発した大規模言語モデル「GPT(Generative Pre-trained Transformer)」を用いて開発されています。

GPTの説明でよく見る例ですが、「日本で/一番/高い/山は」と来たら、その次に来る単語は何でしょうか?を予測するようなタスクを大量のテキストデータで学習したものがGPTです。例の場合では多くの場合、「富士山です」が来るはずです。「高尾山ではないです」が来る確率もありますが低い確率であること、「プリン食べたい」とかが来ることはほとんど無いことを判断できるような、そんなタスクでトレーニングされた言語モデルです。

しかし「どうも納得できない感」はありませんか?

この「富士山を用いた説明」は良くなされているので、聞いたことがある人も多いと思いますが、なんだか納得しづらいと思った人も多いでしょう。それだけのことしか学習していない?その程度の学習だけで、人間のような会話をするChatGPTができるとでもいうのでしょうか?と。

まず、先ほどのアルファベットの出現率を数えて調べただけ(小学生で時間をかければできること)で思わぬことができた例を思い出してください。一見「その程度のこと」でも、うまく使うだけで驚くようなことができることは結構あることです。

一方で、その感覚は適切でもあります。次に出現する単語を予想するだけなら、先に説明をした「バイグラム」や「トライグラム」でも学習を行うことができ、実際そのような言語モデルはずっと昔からあります。では、ずっと昔からChatGPTのような対話型のAIは存在したでしょうか?存在していませんよね。つまり、現在起こっている大規模言語モデルの大ブームでは、「それだけではない」ところもあります。

「大規模」であること、「ディープラーニング」であること

大規模言語モデルが驚くようなことができるのは、「大規模」だからであり、「ディープラーニング」(ニューラルネット)を用いているからだと考えられています。とりわけ「大規模」であることは注目されているため、「言語モデル」と呼ばずにわざわざ「大規模言語モデル(LLM)」と呼ばれます。

「大規模なほど」能力が高まることが解っている(どうしてなのかは解っていない)

大規模言語モデルは、予想していない能力を発揮することがあります。ChatGPTではサービス公開後に利用者による「新発見」(こんなこともできる)が相次いだようにです。例えば計算について教えていないのに簡単な計算ができる、翻訳のトレーニングをしていないのに翻訳できる能力が備わっているなど、直接教えていないことができるようになること(創発)があります。

大規模言語モデルが内部的にどのように動作し、どのように能力を発揮しているのかよくわかっていません。学習を進めると、次にどんな何ができるようになるかも良くわかっておらず予測ができません。しかし、学習に用いるテキストデータの量が多くなると突然、それまでになかった能力が創発的に出現することが解っています。

現在、より巨大な大規模言語モデルの開発が競われていますが、これはデータ量や計算量、学習済みモデルのパラメータ数など「大規模さ」が新しい能力の発現と大きく関わっていることが知られたためです。すでに獲得した能力、例えば次に来る単語の予測精度についてもデータ量を増やすと予測可能な形で改善がみられる法則も見つかっています(べき乗則:Scaling law)。

この特性は常識を覆すものでした。従来の機械学習の活用では、解かせるタスクの複雑さに対して最適な規模(パラメータ数)があり、学習データも多すぎると過学習と呼ばれる性能が劣化する現象が発生するので、むやみにデータを増やすのはやってはいけないことでした。

ところが、とにかく大量のテキストデータを用意して、大量の計算をして、より大規模な言語モデルを学習させれば、性能が向上して新しい能力すら発現しました。それはつまり、言語モデルの規模追求に投資するだけでリターンが得られるような状況だと言えます。その結果、世界的に言語モデルの規模を追求する猛烈な競争が発生しています。

ニューラルネットワークが自律的に能力を獲得している可能性

ディープラーニングがブームになりはじめた初期の2012年、1000万枚の画像データを無作為に学習させたところ、「猫」の概念について人間が明示的に何も教えていないのに、ニューラルネットワークが自分自身で「猫を見分ける能力を獲得してしまった」事件があり大きな話題になったことがありました(「Googleの猫」)。このような現象はそれまでの機械学習利用では見られなかった現象でした。

大量の画像データを与えただけで自律的に猫の概念を学習してしまうような性質があるのなら、大量のテキストデータから自律的に能力を獲得している可能性はあるでしょう。非常に多くのパラメータ(学習能力)を持つニューラルネットに莫大な量のテキストデータを与えたなら、次に出現する単語の確率を学習するタスクの実行を通じて、大量のテキストデータに含まれる様々な概念や論理などを自律的に学習できていてもおかしくはありません。

加えて書くならば、人間がどのようにして言語能力を獲得しているのか、他の動物と違ってなぜ人間がこんなにも高い言語能力を持っているのかも、まだ多くのことがわかっていません。大規模言語モデルの能力について多くのことが解っていませんが、そもそも人間自身が言語を獲得することについても、多くのことが解っていません。人と同じ方法で言語能力を獲得していて、やがて人と同じ能力に到達するのか、それとも人と違う形態の知能であってそうではないのかなども良くわからない状況です。

Googleの大規模言語モデルは「違う学習」により開発されている

Googleが開発している大規模言語モデルであるPaLMやBARTは、GPTとは違うタスクでの学習を行わせることにより開発されています。GPTでは、次に出現する単語(トークン)を予想させるタスクで学習していますが、その結果として文書の前から後ろに向かって一方向にしか処理できませんでした。

そこで「次に出現する単語の予測」ではなく「文章の虫食い問題」を学習させることで、前からでも後ろ側からでも、データの順序への依存がない形で学習をさせています。例えば、「今日/私は/チャーハンと/*を/食べました」を与えたときに「*を」に何が当てはまるか(例えば「餃子を」など)を予測させる学習をしています。

GPTとは、学習に用いている問題は異なります。しかし出来上がった大規模言語モデルを用いて出来ることは似ており、同じように汎用性があり高度な能力があるような挙動をします。学習を通じてテキストデータから自律的に獲得している能力こそが重要なのではないかと思わせます。

大規模言語モデルとどうかかわるか

ともかくも、どうして「大規模言語モデル」と呼ばれているのか、どうして話題になっているのか、少しでも納得いただけていれば幸いです。狙った通りに作られて想定した通りの性能を発揮しているものではないので、この後どのように発展するかもわかりませんし、この先に何が起こるのかも良くわからないところがあります。我々は今後、大規模言語モデルにどのようにかかわることができるでしょうか。

自分たちで大規模言語モデルを開発する

大量の学習データを用意して学習させ、自分たち独自のエンジンを作る関わり方です。最近ではテキストデータだけではなく、画像とテキストの両方を組み合わせて対応できるマルチモーダルなモデルの開発も進んでいます。

用途に対して、良質で大量の学習データの確保が必要になります(遠からず良質なデータの方が地球上から尽きてしまう予想もあります)。大量のデータを用いてモデルを学習するためには莫大な計算が行えるハードウェアが必須であり、現在世界中で高性能GPUの争奪戦が行われています。

既存の大規模言語モデルを自分たちの用途にあわせる

既存の大規模言語モデルを利用して、自分たちに必要な言語モデルを作る活用です。自分たちの用途にあわせた学習に必要なデータを用意し、学習済みモデル(ニューラルネットワーク)に対して、転移学習やファインチューニングなどを施して、用途にあわせて活用することができます。

大規模言語モデルの処理能力を呼び出して利用する

大規模言語モデルの持っている推論能力などを外部から呼び出して処理結果を得ることで、実用的に活用します。何かのアプリケーションにモデルごと組み込んで利用する、外部から必要に応じて呼び出して結果を得るような使い方、あるいは外部で利用してもらうために自社でサービスとして提供することもできるでしょう。

大規模言語モデルの対話能力を組み込んで利用する

ChatGPTが象徴的ですが、大規模言語モデルには従来にない対話型の人間とのコミュニケーションを実現する能力があります。何かのアプリケーションに埋め込む、あるいは外部から連携する形で、対話型のUIを組み込んで、利用者に従来にはない利用感を利用することができるでしょう。

外部のシステムやデータと連携して活用できる「iPaaS」

世界規模での激しい競争が行われている状況でもありますから、完全にオリジナルの大規模言語モデル(LLM)をゼロから作ることは稀なことでしょう。多くの状況では、すでにある大規模言語モデルをどうにかして活用することが、今後の我々のかかわり方になるのではないかと思います。

自分たちで追加の学習を行うのであれば、そのためのデータをどこからか必要に応じて必要な形に整えて用意せねばなりません。学習済みのモデルを活用して実用的なことを行うのであれば、外部のアプリケーションと大規模言語モデルを連携させて利用することになるでしょう。

つまり大規模言語モデルの活用とは、それ単体よりも、外部のデータやシステムどうやって組み合わせるかにかかっていると言えます。また、実際に使ってみて試行錯誤を経て理解できることが多いことも予想できます。柔軟かつ迅速に、外部との連携を実現できる環境こそが、大規模言語モデルや生成AI時代に求められると言えます。

このような状況で大規模言語モデルの活用を効率化する手段として活用できるのが、自分たちでソースコードを書いて開発することなく、大規模言語モデルと様々なクラウドやシステム、データを自在に連携できる手段です。例えばEAI」や「ETL」、「iPaaS」と呼ばれる、「DataSpider」や「HULFT Square」などの「つなぐ」技術の活用です。

GUIだけで利用できる

通常のプログラミングのようにコードを書く必要がありません。GUI上でアイコンを配置し設定をすることで、多種多様なシステムやデータとの連携処理を実現できます。

「GUIで開発できる」ことは長所でもある

GUIだけでのノーコード開発は、本格的なプログラミングに対して簡易で妥協的な印象を受けるかもしれません。しかしながら、GUIだけで開発できれば「業務の現場の担当者が自分たち自身で主体的にAIの活用に取り組む」ことが可能になります。

ビジネスのことを一番良くわかっているのは現場の担当者です。彼ら自身によって、データやAIの活用の作りこみなど、必要なことをどんどん作りこめるのは、何かあるたびにエンジニアに説明してお願いしないと開発できない状況より、優れているところがあります。

本格的処理を実装できる

「GUIだけで開発できる」ことを謳っている製品は沢山ありますが、そういう製品に簡易で悪い印象を持っている人もおられるかもしれません。

確かに、「簡単に作れるが簡易なことしかできない」「本格的処理を実行しようとしたら処理できずに落ちてしまった」「業務を支えられるだけの高い信頼性や安定稼働能力がなくて大変なことになってしまった」ようなことは起こりがちです。

「DataSpider」や「HULFT Square」は、簡単に使うこともできますが本格的プログラミングと同等のレベルの処理の作りこみもできます。内部的にJavaに変換されて実行されるなど本格的プログラミングと同様の高い処理能力があり、長年にわたって企業ITを支えてきた実績もあります。「GUIだけ」の良さと、プロフェッショナルユースとしての実績と本格的能力の両方を兼ね備えています。

データ活用を成功させる「データ基盤」として必要なこと

多種多様なデータソースへの接続能力はもちろん必要になりますし、実業務をしっかり支えるためには大量のデータを処理できる高い処理能力も必要になります。その一方で、現場主導での柔軟かつ迅速な試行錯誤がどうしても重要になることもあります。

一般的には、高い性能や高度な処理の実現を求めると本格的なプログラミングや利用が難しいツールとなりがちで、現場での使いやすさを求めると利用しやすいが処理能力が低く簡易な処理しかできないツールになりがちです。

さらに加えて多種多様なデータソース、特にメインフレームなど昔からあるITシステムや現場のExcelなどモダンではないデータソースへの高度なアクセス能力、クラウドなど最新のITへのアクセス能力も併せて持っている必要があることも望まれます。

この条件のいずれかを満たすだけなら多くの手段があるでしょうが、データ活用をうまく進めるためにはすべての条件を満たす必要があります。しかし、現場でも十分に使えるが、プロフェッショナルツールとして高い性能や信頼性を兼ね備えている、そんなデータ連携の実現手段となると多くはありません。

iPaaSなので自社運用不要

DataSpiderなら自社管理下のシステムでしっかりと運用できます。クラウドサービス(iPaaS)のHULFT Squareなら、このような「つなぐ」技術そのもの自体もクラウドサービスとして自社運用不要で利用でき、自社での導入やシステム運用の手間がなく利用できます。

関係するキーワード(さらに理解するために)

  • EAI
    • -システム間をデータ連携して「つなぐ」考え方で、様々なデータやシステムを自在につなぐ手段です。IT利活用をうまく進める考え方として、クラウド時代になるずっと前から、活躍してきた考え方です。
  • ETL
    • -昨今盛んに取り組まれているデータ活用の取り組みでは、データの分析作業そのものではなく、オンプレミスからクラウドまで、あちこちに散在するデータを集めてくる作業や前処理が実作業の大半を占めます。そのような処理を効率的に実現する手段です。
  • iPaaS
    • -様々なクラウドを外部のシステムやデータと、GUI上での操作だけで「つなぐ」クラウドサービスのことをiPaaSと呼びます。
  • 生成AI
    • -生成AI(Generative AI)とは、与えられた訓練データからデータの特徴や構造を学習し、キーワードなどによる指示に基づいて、同様の特徴や構造を持つデータを生成することができる機械学習を活用したシステムのことです。

「つなぐ」取り組みに興味を持たれましたら

興味を持たれましたら、ITシステムやビジネスの問題を「つなぐ」考え方で解消する製品を実際に試してみてください。

「つなぐ」ツールの決定版、データ連携ソフトウェア「DataSpider」

当社で開発販売しているデータ連携ツール「DataSpider」は、長年の実績がある「つなぐ」ツールです。

通常のプログラミングのようにコードを書くこと無くGUIだけ(ノーコード)で開発できるので、ビジネスについて良く理解し、自社のサイロ化の具体的な課題についても把握できる業務の現場が自ら活用に取り組めることも特徴です。

簡易な連携できるツールは世の中に多くありますが、GUIだけでプログラマではなくても十分に使える使いやすさをもちつつ、「高い開発生産性」「業務の基盤(プロフェッショナルユース)を担えるだけの本格的な性能」を備えています。IT利活用の成功を妨げている「バラバラになったシステムやデータをつなぐ」問題をスムーズに解決することができます。

無料体験版や、無償で実際使ってみることができるオンラインセミナーも開催しておりますので、ぜひ一度お試しいただけますと幸いです。

用語集 コラム一覧

英数字・記号

あ行

か行

さ行

た行

な行

は行

ま行

や行

ら行

わ行

技術コラム一覧

おすすめコンテンツ

まずは無料で「つなぐ」をご体験ください

評価版ダウンロード

DataSpider Servistaのデータ連携を、まずはお確かめください。30日間無料でお試しいただけます。

無料体験セミナーに参加する

DataSpider Servistaの「つなぐ」を体験できる製品紹介・オンラインセミナーを開催しています。

Change Location

Are you visiting HULFT.com (Japanese language) outside Japan ?
When connecting "HULFT" to Japan from overseas, please select "HULFT8".

日本国外からHULFT.com(日本語)にアクセスされようとしています。
海外から日本の「HULFT」と接続する製品をお探しの場合、「HULFT8」をお選びください。