見出し画像

【生成AI入門】大規模言語モデル(LLM)について知ろう!

皆さまこんにちは。2020年に新卒として株式会社コンピュータマネジメントに入社し、Webマーケティングを担当している入社4年目のMです。

昨今、ChatGPTやBing AI、Bardなどの「生成AI」が一大ブームを巻き起こしていますが、これらテキスト生成系のAIがどうして人間のように自然な会話を行えるのか、ふと気になったことはありませんか?

これには、テキスト生成AIの基盤となっている仕組みである「大規模言語モデル(LLM)」が大きく関係しています。
ChatGPT関連の話題でよく耳にする「GPT-3.5」や「GPT-4」などがその代表例ですね。

そこで今回は、数あるテキスト生成AI系サービスの背景にある技術でありながら、普段はあまり意識することのない「大規模言語モデル(LLM)」について、分かりやすく解説していきたいと思います!


大規模言語モデル(LLM)とは?

大規模言語モデル(Large Language Models/LLM)は、膨大な量のテキストデータを学習することで、人間のような自然な言語理解や生成を可能にした自然言語処理モデルです。

従来の自然言語モデルと比べ、以下3つの要素を巨大化させることで、より自然で正確なテキスト生成を行えるようにしています。

・計算量:コンピューターが処理する仕事量
・データ量:学習に使うテキストデータの量
・パラメータ数:モデルの複雑さ
┗人間の脳でいうシナプスの数のようなもので、基本的には多ければ多いほど性能が高いとされる

言語モデルとは?

「言語モデル」とは、自然言語処理に使われる技術の1つで、文章や単語の出現確率を用いてモデル化したものです。

例えば、「赤い果物は?」という文字列に対し、赤い果物に分類される「りんご」や「いちご」の出現には高い確率を割り当て、赤い果物に分類されない「ぶどう」や「みかん」の出現には低い確率を割り当てることで、違和感の少ない文章の出力を実現しています。

言語モデルは、インターネットから収集した大量のテキストデータに含まれる単語・フレーズの出現パターンを学習し、その情報をもとに特定の言葉の後ろに確率的に続きそうな言葉を並べて文章を生成しているのです。

大規模言語モデルの仕組み

大規模言語モデルの学習は、「事前学習(Pre-trainingプレトレーニング)」「微調整(Fine-tuningファインチューニング)」の2段階のプロセスを経て行われます。

「事前学習(Pre-trainingプレトレーニング)」とは、大量のテキストデータから言語の基本的な文法やパターンなどを学習するプロセスです。
「微調整(Fine-tuningファインチューニング)」は、事前学習済みのモデルに対して追加で学習させ、特定のタスク(例:質問応答や感情分析)に適したモデルを作成することです。

事前に大量の文章を通じて汎用的な言語パターンを学び、各タスクに特化するようモデルを最適化するこのプロセスは、人間の学習プロセスと似通っている部分があります。

「事前学習」は基礎的な知識を幅広く学ぶ「高校までの勉強」、「微調整」はそれぞれの分野に特化した専門的な知識・技術を身につける「大学での勉強」と考えると分かりやすいでしょう。

その後、大規模言語モデルが入力(プロンプト)を受け取り、適切な文章を出力するまでには、以下の流れを繰り返します。

1. トークン化:入力文をトークン(最小単位の単語)に分け、ベクター化(テキストデータを数値に変換)する
2. 文脈理解:入力文について、単語同士の関連性を計算
3. エンコード:特徴量(データの特徴を定量的に表現したもの)を抽出
4. デコード:特徴量をもとに、次のトークン(単語)を予測
5. 入力文に続くトークンの確率を出力

大規模言語モデルの種類

ここ数年、世界中の企業や機関、開発者から次々と大規模言語モデルが発表されています。

OpenAIによって開発されたGPTシリーズをはじめ、様々な種類のモデルがありますが、ここでは代表的な一部のモデルをご紹介します。

代表的な大規模言語モデル一覧

大規模言語モデルにできること

大規模言語モデルは、指示を送る入力文(プロンプト)により、高度なテキスト処理を実行してくれます。以下はその一例です。

・質問への回答:テキストに関する質問に自然な言葉で回答
・機械翻訳:ある言語から別の言語への自然な翻訳を生成
・文章の要約:長い文章を短くコンパクトにまとめる
・文章生成:テーマに応じた長い文章を生成
・感情分析:テキストのトーンや感情を分析
・情報の検索:大量に蓄積された情報の中から目的に合う情報を取り出す
・キーワード抽出:テキストから重要なキーワードを抽出
・文章の分類:テキスト文書を分類し、ラベルを付ける
・文章の言い換え:同じ意味を保ちながら、より自然な別の表現に変換
・プログラムのバグチェック:コードの中にエラーが潜んでいないか確認

最近では、画像や音声などのテキスト以外のデータを学習させた大規模言語モデルも登場しており、OpenAIの「GPT-4」や Googleの「PaLM」は、画像や音声から意味を理解したり、画像を生成できるようになっています。

大規模言語モデルの課題

圧倒的な性能を持ち、急速に社会へ浸透している大規模言語モデルですが、決して万能なツールではなく、いくつか課題も残されています。

アウトプットの正確性

大規模言語モデルは、確率的に高いテキストを並べているにすぎないため、生成される文章の内容は必ずしも正しいとは限りません。

学習データに誤った情報が含まれていたり、そもそも学習量が不十分だったりした場合、AIがそれらしい回答を無理やりでっち上げて、事実とは異なる情報や、前後の文脈と全く関係のない内容が出力されることがあります。

このように、AIがウソの情報を堂々と出力してしまう現象は「ハルシネーション(幻覚)」と呼ばれていますが、技術の進歩によりある程度は改善していくと考えられています。

とは言え、AIが常に100%正しい情報を出力できるようになるとは考えにくいため、やはり人手によるチェックは今後も欠かせないでしょう。

学習データの偏りやバイアス

大規模言語モデルは、主にWeb上から大量のテキストデータを収集して学習を行いますが、その学習データの内容に偏りがあると、生成する文章にもバイアスがかかってしまう恐れがあります。

例えば、「家事は女性がするもの」「管理職は男性がなるもの」・・・といった偏見や差別ですね。

下手をすると、行き過ぎた主張によりネット炎上の火種になってしまいかねないため、AIが生成する回答の中に偏見や差別につながる内容が含まれていないか、使う側の人間の手による「倫理チェック」が必要です。

精度のバラつき

大規模言語モデルは、学習データであるテキストデータに様々な言語が入り混じっているため、使用する言語により回答内容の精度に大きな差が生じてしまいます。

現状では、英語の精度が最も高いと言われており、日本語もそこそこ精度は高めになっています。より精度の高いアウトプットを求めるなら、英語を使うのが良さそうです。

GPT-4の言語別精度(出典:OpenAI公式サイト

一方で、日本の文化や人物についての質問をする場合は、下手に英訳するよりも日本語でプロンプトを入力した方が精度が高くなる、という説もあるようです。

機密情報の漏えい

大規模言語モデルを使う際に、個人情報や会社の営業秘密といった機密情報をプロンプトとして入力してしまうと、AIに学習データとして勝手に活用され、思わぬところから外部に情報が流出してしまうリスクがあります。

また、悪意のあるプロンプトを入力し、大規模言語モデルを通じて機密情報を不正に取得しようとする「プロンプトインジェクション」と呼ばれる手法も出回っています。

情報漏えいの被害を防ぐためには、そもそも機密性の高い情報を生成AIに入力しないようにするなど、十分な注意が必要です。

膨大なコスト

大規模言語モデルの学習や運用には、膨大な計算を行うためのリソースとしてスパコン並みの高性能なコンピューターと、それらを稼働させるための大量のエネルギーが必要です。

大規模言語モデルの構築に伴い、二酸化炭素(CO2)も大量に排出されることから、環境問題への影響も心配されています。

高精度の大規模言語モデルを開発するための費用もバカになりません。「ChatGPT」の開発には、約730億円もの赤字が発生したと言われています。

今のところ、大規模言語モデルを開発・提供できるのは、GoogleやMicrosoft、OpenAI、Meta(旧facebook)のような、資金力に余裕のあるアメリカの大手IT企業に限られてしまっているのが現状です。

まとめ

今回は、大規模言語モデル(LLM)の仕組みや種類、いまだ残る課題などについてご紹介しました。

情報量がいつもより多めになってしまいましたが、本記事を通して伝えたいことは大体次の2つです。

・大規模言語モデルは、確率的に高いテキストを並べて出力しているにすぎないため、アウトプットの正確性や信頼性は十分に担保されていない

・出力された回答の中に、誤った情報や偏見・差別につながるような不適切な内容が含まれていないかどうか、人間の方で慎重に判断する必要がある

要は、「AIの回答を過信しないで!」ということですね!

それでは今回はこの辺で。次回のnoteもお楽しみに!
ここまで読んでいただき、ありがとうございました!


この記事が気に入ったらサポートをしてみませんか?