はじめに
開発している生成AIを用いたソリューションの精度がかなり向上してきたので、コストを気にするようになりました。
一概にコストをかければいいシステムというわけではなく、以下のような要素が常に絡む為、三すくみのような
LLMをどれにするか
RAG技術を用いたシステムを作る場合、LLMをAPI連携で利用することはほぼ必要不可欠だと思います。(オンプレでLLMを導入した場合を除く)
それに伴って、入口はCohereやOpenAIを活用していましたが、どうしてもOpenAIではコスト面が圧迫してきたのでいろいろと検討した結果、GeminiをメインLLMにしました。
まずは理由の一旦となる2025年現在のLLMの100万トークン辺りの金額を以下にまとめてみました。
- LLM名 入力金額 出力金額
- ChatGpt4o 5ドル 15ドル
- Claude3.7-Sonnet 3ドル 15ドル
- Gemini2.5-pro 1.25ドル 10ドル
- Gemini2.0-flash 0.1ドル 0.4ドル
並べてみるとわかりやすいのですが、Geminiが群を抜いてやすいです。
ChatGPTと比較すると、入力出力で約3分の1ほどになります。それに加えて、Gemini2.5-proは推論にもたけているからなのか、根拠資料を提示することもなんなく応えてくれます。
弊社システムのことを質問した際の例として以下のような回答をくれました。
-
宛名照会画面のDVタブでの確認
個人の宛名照会画面には「DV」タブがあります。
このタブをクリックすると、「個人宛名照会DVタブ画面」に移動し、DV支援措置の申請に関する情報(支援措置区分、支援対象者申出者、併せて支援を求める者など)や、独自支援措置対象者情報、特別事情情報、処理注意者情報などが表示されます。
複数の履歴がある場合は、履歴プルダウンで切り替えて確認することも可能です。
(根拠情報[DV支援情報を管理する.txt], [宛名情報を検索・照会する.txt])
ここに更に根拠資料を表示していると、RAGシステムとして信頼できるシステムとなります。
トークン数について
RAGを用いた技術において、もっとも金額が発生するのは入力トークンです。
ここを少なくすることでコストを軽減することが出来ます。しかし、一方で入力トークンを制限をするのは与える情報量を減らすということにつながります。それは、RAGシステムにおける回答生成の質を下げることに他ならない為、ここを調整するには減らすタイミングを見誤らないようにする必要があります.
そこで今回わたしが対応したこととしては、プロンプトから判断し質問の内容が幅広いか参照範囲を細かくする必要があるか、などのいくつかの指標を用いて取得するテキストの数を変動させるというものです。
その為、プロンプトからLLMを用いて、取得テキストの数を判断させております。
実際に使用した前提条件は以下です。あなたはプロンプト解析の専門家です。 以下に与えられた「質問内容(プロンプト)」を分析し、次の3点を判定してください: 1. この質問は、何個の質問が含まれていますか?(1〜3の範囲で数字で出力してください) 2. 質問のタイプを分類してください(以下のいずれかで答えてください): - 定義(意味を聞いている) - 要約(長文の要約を求めている) - 比較(複数の項目を比較している) - 列挙(いくつかの要素を挙げている) - 判断(「どれが良いか」などを問う) - その他(分類できない場合は自由記述) 3. この質問は、どれくらいの広さの情報を必要としますか? - 狭い(単一の情報で済む) - 中(2〜3文書くらい) - 広い(複数の視点からの情報が必要) 最後に、上記の結果に基づいて、`top_n` の値として何件が適切かを整数(例: 5, 10, 15)で答えてください。 top_nの最低は5とします。
微調整中ではありますが、この処理を挟むことで不要に多くのテキストを抽出しないようになりました。
トークン数から金額を計算する
API連携ではトークン数を出力することが可能です。
これは、各API連携においてすべて準備されている機能です。先述したように100万トークン辺りの金額ですべて金額が設定されており、計算することが可能です。これを画面で表示することが可能となっており、社内のシステム管理者のみこれを参照することが可能としており、利用団体様がどの程度利用しているか、一目で把握できるようになっております。
金額を正確に把握し、適正な金額をサービスとして設定することで運用コストが高すぎるのか、安いのかを把握可能です。
是非、システム導入時にはこのような配慮にも気を配ってください。
まとめ
生成AIを用いたシステムは、API連携が必須といっても過言ではありません。
その中でシステムにおいてトークン数による利用コストは、切っても切り離せないものです。それを正確に把握し、運用コストとシステムの質を天秤にかけながら、システムをより使いやすいものにしていきましょう