先日(2024/3/4)、「GPT-4」や「Gemini Ultra」の性能を超えたという「Claude3 Opus」が発表されました。
ChatGPTを筆頭に、テキスト生成AIは非常に注目を浴びています。
そこで、今回は、「ChatGPT-4・Gemini・Claude 3 Opus」の3つの生成AIについて性能を徹底比較したいと思います。
目次
3つの生成AIの概要
まずは、今回比較する3つの生成AI(ChatGPT・Gemini・Claude)について概要を説明します。
ChatGPT
ChatGPTは、OpenAI社が開発した大規模な対話型の言語モデルです。自然言語処理技術を用いて、人間との対話を通じて様々なタスクをこなすことができます。
特徴は以下の通りです。
- 大規模なデータセットを用いた学習により、幅広い知識を有している
- 文脈を理解し、適切な応答を生成できる
- 質問応答、文章生成、要約、翻訳など、多岐にわたるタスクに対応可能
- ユーザーとの対話を通じて、継続的に学習・改善できる
- 倫理的な配慮がなされており、有害なコンテンツの生成を避けるようトレーニングされている
Gemini
Geminiは、Google AIが開発した、テキスト、画像、音声など複数の種類のデータを同時に扱えるマルチモーダルな生成AIモデルです。
特徴は以下の通りです。
- マルチモーダル: テキストだけでなく、画像や音声も理解し、生成することができます。
- 大規模言語モデル: 大量のテキストとコードのデータセットで訓練されており、人間と自然な会話ができるように設計されています。
- 幅広いタスク: 文章生成、翻訳、要約、コード生成など、様々なタスクを実行することができます。
Claude
Claudeは、AnthropicによってConstitutional AIの考え方に基づいて開発された大規模言語モデルの一つです。
特徴は以下の通りです。
- 自然な会話: 人間と自然な会話ができるように設計されており、質問に対する回答だけでなく、雑談や議論も可能です。
- 幅広い知識: インターネット上に存在する過去の情報や知識を学習しているため、歴史的な出来事やプログラミング、数学など、様々な分野の質問に答えることができます。
- 多様なタスク: 文章生成、翻訳、要約、コード生成など、様々なタスクを実行することができます。
- 日本語対応: 日本語にも対応しており、日本語での会話や情報収集、クリエイティブな作業などに活用できます。
先日(2024/3/4)、「GPT-4」や「Gemini Ultra」の性能を超えたという「Claude3 Opus」が発表されました。
以下の図の通り、様々なベンチマークでGPT-4やGemini Ultraを超える性能を発揮しました。
料金比較
3つの生成AIについて、料金を比較してみていきたいと思います。
各料金については、以下の通りです。
ChatGPT-4 | Gemini Advanced | Claude3 |
---|
20$(月額) | 2,900円(月額) | 20$(月額) |
表からも分かるように、3つの生成AIはほぼ同じ料金です。(20$=約2,900円 ※2024/3/8時点)
性能比較
数学
GPT-4
- x+4=12 をxについて解いてください。
-
- x^2+x-2=0 を因数分解してください。
-
- クラスに男子生徒と女子生徒がいます。男子生徒の数は、女子生徒の数の2倍に5足した数と等しく、全生徒数は56人です。男子生徒と女子生徒はそれぞれ何人でしょうか?
-
簡単な問題から、連立方程式、文章問題まで問題なく正答することが出来ました。
Gemini Ultra
- x+4=12 をxについて解いてください。
-
- x^2+x-2=0 を因数分解してください。
-
- クラスに男子生徒と女子生徒がいます。男子生徒の数は、女子生徒の数の2倍に5足した数と等しく、全生徒数は56人です。男子生徒と女子生徒はそれぞれ何人でしょうか?
-
簡単な問題や連立方程式については、正答することが出来ましたが、文章問題は対応することが出来ませんでした。
Claude3 Opus
- x+4=12 をxについて解いてください。
-
- x^2+x-2=0 を因数分解してください。
-
- クラスに男子生徒と女子生徒がいます。男子生徒の数は、女子生徒の数の2倍に5足した数と等しく、全生徒数は56人です。男子生徒と女子生徒はそれぞれ何人でしょうか?
-
簡単な問題から、連立方程式、文章問題まで問題なく正答することが出来ました。
コード生成
GPT-4
- 生年月日から現在の年齢を出力するコードを作成してください。
-
from datetime import datetime
# ユーザーから生年月日を入力してもらいます (例: "2000-01-01")
birthday_str = input("生年月日を YYYY-MM-DD 形式で入力してください: ")
# 生年月日を datetime オブジェクトに変換
birthday = datetime.strptime(birthday_str, "%Y-%m-%d")
# 現在の日付を取得
today = datetime.now()
# 年齢を計算
age = today.year - birthday.year - ((today.month, today.day) < (birthday.month, birthday.day))
print(f"現在の年齢: {age}")
- ハート型のグラフを描画するコードを作成してください。
-
import matplotlib.pyplot as plt
import numpy as np
# ハート形のパラメトリック方程式を定義
t = np.linspace(0, 2 * np.pi, 100)
x = 16 * np.sin(t) ** 3
y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t)
# ハート形を描画
plt.figure(figsize=(8, 7))
plt.plot(x, y, color='red')
plt.title('Heart Shape')
plt.axis('equal')
plt.show()
簡単なコードから、複雑な図形の描画まで正しく出力することが出来ました。
Gemini Ultra
- 生年月日から現在の年齢を出力するコードを作成してください。
-
from datetime import date
def calc_age(birth_date):
today = date.today()
age = today.year - birth_date.year - ((today.month, today.day) < (birth_date.month, birth_date.day))
return age
birth_date = date(2000, 1, 1)
age = calc_age(birth_date)
print(f"年齢は {age} 歳です")
- ハート型のグラフを描画するコードを作成してください。
-
import matplotlib.pyplot as plt
def draw_heart(x, y):
plt.plot(x, y, color="red")
plt.axis("square")
plt.show()
x = np.linspace(-1.5, 1.5, 100)
y = np.sqrt(1 - x**2)
draw_heart(x, y)
x = np.linspace(-1.5, 1.5, 100)
y = -np.sqrt(1 - x**2)
draw_heart(x, y)
簡単なコードの生成は出来ましたが、複雑な図形の描画は正しく出力できませんでした。
Claude3 Opus
- 生年月日から現在の年齢を出力するコードを作成してください。
-
from datetime import date
def calculate_age(birth_date):
today = date.today()
age = today.year - birth_date.year - ((today.month, today.day) < (birth_date.month, birth_date.day))
return age
# 生年月日を入力(例: 1990年4月15日)
birth_year = int(input("生年月日の年を入力してください: "))
birth_month = int(input("生年月日の月を入力してください: "))
birth_day = int(input("生年月日の日を入力してください: "))
birth_date = date(birth_year, birth_month, birth_day)
age = calculate_age(birth_date)
print(f"現在の年齢は {age} 歳です。")
- ハート型のグラフを描画するコードを作成してください。
-
import numpy as np
import matplotlib.pyplot as plt
# ハートの形を表す関数
def heart(t):
x = 16 * np.sin(t)**3
y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t)
return x, y
# tの値を生成
t = np.linspace(0, 2*np.pi, 1000)
# ハートの形を計算
x, y = heart(t)
# グラフの設定
fig, ax = plt.subplots(figsize=(6, 6))
ax.plot(x, y, color='red', linewidth=2)
ax.set_aspect('equal')
ax.axis('off')
# グラフを表示
plt.show()
簡単なコードから、複雑な図形の描画まで正しく出力することが出来ました。
記事作成
GPT-4
- AIについての記事の本文を書いてください。
-
タイトルから、記事の構成まで一通り文章全体を作成してくれています。
Gemini Ultra
- AIについての記事の本文を書いてください。
-
記事というよりは、記事のポイントや要点を簡潔に書いてくれている印象です。
Claude3 Opus
- AIについての記事の本文を書いてください。
-
非常に、自然な日本語が生成できているように見えます。
まとめ
今回は、「ChatGPT-4・Gemini・Claude 3 Opus」の3つの生成AIについて性能を徹底比較しました。
| GPT-4 | Gemini Ultra | Claude3 Opus |
---|
数学 | | | |
コード作成 | | | |
記事作成 | | | |
性能比較表まとめ
今回は、3つのタスクで比較しました。
Claude3は、GPT-4と比べても日本語が非常に自然な印象です。
今後も、生成AIの動向に注目です。