成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

只需幾個小操作,就能讓transformer模型推理速度加3.5倍

開發 開發工具
果你花費時間進行研究,可以在 ONNX Runtime 和 Triton 推理服務器上構建一些更好的東西。與普通 PyTorch 相比,推理速度通常會快 2 到 4 倍。

你在用 PyTorch 寫 transformer 嗎?請關注下這個項目。

大多數關于在生產中部署 Transformer 類模型的教程都是基于 PyTorch 和 FastAPI 構建的。兩者都是很好的工具,但在推理方面的性能不是很好。

而如果你花費時間進行研究,可以在 ONNX Runtime 和 Triton 推理服務器上構建一些更好的東西。與普通 PyTorch 相比,推理速度通常會快 2 到 4 倍。

如果你想要在 GPU 上獲得一流的性能,那么只有一種可能的組合:Nvidia TensorRT 和 Triton。與普通 PyTorch 相比,最終可以獲得 5 倍的推理速度。有時它甚至能將推理速度提高 10 倍。

然而 TensorRT 并不是以簡單易用著稱的,對于 Transformer 模型更是如此,它需要使用特定的技巧。

[[443192]]

然后,如果你花一些時間,你可以在 ONNX Runtime 和 Triton 推理服務器上構建一些東西。與普通 Pytorch 相比,你的推理速度通常會快 2 到 4 倍。

近日,Hugging Face 發布了一款名為 Infinity 的商業產品,可以以非常高的性能進行推理(與 PyTorch + FastAPI 部署相比,速度非常快)。不幸的是,根據該公司產品總監的說法,即使對于部署在一臺機器上的單個模型,這也是一種付費產品,成本為 2 萬美元(沒有公開的具體規模信息)。

在 GitHub 上有一個項目 Transformer-deploy,它是一種基于企業級軟件的開源替代版:

  • 推理服務器:Nvidia Triton(它接受查詢,傳輸給引擎,并添加對推理有用的功能,如動態批處理或多推理引擎調度)
  • 推理引擎:Microsoft ONNX Runtime(用于 CPU 和 GPU 推理)和 Nvidia TensorRT(僅限 GPU)

我們似乎不費吹灰之力,就可以輕松匹敵極少數 HF Infinity 公共基準。

但事實上,現在仍然有機會進一步加快推理性能,AFAIK 尚未被任何其他 OSS 項目利用:對所有 Transformer 模型的 GPU 量化!

如下是對 Roberta-base、seq len 256、batch 32、MNLI 數據集的測試結果:

  • 源代碼:https://github.com/ELS-RD/transformer-deploy/blob/main/demo/quantization/quantization_end_to_end.ipynb
  • 項目 GitHub:https://github.com/ELS-RD/transformer-deploy

執行 GPU 量化需要修改模型源代碼(在矩陣乘法等代價高昂的操作上添加一些稱為 QDQ 的特定節點),這既容易出錯,又很枯燥,并且是件自己給自己挖坑的事。對此,項目作者已經為多個模型手動完成了這項工作。在作者看來,只需修補模型模塊抽象語法樹(也就是源代碼)就可以自動完成這項工作。

從用戶端看,在 GPU 上執行模型的基本量化看起來就像這樣:

如基準測試結果所示,要獲得比普通 PyTorch 快 4.5 倍的模型,在 MNLI 數據集上的準確率需要犧牲 0.4 個百分點,這在許多情況下是一個合理的權衡。如果不希望損失準確度,加速也可以降到 3.2 倍左右。當然,實際應用時的 trade-off 取決于模型、數據集等,但它給出了一個基本概念。與該項目的先前版本相比,這是一個很大的改進。

成倍加速的背后,transformer 的源代碼被解析為 AST,像 matmul 或 LayerNorm 這樣的算子被一個量化器包裝,線性層被它們的量化版本替換,一些不支持的 TensorRT 算子被替換等等。然后還有一部分新的源代碼替換。

作者表示,他們目前已經成功測試了 ALBERT、BERT(包括 miniLM)、DistilBERT、Roberta(包括 Camembert、XLM-R、DistilRoberta 等)、Electra 的推理。對于任何可以導出為 ONNX 格式的 transformer 模型,它應該都是開箱即用的,或者只需很少的努力。

關于 CPU 的推理、量化非常容易,且也是由 Transformer-deploy 項目支持的。但是在極端情況下,transformer 的性能會變得非常差(如沒有批處理、非常短的序列和蒸餾模型時)。另外如使用基于上代英特爾 CPU 的實例,如 C6 或 M6,與像 Nvidia T4 這樣的廉價 GPU 相比,在 AWS 上的性價比會很低。

綜上所述,在 Transformer 推理上,除非你對慢速推理感到滿意并采用小實例,否則并不推薦使用 CPU 推理。

參考鏈接:https://www.reddit.com/r/MachineLearning/comments/rr17f9/p_45_times_faster_hugging_face_transformer/

【本文是51CTO專欄機構“機器之心”的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】  

戳這里,看該作者更多好文 

 

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2022-12-05 10:01:41

代碼模型

2020-01-18 18:30:16

輸入法WordWindows 10

2021-08-10 15:37:45

AI 數據機器學習

2023-01-08 13:22:03

模型

2025-06-11 14:39:50

AILLMMistral

2023-07-18 14:19:00

模型AI

2024-07-19 09:59:31

2021-09-30 11:27:58

模型人工智能神經網絡

2021-12-31 13:56:42

Transformer數據人工智能

2023-05-30 14:17:00

模型推理

2023-02-16 13:48:56

模型論文

2023-11-30 18:25:57

數據訓練

2024-01-24 13:11:00

AI模型

2024-07-08 13:04:01

2021-03-18 15:29:10

人工智能機器學習技術

2024-06-17 13:34:54

2023-12-05 13:25:00

數據訓練

2025-04-21 09:07:00

2023-12-03 08:49:38

微軟開源

2023-03-22 13:53:26

芯片英偉達
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av免费电影在线 | 欧美a∨| www.久久.com | 羞羞网站免费观看 | 伊人在线 | 精品一区二区三 | 国产成人99久久亚洲综合精品 | 亚洲精品日韩欧美 | 黄色网毛片 | 国产精品久久久久久婷婷天堂 | av一级久久| 日韩在线观看中文字幕 | 日韩国产中文字幕 | 99久久精品国产一区二区三区 | 韩日一区二区三区 | 91亚洲国产亚洲国产 | 亚洲美女网站 | 久久免费观看一级毛片 | re久久| 91天堂| 五月婷婷激情网 | 久久1区| 天天草草草 | 综合精品久久久 | 美女久久 | 久久国产精品一区二区 | 久久国产精品免费视频 | 99re视频精品 | 欧美中文字幕在线观看 | 国产 欧美 日韩 一区 | 黄色日本视频 | 国产精品国产三级国产aⅴ入口 | 国产欧美日韩精品在线观看 | 欧美成人在线免费 | 亚洲色图综合 | 日韩激情免费 | 欧美一a | 性高朝久久久久久久3小时 av一区二区三区四区 | 亚洲激情综合 | 午夜电影网站 | 国产福利91精品一区二区三区 |