How Much Does It Cost to Use GPT? GPT-3 Pricing Explained
ChatGPT のリリースにより、その背後にある技術である Generative Pretrained Transformer-3 (一般に GPT-3 として知られている) が大々的に宣伝されました。不思議ではありません! NLP タスクを高精度で実行できるため、テキスト分類、質問応答、機械翻訳、テキスト要約など、多くの言語関連タスクを自動化できます。コンテンツの生成、顧客データの分析、または高度な会話型 AI システムの開発に使用できます。
この記事を読んでいるということは、すでに ChatGPT をいじったり、YouTube、ブログ、ソーシャル メディアの投稿で実際に使用しているのを見たりして、次のレベルに進めようと考えているということでしょう。また、独自のプロジェクトで GPT-3 の機能を利用することもできます。
すべてのエキサイティングな可能性に飛び込み、製品のロードマップを計画する前に、1 つの重要な質問に取り組みましょう。
OpenAI は、シンプルで柔軟な価格設定を約束します。
Ada、Babbage、Curie、Davinci の 4 つの言語モデルから選択できます。 Davinci は最も強力なもの (ChatGPT で使用) ですが、他の 3 つは要約の作成や感情分析の実行などのより簡単なタスクに使用できます。
価格は 1K トークンごとに計算されます。 Davinci モデルを使用すると、使用される 50,000 トークンごとに 1 ドルを支払うことになります。多いですか? OpenAI の料金ページで説明されているとおり:
トークンは、自然言語処理に使用される単語の断片と考えることができます。英文の場合、1 トークンは約 4 文字または 0.75 語です。これは、単語の約 3/4 に相当します (つまり、100 トークン ~= 75 単語)。参考までにシェイクスピアの全集は約90万語、120万トークンです。
したがって、わずか 100 ドルで、約 3,750,000 の英単語、つまり約 7,500 ページのシングルスペースのテキストに対して操作を実行できます。しかし、さらに読むことができるように、
回答リクエストは、提供する入力のトークン数とモデルが生成する回答に基づいて課金されます。内部的に、このエンドポイントは Search および Completions API を呼び出すため、そのコストはこれらのエンドポイントのコストの関数になります。
したがって、7500 ページのテキストには、入力、出力、およびモデルの「指示」を含むプロンプトが含まれます。これにより、出力がどうなるかわからないため、推定プロセス全体が少し複雑になります。
それを調べるために、実験を行うことにしました。
目標は、3 つのサンプル プロンプトで実際のトークンの使用状況を確認し、出力に影響を与える要因を理解し、GPT-3 プロジェクトのコストをより適切に見積もることを学ぶことでした。
この実験では、プロンプトをテキスト コーパスと組み合わせて API に送信し、返されたトークンの数を計算しました。
次に、API リクエストのコストが使用状況ビューで監視され、1 つの課金ウィンドウの制限ごとに 1 つのリクエストがあるため、少なくとも 5 分間の待機時間が実装されました。次に、コストを手動で計算し、使用量ビューに記録されたコストと比較して、不一致がないかどうかを確認しました。
計画は単純でした。実際の結果を確認するには、いくつかのコーパス (~10) を収集し、プロンプトを準備し、トークンの使用量を見積もり、API を数回呼び出す必要がありました。
その結果をもとに、インプット(コーパス+プロンプト)とアウトプットの相関関係を探っていく予定でした。出力の長さに影響を与える要因を発見し、入力とプロンプトのみに基づいてトークンの使用を予測できるかどうかを確認したかったのです。
まず、OpenAI の価格ページの情報がどれほど正確かを確認したかったのです。そのために、 Tokenizer (OpenAI が提供する公式ツールで、テキストが API によってトークン化される方法とそのテキスト内のトークンの総数を計算する公式ツール) から結果を取得し、後でそれらをデータと比較できるようにしました。使用状況ビューと実際の請求から。
コーパスとして、TikTok、Instagram、Facebook、WhatsApp、Telegram、Snapchat、Zoom、Messenger、CapCut、Spotify の 10 の最もダウンロードされたアプリの説明を取り上げました。
これらにより、テキストに対していくつかの操作を実行し、キーワード検索、長いテキストの要約、テキストのプロジェクト要件への変換など、さまざまなユース ケースについてコーパスをテストできます。説明の長さは、376 語から 2060 語までさまざまでした。
それがどのように見えたかを見てみましょう。 TikTok の説明の一部を次に示します。
テキスト サンプルは 1609 語と 2182 トークンで構成されており、選択した GPT-3 モデルに応じて、次の費用がかかります。
コーパス内の 10 個のアプリの説明のそれぞれについて、同じことを行いました。
これは、GPT-3 API を使用した実際のテストの参照でした。
次のステップとして、プロンプトを準備しました。この実験では、3 つの異なるユース ケースに対して 3 つのプロンプトを使用する必要がありました。
最初のプロンプトは、指定されたアプリの説明に基づいてプロジェクトの要件を収集することでした。
Describe in detail, using points and bullet points, requirements strictly related to the project of an application similar to the below description:
プロンプトは 22 語 (148 文字) の長さで、26 トークンに相当します。これらの値をコーパスに追加し、モデルごとに推定トークン使用量を再度計算しました。
2 番目のプロンプトは、テキストの長い断片の要約を書くことに関するものでした。モデルの「仕事」は、テキストの最も重要な部分を特定し、簡潔な要約を書くことです。
Create a short summary consisting of one paragraph containing the main takeaways of the below text:
プロンプトは 16 語 (99 文字) の長さで、18 トークンに相当します。繰り返しますが、これらの値をコーパスに追加しました。
最後のプロンプトは、テキストからキーワードを見つけて分類し、特定の形式で提示することになっていました。
Parse the below content in search of keywords. Keywords should be short and concise. Assign each keyword a generic category, like a date, person, place, number, value, country, city, day, year, etc. Present it as a list of categories: keyword pairs.
長さは 41 語 (250 文字) で、61 トークンに相当します。コーパス テキストとともに、次の情報が得られました。
次のステップでは、最終的にいくつかの答えが得られるはずでした。コーパス テキストを含むプロンプトを API に送信し、出力で返されるトークンの数を計算し、使用状況ビューで API リクエストを監視します。
この段階では、ChatGPT のコアである最も高度な GPT モデルである Davinci のみに焦点を当てることにしました。
OpenAI プラットフォームでのトークンの使用は 5 分の時間枠で測定されるため、スクリプトは 5 分ごとに 1 つの API リクエストのみを送信していました。各リクエストは、1 つのテキスト (コーパス) と 1 つのプロンプトの組み合わせでした。こうすることで、すべての組み合わせのトークンの使用状況に関する正確な情報を取得し、結果を見積もりと比較することができました。
全部で 30 の組み合わせをテストしました: 3 つのプロンプト x 10 のアプリの説明。この実験では、組み合わせの数と実験のコストが大幅に増加するため、モデルの温度などの変数をモデル設定に追加しませんでした。
これらの 30 個のリクエストを送信した後、Usage ビューに表示された結果と、API 呼び出しのメタデータから直接取得した結果を比較しました。
結果は互いに一貫していた。さらに、プロンプトとコーパスの両方を含むプロンプトのトークン使用量も、トークナイザーで以前に推定された使用量と一貫していました。
この時点で、入力のトークン使用量を高い精度で推定できることがわかりました。次のステップは、入力の長さと出力の長さとの間に相関関係があるかどうかを確認し、出力のトークン使用量を推定できるかどうかを調べることでした。
入力トークン数と出力トークン数の相関は非常に弱かった*。入力トークンの数を測定しても、1 つの要求で使用されるトークンの総数を見積もるには不十分でした。
* 勾配は、TL;DR サマリーの 0,0029 とプロジェクト要件要求の 0,0246 の間で変化しました。
入力トークンの数 (プロンプト + コーパス) と出力トークンの数 (応答) の間に明確な相関関係はありませんでしたが、出力トークンの数に実際に影響を与えた要因は、プロンプト自体、つまり、モデルに贈られました。
分析されたすべてのケースで、キーワードを抽出してグループ化するよりも、プロジェクト要件を生成するためにより多くのトークンが必要でした。ただし、これらのケースでの違いはかなり小さく、1 回のリクエストのコスト (約 0.04 ドル) には実際には影響しませんでした。ブリーフに基づいて長いテキスト (ブログ記事など) を作成するためにプロンプトで GPT-3 モデルが必要な場合は、おそらく変更されるでしょう。
特定のユース ケース (モデルの使用目的) とは別に、プロジェクトで GPT-3 を使用するコストに影響を与える可能性のある要因は他にもあります。とりわけ、これらは次のようになります。
温度パラメーターは、モデルの出力のランダム性を制御します。これを高い値に設定すると、より多様で予測不可能な出力になる可能性があります。これにより、モデルの実行に必要な計算リソースが増加し、コストに影響する可能性があります。
適切なプロンプトは、間違った応答を受け取るリスクを最小限に抑えます。
GPT-3 を使用するコストは、モデルの可用性によっても影響を受ける可能性があります。モデルの需要が高い場合、在庫が限られているため、コストが増加する可能性があります。
GPT-3 を使用するコストは、必要なカスタマイズのレベルによっても影響を受ける可能性があります。特定の機能が必要な場合は、追加の開発作業が必要になる場合があり、コストが増加する可能性があります。
ユーザーは、ソフト制限とハード制限を設定して予算を管理できます。ソフト リミットでは、特定の使用量のしきい値を超えるとメール アラートが送信されます。ハード リミットでは、しきい値に達すると、後続の API リクエストが単純に拒否されます。リクエストでmax_tokens
パラメータを設定することもできます。
ただし、設定した制限がモデルの効率に影響を与えることに注意する必要があります。制限が低すぎると、API リクエストが送信されないため、あなたとユーザーは何の応答も得られません。
この実験では、コーパスとプロンプトのみに基づいてトークン使用量の正確な見積もりを提供することは非常に難しいことが示されています。
GPT-3 を使用するコストは、特定のユース ケース、プロンプトの品質、カスタマイズのレベル、API 呼び出しの量、モデルの実行に必要な計算リソースなど、さまざまな要因の影響を受ける可能性があります。
実施された実験に基づいて、キーワード抽出、プロジェクト要件の収集、要約の作成など、特定のユース ケースにのみ GPT-3 を使用する場合のコストを大まかに見積もることができます。
最初のケースを見てみましょう。Web サイトにカスタマー サービス チャットボットがあり、ユーザーが通常何を尋ねているかを知りたいとします。このような洞察を得るには、次のことを行う必要があります。
1 か月あたり約 15.000 人の訪問者がいて、すべての訪問者が週に 2 回 3 つのリクエストを送信します。このシナリオでは、 1 か月あたり 36 万件のリクエストがあります。実験からの入力と出力の平均の長さ (~1800 と 80 トークン) を代表値として取ると、 1 つの要求の価格を簡単に数えることができます。
分析されたケースで GPT-3 (Davinci モデル) を使用するコストは、月額約 14,400 ドルになります。
ただし、これは単純化されたシミュレーションにすぎず、その結果は完全に代表的ではないことに注意することが重要です。
GPT-3 を搭載した製品を構築するための実際のコストは、複数の要因 (プロジェクトの複雑さ、データの量と品質、プロンプト、モデル設定、ユーザー数) に依存するため、そのような見積もりの安全な誤差範囲は50 ~ 100% になることもあります。
より信頼性の高い見積もりを得るには、概念実証プロジェクトを実行し、特定のデータ セット (独自のコーパス サンプル) でさまざまなシナリオをテストすると便利です。
GPT-3 は比較的新しい技術であり、商用利用に関してはまだ不明な点が多くあります。使用料もその一つです。
入力側でトークンの使用量とその価格を測定することは可能ですが (最も高度な Davinci モデルでは 1000 トークンあたり 0.04 ドル)、出力でこれらの値を予測することは困難です。それらに影響を与える多くの変数があり、インプットとアウトプットの間の相関はかなり低いです。
そのため、「生の」見積もりは純粋な当て推量です。見積もりの精度を上げるには (ただし、特定のユース ケースで GPT-3 を使用する可能性を検証するためにも)、概念実証を実行する必要があります。このような PoC では、サンプル コーパスを取得し、さまざまなプロンプトとさまざまなモデル設定でモデルをテストして、最適な組み合わせを見つけます。
2 月 21 日、Foundry と呼ばれる OpenAI の新しいサービスに関する情報が口コミで広まり、 Twitterから Techcrunch やCMS Wireなどの最も有名なテクノロジー メディアに伝わりました。
製品概要によると、軽量バージョンの GPT-3.5 を実行するには、3 か月の契約で 78,000 ドル、1 年間の契約で 264,000 ドルかかります。 Davinci モデルの最も高度なバージョン (GPT-3 のトークン制限を 8 倍超えるトークン制限付き) を実行すると、3 か月の契約で 468,000 ドル、1 年間の契約で 1,584,000 ドルの費用がかかります。
しかし、これは一体何なのでしょうか? Techcrunchで読むことができるように:
スクリーンショットが信じられるなら、Foundry は、起動するたびに、1 人の顧客専用の計算能力 (…) の「静的割り当て」を提供します。 (…)
Foundry はまた、インスタンスのアップタイムやオンカレンダー エンジニアリング サポートなどのサービス レベルのコミットメントも提供します。レンタルは、3 か月または 1 年間の契約を伴う専用のコンピューティング ユニットに基づいています。個々のモデル インスタンスを実行するには、特定の数のコンピューティング ユニットが必要です。
ただし、サービス レベルのコミットメントを固定価格の契約として扱うべきではないようです。
今のところ、製品概要のスクリーンショットで読み取れるように、「モデル構成とパフォーマンス プロファイルを完全に制御できる」専用容量での特定のモデルへのアクセスのみが価格に含まれていると想定しても安全です。
広く待ち望まれているGPT-4であると予想される新しいモデルのトークンの価格は、まだ発表されていません。ただし、最近のOpenAI ドキュメントの更新では、GPT-3.5 Turbo は GPT-3 Davinci モデルの 10 分の 1 のコストで提供されることがわかります。これにより、GPT-3.5 Turbo で 1,000 トークンあたり $0,002 になります。