ChatGPT(チャットGPT)の基本的な仕組みとは?モデルや学習方法を解説

 2023.05.18  2024.04.05

AIによって自然な会話ができるチャットサービス「ChatGPT(チャットGPT)」をご存じでしょうか。本記事では、AIの勉強をしている方やエンジニアなどに向けて、ChatGPTの基本的な仕組みを紹介します。従来のシステムとの違いやアルゴリズム、学習方法などを調べている人はぜひ参考にしてください。

コンタクトセンターにおける生成AIチャットボットの活用効果とは?

ChatGPTの基本的な仕組み

ChatGPTの仕組みを知るうえで、まずは「アルゴリズム」「データセット」「評価モデル」「学習方法」という四つの単語をおさえておく必要があります。それぞれの意味は以下のとおりです。

  • アルゴリズム:ものごとを解決するための手順や、その計算方法
  • データセット:ある目的で集められ、一定の形式に整えられたデータの集合体
  • 評価モデル:算出された結果の精度を、人に代わって評価するモデル
  • 学習方法:与えられたデータから法則性を見つけ、予測や分類・分析などを行えるようにするプロセス

現在広く公開されているChatGPTは、文章生成言語モデル「GPT-3.5」を基にしており、評価モデルによって人が好む文章に調整されたうえで公開されています。GPT-3.5とは、「GPT」という文章生成モデルのバージョン3.5のことで、現在もより自然な会話に近づけるために改良が加えられています。

ChatGPTをコールセンター業務で活用するためのサンプルプロンプト集
チャットボットソリューションのご紹介

ChatGPTのアルゴリズム

ChatGPTは、「InstructGPT」という大規模言語モデルがベースとなっています。InstructGPTの特徴は、インターネット上で学習したデータを基にしつつ、より人が好む文章を作成するようにファインチューニングしていくことです。

とはいえ、「どのような文章が人に好まれるのか」を関数で表現するのは困難です。そのため、InstructGPTは人が直接フィードバックを与えることで、文章の良し悪しを学習していきます。この手法はRLHF(Reinforcement Learning from Human Feedback)と呼ばれ、人が事前に正解のデータ(ラベル)を入力し、出力された文章とそれらを比較することで、良し悪しを判断し学習していく方法です。

言語モデルの「ラベル」とは、入力されたテキストがどの分類に属するかを表すタグのことです。InstructGPTは、機械と人間のフィードバックから学習データを強化することで、より正確なラベル生成ができるようになります。

ChatGPTの主なデータセット

ChatGPTは、Webページや書籍、雑誌、論文、ニュース記事などのさまざまな場所からデータを収集しています。ここでは、その中から代表的なデータセットを二つ紹介します。

Common Crawl Corpus

「Common Crawl Corpus」とは、2008年以降にWebから収集されたデータを扱う、巨大なデータセットです。ペタバイト単位のデータを含んでおり、オープンで誰でも無料で使用できます。

BooksCorpus

「BookCorpus」とは、多くの書籍を扱うテキストデータセットです。ロマンスや冒険、歴史といった異なる16種類のジャンルを扱っており、未発表の著者によって書かれた無料の小説を約11,038本学習させることができます。本は「キャラクターはそれぞれのシーンでどのような感情を持つか」「ストーリーを通して状況がどのように変化するか」などを扱う貴重な情報源であり、それらを学習することで、より豊富な説明ができるようになります。

ChatGPTが使用する評価モデル

ChatGPTは「Reward Model(RM・報酬モデル)」と呼ばれる評価モデルを使用しており、出力された文章が適切なものであるかを人に代わって評価します。Reward Modelは、出力された文章を受け取ると、その文章の良さを表した「スカラー」と呼ばれるスコアを表示します。評価軸は以下の3項目です。

  • 正確性:情報が正確か
  • 倫理観:人や環境を傷つける内容でないか
  • 有益性:ユーザーにとって役立つ情報か

ChatGPTの学習方法

ここでは、これまでに説明したアルゴリズムやデータセット、評価モデルがどのように学習プロセスに関わっているのかを紹介します。ChatGPTの学習方法は主に事前学習とファインチューニングの2段階で構成されており、その結果を評価モデルが評価することでより精度を強化していきます。

プロセス1. 事前学習

まずはじめに、大量のテキストデータをAIに学習させ、言語モデルを構築します。言語モデルとは、入力した文章に続きそうな単語を予測し、出力するモデルのことです。このプロセスでは人の手は必要とされておらず、大量のテキストデータさえあれば自動で学習してくれます。
事前学習は、人間の言語を機械で処理し新たな内容を抽出する「自然言語処理」において、多く使われている手法です。汎用性の高い知識をあらかじめ身に付けさせることを目的としており、この段階では人が好む文章を生成したり、より正確な文章を生成したりすることはできません。

プロセス2. ファインチューニング

次に、構築した言語モデルにファインチューニングを加え、特定のタスクに対応できるように微調整をしていきます。ファインチューニングとは、汎用性の高いデータを学習したモデルに、特定のデータセットを再学習させることで、分野に特化したモデルを構築する「移転学習」のひとつです。ChatGPTでは、Webページや書籍、雑誌、ニュース記事、論文などから得たさまざまなデータを活用し対話生成に必要なパラメータを調整していきます。このようにファインチューニングが行われたモデルを「SFTモデル」といいます。

プロセス3. 評価モデルで学習

次に、ファインチューニングした後に生成した文章が適切であるかを、Reward Modelを用いて評価します。Reward Modelは正確性や倫理観、有益性の三つを評価軸としており、それらを加味したうえで、文章の良さを評価したスカラーを表示します。

SFTモデルはこのスカラー値が高くなるように、「PPO」と呼ばれる強化学習モデルを用いて何度も学習を繰り返します。PPOは、SFTモデルが大きく更新されるのを防ぎつつ最適化を目指すことが可能なため、強化学習において広く活用されています。

ChatGPTと従来のチャットボットの仕組みはどう違う?

ChatGPTと従来のチャットボットとの大きな違いは、人のような自然な会話を生成できるかどうかです。従来のチャットボットは、あらかじめプログラムされたルールに基づいて返答するため、事前に設定された回答しか提案できません。そのため対応範囲も狭く、設定されていないキーワードや、はじめて質問される事柄などへの対応は困難です。

一方、ChatGPTは回答を用意しておく必要はなく、ビッグデータの中から最適な回答を選び出してくれます。また、内容がわかりづらいと感じた場合は、「わかりやすく」「初心者向けに」などのキーワードを加えて回答をブラッシュアップすることもでき、人と会話をするように自然な返答を得られることが特徴です。

ChatGPTの言語モデル、GPT-4とGPT-3.5は何が違う?

ChatGPTの言語モデルであるGPT-3.5は現在も改良が加えられており、2023年には最新の「GPT-4」が発表されました。無料版のChatGPTでは引き続きGPT-3.5が使われていますが、有料版の「ChatGPT Plus」に加入することでGPT-4を利用できます。

GPT-4は、従来のGPT-3.5と比べて高い問題解決能力をそなえており、なおかつ幅広い一般知識を持っています。外部から投入されるデータなどを指す「パラメータ」の数は3,550億個から約100兆個に、またコンピュータが処理できる形式に単語を分解した「トークン」の制限は4,097から32,768に増加しました。GPT-4はあらゆるタスク処理のスコアも非常に優れており、模擬司法試験や大学院記録試験などの試験において、GPT-3.5を上回る結果を示したそうです。

まとめ

現在公開されているChatGPTは、言語モデル「GPT-3.5」を基にしており、評価モデルによって人が好む文章にチューニングされています。とはいえ、人が好む文章を関数だけで表現するのは難しいため、人が直接フィードバックを与えるRLHF(Reinforcement Learning from Human Feedback)と呼ばれる手法で文章の良し悪しを学習させ、パラメータに微調整を加えています。そして、微調整されたモデルから出力された文章を、評価モデルが評価することで、より精度の高い文章を生成できるようになります。

この記事の推奨者

本部 景一
本部 景一
新卒で通信業界の企業に入社し、社内インフラ整備からアプリケーション開発まで幅広い開発業務に参画。その後PMとして教育業界向けWebフィルタリングサービスの立ち上げを担当した。2023年にベルシステム24入社後は言語生成AIの実証実験などを担当している。高速な開発サイクルを実現できる小規模チームや社内環境の構築を得意としている。情報処理安全確保支援士(第22000号)
New call-to-action

RECENT POST「ChatGPT」の最新記事


ChatGPT

生成AIとChatGPTの違いとは? ビジネスへの活用方法も紹介

ChatGPT

ChatGPTの企業での活用事例は?導入メリットや活用方法

ChatGPT

ChatGPTは使える?ChatGPTの可能性と活用方法

ChatGPT

ChatGPT(チャットGPT)の日本語での使い方は? 日本語設定の有無や注意点

ChatGPT(チャットGPT)の基本的な仕組みとは?モデルや学習方法を解説
BellCloud+ご紹介資料
New call-to-action

RECENT POST 最新記事

ブログ無料購読のご案内

RANKING人気記事ランキング

AUTHOR執筆者

OFFICIAL SUPPORTER