官术网_书友最值得收藏!

1.2.2 更快、更優、更具編譯支持——PyTorch 2.0更好的未來

PyTorch 2.0的誕生使得PyTorch的性能進一步提升,并開始將PyTorch的部分內容從C++陣營拉到Python陣營中。而其中最為人津津樂道的新技術包括TorchDynamo、AOTAutograd、PrimTorch以及TorchInductor。

1.TorchDynamo

TorchDynamo可以借助Python Frame Evaluation Hooks(Python框架評估鉤子),安全地獲取PyTorch程序,這項重大創新是PyTorch過去5年來在安全圖結構捕獲(Safe Graph Capture)方面研發成果的匯總。

2.AOTAutograd

AOTAutograd重載PyTorch Autograd Engine(PyTorch自動微分引擎),作為一個Tracing Autodiff,用于生成超前的Backward Trace(后向追溯)。

3.PrimTorch

PrimTorch將2000多個PyTorch算子歸納為約250個Primitive Operator閉集(Closed Set),開發者可以針對這些算子構建一個完整的PyTorch后端。PrimTorch大大簡化了編寫PyTorch功能或后端的流程。

4.TorchInductor

TorchInductor是一個深度學習編譯器,可以為多個加速器和后端生成快速代碼。對于NVIDIA GPU,它使用OpenAI Triton作為關鍵構建模塊。

TorchDynamo、AOTAutograd、PrimTorch和TorchInductor是用Python編寫的,并且支持Dynamic Shape(無須重新編譯就能發送不同大小的向量),這使得它們靈活且易學,降低了開發者和供應商的準入門檻。

除此之外,PyTorch 2.0官宣了一個重要特性——torch.compile,這一特性將PyTorch的性能推向了新的高度,并將PyTorch的部分內容從C++移回Python。torch.compile是一個完全附加的(可選的)特性,因此PyTorch 2.0是100%向后兼容的。

當然,PyTorch 2.0目前只推出了改革的第一個版本,隨著后續PyTorch社區以及維護團隊的修正和更新,PyTorch一定會迎來更好的未來。

主站蜘蛛池模板: 衢州市| 万荣县| 谷城县| 平江县| 枣强县| 阳山县| 新平| 霸州市| 三亚市| 宝应县| 花垣县| 松滋市| 邻水| 江油市| 汤原县| 南江县| 道真| 陇西县| 资源县| 抚宁县| 湖口县| 顺义区| 乃东县| 西林县| 铜鼓县| 兴国县| 辰溪县| 台南县| 临城县| 合水县| 鸡西市| 常熟市| 石棉县| 资阳市| 南宫市| 屏东市| 肇源县| 秭归县| 临朐县| 凉山| 鹤岗市|