見出し画像

GPT-4(API)で吉川英治の三国志を書くには最低いくらかかるのか?

※2023年10月時点の記事になります。トークン数の考え方は変わりませんが、APIの利用料は常に改定されておりますのでご注意ください。

今回は大規模言語モデル(LLM:Large Language Models)におけるトークン数の話です。

ディープラーニングが出始めの頃、何かしら小説らしきものをAIで作成するには、非常に多くの文章を学習させる必要がありました。
そんな大量の文章データって、簡単に手に入らないよなぁ…と思ったのですが…ありました!

青空文庫ですね!

ディープラーニングの学習と出力に長・短期記憶(LSTM:Long Short Term Memory)というモデルを利用していたのですが…それっぽい文体になるだけで小説の体をなしていなかった記憶があります。

そして、今のAIの主流は事前学習済モデルのLLMになります。このモデルを利用すれば普通に読める小説を書いてくれます。良い時代になったものです!

さて、その青空文庫の長編小説の中に、吉川英治「三国志」があります。皆さん、大好きな三国志ですね!
(好きじゃない方は失礼!)

その三国志ですが…どれぐらいの文字数で書かれているのでしょうか?そして、どれぐらいのトークン数なのでしょうか?
正確な数字を出してみました。

  • 文字数:185万9695文字

  • トークン数:214万4933トークン

凄まじい量です!

トークン数という言葉について、見慣れない方もいらっしゃるかとは思います。これは、ChatGPTが一度に扱える量を表す単位になります。出力の最大が1000トークンという場合は、一度に1000トークン以上は出力出来ません。一度に扱える分しかChatGPTは覚えていられないので、長い文章を書いたり理解させたりするには多くのトークン数を扱える必要があります。

ちなみにトークン数は下記サイトで調べる事が出来ますので、ご活用ください!

さて、タイトルにある、「いくらかかるのか?」を考えてみましょう。現時点で最も性能の良いと言われるOpenAIのLLMのモデル、GPT-4-32KをAPIで利用した場合で考えてみたいと思います。

料金は下記の通りです。

【 1000トークンあたり 】

  • 入力:約8.96円≒9円

  • 出力:約17.92円≒18円

出力はもちろん、214万4933トークンになります。入力はプロンプトという事になります。入力のトークン数は当然分かりませんので…出力の1/10と仮定してみましょう。
下記のような計算式で大雑把な金額が算出されるかと思います。

【入力】
  2144933 ÷ 10 ÷ 1000 × 9 = 1930.4
【出力】
  2144933 ÷ 1000 × 18 = 38608.8
【合計】
  1930.4 + 38608.8 = 40539.2

1回の入力で納得できるものが生成出来たとしても…4万円以上ですね…

生成するのは長編小説になりますので、一気には作成出来ません。細切れの出力になると思いますが、そうなると辻褄合わせで文章の再作成という事が多く発生するかと思います。

このあたりはプログラミングを組んだりして自動化する事になるかと思いますが、手間はかからなくても利用料はかかる事になります。ここが、APIを利用する場合の悩ましいところです。恐らく、最低でも5回ぐらいは試行錯誤しないといけないと考えられます。

計算してみましょう!

40539.2 × 5 = 202696

20万円以上!!
これは私の感覚的としては、少なく見積もってますが…完璧な小説を目指すのであれば、GPT-4のみの利用だと100万円ぐらいかかってしまうかもしれません。
万が一、奇跡的に上手くいっても4万円より安くはなりません。

なんだかChatGPT plusの月額約3000円が安く感じてきました(笑)

私がOpenAIのAPI呼出でGPT-4-32Kを試すのを躊躇している理由のひとつが、この値段の高さですね。

サービスによる値段や機能の違いについては、下記の記事を見ていただければと思います。

https://note.com/t_tokuwa/n/nf8dbee8690ef

GPT-4のAPI利用での「最も値段の高いサービス」を利用した場合はこの値段でしたが、APIとして安価なGPT-3.5-Turboに置き換えて計算し直してみましょう!

【入力】
  2144933 ÷ 10 ÷ 1000 × 0.22 = 47.2
【出力】
  2144933 ÷ 1000 × 0.30 = 643.5
【合計】
  47.2 + 643.5 = 690.7

かなり現実的な金額が算出されましたね。
さらに、5回試行錯誤すると仮定します。

690.7 × 5 = 3453.5

20万円以上が3千5百円以下になってしまいました!

つまり、「性能が良くてトークン数が多いモデルは凄く高い」という事です。さらに言えば、トークン数が多いモデルの方が少ないモデルより2倍ぐらい高額って事です!

これ、誤解しないように書きますが、トークン数での単価計算なので「トークン数が多いモデルは扱える文章量が多くなり、そのトークン数の分だけ高くなるのは当然」…ということではないのです。
例えば安価なモデルで事足りるような、トークン数が少ない文章量のものを高額なモデルで利用すると…「全く同じ事をするのに2倍以上のお金をかけてしまう」という無駄遣いという事態になります。

スーパーで50%の値引きシールの惣菜を速攻で取っていくようなタイプなのに、面倒だからと、これを見逃すなんて…お金を捨てているようなものです!

金額だけの計算で言えば、GPT-3.5 turboで10回繰り返しブラッシュアップする事により、GPT-4の1回と同じ成果が出せれるのなら、GPT-3.5 turboを利用した方が圧倒的に安いという事になります。GPT-4の2回だと、GPT-3.5 turboを100回ぐらい使っても安いぐらいですね!

それでも、GPT-4でしか出来ない仕事がありますので、そこのみ…GPT-4を使う必要は絶対に出てくるとは思います!

こう考えると…あれだけのものを無料で解放しているClaude2は凄く素晴らしく感じてきました。LLMの価格崩壊に一石を投じて欲しいものです。

さて、もう1つの切り口です。
「英語」と「日本語」です。三国志の文字数とトークン数を見ると、日本語は約0.8文字で1トークンぐらいの計算となります。英語だとどうでしょう?
この記事で生成した小説「孤島のサーカス」を元に検証してみましょう。

まず、日本語から。

太陽の熱線が砂浜を走る少年少女たちに容赦なく照りつける。梓澤誠一郎は一息つき、汗で体に張り付く学ランを気にしながら額の汗を拭った。
「この暑さ、もう限界ですわ」と、雷音美冬は頭から垂れる汗をかき上げて苦しそうに言った。華奢な彼女は力強さを装っていたが、厳しい状況に悩んでいるのは明らかだった。
花園紫苑は少し先を歩いていて、何も感じていないかのようだった。「さっさと行かなアカンで。この島にはどっかに水があるはずやからな。」
「確かにそうだ」と誠一郎は頷いた。彼だけが何らかのサバイバルスキルを持っていたので、他の二人を守る責任を感じていた。

313トークン

続いて、オリジナルの英語版です。

The rays of the midday sun beat down relentlessly on the small group as they made their way across the sandy beach. Seiichiro paused to wipe the sweat from his brow, his tattered school uniform clinging to his body. "This heat is awful, I don't know how much farther I can go," complained Mifuyu, her long black hair damp with perspiration. Though she tried to seem strong, it was clear the petite girl was struggling. Shion walked a few paces ahead, seemingly unaffected. "We have to keep moving. There's got to be fresh water somewhere on this island." Seiichiro nodded in agreement. As the only one of them with any survival skills, he felt responsible for the others.

152トークン

実際やってみたところ、「もっと減るかと思っていましたが、意外に減ってない」印象です。
これは、小説のような文章のおいては、日本語の言い回しの方が、英語より表現が短くて済む…などの理由があるのかもしれません。

ただ、それでも英語の方が半分以下ですので、トークン数的には有利かもしれません。私としては、物語生成で日本語と英語を使ってみた感想として、生成内容の差異も感じますので、全て英語で扱うというのは避けたいところです。

論理的な部分については英語…ひょっとしたらプログラミング言語なんかで記述してトークン数を減らし、細かい情景や心理描写は日本語で出力させるなどの使い分けも必要に感じます。

さて…
…以上のような感じで、トークン数について、なんとなく分かってきたところで、トークン数の考察を終わりたいと思います。いくら理屈や理論で書いたところで、実際に手を動かしてみない事には何も分からないですしね!

とりあえず、破産しない程度に検証していきたいと思います。みなさんも、ChatGPTのAPIを利用する場合は使いすぎに注意しましょう!

そして…GPT-4をAPIで使う事を考えれば「ChatGPT plus」は安いっ!という事で、まず契約して、とりあえずプログラムを必要としないところは、こちらの方でガンガン試していきましょう!

この記事が気に入ったらサポートをしてみませんか?