日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

什么是Deepytorch Inference(推理加速)

Deepytorch Inference是阿里云自研的AI推理加速器,專注于為Torch模型提供高性能的推理加速。通過對模型的計(jì)算圖進(jìn)行切割、執(zhí)行層融合以及高性能OP的實(shí)現(xiàn),大幅度提升PyTorch的推理性能。本文介紹Deepytorch Inference在推理加速方面的概念、優(yōu)勢及模型支持情況。

Deepytorch Inference介紹

Deepytorch Inference作為阿里云自研的AI加速器,提供了推理加速能力。針對PyTorch框架下的深度學(xué)習(xí)模型,在無需指定精度和輸入尺寸的情況下,通過即時編譯技術(shù)對該模型進(jìn)行推理優(yōu)化,從而實(shí)現(xiàn)高效、快速的推理加速效果。

Deepytorch Inference的架構(gòu)圖如下所示:

image

架構(gòu)層

說明

框架層

  • Pytorch Framework:即PyTorch框架組件,用于接入客戶的模型。

  • Pytorch Custom Ops:其他第三方PyTorch算子,該算子不會被優(yōu)化,而是保留在框架層中。

Deepytorch Inference推理加速

Deepytorch Inference組件

  • Torchscript Graph Optimization PipeLines:Torchscript上的圖形優(yōu)化工具以及算子融合技術(shù)。

  • Environment Manager:用于控制Deepytorch Inference的執(zhí)行功能和優(yōu)化等級。

  • Deepytorch Engine:核心執(zhí)行Engine。包括一些關(guān)鍵組件,例如Build Helper Ops、Operation Parser、Shape Tracker、Accuracy Checker以及Engine Rebuilder等。

算子層

  • High Perference Kernel Libs: 高性能算子庫,用于提供高性能功能。

  • Custom Plugins:其他功能性的算子實(shí)現(xiàn)。

產(chǎn)品優(yōu)勢

  • 推理性能顯著提升

    Deepytorch Inference通過編譯加速的方式減少模型推理的延遲,從而提高模型的實(shí)時性和響應(yīng)速度。能顯著提升模型的推理加速性能。

    例如,不同模型下的推理性能對比如下:

    說明

    下列數(shù)據(jù)以A10單卡機(jī)器下的推理性能數(shù)據(jù)為例,相比模型默認(rèn)的原配置推理功能,使用Deepytorch Inference進(jìn)行模型推理優(yōu)化,其推理性能顯著提升。

    model

    input-size

    deepytorch inference (ms)

    pytorch float (ms)

    Inference speed increase

    source

    Resnet50

    1 x 3 x 224 x 224

    0.47

    2.92

    84%

    torchvision

    Mobilenet-v2-100

    1 x 3 x 224 x 224

    0.24

    2.01

    88%

    torchvision

    SRGAN-X4

    1 x 3 x 272 x 480

    23.07

    132.00

    83%

    SRGAN

    YOLO-V3

    1 x 3 x 640 x 640

    3.87

    15.70

    75%

    yolov3

    Bert-base-uncased

    1 x 128, 1 x 128

    0.94

    3.76

    75%

    transformers

    Bert-large-uncased

    1 x 128, 1 x 128

    1.33

    7.11

    81%

    transformers

    GPT2

    1 x 128

    1.49

    3.82

    71%

    transformers

  • 易用性好

    Deepytorch Inference無需您指定精度和輸入尺寸,通過即時編譯的方式,提供較好的易用性,代碼侵入量較少,從而降低代碼復(fù)雜度和維護(hù)成本。

模型支持情況

目前支持在部分模型上進(jìn)行Deepytorch Inference(推理加速)優(yōu)化,模型支持情況如下:

支持推理加速的模型

場景

支持的模型名稱

視覺場景

  • alexnet

  • dcgan

  • mnasnet1_0

  • mobilenet_v2

  • mobilenet_v3_large

  • pytorch_stargan

  • resnet18

  • resnet50

  • resnext50_32x4d

  • shufflenet_v2_x1_0

  • squeezenet1_1

  • timm_efficientnet

  • timm_nfnet

  • timm_regnet

  • timm_resnest

  • timm_vision_transformer

  • timm_vovnet

  • vgg16

  • SRGAN-X4

  • YOLO-V3

NLP場景

  • BERT_pytorch

  • attention_is_all_you_need_pytorch

  • GPT2

  • bert-base-uncased

  • bert-large-uncased

不支持推理加速的模型

  • 由于Weight demodulation會根據(jù)輸入動態(tài)生成weight,因此不支持例如StyleGan2模型中的Weight demodulation操作。

  • 不支持存在動態(tài)設(shè)置屬性(Attribute)的模型。例如torchvision.models.detection中的fasterrcnn_resnet50_fpn模型,此類模型在執(zhí)行torch.jit.freeze時會出現(xiàn)錯誤。

  • 不支持例如demucs模型中的conv1d算子。

相關(guān)文檔

  • 相比模型默認(rèn)的推理配置,使用Deepytorch Inference工具對模型進(jìn)行推理優(yōu)化,能夠顯著提升推理性能。具體操作,請參見安裝和使用Deepytorch Inference

  • 使用Deepytorch Traning工具對模型進(jìn)行訓(xùn)練優(yōu)化,可實(shí)現(xiàn)端到端訓(xùn)練性能的顯著提升,使AI研發(fā)人員可以輕松集成并享受訓(xùn)練加速效果。更多信息,請參見什么是Deepytorch Training安裝和使用Deepytorch Training