見出し画像

gpt-4o-mini本当に早いのか?


こんにちはmakokonです。
再びgpt-4o-miniの話です。この4o-mini爆速との評判ですが、ベンチマークを見ても実感できないですよね。
今回は、普通にある程度長い日本語要約でその速度を測ってみました。


準備

入力素材


青空文庫から文庫から「吾輩ハ猫デアル」の全文をダウンロードしてwagahai.txtを作成しました。
37,374文字ということでまずまずの長さでしょう。

$ wc wagahai.txt
      61     538   37374 wagahai.txt


ライブラリ

最新のOpenAIライブラリをインストールします。
基本的な使い方は前回記事も参考に。
https://note.com/makokon/n/na9430422225d


$ pip install --upgrade openai

要約コード
入力素材全文を読み込んで、300文字で要約してもらいます。
gpt-4o-miniとgpt-4oで比較しますが、コード中のMODEL="gpt-4o"の部分を書き換える以外は、同じように使えます。これは便利ですね。

from openai import OpenAI 
import os
import time

# テキストファイルのパスを指定
file_path = './wagahai.txt'

# ファイルを読み込み、内容を1つの変数に格納
with open(file_path, 'r', encoding='utf-8') as file:
    text_content = file.read()

## Set the API key and model name
#MODEL="gpt-4o-mini"
MODEL="gpt-4o"
client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))

start_time = time.time()

completion = client.chat.completions.create(
  model=MODEL,
  messages=[
    {"role": "system", "content": "あなたは優秀なライターです。"}, # <-- This is the system message that provides context to the model
    {"role": "user", "content": "以下の文章を300文字未満で要約してください。入力分:"+text_content}  # <-- This is the user message for which the model will generate a response
  ]
)
end_time = time.time()

elapsed_time = end_time - start_time

print("model:",MODEL)
print(f"所要時間: {elapsed_time} seconds")
print("要約:")

print("Assistant: " + completion.choices[0].message.content)


要約結果

2つのモデルそれぞれの結果です。
gpt-4o:3.1sec
gpt-4o-mini:4.6sec
あれ、miniのほうが遅いですね。一応これだけの文字を通せばmodelの処理時間に対応すると思ったのですが、不思議ですね。
要約内容はgpt-4oのほうが、最初にある作品解説に引きずられているかもしれません。最後の方まで読まずに端折られたのでしょうか?
要約でなくて本文のあらすじにしてもう一回試してみましょう

model: gpt-4o
所要時間: 3.1092100143432617 seconds
要約:
Assistant: 『吾輩は猫である』は、連載される小説であり、まとまった筋がないため、どこで切っても興味は薄れないと述べられています。作者の夏目漱石は、書き続けたいが忙しいため、この分量で出版すると決めました。また、雑誌に連載された作品を単行本として出すことについては、価値を見出しているわけではないが、自分自身が満足するからだと述べています。この作品には中村不折の挿絵も添えられています。序で、この書がどれだけの評価を得るか分からないが、自分が意図する形で世に出るのは嬉しい、と作者の思いが述べられています。

gpt-4o要約結果

model: gpt-4o-mini
所要時間: 4.605015754699707 seconds
要約:
Assistant: 「吾輩は猫である」は、夏目漱石による猫の視点で描かれた物語である。猫は自身の名前がないことを語り、幼少期に書生と出会い、様々な人間の生活を観察する。猫は教師の家に住み着き、主人の怠惰さや家族の無関心に気づく。物語は猫の日常や周囲の猫との交流を通じて、人間の我儘や猫の立場についての考察がなされる。諷刺的でユーモラスな視点から、人間社会の様々な面が描かれ、最終的には無名のまま生きることを受け入れる猫の姿が印象的に描かれる。

gpt-4o-mini要約結果

本文あらすじ コード

プロンプト部分だけを以下のように変更します。

completion = client.chat.completions.create(
  model=MODEL,
  messages=[
    {"role": "system", "content": "あなたは優秀なライターです。"}, # <-- This is the system message that provides context to the model
    {"role": "user", "content": "以下の小説の本文のあらすじを300文字で書いてください。入力分:"+text_content}  # <-- This is the user message for which the model will generate a response
  ]
)

本文あらすじ比較結果

さて比較結果です。
gpt-4o:5.3sec
gpt-4o-mini:4.3sec

今度はminiのほうが若干早いようです。でも出力文字数を考えるとあまり違わないような気もします。
内容は、gpt-4o-miniの方はあまり変わらないレベルですが、gpt-4oの方は、本文の内容にさっきより踏み込んでいます。やはりgpt-4oには、手抜きというか力を温存する疑惑が。

model: gpt-4o
所要時間: 5.29059100151062 seconds
要約:
Assistant: 『吾輩は猫である』は、名前のない一匹の猫の視点から、人間の世界やその矛盾を風刺的に描いた作品です。猫は書生の家に住み着くことから始まり、その家の主人や家族、友人たちの行動を観察しながら、自身の哲学や人間への考察を展開します。主人は学校の教師で、猫は彼の日課や取り組んでいる水彩画、読書などを冷静に見つめ、この人間が本当に勤勉なのか、それとも自らの惰性によって苦しんでいるのかを疑問に思います。また、猫は自身の生活や周囲の猫との交流を通じて、自由気ままな反面、名も持たずに生きる不便さを感じています。猫視点のユーモアたっぷりの言葉遣いや、観察力鋭い風刺が随所に散りばめられており、猫自身も一種の哲学者として描かれ、人間社会の矛盾を浮き彫りにしています。作品全体は、猫の視点を借りて、人間の抱える問題や不条理、喜劇的な側面をユーモアを交えて描いた名作です。
model: gpt-4o-mini
所要時間: 4.3095619678497314 seconds
要約:
Assistant: 『吾輩は猫である』は、夏目漱石によるユーモア溢れる物語で、名前のない猫が主人公です。この猫は、自分がどこで生まれたのかもわからず、人間との出会いを通じて彼らの生活を観察します。主人の書生は猫に対して無関心で、猫は彼の隣で傍観者として日々を送ります。猫は家族の乱暴さや、不条理に耐えつつ、人間社会の滑稽さや矛盾に気づいていきます。物語は、猫の目を通じて描かれる人間の愚かさ、友情、孤独が織り交ぜられて進行し、最終的に愛着を持つ家庭に属していることの喜びや悲哀を感じさせます。猫の内省的な視点が特徴的なこの作品は、笑いと哀しみが共存する独特の文学空間を作り出しています。

出力結果比較

まとめ

以上、かなりの長文を解釈してもらいましたが、2つのモデルgpt-4oとgpt-4o-miniでは、ほとんど速度の違いがないように思います。
実際何回か試しましたが、ばらつきはあるものの、実感としてどちらが早いということもありませんでした。
gpt-4o-miniの日本語表現能力はかなりのものであり、前回の記事のように複雑なロジックが絡まない、気楽な話し相手や、入力に答えがある翻訳や要約では十分な能力があるように感じます。コストのことを考えれば、十分利用できるモデルだと思います。
ただ速度が出ない条件はわかりません。得意なこと、苦手なことがあるのかもしれないし、サーバー側に問題(例えば、今gpt-4o-miniが忙しい)があるのかもしれません。
このあたりについては、多くの人が検証してくれるでしょう。

#oepnai #llm #gpt -4o #gpt -4o-mini #生成速度 #速度比較 #API
#日本語 #要約 #あらすじ #吾輩は猫である #mini

タイトル画の説明 by GPT-4o


このイラストには、大人の男性と小さな男の子が並んで楽しそうに走っている様子が描かれています。大人の男性は伝統的なアラビアの衣装とヘッドカバーを身に着けており、胸にはアラビア語で書かれた「القه」の文字が見えます。小さな男の子は運動服を着ており、胸には「تياَنيَر」と「MINI」の文字が見えます。二人とも笑顔を浮かべており、親子の楽しげな絆が伝わってくるイラストです。

いいなと思ったら応援しよう!