【OpenAI】ChatGPTの言語モデル種類・特徴一覧|Pythonで最新モデル情報を取得する方法も言及

当ページには広告が含まれています。

こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!

こんな方におすすめ!
  • OpenAIが提供するGPTモデルについてそれぞれ特徴を知りたい。
  • Pythonで最新のGPTモデル一覧を確認する方法が知りたい。
目次

【OpenAI】ChatGPTとは?

ChatGPTとは、OpenAIが開発した対話型チャットボットのモデルです。ChatGPTの名前は、GPT-3という第3世代の生成言語モデルに由来しています。

ChatGPTのモデルには、人工知能(AI)が搭載されており、人間の発話に対して自然なやり取りを可能にしています。また、英語をはじめ、中国語、日本語、フランス語など複数言語を認識し、人間らしく応答できるのも特徴的です。

さらに、ChatGPTではチャットの他に、画像生成など近年多様な機能がリリースされてます。以下、ChatGPTで代表するGPTモデルおよびOpenAIが提供するAPI機能一覧を示します。

  • チャット機能
  • テキストから画像を生成
  • オーディオを文字起こし
  • Python、SQL、JavaScript等のコードを理解
  • 問題あるネガティブ発言検出
  • テキスト文章のベクトル変換

【参考】OpenAI社のAPI利用方法

本記事ではChatGPTを用いたPythonプログラミングについて解説します。その際、Open AIが提供するAPI情報が必要になります。「ChatGPTの概要」および「API情報の取得手順」については、こちらの記事で詳しく解説しています。

あわせて読みたい
【Python×ChatGPT】チャットボット作成入門|OpenAI APIの利用申請手順も解説 「ChatGPT APIの利用手順」と「PythonでChatGPT APIを呼び出し、チャットボットを作成する方法」についてそれぞれ解説します。

【参考】ChatGPTを詳しく学びたい方向けの学習講座

ChatGPTを詳しく学びたい方向けに安価で学べるオンライン講座も併せてご紹介します。

【OpenAI】ChatGPTの言語モデルセット種類一覧

OpenAI API は、多様な機能と価格帯を備えたモデルがリリースされています。ChatGPTのモデルは、現在大きく分けて8つあります。以下、それぞれ特徴を確認しましょう。

モデル種類概要
GPT-4GPT-3.5を改良し、自然言語、画像、コードを理解できる、マルチモーダルな大規模言語モデル
GPT-3.5GPT-3を改良し、自然言語やコードを理解できる大規模言語モデル
GPT-3自然言語やコードを理解できる大規模言語モデル
DALL-E自然言語からデジタル画像を生成・編集できる深層学習モデル
Whisper音声をテキスト変換可能(Speech to Text)な深層学習モデル
Embedding埋め込み (ベクトル表現) を生成可能な深層学習モデル
Moderation誹謗中傷等のセンシティブで安全でない文章を検出できる深層学習モデル
Codexコードの理解に特化した言語生成型の深層学習モデル

以下、1つずつみていきましょう!

GPT-4

GPT-4(Generative Pre-trained Transformer 4)とは、OpenAIが開発したテキスト生成機能有するマルチモーダルな大規模言語モデルです。

GPT-3.5よりも幅広い一般知識を習得し、問題解決能力が改善されています。画像を読み取り、その内容を説明できる次世代のAI言語モデル(マルチモーダルモデル)という特徴があります。

GPT-4でできること

GPT-4では次のようなことが実現可能です。

  • 画像入力して、その内容に紐づく文章を生成できる
  • 最大25,000単語からなる文章を入力すると、その応答文が生成できる

GPT-4の代表モデル一覧

GPT-4では次のようなモデルが展開されています。

代表モデル概要
gpt-4どのGPT-3.5 モデルよりも高性能で、より複雑なタスクを実行でき、チャット用に最適化されたモデル。
gpt-4-03142023年3月14日のgpt-4のスナップショット。gpt-4とは異なり、このモデルはアップデートを受信せず、新しいバージョンがリリースされてから3か月後に非推奨になる。

GPT-3.5

GPT-3.5(Generative Pre-trained Transformer 3.5)とは、OpenAIが開発したテキスト生成機能有する大規模言語モデルです。GPT-4の次に高性能なモデルです。

GPT-3.5の代表モデル一覧

GPT-3.5では次のようなモデルが展開されています。

代表モデル概要
gpt-3.5-turboGPT-3.5において最も高性能なモデル。
コストは、text-davinci-003と比べて1/10も安価。
text-davinci-003gpt-3.5-turboの次に高性能なモデル。
text-davinci-002text-davinci-003と同様の機能を提供。言語学習の方法が、強化学習ではなく、教師ありファインチューニングを採用しているのが特徴。

【参考】PythonでGPT-3.5利用

PythonとOpenAIのAPIを用いてGPT-3.5モデルを利用する方法について、以下用途別に解説しています。

あわせて読みたい
【Python×ChatGPT】チャットボット作成入門|OpenAI APIの利用申請手順も解説 「ChatGPT APIの利用手順」と「PythonでChatGPT APIを呼び出し、チャットボットを作成する方法」についてそれぞれ解説します。

【参考】ChatGPTを詳しく学びたい方向けの学習講座

ChatGPTを詳しく学びたい方向けに安価で学べるオンライン講座も併せてご紹介します。

あわせて読みたい
【Python】ChatGPT APIでの多言語翻訳機能の実装方法 OpenAIが提供するChatGPT APIとPythonを用いて、多言語対応の翻訳機能を実装する方法を解説しています。

GPT-3

GPT-3は自然言語を理解して生成できる大規模言語モデルです。

現在では、より強力なGPT-3.5世代のモデルに取って代わられました。 現在、利用可能なモデルはオリジナルの GPT-3ベースモデル (davinci、curie、ada、babbage) です。

DALL-E

DALL-Eは、自然言語からデジタル画像を生成・編集する深層学習モデルです。

DALL-Eの代表モデル一覧

DALL-Eでは次のようなモデルが展開されています。

代表モデル概要
DALL-E-3OpenAIが提供するAPIから利用できるDALL-Eの最新版。クリエイティブに富んだ解像度の高い画像を出力できる点が特徴。

【参考】PythonでDALL-E利用

PythonとOpenAIのAPIを用いてDALL-Eの画像生成モデルを実装する方法についても解説しています。

あわせて読みたい
【Python】ChatGPTで画像を生成する方法|OpenAI APIを用いた画像処理 AI画像生成に興味がある方向けに「PythonとChatGPT APIを用いて画像を生成する方法」について解説します。

Whisper

Whisperとは、音声情報をテキスト情報に変換するSpeech to Textという機能を備えた深層学習モデルです。

Whisperは、Web上で収集された68万時間分の多言語音声データをもとに学習した音声認識モデルであり、高い精度で音声をテキスト変換することができます。

Whisperの代表モデル一覧

Whisperでは次のようなモデルが展開されています。

代表モデル概要
whisper-1whisper-v2-largeモデルを現在APIを通じて、whisper-1というモデル名で利用が可能。多言語音声認識、音声翻訳、言語識別を実行できる。

【参考】PythonでWhisper利用

PythonとOpenAIのAPIを用いてWhisperモデルを利用する方法も解説しています。

あわせて読みたい
【Python】ChatGPTで音声ファイルを文字起こし|議事録に役立つSpeech-To-Text機能開発 面倒な会議メモの議事録作成を効率化したい方向けに、ChatGPT Whisper APIを活用した「音声ファイルの文字起こし機能(Speech-To-Text)」のPython実装方法を解説します。

Embedding

Embeddingとは、単語や文章等の自然言語の構成要素をベクトル表現に変換するモデルです。

Embeddingは複数の文章をベクトル変換することで、例えば2つの文章間の関連性を測定することができます。

Embeddingを応用することで、関連する文章の「検索」をはじめ、機械学習モデルタスクである「クラスタリング」「レコメンド」「異常検出」「分類」にも展開することができます。

Embeddingの代表モデル一覧

Embeddingでは次のようなモデルが展開されています。

代表モデル概要
text-embedding-ada-002現在推奨されている、Embeddingsモデルです。

PythonでEmbedding利用

PythonとOpenAIのAPIを用いてEmbeddingモデルを利用する方法も解説しています。

あわせて読みたい
【自然言語処理】Embedding(埋め込み表現)とは?|OpenAI APIとPythonで文章のベクトル変換実践 自然言語処理で登場する「Embedding」について詳しく知りたい方向けに、Embeddingの概要、PythonとOpenAI(ChatGPT)APIを用いて文章をベクトル変換するプログラム構築方法について解説します。

Moderation

Modelationとは、誹謗中傷やセクシャルコンテンツを含んだセンシティブで安全でない文章を検出できる深層学習モデルです。

Moderationに渡した入力テキストが、次に示すセンシティブなカテゴリに該当するか確認することができます。d

  • hate
  • hate/threatening
  • self-harm
  • sexual 
  • sexual/minors 
  • violence
  • violence/graphic

Moderationの代表モデル一覧

Moderationでは次のようなモデルが展開されています。

代表モデル概要
text-moderation-latest最も高性能なModelationモデル。text-moderation-stableと比較し、わずかに精度も高い。
text-moderation-stabletext-moderation-latestとほぼ同等の能力を有したわずかに古いモデル。

PythonでModeration利用

PythonとOpenAIのAPIを用いてModerationモデルを利用する方法も解説しています。

あわせて読みたい
【OpenAI×自然言語処理】Pythonで誹謗中傷等の問題発言を検出するModerationモデルを実装する方法 OpenAI社が提供するAPIとPythonを用いて、誹謗中傷やセクシャルコンテンツなどの問題発言を検出するModerationモデルの作成方法について解説します。

Codex

Codexとは、コードの理解に特化した言語生成型の深層学習モデルです。GitHubの自然言語と数十億の公開コードを用いてトレーニングされています。

Codexは、Pythonコードの理解が最も得意とされており、その他にもJavaScript、Go、Perl、PHP、Ruby、Swift、TypeScript、SQL、Shellを含む12以上の言語に対しても堪能です。

Codexの代表モデル一覧

Codexでは、次のようなモデルが展開されています。

Codex代表モデル概要
code-davinci-002最も高性能なCodexモデル。特に自然言語からコードへの変換を得意としている。コードの補完だけでなく、コード内への挿入も可能。
code-davinci-001code-davinci-002より以前のモデル
code-cushman-002code-davinciの次に高性能であり、わずかに高速な処理が可能。この処理速度の利点は、リアルタイムなアプリケーションに適している。

【OpenAI】Pythonで最新のGPTモデル情報を一括取得する

ここまでOpenAIが提供するGPTモデル種類とそれぞれに対する代表モデルを紹介しました。これらのモデルが全てではなく、GPTモデルは日々最新モデルがアップデートされています。

最後にOpenAIが提供するAPIとPythonを用いて、その時点でのGPTモデル一覧を全て取得する方法について解説したいと思います。

Pythonライブラリ読込

はじめに、Pythonプログラムの先頭にライブラリとAPI認証情報を記述します。

Organization IDシークレットキーもそれぞれ入力しましょう。

import pandas as pd
from datetime import datetime
from openai import OpenAI

API_Key = "<APIシークレットキーをここに入力>"

最新のGPTモデル情報を全て取得

最新のGPTモデル情報を一括取得可能なコードを記述します。

# モデルリスト取得
client     = OpenAI(api_key=API_Key)
model_list = client.models.list().data
model_num  = len(model_list)

# リスト
created_at_list           = [datetime.fromtimestamp(data.created) for data in model_list]
model_id_list             = [data.id for data in model_list]
object_list               = [data.object for data in model_list]
owned_by_list             = [data.owned_by for data in model_list]
 
# データフレーム
df = pd.DataFrame({
        "created":  created_at_list,
        "model_id": model_id_list,
        "object":   object_list,
        "owned_by": owned_by_list,
                })


# 並び替え
df = df.sort_values("作成日", ascending=False).reset_index(drop=True)

# Excelとして保存
df.to_excel("chatgpt-model-list.xlsx", index=False)

こちらんコードを実行することで、後述の表に示すような結果が出力できます。

【参考】OpenAI リリース中の全GPTモデル一覧

最後に、OpenAIがリリース中のGPTモデル一覧を示します。

こちらの出力結果は前述のPythonプログラムを実行することで取得可能です。

作成日モデルIDオブジェクト名所有
2023-11-11 07:53:21canary-whispermodelsystem
2023-11-09 10:22:15canary-ttsmodelsystem
2023-11-04 08:18:53tts-1-hd-1106modelsystem
2023-11-04 08:14:01tts-1-1106modelsystem
2023-11-04 06:13:35tts-1-hdmodelsystem
2023-11-03 06:15:48gpt-3.5-turbo-1106modelsystem
2023-11-03 05:33:26gpt-4-1106-previewmodelsystem
2023-11-02 12:15:17gpt-4-vision-previewmodelsystem
2023-11-01 09:22:57dall-e-2modelsystem
2023-11-01 05:46:29dall-e-3modelsystem
2023-09-08 06:34:32gpt-3.5-turbo-instruct-0914modelsystem
2023-08-25 03:23:47gpt-3.5-turbo-instructmodelsystem
2023-08-22 01:16:55babbage-002modelsystem
2023-08-22 01:11:41davinci-002modelsystem
2023-06-28 01:13:31gpt-4modelopenai
2023-06-28 01:13:30gpt-4-0314modelopenai
2023-06-13 01:54:56gpt-4-0613modelopenai
2023-06-13 01:30:34gpt-3.5-turbo-0613modelopenai
2023-05-31 04:17:27gpt-3.5-turbo-16k-0613modelopenai
2023-05-11 07:35:02gpt-3.5-turbo-16kmodelopenai-internal
2023-04-20 06:49:11tts-1modelopenai-internal
2023-03-01 14:52:43gpt-3.5-turbo-0301modelopenai
2023-03-01 03:56:42gpt-3.5-turbomodelopenai
2023-02-28 06:13:04whisper-1modelopenai-internal
2022-12-17 04:01:39text-embedding-ada-002modelopenai-internal
2022-11-28 10:40:35text-davinci-003modelopenai-internal
2022-04-29 04:01:50curie-similaritymodelopenai-dev
2022-04-29 04:01:50ada-code-search-textmodelopenai-dev
2022-04-29 04:01:50babbage-search-documentmodelopenai-dev
2022-04-29 04:01:49text-search-curie-query-001modelopenai-dev
2022-04-29 04:01:49text-search-curie-doc-001modelopenai-dev
2022-04-29 04:01:49babbage-code-search-textmodelopenai-dev
2022-04-29 04:01:49text-search-babbage-doc-001modelopenai-dev
2022-04-29 04:01:49babbage-code-search-codemodelopenai-dev
2022-04-29 04:01:49davinci-search-documentmodelopenai-dev
2022-04-29 04:01:49curie-search-querymodelopenai-dev
2022-04-29 04:01:49text-search-babbage-query-001modelopenai-dev
2022-04-29 04:01:49babbage-search-querymodelopenai-dev
2022-04-29 04:01:49davinci-similaritymodelopenai-dev
2022-04-29 04:01:48curie-search-documentmodelopenai-dev
2022-04-29 04:01:47code-search-babbage-text-001modelopenai-dev
2022-04-29 04:01:47text-search-ada-doc-001modelopenai-dev
2022-04-29 04:01:47text-similarity-curie-001modelopenai-dev
2022-04-29 04:01:47code-search-ada-code-001modelopenai-dev
2022-04-29 04:01:47ada-similaritymodelopenai-dev
2022-04-29 04:01:47code-search-ada-text-001modelopenai-dev
2022-04-29 04:01:47code-search-babbage-code-001modelopenai-dev
2022-04-29 04:01:47ada-search-documentmodelopenai-dev
2022-04-29 04:01:45davinci-search-querymodelopenai-dev
2022-04-29 04:01:45babbage-similaritymodelopenai-dev
2022-04-29 04:01:45text-similarity-davinci-001modelopenai-dev
2022-04-29 04:01:45text-search-davinci-query-001modelopenai-dev
2022-04-29 04:01:45ada-code-search-codemodelopenai-dev
2022-04-29 04:01:45text-similarity-babbage-001modelopenai-dev
2022-04-29 04:01:45text-search-davinci-doc-001modelopenai-dev
2022-04-29 04:01:45ada-search-querymodelopenai-dev
2022-04-29 04:01:45text-search-ada-query-001modelopenai-dev
2022-04-29 04:01:45text-similarity-ada-001modelopenai-dev
2022-04-14 05:08:04text-davinci-002modelopenai
2022-04-14 05:08:04code-davinci-edit-001modelopenai
2022-04-13 09:19:39text-davinci-edit-001modelopenai
2022-04-08 05:40:43text-curie-001modelopenai
2022-04-08 05:40:43text-babbage-001modelopenai
2022-04-08 05:40:42davinci-instruct-betamodelopenai
2022-04-08 05:40:42curie-instruct-betamodelopenai
2022-04-08 05:40:42text-ada-001modelopenai
2022-04-08 05:40:42text-davinci-001modelopenai
2022-04-08 04:31:14davincimodelopenai
2022-04-08 04:31:14curiemodelopenai
2022-04-08 04:07:29babbagemodelopenai
2022-04-08 03:51:31adamodelopenai

【参考】AI・機械学習における配信情報まとめ

当サイトではAI・機械学習における「基礎」から「最新のプログラミング手法」に至るまで幅広く解説しております。また「おすすめの勉強方法」をはじめ、副業・転職・フリーランスとして始める「AI・機械学習案件の探し方」についても詳しく言及しています。

【仕事探し】副業・転職・フリーランス

【教育】おすすめ勉強法

【参考】記事一覧

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
目次