Derin Öğrenmenin IR "Savaşı"

Xinzhiyuan önerilir

Geçen hafta, "Facebook ve Microsoft, değiştirilebilir AI çerçeveleri için yeni açık ekosistemi tanıttı" gibi haberler gördük. Bu aynı zamanda Çerçeve anlaşmazlığını daha canlı hale getirir. Basitçe söylemek gerekirse, ONNX aynı zamanda birden fazla Çerçevenin mevcut birlikte çalışabilirlik sorunlarını çözmektir. Ancak ilginç olan, bu "açık" sistemin daha çok Microsoft ve FB'nin Google'a karşı birleşmiş gibi görünmesi. Şu anda, Tensorflow'un pazardaki payı zaten çok şey yönetiyor ve diğer Framework'ler kesinlikle Tensorflow'un hakim olduğunu görmek istemiyor. Sonuçta Framework, derin öğrenme için bir "giriş". Son zamanlarda, PyTorch ivme kazanıyor.Cafffe2, PyTorch ve Bilişsel Araç Seti bu şekilde "birleştirildi", bu da iyi bir seçim gibi görünüyor.

"Ara gösterim (IR), kaynak kodunu temsil etmek için bir derleyici veya sanal makine tarafından dahili olarak kullanılan veri yapısı veya koddur. Bir IR, optimizasyon ve çeviri gibi ek işlemler için elverişli olacak şekilde tasarlanmıştır. A " iyi "IR, doğru - Bilgi kaybı olmadan kaynak kodunu temsil edebilme - ve bağımsız Bir IR çeşitli biçimlerden birini alabilir: bir bellek içi veri yapısı veya program tarafından okunabilen özel bir tuple veya yığın tabanlı kod. İkinci durumda, aynı zamanda bir ara dil olarak da adlandırılır. . "- Wikipedia

Gerçekçi bir Derin Öğrenme problemiyle başlayalım.

Yukarıdaki resim, NNVM'yi tanıtan bir makaleden alınmıştır. NNVM'nin amacı hakkında konuşurken makale şunu söylüyordu:

"Bu, yeni sistem, donanım ve hesaplama modelinin ortaya çıkma eğilimiyle birlikte, derin öğrenmenin yeni ve ilginç bir çağı. Derin öğrenmenin kullanım alanı daha heterojen ve otomobillerimiz, cep telefonlarımız ve bulut hizmetlerimiz için özel olarak tasarlanmış öğrenme sistemine ihtiyacımız var. Derin öğrenme sisteminin geleceği daha heterojen olacak ve bulacağız farklı ön uçlar, arka uçlar ve optimizasyon tekniklerinin ortaya çıkması ihtiyacı Tüm bu sorunları çözmek için monolitik bir çözüm oluşturmak yerine, unix felsefesini benimsemeye, öğrenme sistemi için etkili modüller oluşturmaya ve minimum ve etkili sistemler oluşturmak için bunları bir araya getirmeye ne dersiniz? "

basit ifadeyle, Artık Derin Öğrenmenin pek çok farklı ön ucu (çerçeve) ve pek çok farklı arka ucu (donanım) olduğuna göre, aralarında daha etkili bir şekilde optimize etmek ve ima etmek için bir köprü bulabilir miyiz?

Aslında bu sorun yeni değil. O zamanlar farklı uygulama senaryoları ve gereksinimleri ile çok sayıda farklı programlama dili ve farklı işlemci mimarileri ortaya çıktı ve yazılım endüstrisi benzer sorunlarla karşılaştı.

Başka bir deyişle, LLVM ortaya çıktığında olan tam olarak buydu: Çok sayıda farklı programlama dili ve giderek daha fazla donanım mimarisi arasında bir köprü gereklidir . LLVM'nin ortaya çıkışı, farklı ön uç ve arka uçların birleşik bir LLVM IR kullanmasına izin verir.Yeni bir programlama dilini veya yeni bir cihaz platformunu desteklemeniz gerekiyorsa, yalnızca ilgili ön ucu ve arka ucu geliştirmeniz gerekir. Aynı zamanda, LLVM IR'ye dayalı olarak kendi programlama dilimizi hızla geliştirebiliriz. Örneğin, LLVM yaratıcısı Chris Lattner daha sonra Apple'a katıldı ve LLVM'nin ön ucu olarak görülebilecek Swift dilini yarattı.

Ayrıca LLVM'nin birleşik IR'nin başarısının anahtarlarından biri olduğu ve mükemmel bir IR'nin önemini tam olarak gösterdiği görülebilir.

Elbette IR esasen bir ara sunumdur ve eksiksiz bir derleme aracının parçasıdır. Aşağıda tartıştığımız TVM ve XLA, belirli IR etrafında oluşturulmuş optimizasyon ve derleme araçlarıdır.

Chen Tianqi başka bir makalede bahsetti: "... Derin öğrenme için benzer bir projeye ihtiyacımız var. LLVM'nin fikirlerini öğrenmek için ona NNVM adını verdik". (Ekim 2016)

17 Ağustos'ta Chen Tianqi'nin ekibi, Derin Öğrenme İş Yüklerini Donanımlara Dağıtmak için TVM: Uçtan Uca IR Yığını yayınladı. Mimarisi aşağıdaki şekilde gösterilmektedir:

Benimsiyoruz derleyici topluluğundan ortak bir felsefe ve iki ara temsil katmanı sağlayın üst düzey derin öğrenme algoritmalarını çok sayıda donanım arka uçlarına verimli bir şekilde düşürmek için.

Önceki NNVM'ye ek olarak yeni bir IR Stack, TVM ekledikleri görülüyor, aşağıdaki şekilde gösterilen boşluğu çözmeye çalışıyorlar, "Grafik optimizasyon çerçevesi ile birçok güçlü optimizasyon desteklenebilir ... Ancak, hesaplamalı grafik tabanlı IR'nin tek başına farklı donanım arka uçlarını desteklemenin zorluğunu çözmek için yeterli olmadığını görüyoruz. "Buradaki grafik tabanlı IR, NNVM'yi ifade eder.

LLVM ortamında yalnızca bir birleşik IR olduğunu biliyoruz. Öyleyse, Derin Öğrenme ortamında grafik tabanlı IR neden yeterli değil? ? Sonraki bir Zhihu makalesinde Chen Tianqi, " Chen Tianqi'nin modüler derin öğrenme sistemi NNVM nasıl değerlendirilir? "Tartışma. Bu tartışmada, Wang Jianfei'nin cevabı TVM için ilham kaynağı gibi görünüyor.

Ayrıca Chen Tianqi bu makalede ayrıca TVM mevcut çözümlerden farklıdır. XLA'yı örnek olarak alırsak, TVM şu anki XLA'dan daha radikal bir teknik rota izledi. TVM, XLA'nın gerektirdiği işlevleri uygulamayı kolaylaştırmak için kullanılabilir. ".

TVM'nin yazarı rakibinin adını verdiğine göre, şimdi Google'ın XLA'sına bir göz atalım.

XLA (Hızlandırılmış Doğrusal Cebir), alana özgü bir derleyicidir TensorFlow hesaplamalarını optimize eden doğrusal cebir için. Sonuçlar hız, bellek kullanımı ve sunucu ve mobil platformlarda taşınabilirlikteki iyileştirmelerdir. Başlangıçta çoğu kullanıcı XLA'dan büyük faydalar görmeyecek, ancak giriş yoluyla XLA kullanarak denemeye davetlisiniz -zamanlı (JIT) derleme veya vaktinden önce (AOT) derleme Yeni donanım hızlandırıcıları hedefleyen geliştiricilerin XLA'yı denemeleri özellikle önerilir.

Aşağıdaki şeklin sol yarısı, XLA'nın hedeflerini açık bir şekilde tanıtan ve temel işlevleri optimizasyon ve kod üretme olan "2017 EuroLLVM Geliştirici Toplantısı" hakkındaki bir rapordan gelmektedir.

XLA'nın kendine özgü mimarisi şeklin sağ yarısında gösterilmektedir. İki aşamalı optimizasyon LLVM'nin yapısı, düşük seviyeli IR, optimizasyon ve kod üretimi için kullanılır. LLVM IR kullanımı nedeniyle, farklı arka uçları kolayca destekleyebilir. Aşağıdaki şekil GPU Arka Ucunun kullanımına bir örnektir.

Şu anda doğrudan desteklenmeyen arka uçlar için XLA, senaryolar için üç geliştirme yöntemi sağlar. Dahil etmek:

1. Mevcut bir LLVM arka ucu olsun veya olmasın, XLA tarafından henüz resmi olarak desteklenmeyen mevcut CPU mimarisi.

2. Mevcut bir LLVM arka ucuna sahip CPU benzeri olmayan donanım.

3. Mevcut bir LLVM arka ucu olmayan CPU benzeri olmayan donanım.

Genel olarak, XLA ve TVM benzer sorunları çözmeye çalışıyor. Ancak XLA yalnızca Google'ın Tensorflow'u içindir. TVM / NNVM, MxNe kampında olmasına rağmen, bir geliştirme ve genel arayüz olarak hizmet etmeye çalışıyor.

İşte bir haber, Chris Lattner kısa süre önce Google Brain'e katıldı. Ana çalışmasının XLA'ya yerleştirilip yerleştirilmeyeceği bilinmemekle birlikte, Jeff Dean ile işbirliği gerçekten göz korkutucu.

Bu iki aracı şahsen kullanmadığım için daha doğru bir değerlendirme ve karşılaştırma yapamam. Belirli ayrıntılarla ilgilenen okuyucular, Referansın içeriğine iyice bakabilir ve kendileri deneyebilirler.

Aslında, benzer fikirler arasında Intelin NGraphı (aşağıda gösterildiği gibi), HPnin Bilişsel Hesaplama Araç Seti (CCT) ve IBMin SystemMLsi bulunmaktadır.

Henüz tamamlanan Hot Chips konferansında Microsoft, Cloud'un AI FPGA hızlandırma platformu Project Brainwave'i yayınladı. Alet zinciri şöyle, yine iki IR katmanı görüyor musunuz?

Son olarak, yakın zamanda başka bir ilginç girişim gördüm: Standart bir veri değişim formatı tanımlamaya çalışan Khronos Sinir Ağı Değişim Formatı (NNEF). "NNEF standardı, sinir ağı yapısını, veri formatlarını, yaygın olarak kullanılan işlemleri (evrişim, havuzlama, normalleştirme vb.) Ve biçimsel ağ anlamlarını kapsıyor."

T.S .:

Derin Öğrenmenin uygulaması gittikçe yaygınlaştıkça, insanlar DNN eğitiminin verimliliği ve farklı donanım mimarileri üzerindeki çıkarımlar konusunda giderek daha fazla endişe duyuyor. Geleneksel derleyici (derleyici) tasarım deneyimine referansla, hem XLA hem de TVM / NNVM iyi girişimlere başlamıştır. "IR" yarışması, gelecekteki Çerçeve anlaşmazlığının önemli bir parçası olacaktır.

Referans:

Chen Tianqi, "NNVM ve Torch ile kendi TensorFlow'unuzu oluşturun",

Chen Tianqi, "TVM: Derin Öğrenme İş Yüklerini Donanımlara Dağıtmak İçin Bir Uçtan Uca IR Yığını",

Chen Tianqi, "Chen Tianqi ekibinin yeni açık kaynaklı TVM'si nasıl değerlendirilir?", Https://www.zhihu.com/question/64091792/answer/217722459

Wang Jianfei, "Chen Tianqi'nin modüler derin öğrenme sistemi NNVM nasıl değerlendirilir?", Https://www.zhihu.com/question/51216952/answer/124708405

"XLA'ya Genel Bakış", https://www.tensorflow.org/performance/xla/

"2017 EuroLLVM Geliştirici Toplantısı: D. Majnemer" XLA: Hızlandırılmış Doğrusal Cebir "", https: //www.youtube.com/watch? V = 2IOPpyyuLkc

"LLVM'ye Kısa Bir Giriş", https://www.youtube.com/watch?v=a5-WaD8VV38 "

"XLA: TensorFlow Derlendi!", Https: //www.youtube.com/watch? V = kAOanJczHA0

İş ayrıntılarını görüntülemek için orijinal metni okumak için tıklayın ve katılmanızı dört gözle bekleyin ~

"Ulusal Beş" araç envanteri dağ gibi yığılıyor, neden fiyatları düşürmeyelim? 3 neden her şeyi açıklıyor
önceki
İlkbaharda Hollanda büyüleyici bir kız gibidir, bu da insanları mutlu eder
Sonraki
Neden "otomobil meraklıları" yenileri yerine kullanılmış arabalar satın alıyor? Netizen: Konu para değil
Boğulmak güzel! Kışın Shangri-La, Shambhala olur
Çinli alıcıların çekilmesinin ve Kanadalı iflasların artmasının ardından, Kanada merkez bankası: Kanada bir numaralı mali zayıflığını açıkladı
Gerçekten mi! Japon vizesi nihayet basitleştirildi, varlık kanıtı gerekli değil! Seyahate çıkma
Fed Almanya'nın altın incelemesi talebini reddettikten sonra işler ilerledi, bunun arkasında ne gizli?
Neden 21 gün sürdü ama yine de orijinaline geri döndü?
"Zhu Hu Google" dünyanın ilk seri üretilen sürücüsüz arabasını piyasaya sürdü, GM plajı L4'te kaptı
Arshan olmadan gerçek kışı nasıl tadabilirsiniz?
Başkaları arabaya bindiklerinde araç sahiplerinin en çok nefret ettiği beş davranış "mucizeler için büyük çaba sarf edin" ilk sırada
Boeingin 600 milyar ABD doları havada kalabilir ve büyük uçaklar, yüksek hızlı tren yolundan sonra başka bir ulusal kartvizit haline gelebilir.
Huaihai Muharebesinde Zaferin 70. Yıldönümü: Bakalım God of War nasıl kazanıyor!
Zeng Ming: Böyle bir rakiple yüzleşirken, karşı koyacak neredeyse hiç güç yok
To Top