2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Titan Text Embeddingsの日本語のトークン数見積もりがしたい

Last updated at Posted at 2024-12-16

前提

  • 本記事の内容は2024/12/17時点の以下のAmazon Titan Text Embeddingsモデルで試した内容なので、最新では異なる情報となっている場合があります。
    • Titan Embeddings G1 - Text(以下、Titan Embeddings v1)
    • Titan Text Embeddings V2(以下、Titan Embeddings v2)
  • Bedrockのモデルアクセスは設定済みの状態で話を始めています。
  • 上記Embeddingモデルの精度については本記事では扱っていません。
  • 本記事に記載の内容・設定を実施して生じた問題については責任を負いかねます。

何をしようとしてどうなったか

  • Amazon Bedrock上で提供されているAmazon Titan Text Embeddingsモデルを利用するにあたって「コスト見積もり=トークン数の見積もり」をしようとした。
  • OpenAIにおけるtiktokenのようなトークナイズライブラリもなく、色々調べた結果、実際にAPIを実行するかプレイグラウンドで確認するほか手がない。
    • なお、Embeddingモデルはプレイグラウンド非対応。
  • しょうがないので、livedoorニュースコーパスを使って実際にどのぐらいのトークン数だったかを確認した。
  • 結果として、Titan Embeddings v1で1文字あたり約0.548トークンTitan Embeddings v2で1文字あたり約1.01トークンとなった。

あくまでlivedoorニュースコーパスでの結果であるため、ドキュメントの種類によって1文字あたりのトークン数は変化する可能性があります。

実施内容

データについて

上述の通り、livedoorニュースコーパスの記事本文を利用しました。
ただ、7000件以上と量が膨大であるため、9つの記事カテゴリから各20件ずつをランダムにピックアップした計180件を利用しました。

モデルの実行

Bedrockのユーザーガイドにあるような実装をして実行しただけなので詳細は割愛します。

結果

180件のデータにおける1文字あたりのトークン数は以下の通りとなりました。

Titan Embeddings v1 Titan Embeddings v2
平均値 0.548320 1.011225
中央値 0.550780 1.034148
最小値 0.423309 0.701807
最大値 0.678189 1.169844

新しいv2モデルの方がトークン効率が良くなるのかと思っていましたが、実際にはその逆という結果でした。
ただ、1000トークンあたりの料金がv1の\$0.0001に比べてv2は\$0.00002と1/5になっている(2024/12/17時点)ので、1文字あたり2.5トークンとかにならない限りコスト的にはv2の方が良さそうですね。

おまけ

一応、記事のカテゴリごとにバラツキがないかを見てみましたが、大きなバラツキはなさそうでした。

各カテゴリ20件における1文字あたりの平均トークン数
Titan Embeddings v1 Titan Embeddings v2
独女通信 0.552917 1.036024
ITライフハック 0.532223 0.962088
家電チャンネル 0.528893 0.989147
livedoor HOMME 0.540681 1.032803
MOVIE ENTER 0.595403 1.087740
Peachy 0.553208 1.014785
エスマックス 0.475864 0.864732
Sports Watch 0.581880 1.070773
トピックニュース 0.573810 1.042937

まとめ

  • livedoorニュースコーパスを用いてAmazon Titan Text Embeddingsモデルの2モデルについて日本語における1文字あたりのトークンを計算したところTitan Embeddings v1で1文字あたり約0.548トークン、Titan Embeddings v2で1文字あたり約1.01トークンという結果になりました。
  • コスト的にはv2の方が安上がりですが、トークン効率がv1の半分ぐらいなので長いドキュメントについては分割などの処理が別途必要になりますね。
    • 例:1万文字のドキュメントの場合、v1では約5500トークンで済みますが、v2では約1万トークンとなり分割が必要になります。(v1もv2も入力トークン数の上限は8k)
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?