Skip to main content
QUICK REVIEW

[論文レビュー] Efficient 8-Bit Quantization of Transformer Neural Machine Language Translation Model

Aishwarya Bhandare, Vamsi Sripathi|arXiv (Cornell University)|Jun 3, 2019
Topic Modeling参考文献 14被引用数 57
ひとこと要約

この論文は、INT8/VNNIを用いてIntel CPU上で訓練済みTransformer翻訳モデルを8ビット整数へ量子化し、0.5 BLEU未満の低下とFP32比で最大1.5xの純スピードアップを達成する。いくつかのグラフおよびパイプライン最適化を行う。

ABSTRACT

In this work, we quantize a trained Transformer machine language translation model leveraging INT8/VNNI instructions in the latest Intel$^\circledR$ Xeon$^\circledR$ Cascade Lake processors to improve inference performance while maintaining less than 0.5$\%$ drop in accuracy. To the best of our knowledge, this is the first attempt in the industry to quantize the Transformer model. This has high impact as it clearly demonstrates the various complexities of quantizing the language translation model. We present novel quantization techniques directly in TensorFlow to opportunistically replace 32-bit floating point (FP32) computations with 8-bit integers (INT8) and transform the FP32 computational graph. We also present a bin-packing parallel batching technique to maximize CPU utilization. Overall, our optimizations with INT8/VNNI deliver 1.5X improvement over the best FP32 performance. Furthermore, it reveals the opportunities and challenges to boost performance of quantized deep learning inference and establishes best practices to run inference with high efficiency on Intel CPUs.

研究の動機と目的

  • 訓練済みFP32 Transformer翻訳モデルをINT8へ量子化し、BLEU損失を最小限に抑えることを実証する。
  • INT8量子化がTransformer自己注意と非線形成分に与える影響を調査する。
  • 推論の精度を維持しつつ加速するよう、較正およびグラフ最適化技術を開発する。
  • 最適化されたMatMulカーネル、データフロー、並列バッチ処理によりIntel CPUで推論スループットを向上させる。

提案手法

  • FP32 MatMul操作をQuantizedMatMulに置換し、INT8/UINT8オペランドとINT32蓄積を用いる。
  • KLダイバージェンスを用いてFP32とINT8テンソル間の分布的乖離を最小化するように量子化閾値を較正する。
  • VNNI命令を活用して8ビットMatMulを加速するようIntel MKL/BLASカーネルを調整する。
  • 計算グラフを再配置・剪定して冗長な演算とオーバーヘッドを削減する(例: GatherNd, dequantization)。
  • トークン長で入力文をソートし推論時にCPU利用率を最大化する並列バッチ処理を適用する。

実験結果

リサーチクエスチョン

  • RQ1訓練済みTransformer翻訳モデルをINT8へ0.5BLEU未満の低下で量子化できるか?
  • RQ2どの較正戦略とテンソル分布がINT8量子化時の精度を最もよく保持するか?
  • RQ3グラフレベルおよびシステムレベルの最適化でINT8/VNNI推論のスループットが最も大きく向上するのはどれか?
  • RQ4MatMulと非線形成分(Softmax, LayerNorm)はTransformerモデルの量子化適性にどのように影響するか?
  • RQ5Intel CPU上でINT8/VNNI量子化推論はFP32と比べてどの程度のスピードアップが実現可能か?

主な発見

  • INT8/VNNI量子化はBLEU損失を0.5ポイント以下に抑えた。
  • MKL INT8/GEMMカーネルとVNNIはFP32に比べて顕著なスピードアップを達成—MatMulで最大3.7x、INT8MatMulでAVX512比で2.3x。
  • 対称閾値付けを用いたKL-differenceによる較正が、検証したモードの中で最も精度を保った(27.30–27.33 BLEUレンジ)。
  • GatherNdと演算の融合への最適化によりデータ移動と実行時間を削減し、スループ throughputが向上。
  • 入力をトークン数でソートし並列バッチ処理を適用することでCPU利用率を高め、最良のFP32設定に対し最大1.5xの全体スループット向上に寄与。
  • 総じて、提案手法は最良のFP32性能に対して量子化モデルの純スループットを1.5x向上させた。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。