當下人工智能技術(shù)正加速發(fā)展,滲透到云、邊、端和應用的各個層面,與海量IoT設(shè)備進行深度融合,不斷拓展應用場景。然而在AIoT場景中,嵌入式設(shè)備往往算力有限,難以承載龐大的AI模型。如何在資源有限的終端場景實現(xiàn) AI 模型的有效部署,是加速AI落地的重要問題。AI 工程師們研發(fā)了各種試圖縮小模型大小并保持性能的辦法,例如量化和蒸餾。其中,模型量化是將浮點計算轉(zhuǎn)成低比特定點計算的一種模型壓縮技術(shù),可以有效減少模型算力消耗并提升計算速度,當前已經(jīng)在工業(yè)界發(fā)展比較成熟。
目前相對成熟的模型量化方案是 INT8量化。以ResNet-50模型為例,原本需要用 float32表示的權(quán)重,量化后只需要使用 INT8表示,通過這樣的處理,模型體積可以減少到原來的1/2,再加上 TensorCore 的加持,還會有近8倍的網(wǎng)絡(luò)加速。而如果更進一步,將模型用INT4表示,可以帶來更多的速度提升。
為了推動低比特量化技術(shù)的發(fā)展,曠視天元MegEngine 團隊開源了 INT4的源碼實現(xiàn),這也讓MegEngine成為頭個開源 CUDA INT4源碼實現(xiàn)的深度學習框架。MegEngine采用均勻線性量化方案,實現(xiàn)了非對稱量化和對稱量化兩種INT4的數(shù)據(jù)類型,同時通過算子融合優(yōu)化、kernel優(yōu)化等方法,使得量化后的模型可以依然保持較高的精度以及良好的運行速度。同樣以ResNet-50為例,INT4相比 INT8有1.3倍的加速。
具體代碼實現(xiàn)可以查看文末“閱讀原文”
隨著 CUDA INT4的開源,目前MegEngine 框架不僅支持浮點數(shù) FP32和 FP16,而且支持 INT8和 INT4的對稱和非對稱量化推理。此外,MegEngine框架開發(fā)了諸多工具,幫助用戶提升模型推理性能、簡化部署流程,包括自動代碼裁剪功能,支持用戶全自動的針對算子進行代碼裁剪;TracedModule 方案以及 MegEngine Lite,基于曠視海量業(yè)務(wù)打磨出的模型推理理想實踐,化解模型轉(zhuǎn)換部署難題;流程管理工具FastRun, 可以為每個計算自動選擇最快的算法,從而保證整個網(wǎng)絡(luò)的運行時間最短,讓 MegEngine 用戶運行不同的網(wǎng)絡(luò)時都能收獲較好性能。
自開源以來,MegEngine不斷優(yōu)化,已先后發(fā)布29個版本,推出一系列實用功能,降低AI算法生產(chǎn)門檻,助力AI應用快速落地。未來,曠視將繼續(xù)支持和擁抱開源,并將自身在開源領(lǐng)域積累的技術(shù)和經(jīng)驗與業(yè)界共享,推動人工智能技術(shù)創(chuàng)新和行業(yè)發(fā)展。
(推廣)