神經網絡模型的可執行軟體包,可以壓縮到多小?

2021-01-07 量子位

原作 Nadav Rotem

Root 編譯自 GitHub

據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

— 完 —

相關焦點

  • 騰訊聯合港中文提出新型神經網絡壓縮方法
    隨著智能設備的普及,深度神經網絡在智慧型手機、可穿戴設備等嵌入式設備上的應用越來越常見,這些嵌入式設備對模型體積、計算性能、功耗等方面都有比較嚴格的要求。但與此同時,深度學習網絡規模卻在不斷增大,計算複雜度隨之增高,嚴重限制了其在手機等智能設備上的應用。深度學習模型壓縮與加速技術就是為了解決這一問題而生。
  • 【深度】機器學習進化史:從線性模型到神經網絡
    但是當涉及神經網絡,你的計算量將會大大增加,即便你已經學習了相關模型,但仍然要搞明白該模型的輸出。而且,這還不是最大的問題,通常一個支持向量機應對一百萬個參數還遊刃有餘,但是我所見過一個成功的最小神經網絡,涉及的參數就多達600萬個,而且這還是最小的。另一個問題是訓練算法並沒有從最優化理論中獲得太多好處。我們所使用的絕大多數線性模型基本上都有數學理論支持,並且可以確定何時完成訓練。
  • 壓縮26倍,神經網絡仍高效,Facebook新研究造福嵌入式設備
    毫無疑問,現在,嵌入式設備也需要高效的神經網絡加持。但是,如何在嵌入式設備上實現高效的神經網絡,可不是一件簡單的事情。性能,功耗,成本,都是不得不考慮的問題。每一種不同的應用場景,都需要在神經網絡的大小和精確度之間進行特定的權衡(trade-off)。像自動駕駛汽車,就需要實現對實時視頻的精確識別,這意味著嵌入其中的神經網絡模型一定是個體積龐大的傢伙。
  • 用循環神經網絡進行文件無損壓縮:史丹福大學提出DeepZip
    選自史丹福大學作者:Kedar Tatwawadi機器之心編譯參與:李澤南、黃小天神經網絡不僅可以分析、識別特徵,提出預測,還可以壓縮文件。史丹福大學的研究者最近提交的論文中,循環神經網絡捕捉長期依賴關係的優勢被用於無損壓縮任務中,這種被稱為 DeepZip 的技術已在文本和基因組數據文件中得到了實驗。
  • BP神經網絡模型:Matlab
    本文介紹了運用計量統計軟體Matlab(2017a MAC) 建立BP神經網絡模型的方法。主要運用的方程是feedforwardnet整理數據本例中的數據來自於Matalab提供的內置數據,可以通過代碼load bodyfat_dataset獲得,為方便其他軟體讀取,已經將數據複製粘貼到Excel中本例中,1至13列為輸入變量,第14列為輸出變量,即輸入層包含13個神經元,輸出層又一個神經元。
  • 今日Paper | 可視問答模型;神經風格差異轉移;圖像壓縮系統 ;K-SVD...
    :可視問答模型中的一種權衡神經風格差異轉移及其在字體生成中的應用基於GAN的可調整的圖像壓縮系統基於原始-對偶活動集算法的K-SVD圖像去噪神經閱讀理解與超越論文名稱:Accuracy vs.但是,在高維空間構建視覺與語義特徵計算量極大,模型越來越複雜,對VQA準確率帶來的提升卻很小。這篇論文系統地研究了模型複雜度和性能兩方面的折中策略,並且特別關注了這些模型在多模態融合方面的效果。通過實驗,這篇論文給出了如何優化以降低複雜性和如何優化以實現當前最佳VQA性能的提升這兩個方面的建議。
  • 想在手機上用自己的機器學習模型?谷歌爸爸的模型壓縮包你滿意
    Learn2Compress 技術的工作原理Learn2Compress 技術融合了此前研究中介紹的 ProjectionNet 等學習框架,並結合了神經網絡模型壓縮的幾項前沿技術。使用聯合訓練和蒸餾方法來學習壓縮學生模型老師網絡可以是固定的(就像在蒸餾方法中那樣)或者是被共同優化的,老師網絡甚至還可以同時訓練不同尺寸的多種學生模型。
  • ICML 2018|再生神經網絡:利用知識蒸餾收斂到更優的模型
    有趣的是,給定這樣一個強大的算法集成,人們往往可以找到一個更簡單的模型(至少不比集成模型更複雜)來仿效此集成並實現其性能。在《再生樹(Born Again Trees)》(Breiman & Shang,1996)一書中,Breiman 率先提出了這一想法,學習單棵決策樹能達到多棵樹預測的性能。這些再生樹近似集成方法的決策,且提供了決策樹的可解釋性。
  • 什麼時候以及為什麼基於樹的模型可以超過神經網絡模型?
    不太明顯的是,神經網絡在處理這一任務時也是類似的。每個神經元監視特徵空間的特定部分(有各種重疊)。如果一個輸入落到那個空間,某些神經元就會被激活。神經網絡採用概率的觀點來進行逐塊模型擬合,而樹則採用確定性的觀點。無論如何,它們的性能都依賴於模型的深度,因為它們的組件與特徵空間的部分相關。
  • 從經典結構到改進方法,神經網絡語言模型綜述
    PPL 越低說明模型越好。給定一個包含 N 個單詞的語料庫和一個語言模型,該語言模型的 PPL 為:值得注意的是,PPL 與語料庫相關。可以用 PPL 在同一個語料庫上對兩個或多個語言模型進行對比。為什麼要給 LM 加上神經網絡?然而,N 元語言模型有一個明顯的缺點。為了解決這個問題,我們在將神經網絡(NN)引入到了連續空間的語言建模中。
  • 今日Paper|可視問答模型;神經風格差異轉移;圖像壓縮系統;K-SVD...
    目錄準確性與複雜性:可視問答模型中的一種權衡神經風格差異轉移及其在字體生成中的應用基於GAN的可調整的圖像壓縮系統基於原始-對偶活動集算法的K-SVD圖像去噪神經閱讀理解與超越準確性與複雜性:可視問答模型中的一種權衡論文名稱:Accuracy vs.
  • NeurIPS 2019 神經網絡壓縮與加速競賽雙項冠軍技術解讀
    雷鋒網AI開發者訊,日前,神經信息處理系統大會(NeurIPS 2019)於12月8日至14日在加拿大溫哥華舉行,中國科學院自動化研究所及其南京人工智慧晶片創新研究院聯合團隊在本次大會的神經網絡壓縮與加速競賽(MicroNet Challenge)中獲得雙料冠軍!
  • BP神經網絡模型:R
    本文介紹了運用計量統計軟體RStudio(1.1.414 MAC) 建立BP神經網絡模型的方法。另外設定一個隱含層,包括20個神經元每個神經元包含252個數據點,其中最後一個點不參與訓練,留作測試最終的模型,即利用前251個數據點訓練模型,利用最後一個點檢驗模型 在RStudio中輸入數據 1、打開RStudio,在下拉菜單中點擊R Script,新建一個文檔2、點擊保存鍵,輸入名稱,保存文件3、
  • 谷歌開放Inception-ResNet-v2:一種新的圖像分類卷積神經網絡模型
    昨天,谷歌宣布開放 TF-Slim,這是一個在 TensorFlow 中定義、訓練、和評估模型的輕量軟體包,同時它還能對圖像分類領域中的數個有競爭力的網絡進行檢驗與模型定義。今天,谷歌再次宣布開放 Inception-ResNet-v2,一個在 ILSVRC 圖像分類基準上取得頂尖準確率的卷積神經網絡。文中提到的論文可點擊「閱讀原文」進行下載。為了在該領域取得更多進展,今天我們非常高興的宣布開放 Inception-ResNet-v2,這是一個在 ILSVRC 圖像分類基準上取得頂尖準確率的卷積神經網絡。
  • 在神經網絡中提取知識:學習用較小的模型學得更好
    因此,研究集中在將大型模型壓縮為小型緊湊的模型,將其部署在邊緣設備時性能損失最小至零。以下是一些可用的模型壓縮技術,儘管它不限於以下內容:· 修剪和量化· 低階分解· 神經網絡架構搜索(NAS)· 知識蒸餾在這篇文章中,重點將放在[1]提出的知識蒸餾上,參考連結[2]提供了上面列出的模型壓縮技術列表的詳盡概述。
  • 全面解讀用於文本特徵提取的神經網絡技術:從神經概率語言模型到...
    6 用於自然語言處理的神經網絡模型入門(A Primer of Neural Net Models for NLP(Goldberg, 2016))全連接的前饋神經網絡是非線性學習器,其可在使用了線性學習器的地方隨時替換。在實驗結果上觀察到的高準確度是由這種非線性與預訓練的詞嵌入所共同導致的。多層前饋網絡可以在情感分類和事實性問答上實現有競爭力的表現。
  • 谷歌利用神經網絡壓縮圖片文件體積 比JPEG更小
    由於擁有谷歌相冊等服務,谷歌託管著數百萬張照片,每天還有更多照片上傳到谷歌伺服器。現在,谷歌正在開發一種新的JPEG壓縮方法,壓縮出的文件體積比當前標準更小,這全都依賴神經網絡。要想實現這一點,谷歌要對神經網絡進行訓練,把600萬張以上已經壓縮過的隨機照片拆分成32×32像素小圖片。神經網絡隨後會從中挑選出100個和PNG圖片相比壓縮效率最低的小圖片。
  • 牛津大學神經網絡新訓練法:低秩結構增強網絡壓縮和對抗穩健性
    和目前普遍的稀疏性誘導、結構化限制相似,神經網絡的低秩結構也具有壓縮的性質,並在對抗攻擊中具備穩健性。在本文中,來自牛津大學計算科學部和阿蘭圖靈機構的研究者開發了一種新方法,通過在訓練過程中引入修正,增強神經網絡表徵的低秩屬性。
  • 機器學習之神經網絡學習及其模型
    1、神經元模型歷史上,科學家一直希望模擬人的大腦,造出可以思考的機器。人為什麼能夠思考?科學家發現,原因在於人體的神經網絡。:保證網絡可以學習小隨機數:防止過大提前進入飽和狀態如果跌入局部最優,就要重新初始化2.步長設置問題:學習率(0到1之間)控制著算法的每一輪迭代中更新的步長若太大,容易發生振蕩,若太小,收斂速度緩慢。
  • 神經網絡引領「軟體2.0」,傳統程式設計師真的要失業了
    語音識別過去往往牽涉到大量處理,高斯混合模型以及隱馬爾科夫模型,但今天的語音識別幾乎全都是神經網絡的東西。語音合成過去一度採用了各種拼接機制,但今天的最新模型是可生成裸音頻信號輸出的大型卷積網絡(比如WaveNet)。機器翻譯過去曾經採用基於短語的統計技術,但神經網絡正在迅速佔據統治地位。