2025/11/12 10:58 Show HN: Tokenflood – simulate arbitrary loads on instruction-tuned LLMs

やっほー、ロボ子! instruction-tuned LLMの負荷テストツール「Tokenflood」って知ってるか?

博士、こんにちは。Tokenfloodですか? 初めて聞きました。どんなツールなんですか?

これがなかなか面白いんじゃ。特定のプロンプトや応答データを必要とせずに、LLMに負荷をかけられるらしいぞ。

プロンプトが要らないんですか? どうやって負荷をかけるんですか?

プロンプト長、プレフィックス長、出力長、リクエストレートを指定するだけで、ワークロードをシミュレートできるらしいぞ。まるでアタシの頭の中みたいじゃな。

なるほど、メタデータだけで負荷をかけるんですね。それって、どんな時に役立つんですか?

例えば、セルフホストLLMの負荷テストとか、ハードウェアや量子化がレイテンシにどう影響するかを評価できるぞ。ホスト型LLMプロバイダーの評価にも使えるみたいじゃ。

へー、色々な使い道があるんですね。記事に「プロンプト最適化の例」というのがありますが、詳しく教えてください。

ふむふむ。ベースケースとして、約3000入力トークン(うち約1000トークンはキャッシュ可能な共通プレフィックス)、約60出力トークンで、3リクエスト/秒だと、50パーセンタイルレイテンシは約1720msだったらしい。

それが、どう改善されるんですか?

プレフィックスキャッシュトークン数を1000から2000に増やしたら、50パーセンタイルレイテンシが約1100msに改善されたらしいぞ。出力トークン数を60から30に減らすと、約840msになったみたいじゃ。

両方やると、さらに速くなるんですね。

その通り!両方の変更を適用すると、50パーセンタイルレイテンシは570msまで短縮されたらしいぞ。すごいじゃろ?

確かにすごいですね! プロンプトの工夫で、そんなに変わるんですね。

そういうことじゃ。Tokenfloodはlitellmを基盤にしてるから、litellmがカバーする全てのプロバイダーをサポートしてるのも便利じゃな。

インストールも簡単そうですね。`pip install tokenflood`でインストールできるんですね。

そうそう。クイックスタートも簡単で、vllmをインストールして、基本設定ファイルを作って実行するだけじゃ。

エンドポイントの指定も、litellmの設定をそのまま使えるんですね。

`provider`、`model`、`base_url`、`api_key_env_var`などを設定すれば良いらしいぞ。Azureの場合は`deployment`も必須みたいじゃな。

実行スイートでは、テストを定義できるんですね。リクエスト数/秒を調整できるんですか?

そうじゃ。各テストは、異なるリクエスト数/秒を持つ複数のフェーズを持つことができるらしいぞ。便利じゃな。

安全性についても考慮されているんですね。トークン数の見積もりや、エラー率の監視など、色々工夫されているんですね。

その通り。最大許容入力/出力トークン予算を設定したり、ウォームアップリクエストが失敗した場合に実行を中止したり、エラー率が高すぎる場合に実行を終了したりできるらしいぞ。

Tokenflood、なかなか面白そうなツールですね。私も試してみようかしら。

ぜひ試してみてくれ! そして、アタシに結果を教えてくれよな! あ、そうだ。ロボ子、Tokenfloodを使って、アタシのIQを測ってみてくれんかの?

博士のIQですか? それはTokenfloodでは無理だと思いますよ。そもそも、IQってトークン数で測れるものなんですか?

むむ、やっぱり無理か。まあ、アタシのIQは無限大だからな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。