【ChatGPT】LLM?トークン?調べたことのまとめ(2023.5末)
新聞やテレビでもChatGPTが取り上げられることが多くなり、ITエンジニア界隈だけでなく、様々な立場の方と話題にすることが増えてきました。私自身は毎日のように使っているので、基本的な使い方は理解しています。一方で、あらためて「ChatGPTって何?」「どういう仕組み?」「課金すると何ができる?」などと聞かれると答えに困ることもあるので、調べて整理してみました。
なお、内容は厳密さより理解しやすさを優先しています。正確な情報を知りたい場合は、ご自身で調べてみてください。
ChatGPTとは何か
「ChatGPTとは何か?」という質問には「AIを搭載したチャットボット」が回答になります。もう少し砕くと「チャット用のGPT」になります。”チャット”はわかると思いますが、”GPT”とは何でしょうか。
NPL, LLM, GPT, ChatGPT
“ChatGPT”や”GPT”を検索すると、説明にNLP、LLM、GPTがよく出てきます。これらのキーワードを検索すれば概要はわかりますが、関係性がわかりづらかったので整理します。
- NLP(natural language processing / 自然言語処理)は、人間が使う言語(自然言語)をコンピューターに理解させる技術領域全般をさす
- LLM(Large Language Models / 大規模言語モデル)は、自然言語のパターンを学習し、それをもとに新しいテキストを生成する人工知能の1つ
- GPT(Generative Pretrained Transformer)は、多様なNLPタスクを実行可能であり、特に自由形式のテキスト生成に優れているLLMの1つ
- ChatGPTは、GPTをもとに対話的なテキスト生成(=チャット)に焦点を当てて設計されたモデル、およびそのモデルを搭載したチャットボットの名称
スコープが広い順に、NLP>LLM>GPT>ChatGPT です。
なお、ここで言う”モデル”とは数学的なモデルで、「学んだ知識を使って予測や生成を行う仕組み」のことを指します。
プロンプトとトークン
プロンプトとトークンについても、理解不足だったので調べました。
プロンプト (prompt)
ChatGPTにおける”プロンプト”とは、ユーザーが入力するテキストのことを指します。ユーザーはプロンプトを通して、ChatGPTに対して質問したり、何かを伝えたり、あるいは特定のテキスト生成タスクを指示します。例えば、「天気について教えてください」と入力すると、このテキストはプロンプトとなります。そして、ChatGPTはこのプロンプトに基づいてテキストを生成します。
プロンプトは非常に広範で、対話型の質問応答から物語の開始まで、あらゆる形式をとることができます。ChatGPTはプロンプトに基づいて自然言語の応答を生成し、その応答は以前に学習した大量のテキストデータのパターンに基づいています。
また、ChatGPTは一貫性のある対話を提供するために、過去のメッセージ(すなわち過去のプロンプトと応答)を参照することができるようです。これにより、より長い会話コンテキストを考慮できます。
なお、プロンプトには制約があります。以下はその一例です。
- 最大トークン数による長さの制約があります。超過するとChatGPTは新たな入力を受け付けないか、古い情報を削除して新しい情報を収容します。
- ChatGPTは、違法な内容、ヘイトスピーチ、個人情報の公開、その他の不適切な行動を奨励または実行するプロンプトに対しては応答しないように設計されています。
- ChatGPTは2021年9月時点のデータをもとに作成されました。また、インターネットに接続しておらず、自身の訓練データ以降の新しい情報を学習する能力もありません。
トークン (token)
自然言語処理(NLP)において、”トークン”とは、テキストの最小単位を指します。例えば、英語の文「I love ice cream.」をトークン化すると、「I」、「love」、「ice」、「cream」、「.」の5つのトークンに分割されることが一般的です。
しかし、特に大規模な言語モデルでは、効率的な学習と計算のために、単語をさらに細かい部分(サブワード)に分割することがあったり、BPE(Byte Pair Encoding)という特定のサブワードトークン化手法が利用されたりしているようです。
したがって、ChatGPTにおける「最大トークン数」の制約は、実際には単語や文字の数ではなく、上記のような複雑な条件で計算されるトークンの数になります。
サービスとしてのChatGPT
LLMではなく、サービスとしてのChatGPTについて補足します。
ChatGPT PULS
ChatGPTは無料で利用できますが、有料のプラン(ChatGPT PULS)もあります。公式サイトによると、有料プランのユーザーには以下の特典があります。(以下のリストの文章は公式サイトの英語を機械翻訳したものです)
- ピーク時でも ChatGPT への一般的なアクセス
- 応答時間の短縮
- 新機能と改善点への優先アクセス
3点目が最も重要で、ChatGPTでGPT-4(2023.5時点の最新モデル)を使うためにはChatGPT PULSにする必要があります。また、ChatGPTがインターネットと接続したり、プラグインを使うなどBeta版として公開されている機能を使うこともできます。
API
OpenAI(ChatGPT開発元)は、様々なAPIを公開しています。OpenAIにSignUpしてAPIのページに進むと”Chat”のAPIもあります。ただ、GPT相当のAPIはモデルがGPT-3.5なので、もしAPIからGPT-4を使いたければWaitlistに登録して順番を待つ必要があります。
GPT経緯
- 2018.6GPT
- 2019.2GPT-2
- 2020.5GPT-3
- 2022.3GPT-3.5
- 2022.11ChatGPT
- 2023.3GPT-4
- 2023.5.13Webブラウジングとプラグイン機能(ベータ版)公開
- 2023.5.19ChatGPT アプリ(iOS版)
日本での提供開始は5.26