Chen Tianqinin ekibi, Li Mu tarafından sunulan MXNetten daha iyi performansa sahip NNVM derleyicisini yayınladı

Xia Yi Ruopu Derleyin ve organize edin

Qubit Üretildi | Genel Hesap QbitAI

Amazon ve Washington Üniversitesi, açık kaynaklı uçtan uca derin öğrenme derleyicisi NNVM derleyicisini bugün ortaklaşa yayınladı.

İlk hatırlatıcı, NNVM derleyicisi NNVM .

NNVM, Washington Üniversitesi'nden Dr. Chen Tianqi ve diğerleri tarafından 2016 yılında piyasaya sürülen modüler bir derin öğrenme sistemidir. Bu yılın Ağustos ortasında, derin öğrenme modelini değiştirmek için donanıma derin öğrenme iş yüklerini dağıtan uçtan uca bir IR yığın TVM başlattılar. Basitçe çeşitli donanımları takın.

O sırada Chen Tianqi, TVM + NNVM'yi "çeşitli donanımlara derin öğrenme için eksiksiz bir optimizasyon araç zinciri" olarak tanımladı ve bu sefer başlatılan NNVM derleyicisi, TVM araç zincirine dayalı bir derleyicidir.

Proje yazarlarından Chen Tianqi, bu derleyiciyi Weibo'da tanıttı:

Bugün, TVM araç zincirine dayalı bir derin öğrenme derleyicisi olan NNVM derleyicisini yayınladık. Mxnet, pytorch, caffe2, coreml vb. Dahil olmak üzere derin öğrenme modellerinin donanıma derlenmesini ve konuşlandırılmasını destekler ve çok seviyeli ortak optimizasyon sağlar. Daha yüksek hız ve daha hafif dağıtım. Destek, Raspberry Pi, sunucu ve çeşitli mobil cihazlar ile cuda, opencl, metal, javascript ve çeşitli diğer arka uçları içerir. Derin öğrenme, derleme ilkeleri, yüksek performanslı bilgi işlem ve donanım hızlandırma ile ilgilenen öğrencileri açık kaynak proje topluluğunu tanıtmak ve yönetmek için dmlc'ye katılmaya davet edin.

NNVM derleyicisi CoreML'yi destekleyerek geliştiricilerin CoreML modellerini iOS olmayan cihazlara dağıtmasına olanak tanır.

AI geliştirme topluluğundaki zorluklar

AWS AI baş bilim insanı Li Mu (MXNet yazarı), Amazon blogundaki bir makalede, bu derleyicinin lansmanının, derin öğrenme çerçevelerinin AI geliştirme topluluğuna çeşitlendirilmesinin getirdiği üç zorluğun üstesinden gelmek olduğunu yazdı:

Bir,

için Algoritma geliştiricisi Diğer bir deyişle, her bir AI çerçevesinin ön uç etkileşimi ve arka uç uygulaması arasında birçok farklılık olduğu için, çerçeveyi değiştirmek çok zahmetlidir ve geliştirme ve sunum sürecinde birden fazla çerçeve kullanılabilir.

Örneğin, bazı Amazon AWS bulut hizmeti kullanıcıları EC2'de hızlandırılmış performans elde etmek için Caffe modelini MXNet'e dağıtmak ister.

Bu soruna yanıt olarak, Facebook ve Microsoft da birlikte bir modeller arası dönüştürme aracı olan ONNX'i yayınladı.

iki,

Çerçeve geliştiricisi Çerçevenizin cep telefonu yongalarından veri merkezi GPU'larına kadar çeşitli donanımlara uygulanabilmesini sağlamak için birden çok arka uç bulundurmanız gerekir.

Örneğin, MXNet'in Nvidia GPU'nun cuDNN'sini ve Intel CPU'nun MKLML'sini desteklemesi gerekir.

üç,

Nereden Çip tedarikçisi Bakış açısına göre, geliştirdikleri her yeni çip için birden fazla AI çerçevesini desteklemeleri gerekir.Her çerçeve iş yüklerini farklı bir şekilde ifade eder ve yürütür.Bu nedenle, evrişim gibi bir işlem bile farklı bir yöntem gerektirir. Tanımlamak için.

Birden çok çerçeveyi desteklemek, büyük miktarda işi temsil eder.

NNVM derleyicisi, çerçevedeki derin öğrenme modelini doğrudan donanıma dağıtarak doğal olarak bu sorunları çözer.

yapı

NNVM derleyicisi, ön uç çerçevesindeki iş yükünü donanım arka ucuna doğrudan derleyebilir.Yüksek seviyeli grafiğin ara gösteriminde (IR) ortak derin öğrenme iş yüklerini ifade edebilir ve optimize edebilir.Ayrıca, farklı donanım arka uçları için hesaplama grafiklerini ve minimum değerleri dönüştürebilir. Bellek kullanımını optimize edin, veri dağıtımını optimize edin ve bilgi işlem modlarını entegre edin.

Derleyicinin tipik iş akışı aşağıda gösterilmiştir:

Bu derleyici, önceden yayımlanan TVM yığınındaki iki bileşene dayanmaktadır: NNVM, hesaplama grafikleri için kullanılır ve TVM, tensör işlemleri için kullanılır.

Bunların arasında, NNVM'nin amacı, farklı çerçevelerin iş yükünü standart hesaplama grafikleri olarak göstermek ve ardından bu yüksek seviyeli grafikleri yürütme grafiklerine dönüştürmektir.

TVM, tensör indeksi hiyerarşisindeki operatörlerin uygulanmasını basitleştirmek için donanımdan bağımsız belirli bir alan dili sağlar. Ek olarak, TVM ayrıca çoklu iş parçacığı, döşeme, önbelleğe alma vb. Destekler.

Çerçeve ve donanım desteği

Derleyicideki NNVM modülü, aşağıdaki şekilde gösterilen derin öğrenme çerçevesini destekler:

Spesifik olarak, MXNet'in hesaplama grafiği doğrudan bir NNVM grafiğine dönüştürülebilir ve Keras'ın hesaplama grafiği için doğrudan destek de geliştirme aşamasındadır.

Aynı zamanda, NNVM derleyicisi Microsoft ve Facebook tarafından yakın zamanda piyasaya sürülen ONNX ve Apple CoreML gibi diğer model formatlarını da destekler.

ONNX'i destekleyerek, NNVM derleyicisi Caffe2, PyTorch ve CNTK çerçevelerini destekler; CoreML'yi destekleyerek bu derleyici Caffe ve Keras'ı destekler.

Derleyicideki TVM modülü şu anda birden çok kod oluşturucu ile birlikte gelir ve X86 ve ARM mimari CPU'lar için LLVM IR oluşturma ve çeşitli GPU'lar için CUDA, OpenCL ve Metal çekirdek çıkışı dahil olmak üzere çeşitli arka uç donanımlarını destekler.

verim

NNVM derleyicisi, en iyi performansı elde etmek için grafik düzeyinde ve tensör düzeyinde optimizasyonu birleştirir. Geleneksel derin öğrenme çerçevesi, grafik optimizasyonunu ve dağıtım çalışma zamanını paketlerken, NNVM derleyicisi optimizasyonu gerçek dağıtım çalışma zamanından ayırır.

Bu yöntemle, derlenen modülün yalnızca en küçük TVM çalışma süresine dayanması gerekir; bu, bir Raspberry Pi veya mobil cihaza yerleştirildiğinde yalnızca yaklaşık 300 KB yer kaplar.

Chen Tianqinin ekibi, NNVM derleyicisinin performansını kıyasladı ve MXNet ile karşılaştırdı. Bu test, iki tipik donanım yapılandırmasına dayanmaktadır: Raspberry Pi'de ARM CPU ve AWS'de Nvidia GPU.

Nvidia GPU

GPU karşılaştırmaları ve programları Leyuan Wang (AWS / UCDavis) ve Yuwei Hu (Tucson) tarafından sağlanmaktadır. Arka uç olarak CUDA8 ve CuDNN7'yi kullanarak Nvidia K80'de NNVM derleyicisini ve MXNet'i karşılaştırdılar. Bu çok güçlü bir temeldir, çünkü MXNet, CuDNN'den en iyi çekirdeği seçmek için otomatik ayarlama işlevini açar. Ayrıca, MobileNet iş yükünü optimize etmek için MXNet'te optimize edilmiş derinlik çekirdeğini de kullandılar.

Gördüğünüz gibi, NNVM derleyicisi tarafından üretilen kod K80'deki MXNet'ten daha iyidir. Bu iyileştirmeler grafik ve çekirdek düzeyindeki optimizasyonlardan kaynaklanmaktadır. NNVM derleyicisinin, CuDNN gibi harici kitaplıklara güvenmeden tüm optimize edilmiş GPU çekirdeklerini kendi kendine yükselttiğini belirtmek gerekir.

Ahududu Pi 3b

Raspberry Pi derleme yığını, Ziheng Jiang (AWS / FDU) tarafından sağlanır. NNVM ve MXNet'i karşılaştırmak için OpenBLAS ve NNPack'i kullandılar ve MXNet'in en iyi performansını elde etmek için Winograd evrişimini 3 × 3 evrişim için NNPack'te etkinleştirmek, çoklu okumayı etkinleştirmek ve ek zamanlamayı devre dışı bırakmak gibi farklı ayarlar denediler Program (tüm iş parçacıkları NNPack tarafından kullanılmaktadır).

Sonuç yukarıdaki şekilde gösterilmektedir NNVM derleyicisi tarafından üretilen kod ResNet18'de iki kat daha hızlıdır. MobileNet'teki boşluk, esas olarak mevcut CPU DNN kitaplığındaki derin evrişim eksikliğinden kaynaklanmaktadır. NNVM derleyicisi, doğrudan verimli ARM kodu üretmekten yararlanır.

Geliştirme Takımı

NNVM derleyicisinin GitHub adresi:

https://github.com/dmlc/nnvm

Bu projenin gelişimi, Washington Üniversitesi Allen Bilgisayar Bilimleri Okulu'ndan Chen Tianqi, Thierry Moreau, Haichen Shen, Luis Ceze, Carlos Guestrin ve Arvind Krishnamurthy ve Amazon AWS AI ekibinden Ziheng Jiang dahil olmak üzere hala TVM yığını ekibidir.

Ayrıca, TVM blogunun sonunda, bir grup topluluğa katkıda bulunanlara teşekkür ettim:

Yuwen Hu (Tucson), Leyuan Wang (AWS / UCDavis), Joshua Z. Zhang (AWS) ve Xingjian Shi'ye (HKUST) erken katkılarından dolayı özel teşekkürler. Ayrıca tüm TVM yığını katkıda bulunanlara teşekkür etmek istiyoruz.

- Bitiş -

Samimi işe alım

Qubit, editörleri / muhabirleri işe alıyor ve merkezi Pekin, Zhongguancun'da bulunuyor. Yetenekli ve hevesli öğrencilerin bize katılmasını dört gözle bekliyoruz! İlgili ayrıntılar için lütfen QbitAI diyalog arayüzünde "işe alım" kelimesini yanıtlayın.

Qubit QbitAI

' ' Yapay zeka teknolojisi ve ürünlerindeki yeni eğilimleri takip edin

Hibrit BMW China V7 satışa sunuldu, İtalyan tasarımı BMW gücü 108,700 yuan'dan başlıyor
önceki
Her yıl düzinelerce mobil oyun aynı anda TV dizilerinde yayınlanıyor, ne zaman kralın ihtişamından fazlası olacak?
Sonraki
Cavani'ye bir tarafın teklifi reddedildi. Kaplanı kovalar mısınız lütfen? Carrasco 19 yaşındaki erkek kardeşiyle buluştu
Guangzhou Evergrande 6 yılda 400 gol attı! 109 golle süper ikincilik!
Yeni nesil Bora 112.800'den itibaren satışa sunulacak, piyasa bu konuda neden iyimser?
Denizaşırı genç açıkladı: Da Kui geri döndü! Carrasco, kış eğitimi için bir partiyi takip etti, ancak ekibi faaliyet gösteriyor
Berkeley'in yeni araştırması: Derin takviyeli öğrenmenin artık tek tek karanlığa gitmesine izin vermeyin Kağıt + Kod
Hao Haidong, yurtdışında okurken 0 maça çıkan uluslararası oyunculara liderlik ediyor
Otomobil markası Fuxing'i ilk kez tescil ettirdi, Geely "Borui GE" Fuxing treni resmi olarak yola çıktı
98K tavuk kaburgası haline geldi tavuk yiyin? Bir sonraki versiyon silah kralının tahtına dönebilir
Bir parti nazikçe davet edildi ama Jardim hâlâ tereddüt ediyordu! Lao Shu'nun dört maçlık mağlubiyet serisi gerçek bir yalan mı oldu?
Mila'nın "amcası" ne kadar geç
16 yıldır popüler olan batıya bir kez daha yolculuk! Yılın ikinci yarısında ürünlerin yeni versiyonları piyasaya sürülecek
Evergrande'nin genel durumu! İki büyük yabancı yardımın değeri vatandaşlığa geçer ve Gao Lat ekipten ayrılır.
To Top