神經網路模型的可執行軟體包,可以壓縮到多小?
原作 Nadav Rotem
Root 編譯自 GitHub
量子位 出品 | 公眾號 QbitAI
據Reddit上圍觀用戶說,用機器學習編譯器及執行引擎Glow可以做到小几兆。
昨天,有一個Facebook研究人員Nadav Rotem在Reddit上放出了極簡版的教程Compile neural networks into small executables,跟著這份教程,你也可以將神經網路編譯出獨立的可執行軟體包。
也在蘋果、英特爾工作過兩三年的Nadav Rotem
這樣,不僅能把編譯時間最小化,還能方便Glow用戶提前編譯成軟體包。
美滋滋。
編譯前你要知道的事
軟體包(Bundle)可以獨立執行,是已經編譯好的神經網路模型。下面以Makefile為例,向大家演示如何一步步把卷積神經網路編譯成極小的可執行文件。舉個栗子:
造個軟體包
可以用Glow庫創建軟體包。
在CPU上,軟體包是可以和某些可執行文件關聯的目標文件。在其他架構體系上,軟體包完全是另外一回事。
這份文檔講的主要是怎麼用圖像分類器工具,給主CPU創建軟體包。
用-emit-bundle標籤標出輸出目錄。
以上的指令按network_model_directory_name把神經網路模型編譯好,然後生成一份軟體包,其中包含兩個文件,在output_directory_name目錄里。
第一份文件以network_model_name.o命名,包含編譯好的網路模型代碼。這是個常規的目標文件,可導向項目的其他文件。
第二份文件是以network_model_name.weights命名,包含運行這份編譯模型所需的權重。
最後,想一步步跟著壓縮神經網路模型的胖友們,請前往:
https://github.com/pytorch/glow/blob/master/docs/AOT.md
想進一步了解Glow架構設計思想的話,可參考原作和他同事們發在arXiv的文章:
https://arxiv.org/pdf/1805.00907
—完—
加入社群
量子位AI社群17群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot7入群;
此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。
進群請加小助手微信號qbitbot7,並務必備註相應群的關鍵詞~通過審核後我們將邀請進群。(專業群審核較嚴,敬請諒解)
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。


※英偉達發布全球最大GPU:性能提升10倍,售價250萬
※碳雲智能聯合創始人李英睿:人工智慧在生命科學中的應用
TAG:量子位 |