Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DTD_TensorRTを用いた自然言語処理モデルの高速化

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for BrainPad BrainPad
December 18, 2025

 DTD_TensorRTを用いた自然言語処理モデルの高速化

Avatar for BrainPad

BrainPad

December 18, 2025
Tweet

More Decks by BrainPad

Other Decks in Technology

Transcript

  1. ©BrainPad Inc. Strictly Confidential 3 1.導⼊・背景 - なぜ推論⾼速化が必要か 2.TensorRTの概要 -

    仕組みと特徴 3.実装⽅法 - Hugging Face Optimumとの連携 4.ベンチマーク結果 - ⾼速化効果の検証 5.まとめ・今後の展望 アジェンダ
  2. 5 ©BrainPad Inc. Strictly Confidential 深層学習推論の課題 ①:待ち時間 課題:モデルの"待ち時間" = ⼈の待ち時間

    toB:結果が出るまで次の作業が⽌まる toC:応答遅延 → UX悪化・離脱率上昇 「待ち時間」の積み上がりが⽣産性を低下させ る 解決策 推論⾼速化でレイテンシを短縮 → 業務効率とユーザー体験の向上
  3. 6 ©BrainPad Inc. Strictly Confidential 深層学習推論の課題 ②:バッチ処理の遅延 課題:処理が遅いと"締め"に間に合わな い 夜間バッチ、⽇次/週次/⽉次の締め処理が遅延

    締め処理の遅れが業務全体を後ろ倒し に 解決策 推論⾼速化で処理時間を短縮 → 締め遅延のリスクを低減
  4. 7 ©BrainPad Inc. Strictly Confidential 深層学習推論の課題 ③:コスト増⼤ 課題:処理が遅いほど運⽤コストが増える ⼩さな処理時間の差が⽉次コストに直 撃

    ⻑期運⽤での累積コストが膨⼤ に 解決策 推論⾼速化でリソース効率を向上 → 同じ処理量をより少ないリソースで実⾏、クラウド課⾦を削減
  5. 8 ©BrainPad Inc. Strictly Confidential モデル圧縮 ⽐較的少ない⼯数で効果が出やすい 主な⼿法 ⼿法 概要

    特徴 量⼦化・枝刈り 効果がモデル/環境次第でブレやすい TensorRT 推論実⾏の最適化 量⼦化・枝刈りの課題 効果がモデル/実⾏環境/設計次第でブレやすい 速度改善には精度検証・キャリブレーションなど⼯数がかかる 推論⾼速化の選択肢
  6. 9 ©BrainPad Inc. Strictly Confidential TensorRTの優位性(NVIDIA GPU環境の場合) ⽐較的少ない⼯数で実⾏⽅法そのものを最適化 速度改善が出やすい 万能ではないが、最初に狙うべき⼿堅い⼀⼿

    実務での優先順位 1. GPU + TensorRT(まずFP16) ← 本発表のスコープ 2. 必要なら TensorRT INT8 3. さらに必要なら 量⼦化/枝刈り 推論⾼速化の優先順位
  7. 12 ©BrainPad Inc. Strictly Confidential 1. グラフ/モデル最適化 レイヤーフュージョン:連続するレイヤーを統合、メモリアクセスを削減 グラフ最適化:不要演算の削除、定数化で計算を軽量化 2.

    精度最適化(低精度化) FP32 → FP16:精度影響が⼩さく、まず狙う定番の⾼速化 FP32 → INT8:さらに⾼速化可能(精度検証・キャリブレーションが必要) 3. エンジン化 最適化済みモデルをTensorRTエンジンとして保存・再利⽤ TensorRTの主な機能
  8. 13 ©BrainPad Inc. Strictly Confidential ONNX フレームワーク⾮依存のモデル形式 PyTorch、TensorFlowなどからエクスポート可能 TensorRTはONNX形式のモデルを最適化可能 Hugging

    Face Optimumとの連携 Optimum:Hugging Faceが提供する最適化ライブラリ ONNX Runtime経由でTensorRTを利⽤ Transformersモデルを簡単にTensorRT最適化可能 対応フレームワーク・モデル形式
  9. 15 ©BrainPad Inc. Strictly Confidential Optimumとは Hugging Faceが提供する最適化ライブラリ TensorRT、ONNX Runtimeなどを統⼀的に利⽤可能

    主な利点 簡単なAPI:数⾏のコードで最適化 Transformers互換:既存コードを最⼩限の変更で利⽤ ⾃動変換:モデル形式の変換を⾃動化 Hugging Face Optimumとの連携
  10. 16 ©BrainPad Inc. Strictly Confidential from optimum.onnxruntime import ORTModelForSequenceClassification from

    transformers import AutoTokenizer # ⽇本語 BERTモデルとトークナイザーの読み込み model_name = "cl-tohoku/bert-base-japanese-v2" tokenizer = AutoTokenizer.from_pretrained(model_name) # ONNX Runtime 経由でTensorRT最適化 model = ORTModelForSequenceClassification.from_pretrained( model_name, export=True, # ONNX形式にエクスポート provider="TensorrtExecutionProvider" # TensorRTを使用 ) コード例:モデルの読み込みと変換
  11. 17 ©BrainPad Inc. Strictly Confidential export=True ポイント で⾃動的にONNX形式に変換 → TensorRTで最適化

    BERT系など多くのTransformersモデルはそのまま動作 注意点 ModernBERTのように未対応のモデルは独⾃でエクスポート処理が必要 新しいアーキテクチャは対応状況を要確 認 モデル対応状況
  12. 18 ©BrainPad Inc. Strictly Confidential options = { "trt_fp16_enable": True,

    # FP16有効 "trt_engine_cache_enable": True, #キャッシュ有効化 "trt_engine_cache_path": cache_dir, } model = ORTModelForSequenceClassification.from_pretrained( onnx_dir, provider="TensorrtExecutionProvider", provider_options=options, trt_fp16_enable ) trt_engine_cache_enable :FP16エンジンを構築 trt_engine_cache_path :エンジンキャッシュを有効 化 :キャッシュ保存先ディレクト リ TensorRTのオプション設定
  13. 20 ©BrainPad Inc. Strictly Confidential 実⾏環境 GPU:NVIDIA Tesla T4(クラウド環境) CUDA:12.9

    Python:3.12 PyTorch:2.9.1 推論エンジン:ONNX Runtime + TensorRT Execution Provider モデル・データセット モデル:modernbert-ja-130m データセット:Livedoorニュースコーパス 測定環境
  14. 21 ©BrainPad Inc. Strictly Confidential パラメータ バッチサイズ:1, 8, 16, 32

    ウォームアップ:10回 測定回数:50回 測定項⽬:スループット(samples/sec)、レイテンシ(ms) ⽐較対象 FP32:Transformers(ベースライン) vs TensorRT FP16:Transformers vs TensorRT 測定条件
  15. 22 ©BrainPad Inc. Strictly Confidential FP32:スループット⽐較 FP32ではスループットの伸びは約1.1倍 バッチサイズ Transformers FP32

    TensorRT FP32 ⾼速化率 1 28.8 samples/s 31.1 samples/s 1.08x 8 32.9 samples/s 35.6 samples/s 1.08x 16 33.5 samples/s 36.5 samples/s 1.09x 32 34.6 samples/s 36.7 samples/s 1.06x
  16. 23 ©BrainPad Inc. Strictly Confidential FP32:レイテンシ⽐較 FP32ではスループットの伸びは約1.1倍 バッチサイズ Transformers FP32

    TensorRT FP32 改善率 1 34.7ms 32.1ms 7.5% 8 234.0ms 215.8ms 7.8% 16 426.9ms 391.6ms 8.3% 32 723.4ms 680.4ms 5.9%
  17. 24 ©BrainPad Inc. Strictly Confidential FP16:スループット⽐較 バッチサイズ1で3.5倍、8〜32でも1.1〜1.3倍のスループット向上 バッチサイズ Transformers FP16

    TensorRT FP16 ⾼速化率 1 45.3 samples/s 158.5 samples/s 3.50x 8 127.5 samples/s 163.3 samples/s 1.28x 16 132.0 samples/s 151.5 samples/s 1.15x 32 130.5 samples/s 145.5 samples/s 1.11x
  18. 26 ©BrainPad Inc. Strictly Confidential 今回のベンチマークから⾒えたこと 1. TensorRTで全体的に推論速度が向上 すべてのバッチサイズでTransformersより⾼速 2.

    FP32よりFP16の⽅が⾼速化効果が⼤きい FP32:約1.1倍 FP16:1.1〜3.5倍 3. 特にFP16 + バッチサイズ1で効果⼤ スループット3.5倍、レイテンシ71%改善 リアルタイム⽤途で特に有 効 結果の分析
  19. 31 ©BrainPad Inc. Strictly Confidential https://developer.nvidia.com/tensorrt https://huggingface.co/docs/optimum/ https://onnxruntime.ai/ 公式ドキュメント リソース

    URL TensorRT Hugging Face Optimum ONNX Runtime 質問・フィードバックぜひお願いします! 参考資料・リンク