[ChatStream] 同時リクエスト時の推論速度を手軽に計測する

[ChatStream] 同時リクエスト時の推論速度を手軽に計測する

こんにちは、Qualitegプロダクト開発部です。

今回は RakutenAI-7B-Chat に5人同時リクエストしたときのパフォーマンスをお手軽に計測してみました。

実験環境

  • GPU: A5000
  • LLM: RakutenAI-7B-Chat AWQ-8
  • 推論環境: ChatStream v0.7.2
  • 同時リクエスト数: 5

動画のほうがわかりやすいとおもいますので、実際の実験の様子はこちらの動画をつくりました。ご覧くださいませ

動画にもありますように、ChatStreamUIのマルチタスク機能を有効にすると、同一画面内に複数のチャットウィンドウを開くことができます。

マルチタスク機能は、複数のLLMを連携させて業務をすすめていく為の機能ですが、今回は、この特長を利用して、同じモデルに対して同時に生成リクエストを投げる用途で使ってみました。以前も、この機能をつかった簡易計測をご紹介したのですが、今回は、入力プロンプトの同期機能を使用したので、より簡単に実施できました。
(1つのテキストボックスに入力プロンプトを入力すると、他のテキストボックスも連動します)

さて、結果ですが、動画にあるとおり、5人同時リクエストで70 tokens/sec 程度の推論速度がでました。

ChatStreamUIの仕様上、ウィンドウが狭くなることを気にしなくてよいなら同時リクエスト数(concurrency)はいくらでも増やすことができるので、推論速度の負荷テストも簡単にできる、、、とよいのですが、実際にはブラウザには1つのオリジンに同時に張れるセッションの数が限られている為、20や30といった同時リクエストはブラウザの仕様的に不可能となります。

本番向けに同時20件、同時30件、同時100件といった負荷テストは行うときは、当社の開発するLLMサービス専用負荷テストツールLLMLoadもおすすめですので、そちらは別途記事にしたいとおもいます。

[参考]1リクエストの場合

1リクエストのみの場合の実験はこちらの動画にあります。

1人同時リクエストで推論速度は 75 tokens/s ということで、5人同時リクエストのときよりやや速かったですが、逆にいえば、5人同時リクエストていどでは、ほとんどスループットは落ちないということがわかりました。

Read more

人気ゲーム「ヒット&ブロー」で学ぶ情報理論

人気ゲーム「ヒット&ブロー」で学ぶ情報理論

こんにちは! Qualiteg研究部です! 今日はAIにおいても非常に重要な情報理論について、Nintendo Switchの人気ゲーム「世界のアソビ大全51」にも収録されている「ヒット&ブロー」というゲームを題材に解説いたします! はじめに 論理的思考力を鍛える定番パズルゲームとして長年親しまれている「ヒット&ブロー」(海外では「Mastermind」として知られています)。 このゲームは一見シンプルながらも、その攻略には深い論理的アプローチが必要とされております。 本稿では、このゲームについて情報理論という数学的概念を用いてゲームの素性を分析する方法について掘り下げてみたいとおもいます。 さらに、この情報理論が現代の人工知能(AI)技術においてどのように活用されているかについても触れていきます。 ヒット&ブローのルール説明 ヒット&ブローは、相手が秘密に設定した色や数字の組み合わせを推測するゲームです。日本では主に数字を使った「数当てゲーム」として親しまれていますが、本記事では色を使ったバージョン(マスターマインド)に焦点を当てます。 Nintendo Sw

By Qualiteg 研究部
Model Context Protocol(MCP)入門:いよいよセマンティックWebの世界へ

Model Context Protocol(MCP)入門:いよいよセマンティックWebの世界へ

こんにちは! きょうは話題のMCPについて解説いたします! はじめに 「AIが便利なのはわかるけど、自分のデータにアクセスさせたり、他のアプリと連携させたりするのは難しそう...」 このような悩みを持っている方は多いのではないでしょうか。 実際、従来のAIには大きな壁がありました。トレーニングデータの範囲でしか回答できない、リアルタイム情報にアクセスできない、外部アプリケーションを操作できないなどの制約です。 トレーニングデータの外側にあるデータをうまく検索する技術としてLLM黎明期からRAGとよばれる技術が発展してきました。 データ検索だけではなく、あらゆる分野でAIが半ば自動で連携してくれる技術が登場しました。 それが「Model Context Protocol(MCP)」です。 本記事では、AIと外部ツールの連携を革新的に簡単にするMCPについて、基本から実用まで詳しく解説します。 MCPの本質:AIのための標準インターフェース MCPは、AIモデルと外部ツール・アプリケーションの間の通信を標準化するプロトコルです。これはインターネットの世界でいえば、

By Qualiteg プロダクト開発部
GPUサーバーの最適容量計算: キューイング理論と実践的モデル

GPUサーバーの最適容量計算: キューイング理論と実践的モデル

最大ユーザーサポート数計算ツール 同時に1件のみ処理できるGPU変換サーバーの最大ユーザーサポート数を計算します 処理時間 (t_p) 分/件 1件の変換処理にかかる時間 目標システム利用率 (ρ) 0 〜 1 安定稼働のための目標稼働率(推奨: 0.7〜0.8) ピーク係数 (P_c) 倍 最も混雑する時間帯の平均アクセス倍率 稼働時間 (H) 時間/日 システムが1日に稼働している総時間 アクセス確率 (P_a) 0 〜 1 1人のユーザーが1日にシステムを利用する確率 1ユーザーあたりの変換回数 (F) 回/日 利用する日の平均変換処理回数 計算過程を表示 計算結果 サポート可能な総ユーザー数: 人 計算式: N = (ρ × μ × H) ÷ (P_a

By Qualiteg プロダクト開発部
PyTorch 2.6 のセキュリティ: モデルチェックポイントロードの安全対策

PyTorch 2.6 のセキュリティ: モデルチェックポイントロードの安全対策

こんにちは! 今日は、魅力的なPyTorchチェックポイントが配られているからと言って無邪気に使っちゃうと、超ヤバイよ、というお話になります。 みなさまモデルチェックポイントをロードする際のセキュリティリスクについて考えたことはありますでしょうか。実はモデルの重みファイルだとばかり思っていたチェックポイントが、思わぬセキュリティホールになる可能性があります。 本記事では、PyTorchのtorch.load関数の安全性と、モデルチェックポイントを適切に扱うための実践的なガイドラインを紹介します。 モデルチェックポイントの隠れた危険性 PyTorchのtorch.load関数は非常に便利な一方で、セキュリティ上の重大なリスクを含んでいます。 その理由は、 * チェックポイント単なるパラメータだけではないよ! チェックポイントファイルには、モデルの重み(weights)だけでなく、クラスや関数など任意のPythonコードを含めることが可能です。 * 実行可能なコードが入ってるよ! これは、チェックポイントが単なる「データファイル」ではなく、Pytho

By Qualiteg プロダクト開発部