Kaynak: research.fb.com
Derleyici: Wen Qiang
Xin Zhiyuan Rehberi Facebook bugün, matematik sembollerini otomatik olarak hızlı bir şekilde yüksek performanslı makine öğrenimi kodlarına dönüştürebilen, günler ve hatta haftalar süren orijinal süreci dakikalara indirgeyen ve üretkenliği büyük ölçüde artıran Tensor Comprehensions'ın yayınlandığını duyurdu.
Facebook AI Research (FAIR) bugün, makine öğrenimi görevleriyle uğraşırken araştırmacılar ve mühendisler arasındaki iletişim boşluğunu kapatmaya yardımcı olmak için tasarlanmış bir C ++ kütüphanesi ve matematik dili olan Tensor Comprehensions'ın piyasaya sürüldüğünü duyurdu; araştırmacılar matematiksel işlemleri kullanmaya alışkındır ve Mühendisler, farklı donanım arka uçlarında büyük ölçekli makine öğrenimi modelleri çalıştırmanın gerçek ihtiyaçlarına odaklanır.
Diğer kütüphanelerle karşılaştırıldığında, Tensor Comprehensions'ın temel farkı, istek üzerine makine öğrenimi topluluğunun ihtiyaç duyduğu yüksek performanslı kodu otomatik olarak oluşturabilen Just-In-Time derleme üzerine benzersiz bir araştırmaya sahip olmasıdır.
Yüksek performanslı CPU / GPU kodu oluşturmak yalnızca birkaç dakika sürer ve verimlilik, büyüklük sıralarıyla artırılır
Yeni bir yüksek performanslı makine öğrenimi (ML) katmanı oluşturmak için, tipik bir iş akışı genellikle iki aşamadan oluşur ve bu genellikle günler hatta haftalar sürer:
1. İlk olarak, bir araştırmacı, uyuşukluk düzeyinde soyutlamayla yeni bir katman yazdı ve bunu PyTorch gibi bir derin öğrenme kitaplığıyla ilişkilendirdi ve ardından küçük ölçekli bir deneyde test etti. Fikir doğrulandıktan sonra, büyük ölçekli deneyler çalıştırmak için ilgili kodun performansının bir büyüklük sırasına göre hızlandırılması gerekir.
2. Daha sonra, bir mühendis GPU ve CPU için verimli bir kod yazar ve bu da aşağıdakileri gerektirir:
Bu mühendisin yüksek performanslı bilgi işlem konusunda uzman olması gerekiyor ve bu alandaki yeteneklerin sayısı sınırlı.
Bu mühendisin bağlamı alması, stratejiler geliştirmesi, kod yazması ve hata ayıklaması gerekiyor
Kodun arka uca taşınması, tekrarlanan parametre kontrolleri ve Boilerplate entegrasyon kodu ekleme gibi bazı sıkıcı ancak gerekli görevleri gerektirir
Bu nedenle, son birkaç yılda, derin öğrenme topluluğu, GPU ve CPU'da yüksek performanslı kod elde etmek için büyük ölçüde CuBLAS, MKL ve CuDNN gibi yüksek performanslı kitaplıklara güvendi. Bu kütüphaneler tarafından sağlanan ilkelleri kullanmadan deney yapmak, çok yüksek düzeyde mühendislik gerektirir ve bu da birçok araştırmacı için büyük bir zorluk teşkil eder.
Bir kit varsa yukarıdaki işlem Haftalardan dakikalara , Böyle bir kitin açık kaynağının büyük pratik değere sahip olmasını bekliyoruz. Tensor Comprehensions ile vizyonumuz, araştırmacıların fikirlerini sistemimiz tarafından otomatik olarak derlenen ve ayarlanan matematiksel gösterimde yazmalarına izin vermektir ve sonuç, iyi performansa sahip özel bir koddur.
Bu sürüm sürümünde şunları sağlayacağız:
Bir dizi farklı makine öğrenimi kavramını ifade eden matematiksel semboller
Bu matematiksel gösterim için Halide IR tabanlı C ++ ön ucu
Tamsayı Kümesi Kitaplığı'na (ISL) dayalı Çokyüzlü Tam Zamanında (JIT) derleyici
Evrimsel aramaya dayalı çok iş parçacıklı, çoklu GPU otomatik ayarlayıcı
Son zamanlarda yüksek performanslı görüntü işleme alanında çok popüler hale gelen bir dil Halide'dir. Halide, görüntü işleme ardışık düzenini açıklamak için benzer bir üst düzey işlev sözdizimi kullanır ve ardından ayrı bir kod bloğunda, işlemin nasıl döşendiğini, vektörleştirildiğini, paralelleştirildiğini ve birleştirildiğini ayrıntılı olarak belirleyerek bunu donanıma açıkça planlayın. Bu, mimari uzmanlığa sahip kişiler için çok etkili bir dildir, ancak çoğu makine öğrenimi uygulayıcısı için kullanılması zordur. Halide Halide'nin otomatik zamanlamasıyla ilgili aktif olarak ilgilenen birçok araştırma var, ancak GPU'da çalışan ML kodu için iyi bir çözüm yok.
Tensor Comprehensions, Halide derleyicisini bir kitaplık olarak kullanır. Halide'nin Ara Temsilciliği (IR) ve çok yüzlü derleme teknolojisi ile birleştirilmiş analiz araçları temelinde, kullanıcılar ağ katmanını nasıl çalışacağını bilmek zorunda kalmadan benzer bir üst düzey sözdiziminde yazabilirler. Ayrıca, indirgemenin döngü sınırını belirtmeden dili daha kısa yapmayı da başardık.
Tensor Comprehensions, CUDA çekirdeklerini otomatik olarak sentezlemek için Halide ve Polyhedral Compilation teknolojilerini kullanır. Bu dönüştürme, genel operatör füzyonu, hızlı yerel bellek, hızlı çıkarma ve JIT türü uzmanlığı için optimize edilmiştir. Bellek yönetiminde optimizasyon yapılmadan veya hiç optimizasyon yapılmadan, sürecimiz herhangi bir ML çerçevesine ve C ++ işlevlerinin çağrılmasına izin veren herhangi bir dile kolayca ve verimli bir şekilde entegre edilebilir.
Geleneksel derleyici teknolojisinin ve kütüphane yöntemlerinin aksine, Polyhedral Compilation, Tensor Comprehensions'ın her yeni ağ için talep üzerine tek bir tensör elemanının hesaplamasını planlamasına izin verir.
CUDA düzeyinde, Tensor Comprehensions, afin döngü dönüşümlerini, füzyon / fisyon ve otomatik paralel işlemeyi birleştirirken, verilerin bellek hiyerarşisinde doğru şekilde taşınmasını sağlar.
Şekildeki sayılar, tensör elemanlarının başlangıçta hesaplanma sırasını gösterir ve oklar, aralarındaki bağımlılıkları gösterir. Bu örnekte, dijital dönüş döngü değişimine karşılık gelir ve derinlik operatörü füzyonu bu süreçte gerçekleşir.
Arama sürecini kolaylaştırmak için Ayrıca entegre bir çok iş parçacıklı, çoklu GPU otomatik ayarlama kitaplığı (otomatik ayarlama kitaplığı) sağlar , Binlerce uygulama şeması oluşturmak ve değerlendirmek ve bunlardan en iyi performans gösteren şemayı seçmek için Evrimsel Arama'yı kullanır. Sadece Tensor Comprehension'ın ayar işlevini çağırın, performans artışını gerçek zamanlı olarak izleyebilir ve tatmin olduğunuzda durabilirsiniz. En iyi strateji, hemen veya çevrimdışı olarak yeniden kullanılabilen protobuf aracılığıyla serileştirmedir.
Performans açısından, geliştirmemiz gereken çok şey olmasına rağmen, Belirli koşullar altında, Tensor Comprehensions, manuel ayarlama kitaplıklarını entegre eden mevcut makine öğrenimi çerçevesiyle eşleşebilir veya hatta aşabilir . Bu, temel olarak kod üretme stratejilerini belirli sorun boyutlarına uyarlama becerisiyle elde edilir. Aşağıdaki çubuk grafik, Tensor Comprehensions tarafından otomatik olarak oluşturulan çekirdeğin Caffe2 ve ATen (CuDNN kullanılarak) ile karşılaştırılmasının sonucunu göstermektedir. Daha fazla bilgi için lütfen makaleye bakın (makalenin sonundaki bağlantıya bakın).
Daha fazla donanım arka ucuna genişledikçe, Tensor Comprehensions donanım üreticileri (NVIDIA ve Intel gibi) tarafından yazılan hızlı kitaplıkları tamamlayacak ve CUDNN, MKL veya NNPack gibi kitaplıklarla birlikte kullanılacaktır.
Bu kez yayınlanan sürüm, araştırmacıların ve programcıların ağ katmanını makalede kullandıkları matematiksel dilde yazmalarına ve programlarının amacını kısaca aktarmalarına olanak tanıyacak. Aynı zamanda, araştırmacılar matematiksel sembollerini dakikalar içinde hızla uygulanabilecek koda dönüştürebilirler. Araç zinciri büyümeye devam ederken, kullanılabilirlik ve performansın artmasını ve tüm topluluğa fayda sağlamasını bekliyoruz.
PyTorch için Tensor Comprehensions entegrasyonunu daha sonra yayınlayacağız.
Çerçeve ekibiyle olan sık iletişim ve geri bildirimleri takdir ediyoruz ve bu heyecan verici yeni teknolojiyi favori makine öğrenimi çerçevenize getirmeyi dört gözle bekliyoruz.
FAIR, bilimi açmaya kararlıdır ve yapay zeka araştırmalarını daha da geliştirmek için makine öğrenimi topluluğuyla işbirliği yapar. Tensor Comprehensions (Apache 2.0 anlaşması kapsamında piyasaya sürüldü) zaten Facebook, Inria, ETH Zurich ve Massachusetts Institute of Technology'nin ortak bir projesidir. Çalışma hala erken bir aşamadadır, bunu mümkün olan en kısa sürede paylaşmaktan çok mutluyuz ve topluluk geri bildirimleriyle geliştirmeyi umuyoruz.
Kağıt: https://arxiv.org/abs/1802.04730
[2018 Xinzhiyuan AI Teknoloji Zirvesi görkemli bir şekilde açıldı ve 599 yuan erken kayıt bileti kapıda!
Yapay zeka alanındaki en etkili endüstriyel hizmet platformu olan Xinzhiyuan, 2017 yılında "Xinzhiyuan Açık Kaynak Ekolojik Teknoloji Zirvesi" ve "2017AIWORLD Dünya Yapay Zeka Konferansı" nı başarıyla gerçekleştirdi. Yüksek popülaritesi ve sektör etkisi ile 2017 etkinlik sıralamasında "Yılın En Etkili Organizatörü" ödülünü kazandı.
Bunların arasında "2017 AI WORLD World Yapay Zeka Konferansı" yapay zeka alanında 5.000'den fazla katılımcıyla bir emsal oluşturdu; Tencent'in talep üzerine video hacmindeki açılış videosu 1 milyonu aştı; Xinhuanet'in grafik canlı yayını 12 milyonu aştı.
29 Mart 2018'de Xinzhiyuan, endüstriyel geçiş için bir yol inşa etmek için yapay zekanın gücüne yeniden katıldı. 2018 Çin AI Yeni Yıl Töreni'ni Pekin'de gerçekleştirdi 2018 Xinzhiyuan AI Teknoloji Zirvesi "Industry · Leap Forward" temasıyla bu zirve, Nobel Ödülü jürisi ve Alman Yapay Zeka Araştırma Merkezi kurucusu ve CEO'su Wolfgang Wahlster'ı Google, Microsoft, Amazon, BAT, iFlytek, JD.com ve Huawei ile tanışmak üzere bizzat olay yerine gelmeye davet etti. Ve teknolojik değişiklikleri tartışmak ve alanın entegrasyonunu ve gelişimini teşvik etmek için işletmelerden gelen diğer ağır konuklar.
Xinzhiyuan, yapay zeka endüstrisinin gelişiminden endişe duyan hayatın her kesiminden insanları bu alanlar arası düşünce çarpışmasına katılmak için 29 Mart'taki zirveye gelmeye içtenlikle davet ediyor.
Konferans hakkında daha fazla bilgi için lütfen Xinzhiyuan WeChat resmi hesabını takip edin veya etkinlik sayfasını ziyaret edin: