FP8やFP4のネイティブサポートと vLLM をつかった "fp8" 量子化

FP8やFP4のネイティブサポートと vLLM をつかった "fp8" 量子化

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

最新モデルがリリースされたとき、推論速度を速くするために、いろいろな手法で量子化したり、複数の推論エンジンを使い分けたりしながら、正解をさがしにいくことが多いのですが、今回はそんな中で以下のような事象が発生いたしました。

当社もありとあらゆるGPUを取り揃えているわけではないので、あー、そういうことかぁ、と思ったので、本ブログにいたしました。

発生したエラー

vLLM 0.5.1 であるLLMをロードしようとしたときに発生したときに、以下のようなエラーが発生しました

ValueError: The quantization method fp8 is not supported for the current GPU. Minimum capability: 89. Current capability: 86 

原因は FP8 に対応していないGPU世代

GPUは NVIDIA RTX-A6000 で、以下のように OpenAI 互換サーバーで "fp8" 量子化を指定して起動しようとすると発生します。

python3 -m vllm.entrypoints.openai.api_server --model cyberagent/calm3-22b-chat --max-num-seqs 12 --quantization fp8 --chat-template="~/jinja/calm3_22b_chat.jinja"

原因は、RTX A6000 が FP8 を ネイティブでサポートしていない ため、でした。

つまり、この vLLM の FP8 量子化オプションはハードウェアが FP8演算に対応していたときのみ機能します。

(ちなみに、対応していないときは fp8_merlin という逃げ道もありますが、話がややこしくなるので別稿にて扱いたいと思います)

つまり、今回使用した GPU A6000 の capability levelは 86 (capability一覧)なので、FP8 量子化には対応していなかった、というオチとなります。

FP8 演算精度にネイティブに対応しているGPUたち

FP8(8ビット浮動小数点演算)は Hopper から加わった演算精度ですので、以下のようなGPUから使用することが可能です。

FP4 演算精度にネイティブに対応すると

さらに Capability 100 の Blackwell からは FP4 のネイティブサポートがありますので、おそらく vLLM も ネイティブ FP4 をサポートしてくるのではないでしょうか。

そうなると、そうした最新GPUの場合AWQやGPTQといった従来の専用のハードウェアアクセラレーションを前提としない「古典的」量子化手法とはまた別の「ネイティブ」量子化がでてくるため、どのくらいの差なのか、非常に興味深いところですね!

Read more

Pythonの落とし穴:__len__メソッドを実装したらオブジェクトの真偽値判定が変わってしまった話

Pythonの落とし穴:__len__メソッドを実装したらオブジェクトの真偽値判定が変わってしまった話

こんにちは! Pythonでカスタムクラスを作成していて、 「オブジェクトは存在するのにif文でFalseと判定される」 という不可解な現象に遭遇したことはありませんか? この記事では、__len__メソッドを実装することで生じる、予期しない真偽値判定の挙動について解説いたします! 実際に遭遇したバグ ユーザーの投稿を管理するクラスを実装していたときのことです class PostManager: """ブログ投稿を管理するクラス""" def __init__(self, user_id): self.user_id = user_id self._posts = [] self._cache = {} def __len__(self): """投稿数を返す""" return len(self._posts) def add_post(

By Qualiteg プロダクト開発部
CEATEC 2025に出展します!フォトリアルAIアバター「MotionVox🄬」の最新版を実体験いただけます

CEATEC 2025に出展します!フォトリアルAIアバター「MotionVox🄬」の最新版を実体験いただけます

株式会社Qualitegは、2025年10月14日(火)~17日(金)に幕張メッセで開催される「CEATEC 2025」に出展いたします。今回の出展では、当社が開発したフォトリアリスティックAIアバター技術「MotionVox🄬」をはじめ、最新のAI技術とビジネスイノベーションソリューションをご紹介いたします。 出展概要 * 会期:2025年10月14日(火)~10月17日(金) * 会場:幕張メッセ * 出展エリア:ネクストジェネレーションパーク * ブース番号:ホール6 6H207 * CEATEC内特設サイト:https://www.ceatec.com/nj/exhibitor_detail_ja?id=1915 見どころ:最先端AI技術を体感できる特別展示 1. フォトリアルAIアバター「MotionVox🄬」 テキスト入力だけで、まるで本物の人間のような動画を生成できる革新的なAIアバターシステムです。 MotionVox🄬は自社開発している「Expression Aware🄬」技術により日本人の演者データを基に開発された、

By Qualiteg ニュース
その処理、GPUじゃなくて勝手にCPUで実行されてるかも  ~ONNX RuntimeのcuDNN 警告と対策~

その処理、GPUじゃなくて勝手にCPUで実行されてるかも ~ONNX RuntimeのcuDNN 警告と対策~

こんにちは! 本日は、ONNX RuntimeでGPU推論時の「libcudnn.so.9: cannot open shared object file」エラーの解決方法についての内容となります。 ONNX Runtimeを使用してGPU推論を行う際、CUDAプロバイダの初期化エラーに遭遇することがありますので、このエラーの原因と解決方法を解説いたします。 エラーメッセージの詳細 [E:onnxruntime:Default, provider_bridge_ort.cc:2195 TryGetProviderInfo_CUDA] /onnxruntime_src/onnxruntime/core/session/provider_bridge_ort.cc:1778 onnxruntime::Provider& onnxruntime::ProviderLibrary::Get() [ONNXRuntimeError] : 1 : FAIL : Failed to load

By Qualiteg プロダクト開発部
大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第3回 クライアントとサーバーのドメイン参加

大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第3回 クライアントとサーバーのドメイン参加

こんにちは、今回はシリーズ第3回クライアントとサーバーのドメイン参加について解説いたします! はじめに こんにちは!シリーズ第3回「クライアントとサーバーのドメイン参加」へようこそ。 前回(第2回)では、Active Directoryドメイン環境の構築手順について、ドメインコントローラーのセットアップからDNS設定まで詳しく解説しました。ドメイン環境の「土台」が整ったところで、今回はいよいよ実際にコンピューターをドメインに参加させる手順に進みます。 「ドメインユーザーアカウントを作ったのに、なぜかログインできない」「新しいPCを追加したけど、ドメイン認証が使えない」といった経験はありませんか?実は、Active Directoryの世界では、ユーザーアカウントを作成しただけでは不十分で、そのユーザーが使用するコンピューター自体もドメインに「参加」させる必要があるのです。 本記事では、このドメイン参加について、単なる手順の説明にとどまらず、「なぜドメイン参加が必要なのか」「裏側で何が起きているのか」という本質的な仕組みまで、初心者の方にも分かりやすく解説していきます。Win

By Qualiteg コンサルティング