Qualcomm, Snapdragon 865'te Yapay Zekada Nasıl Büyük Gelişmeler Sağladı?

Qualcomm, yeni Snapdragon 865 SoC ile yapay zeka performansında büyük sıçramalar yaptı. Qualcomm'un makine öğrenimini hızlandırmak için yaptığı değişiklikleri analiz ediyoruz.

Haberlerde "yapay zeka"yı görmeden bir gün geçiremeyeceğiz gibi görünüyor ve geçtiğimiz hafta, Snapdragon Teknoloji Zirvesi sayesinde hiç de küçük bir istisna değildi. Qualcomm her yıl, Hexagon DSP ve Qualcomm AI Motoruna getirdiği çok sayıda iyileştirmeyi açıklıyor. AI hakkında konuşurken tüm heterojen bilgi işlem platformları (CPU, GPU ve DSP) için kullandıkları bir terim iş yükleri. Birkaç yıl önce Qualcomm'un, yıldan yıla CPU performansı iyileştirmeleri gibi geleneksel konuşma konularının dışına çıkma konusundaki ısrarı biraz tuhaf görünüyordu. Ancak 2019'da Snapdragon 865 ile birlikte yapay zekanın da etkisiyle heterojen bilişimin gerçekten de mobil bilişimin dümeninde olduğunu görüyoruz. ve donanımla hızlandırılmış iş yükleri, sosyal medyadan gündelik kullanıma kadar çok çeşitli kullanım senaryolarına ve uygulamalara gizlice giriyor gibi görünüyor Hizmetler.

Snapdragon 865, Qualcomm'un 5. nesil yapay zeka motorunu getiriyor ve bununla birlikte performans ve güç verimliliğinde etkileyici gelişmeler geliyor; ancak bu beklenen bir şey. Spesifikasyonlar, performans rakamları, gösterişli mühendislik terimleri ve yorucu pazarlama terimleri denizinde, bu iyileştirmelerin gerçekte ne anlama geldiğini gözden kaçırmak kolaydır. Neyi tarif ediyorlar? Bu yükseltmeler, yapay zekayı bugün uygulamalarında uygulayanlar ve belki daha da önemlisi gelecekte bunu yapmak isteyenler için neden bu kadar anlamlı?

Bu makalede, Qualcomm AI Engine'in geçmişini, bileşenlerini ve Snapdragon 865'in yükseltmelerini tarayarak ulaşılabilir ancak kapsamlı bir tur atacağız ve en önemlisi, Neden veya Nasıl komik filtrelerden dijital asistanlara kadar bunların her biri günümüzün akıllı telefon deneyimine katkıda bulundu.

Hexagon DSP ve Qualcomm AI Motoru: Markalama fark yarattığında

Bu haftaki Snapdragon Teknoloji Zirvesi'ne katılamamış olsam da 2015'ten beri diğerlerine katıldım. Eğer hatırlarsan, O Snapdragon 810'un büyük bir karmaşanın yaşandığı yıldı ve New York City'deki Chelsea çatı katındaki gazeteciler, Snapdragon 820'nin şirketi nasıl kurtaracağını öğrenmek için sabırsızlanıyordu. Ve harika bir yonga setiydi, tamam: Qualcomm'un tanındığı, o zamanlar denenmiş ve doğrulanmış özel çekirdeklere geri dönerek (hiçbir kısıtlama olmadan) sağlıklı performans iyileştirmeleri vaat ediyordu. Ancak geriye dönüp baktığımda daha fazla ilgi görmesi gereken çok ince bir duyuruyu da hatırlıyorum: ikinci nesil Hexagon 680 DSP ve onun tek talimatı, çoklu veri (SIMD) Hexagon Vector genişletmeleri veya HVX. Belki de mühendisler bu özelliğe isim vermeseydi hak ettiği ilgiyi görebilirdi.

Bu yardımcı işlemci, skaler DSP ünitesinin donanım iş parçacıklarının geniş vektör işleme yetenekleri için HVX "bağlamlarına" (dosyaları kaydetme) erişmesine olanak tanır. Önemli bilgi işlem iş yüklerinin güce aç CPU veya GPU'dan güç açısından verimli DSP, böylece görüntüleme ve bilgisayarla görme görevlerinin önemli ölçüde iyileştirilmiş performansla çalışmasını sağlar miliwatt başına. Bitişik vektör öğeleri (başlangıçta yalnızca tamsayılar) üzerinde aynı işlemleri uygulamak için mükemmeldirler ve bu da onları bilgisayarlı görüntü iş yükleri için iyi bir uyum haline getirir. Geçmişte DSP ve HVX hakkında ayrıntılı bir makale yazmıştık, HVX mimarisinin paralelleştirmeye ve tabii ki büyük giriş vektörlerini işlemeye oldukça uygun olduğunu belirtiyor. O zamanlar Qualcomm hem DSP'yi hem de HVX'i neredeyse yalnızca geliştirdikleri iyileştirmeleri açıklayarak tanıtıyordu. Harris köşe algılayıcısı ve diğer kayan pencere gibi bilgisayarlı görüntü iş yüklerini beraberinde getirecektir yöntemler.

Tüketici mobil uygulamalarında derin öğrenmenin ortaya çıkışına kadar DSP, onun vektörü değildi. işlem birimleri (ve şimdi bir tensör hızlandırıcı), yapay zeka ve sinir ağlarıyla birleşecek. özel. Ancak geriye dönüp baktığımızda çok mantıklı geliyor: Orijinal olarak dijitalleştirilmiş verileri işlemek için tasarlanmış olan dijital sinyal işlemcisi (DSP) mimarisi. gerçek dünya veya analog sinyal girişleri, birçok makine öğrenimi algoritması ve sinir sistemi ile aynı iş yüklerinin çoğuna uygundur. ağlar. Örneğin, DSP'ler filtre çekirdekleri, evrişim ve korelasyon işlemleri, 8 bitlik hesaplamalar, bir ton doğrusal cebir (vektör ve matris çarpımları) ve çarpma-biriktirme (MAC) işlemlerinin tümü aşağıdaki durumlarda en verimlidir: paralelleştirilmiş. Bir sinir ağının çalışma zamanı da büyük ölçüde büyük vektörlerin, matrislerin ve/veya tensörlerin çarpımına bağlıdır; dolayısıyla DSP'nin performans avantajlarının sinir ağı mimarilerine düzgün bir şekilde yansıması doğaldır. Peki. Bu konuyu kısaca tekrar ele alacağız!

Sonraki yıllarda Qualcomm, teklif etmediklerini vurgulamaya devam etti. Sadece yonga setleri, ancak mobil platformlarve odaklanmadıklarını Sadece belirli bileşenleri iyileştirmeye, ancak "heterojen" bilgi işlem sunmaya odaklanıyor. 2017'de Snapdragon Neural Processing Engine SDK'larını (çalışma zamanı hızlandırma için) Qualcomm Developer Network'te yayınladılar ve 2018'in başlarında da Yapay Zeka özellikli çeşitli donanım (CPU, GPU, DSP) ve yazılım bileşenlerini tek bir çatı altında birleştirmek için Qualcomm Yapay Zeka Motorunu duyurdu isim. Bu kullanışlı isimlendirmeyle, hem Snapdragon 855'te hem de Snapdragon 855'te yapay zeka performans iyileştirmelerini düzgün bir şekilde tanıtabildiler. Snapdragon 865, saniyedeki trilyonlarca işlem sayısını (TOPS) ve yıllık yüzdeyi rahatça ifade edebiliyor iyileştirmeler. CPU, GPU ve DSP'de nesiller boyu süren iyileştirmelerden faydalanma - bunların hepsi kendi yapay zeka odaklıdır yükseltmeler - şirket, rakiplerine karşı etkileyici kıyaslamalar yayınlayabiliyor; bunları gözden geçireceğiz kısaca. Şirketin yakın zamandaki pazarlama çabaları ve heterojen bilişime ilişkin birleşik, tutarlı mesajlaşmasıyla, yapay zeka markaları nihayet gazeteciler ve teknoloji meraklıları arasında ilgi görüyor.

Sinir Ağlarının Gizemini Çözmek: Sıradan bir doğrusal cebir yığını

Makalenin ilerleyen kısımlarında karşılaşacağımız pek çok jargonu çözmek için kısa bir girişe ihtiyacımız var. sinir ağı nedir Ve daha hızlı hale getirmek için neye ihtiyacınız var. Mümkün olduğu kadar jargondan ve notasyondan kaçınarak, sinir ağlarının bazı matematiksel temellerinin üzerinden çok kısaca geçmek istiyorum. Bu bölümün amacı, temel olarak bir sinir ağının ne yaptığını tanımlamaktır: aritmetik işlemler söz konusu işlemleri haklı çıkaran teorik temel yerine (bu çok daha karmaşıktır!) yürütülür. Doğrudan Qualcomm AI Engine yükseltmelerine geçmek istiyorsanız bir sonraki bölüme geçmekten çekinmeyin.

“Vektör matematiği derin öğrenmenin temelidir.” – Travis Lanier, Qualcomm Ürün Yönetimi Kıdemli Direktörü, 2017 Snapdragon Teknoloji Zirvesi'nde

Aşağıda çok tipik bir ileri beslemeli tam bağlantılı sinir ağı şeması bulacaksınız. Gerçekte diyagram tüm süreci olduğundan biraz daha karmaşık gösterir (en azından alışana kadar). İleri geçişi hesaplayacağız; bu, sonuçta bir ağın bir sinyal ürettiğinde yaptığı şeydir. çıkarım, makalenin ilerleyen kısımlarında da karşılaşacağımız bir terim. Şimdilik sadece makine ve parçalarıyla ilgileneceğiz ve her bir bileşenin kısa açıklamalarını yapacağız.

Bir sinir ağı sıralı bileşenlerden oluşur katmanlarher biri birbirine bağlı birkaç "nöron"dan (diyagramda daireler olarak gösterilmiştir) oluşur. ağırlıklar (şemada çizgiler olarak gösterilmiştir). Genel anlamda üç tür katman vardır: giriş katmanıham girdiyi alan; gizli katmanlarönceki katmandaki matematiksel işlemleri hesaplayan ve çıktı katmanı, nihai tahminleri sağlar. Bu durumda sadece bir gizli katmanımız var ve üç tane var. gizli birimler. giriş belirli bir boyut veya uzunluğa sahip bir vektör, dizi veya sayı listesinden oluşur. Örnekte iki boyutlu bir girdimiz olacak diyelim [1.0, -1.0]. Burada, çıktı Ağın tamamı skaler veya tek bir sayıdan oluşur (liste değil). Her gizli birim bir grupla ilişkilendirilir. ağırlıklar ve bir önyargı terimi, her düğümün yanında ve altında gösterilir. Hesaplamak için ağırlıklı toplam Bir birimin çıktısı, her ağırlık karşılık gelen girdilerle çarpılır ve ardından ürünler toplanır. Daha sonra, bu çarpımların toplamına önyargı terimini ekleyeceğiz ve nöronun çıktısını elde edeceğiz. Örneğin, bizim girdimizle [1.0,-1.0], ilk gizli birimin çıktısı olacaktır: 1.0*0.3 + (-1.0) * 0.2 + 1.0 = 1.1. Basit, değil mi?

Diyagramdaki bir sonraki adım bir aktivasyon fonksiyonu, ve her gizli katmanın çıktı vektörünü üretmemize izin verecek olan şey budur. Bizim durumumuzda çok popüler ve son derece basit olanı kullanacağız. düzeltilmiş lineer ünite veya ReLU, bir giriş numarası alır ve (i) bu sayı negatifse sıfır veya sıfır (ii) sayı pozitifse giriş numarasının kendisini verir. Örneğin, ReLU(-0,1) = 0, Ancak ReLU(0,1) = 0,1. Girişimizin örneğini takip ederek yayılır Bu ilk gizli birim aracılığıyla, hesapladığımız 1.1 çıktısı aktivasyon fonksiyonuna aktarılacak ve sonuç elde edilecektir. ReLU(1.1)=1.1. Bu örnekte çıktı katmanı tıpkı bir gizli birim gibi işlev görecektir: gizli birimlerin çıktılarını ağırlıklarıyla çarpacak ve ardından önyargı terimini ekleyecektir. 0.2. Son aktivasyon fonksiyonu, basamak fonksiyonu, pozitif girişleri 1'e, negatif değerleri ise 0'a çevirecektir. Ağdaki her bir işlemin nasıl çalıştığını bildiğimizden, çıkarımımızın tam hesaplamasını aşağıdaki gibi yazabiliriz:

İleri beslemeli sinir ağı hesaplamamızın hepsi bu kadar. Gördüğünüz gibi operasyonların neredeyse tamamı ürünlerden ve sayıların toplamından oluşur. Aktivasyon fonksiyonumuz ReLU(x) örneğin basitçe arayarak da çok kolay bir şekilde uygulanabilir. maksimum (x, 0)öyle ki giriş 0'dan büyük olduğunda x değerini döndürür, aksi halde 0 değerini döndürür. Dikkat adım (x) benzer şekilde hesaplanabilir. Daha birçok karmaşık aktivasyon fonksiyonu mevcuttur, örneğin sigmoidal fonksiyon ya da hiperbolik tanjant, farklı dahili hesaplamalar içerir ve farklı amaçlar için daha uygundur. Zaten fark etmeye başlayabileceğiniz başka bir şey de, biz de üç gizli birimin hesaplamalarını ve ReLU uygulamalarını paralel olarak çalıştırabilir, çıkış düğümünde ağırlıklı toplamlarını hesaplayana kadar değerlerine aynı anda ihtiyaç duyulmadığından.

Ancak burada durmamıza gerek yok. Yukarıda aynı hesaplamayı görüyorsunuz, ancak bu sefer bunun yerine matris ve vektör çarpma işlemleriyle temsil ediliyor. Bu temsile ulaşmak için, girdi vektörümüzü ona 1,0 (daha açık renk tonu) ekleyerek “artırırız”; öyle ki yukarıda gösterildiği gibi matristeki ağırlıklar ve önyargımız (daha açık renk tonu) ile elde edilen çarpma aynı gizli birimi verir çıktılar. Daha sonra, ReLU'yu çıkış vektörüne eleman bazında uygulayabilir ve ardından ReLU çıkışını, çıkış katmanımızın ağırlıkları ve sapması ile çarpmak için "artırabiliriz". Bu gösterim, tüm gizli katmanın parametreleri (ağırlıklar ve sapmalar) tek bir değişken altında toplanabildiğinden gösterimi büyük ölçüde basitleştirir. Ama bizim için en önemlisi şunu açıkça ortaya koyuyor: ağın iç hesaplamaları esas olarak matris ve vektör çarpımı veya nokta çarpımlarından oluşur. Bu vektörlerin ve matrislerin boyutunun, girdilerimizin boyutuna ve ağımızdaki parametre sayısına göre nasıl ölçeklendiği göz önüne alındığında, çalışma zamanının çoğu bu tür hesaplamalar yapmak için harcanacaktır. Bir sürü doğrusal cebir!

Oyuncak örneğimiz elbette çok kapsamı sınırlıdır. Uygulamada, modern derin öğrenme modellerinde yüzlerce olmasa da onlarca gizli katman ve milyonlarca ilgili parametre bulunabilir. İki boyutlu vektör girişi örneğimiz yerine binlerce girişi olan vektörleri alabilirler, matrisler (tek kanallı görüntüler gibi) veya tensörler (üç kanallı RGB) gibi çeşitli şekillerde Görüntüler). Ayrıca, orijinal girdimize satırlar ekleyerek matris temsilimizin aynı anda birden fazla girdi vektörünü almasını engelleyen hiçbir şey yoktur. Sinir ağları ayrıca ileri beslemeli sinir ağımızdan farklı şekilde "kablolanabilir" veya farklı etkinleştirme işlevlerini yürütebilir. Ağ mimarileri ve tekniklerinden oluşan geniş bir hayvanat bahçesi var, ancak sonuçta bunlar çoğunlukla Oyuncak örneğimizde bulduğumuz paralel aritmetik işlemlerin aynısını, sadece çok daha büyük bir ölçekte gerçekleştirelim.

Bir tensör üzerinde çalışan evrişim katmanlarının görsel örneği. (Resim kredisi: Veri Bilimine Doğru)

Örneğin, popüler evrişimli sinir ağları (CNN'ler) Muhtemelen okumuş olduğunuz ağlar, sahte ağımız gibi "tamamen bağlantılı" değildir. Gizliliğinin “ağırlıkları” veya parametreleri evrişimsel katmanlar yukarıda gösterildiği gibi bir tür filtre, bir girdinin küçük parçalarına sırayla uygulanan kayan bir pencere olarak düşünülebilir - bu "evrişim" gerçekte yalnızca kayan bir nokta çarpımıdır! Bu prosedür genellikle adı verilen şeyle sonuçlanır. özellik haritası. Havuzlama katmanları, görüntünün küçük parçalarının maksimum veya ortalama değerini hesaplayarak bir girişin veya evrişimli katmanın çıkışının boyutunu azaltır. Ağın geri kalanı genellikle örneğimizdeki gibi tamamen bağlı katmanlardan ve ReLU gibi aktivasyon işlevlerinden oluşur. Bu genellikle erken evrişimli katmanların özellik haritalarının "algılayabildiği" görüntülerde özellik çıkarmak için kullanılır. çizgiler veya kenarlar gibi desenler ve daha sonraki katmanlar, yüzler veya karmaşık özellikler gibi daha karmaşık özellikleri algılayabilir şekiller.

Söylenenlerin hepsi şu kesinlikle çıkarımla sınırlıveya parametreleri bulunduktan sonra bir sinir ağının değerlendirilmesi eğitim bu çok daha karmaşık bir prosedürdür. Ve yine birçok açıklamayı hariç tuttuk. Gerçekte ağın bileşenlerinin her biri bir amaç için dahil edilmiştir. Örneğin, lineer cebir üzerine çalışmış olanlarınız bunu kolaylıkla gözlemleyebilirler. Doğrusal olmayan aktivasyon fonksiyonları sayesinde ağımız, çok sınırlı öngörüye sahip doğrusal bir modele basitleşir kapasite.

Snapdragon 865'te Yükseltilmiş Yapay Zeka Motoru - İyileştirmelerin Özeti

Bir sinir ağının bileşenlerinin ve bunların matematiksel işlemlerinin bu kullanışlı anlayışıyla, donanım hızlandırmanın neden bu kadar önemli olduğunu tam olarak anlamaya başlayabiliriz. Son bölümde paralelleştirmenin ağı hızlandırmak için hayati önem taşıdığını görebiliriz. örneğin her bir nörona karşılık gelen birkaç paralel nokta çarpımını hesaplamamıza olanak tanır aktivasyon. Bu nokta çarpımlarının her biri, sayılar üzerinde, mobil uygulamalarda genellikle 8 bit hassasiyetle yapılan ve mümkün olduğu kadar çabuk gerçekleşmesi gereken çarpma toplama işlemlerinden oluşur. AI Engine, geliştiricinin performans ve güç verimliliği hususlarına bağlı olarak bu görevlerin yükünü hafifletmek için çeşitli bileşenler sunar.

Bu yılki Snapdragon Zirvesi'nde sahnede gösterilen popüler MNIST veri kümesi için bir CNN diyagramı. Vektör işleme birimi, örnek örneğimizde olduğu gibi, tamamen bağlı katmanlar için iyi bir seçimdir. Bu arada tensör işlemcisi, birden fazla kaymayı işleyen evrişim ve havuzlama katmanlarını yönetir. Yukarıdaki şemada olduğu gibi çekirdekler paraleldir ve her bir evrişim katmanı birçok ayrı özelliğin çıktısını verebilir. haritalar.

Öncelikle 3D oyunlar bağlamında genellikle bahsettiğimiz GPU’ya bakalım. Video oyunlarına yönelik tüketici pazarı, onlarca yıldır grafik işleme donanımlarının gelişimini teşvik ediyor, ancak GPU'lar sinir ağları için neden bu kadar önemli? Yeni başlayanlar için, oyun içi dünya durumunu takip etmek için çokgen köşelerinin 3 boyutlu koordinatlarından oluşan devasa listeleri aynı anda çiğniyorlar. GPU'nun ayrıca bu 3 boyutlu görüntüleri dönüştürmek (veya eşlemek) için devasa matris çarpma işlemlerini gerçekleştirmesi gerekir. Koordinatları 2B düzlemsel, ekran üstü koordinatlara göre ayarlar ve aynı zamanda piksellerin renk bilgilerini de işler. paralel. Hepsinden önemlisi, oyun içi geometri üzerine yerleştirilmiş doku bitmap'leri için devasa bellek arabelleklerini yönetmek üzere yüksek bellek bant genişliği sunuyorlar. Paralelleştirme, bellek bant genişliği ve bunun sonucunda ortaya çıkan doğrusal cebir yeteneklerindeki avantajları, sinir ağlarının performans gereksinimlerine uygundur.

Adreno GPU serisi bu nedenle Qualcomm AI Engine'de büyük bir rol oynayacak ve sahnede Qualcomm, Snapdragon 865'teki bu güncellenmiş bileşenin şunları mümkün kıldığını belirtti: iki kat daha fazla kayan nokta kapasitesi Ve TOPS sayısının iki katı önceki nesle kıyasla, grafik oluşturmada yalnızca %25'lik bir performans artışı kaydettikleri göz önüne alındığında bu şaşırtıcı. Yine de bu sürüm için şirket, Aritmetik mantık birimlerinin (ALU'lar) sayısında %50 artışAncak her zamanki gibi GPU frekanslarını açıklamadılar. Qualcomm ayrıca karma hassaslığı da listeledi talimatlar, kulağa tam da böyle geliyor: tek bir hesaplama yöntemindeki işlemler arasında farklı sayısal hassasiyet.

Hexagon 698 DSP, Snapdragon 865'in sunduğu performans kazanımlarının büyük bir kısmını gördüğümüz yerdir. Bu yıl şirket, DSP'nin vektör uzantılarında (geçen yılın 855'inde performansı dört katına çıkan) veya skaler birimlerinde iyileştirmeler bildirmedi. Ancak bu bloğun Tensör Hızlandırıcısı için şu sonuca ulaştıklarını belirtiyorlar: TOP'ların dört katı Geçen yıl Hexagon 695 DSP'de tanıtılan versiyonla karşılaştırıldığında, aynı zamanda şunları da sunabiliyor: %35 daha iyi güç verimliliği. Bu, görüntü nesnesi algılamadan otomatik konuşma tanımaya kadar uzanan modern yapay zeka kullanım durumlarında evrişimli sinir ağı mimarilerinin yaygınlığı göz önüne alındığında büyük bir olaydır. Yukarıda açıklandığı gibi, bu ağlardaki evrişim işlemi, aşağıdakiler için 2 boyutlu bir matris çıktı dizisi üretir: her bir filtre, yani birlikte istiflendiğinde evrişim katmanının çıktısı bir 3 boyutlu dizi veya tensör.

Qualcomm ayrıca "yeni ve benzersiz" ürünlerini de tanıttı derin öğrenme bant genişliği sıkıştırması görünüşe göre mümkün olan teknik Verileri kayıpsız bir şekilde yaklaşık %50 oranında sıkıştırın, bu da verilerin yarısını taşıyarak yonga setinin diğer bölümleri için bant genişliğini serbest bırakmasını sağlar. Ayrıca, bize herhangi bir rakam verilmemiş olsa da, veri akışını azaltarak güç tasarrufu sağlamalıdır ve verileri sıkıştırmanın da küçük bir güç maliyeti olması gerekir.

Bant genişliği konusunda Snapdragon 865 şunları destekliyor: LPDDR5 belleğiBu aynı zamanda kaynakların ve girdi verilerinin aktarılma hızını artıracağından yapay zeka performansına da fayda sağlayacaktır. Qualcomm'un donanımın ötesinde yeni Yapay Zeka Modeli Verimliliği Araç Seti geliştiricilerin kullanımına kolay model sıkıştırma ve bunun sonucunda güç verimliliği tasarrufu sağlar. Sinir ağları genellikle çok sayıda "yedek" parametreye sahiptir; örneğin gizli katmanları olması gerekenden daha geniş hale getirebilirler. Sahnede tartışılan Yapay Zeka Araç Seti özelliklerinden biri şu şekildedir: modeli sıkıştırmaBahsedilen yöntemlerden ikisi uzaysal tekil değer ayrıştırması (SVD) ve Bayesian sıkıştırmadır; her ikisi de gereksiz düğümlerden kurtularak ve model yapısını gerektiği gibi ayarlayarak sinir ağını etkili bir şekilde budayan gerekli. Sahnede sunulan diğer model sıkıştırma tekniği kuantizasyonla ilgilidir ve ağırlık parametrelerinin sayısal hassasiyetinin ve aktivasyon düğümü hesaplamalarının değiştirilmesini içerir.

Sinir ağı ağırlıklarının sayısal kesinliği, hesaplama için kullanılan sayısal değerlerin 64, 32, 16 (yarı duyarlıklı) veya 8 bitlik değerler olarak saklanmasını, aktarılmasını ve işlenmesini ifade eder. Daha düşük sayısal hassasiyet kullanmak (örneğin, INT8'e karşı FP32), genel bellek kullanımını ve veri aktarım hızlarını azaltarak daha yüksek bant genişliğine ve daha hızlı çıkarımlara olanak tanır. Günümüzün derin öğrenme uygulamalarının çoğu, çıkarım için 8 bitlik hassas modellere geçmiştir. şaşırtıcı: daha yüksek sayısal doğruluk, sınıflandırma veya regresyonda daha "doğru" tahminlere olanak sağlamaz mı? görevler? Şart değil; Sinir ağları gürültülü girdilerle başa çıkmak üzere eğitildiğinden, özellikle çıkarım sırasında daha yüksek sayısal kesinlik boşa gidebilir veya Zaten eğitim boyunca küçük bozulmalar vardır ve belirli bir (FP) değerinin alt bit temsilindeki hata, tekdüze olarak 'rastgeledir' yeterli. Bir bakıma, hesaplamaların düşük hassasiyeti ağ tarafından başka bir gürültü kaynağı olarak ele alınır ve tahminler kullanılabilir kalır. Sezgisel açıklayıcılar bir yana, bir modeli kötü bir şekilde nicelleştirirken muhtemelen bir doğruluk cezasına maruz kalacaksınız bazı önemli hususları hesaba katmadan, bu nedenle birçok araştırma ders

Qualcomm AI Araç Takımına geri dön: Bu araç aracılığıyla şunları sunuyorlar: veriden bağımsız nicemleme, çeşitli görevlerde orijinale yakın model performansı elde etmeye devam ederken, modellerin veri veya parametre ince ayarı olmadan nicelenmesine olanak tanır. Temel olarak, nicemleme için ağırlık parametrelerini uyarlar ve daha düşük hassasiyetli ağırlıklara geçiş sırasında ortaya çıkan yanlılık hatasını düzeltir. Kuantizasyondan elde edilen faydalar göz önüne alındığında, bir API çağrısı altında prosedürün otomatikleştirilmesi, model üretimini ve dağıtımını basitleştirecektir ve Qualcomm iddia ediyor Watt başına dört kattan fazla performans nicelenmiş modeli çalıştırırken.

Ancak yine de bu şaşırtıcı değil: modelleri niceleme, muazzam bant genişliği ve depolama avantajları sunabilir. Bir modeli INT8'e dönüştürmek yalnızca bant genişliğinde 4 kat azalma sağlamakla kalmaz, aynı zamanda daha hızlı tamsayı hesaplamalarının avantajını da sağlar (donanıma bağlı olarak). O halde hem niceleme hem de sayısal hesaplamaya yönelik donanımla hızlandırılmış yaklaşımların büyük performans kazanımları sağlayacağını düşünmek hiç de akıllıca değil. Onun blogundaÖrneğin Google'dan Pete Warden, Qualcomm ve Tensorflow ekipleri arasındaki işbirliğinin 8 bitlik modellerin yedi kat daha hızlıHVX DSP'de CPU'dan daha fazladır. Özellikle Qualcomm'un INT8 performansına nasıl odaklandığı göz önüne alındığında, kullanımı kolay nicelemenin potansiyelini abartmak zordur.

Snapdragon 865'in ARM tabanlı Kryo CPU'su hala AI motorunun önemli bir bileşenidir. Yukarıdaki paragraflarda tartışılan donanım hızlandırması tercih edilse de bazen Bu bloklardan gerektiği gibi yararlanmayan ve CPU'nun bozulmasına neden olan uygulamalardan kaçınılamaz. geri çekilmek. Geçmişte ARM, matris ve vektör tabanlı hesaplamaları hızlandırmayı amaçlayan özel komut setleri sunmuştu. ARMv7 işlemcilerde, DSP benzeri talimatlara olanak tanıyan bir SIMD mimarisi uzantısı olan ARM NEON'un tanıtımını gördük. ARMv8.4-A mikro mimarisiyle özellikle nokta ürünler için bir talimatın tanıtıldığını gördük.

Yayınlanan bu performans kazanımlarının tümü, önceki bölümde tanımladığımız iş yüklerinin çoğuyla ilgilidir, ancak aynı zamanda bu Snapdragon 865 yükseltmelerinin de yalnızca en son Qualcomm'un yapay zeka yeteneklerindeki iyileştirmeler. 2017 yılında Hexagon 685 DSP ve diğer yonga seti güncellemeleriyle yapay zeka yeteneklerinin üç katına çıktığını belgeledik. Geçen yıl tensör hızlandırıcılarını ve donanım düzeyinde doğrusal olmayan işlevlere (yukarıda bahsedilen ReLU gibi!) entegre desteği tanıttılar. Ayrıca vektör hızlandırıcıların sayısını iki katına çıkardılar ve skaler işlem biriminin performansını %20 artırdılar. Tüm bunları, ARM sayesinde daha hızlı nokta ürün işlemleri ve GPU'daki ek ALU'lar gibi CPU tarafındaki geliştirmelerle eşleştiren Qualcomm, sonuçta üç katına çıktı ham yapay zeka yetenekleri de var.

Pratik Kazanımlar ve Genişletilmiş Kullanım Durumları

Tüm bu yükseltmeler, Snapdragon 865'in yapay zeka yeteneklerinin yalnızca iki yıl öncesine kıyasla beş kat artmasına yol açtı, ancak Belki de en önemlisi, iyileştirmeler aynı zamanda mobil cihazlar için kritik bir ölçüm olan miliwatt başına daha iyi performansla birlikte geldi. cihazlar. Snapdragon Zirvesi 2019'da Qualcomm bize AI Motorunu çeşitli sınıflandırma ağlarındaki iki rakiple karşılaştıran birkaç kriter verdi. Bu rakamların, Apple'ın A serisi ve Huawei'nin HiSilicon işlemcileriyle karşılaştırmalara olanak tanıyan platformlar arası kıyaslama uygulaması AIMark kullanılarak toplandığı görülüyor. Qualcomm, bu sonuçların AI Motorunun tamamını kullandığını iddia ediyor ve daha fazlası için beklememiz gerekecek Her bir bileşenin etkisini uygun şekilde ayrıştırmak ve bu testlerin nasıl yapıldığını belirlemek için kapsamlı kıyaslama yürütülen. Örneğin, B şirketinin sonuçları CPU geri dönüşünü gösteriyor mu? Bildiğim kadarıyla AIMark şu anda örneğin Mate 30 Pro birimlerimizde Kirin 990'ın NPU'sundan yararlanmıyor. Ancak Snapdragon Sinir İşleme Motorunu destekliyor, dolayısıyla Qualcomm AI Motorundan kesinlikle yararlanacak; Dahili bir test olduğu göz önüne alındığında, karşılaştırmalı değerlendirmenin rakipleri için doğru kitaplıkları veya SDK'yı uygun şekilde kullanıp kullanmadığı açıkça belli değil.

Qualcomm'un Snapdragon 865'in yapay zeka işleme yeteneklerini daha önce duyurulan veya piyasaya sürülen yonga setleriyle etkili bir şekilde karşılaştırdığını da söylemek gerekir. Bir sonraki döngüde rakiplerinin de benzer şekilde etkili performans iyileştirmeleri getirmesi çok muhtemeldir ve eğer bu gerçekleşirse Bu durumda Qualcomm, Snapdragon 865 cihazları raflara çıktığı andan itibaren yalnızca yaklaşık yarım yıl boyunca tacı elinde tutabilecekti. Bununla birlikte, bunlar hala Snapdragon 865'ten bekleyebileceğimiz türden darbelerin göstergesi. Qualcomm, gelecek sürümlerin performans iyileştirmelerini ve kıyaslama sonuçlarını iletirken genel olarak çok doğru davrandı.

Bu kıyaslamalarda sunulan ağların tümü, ImageNet gibi veritabanlarındaki görüntüleri sınıflandırıyor, bunları girdi olarak alıyor ve yüzlerce kategoriden birini çıktı olarak veriyor. Mimarileri çok farklı olmasına rağmen yine ikinci bölümde anlattığımız türde işlemlere güveniyorlar. bu örneklerden daha karmaşıktır ve yayınlandıkları dönemde en gelişmiş çözümler olarak kabul edilmişlerdir. En iyi durumda, en yakın rakipleri saniyedeki çıkarım sayısının yarısından azını sağlıyor.

Güç tüketimi açısından Qualcomm, belirli bir güç miktarında mümkün olan AI işleme miktarını göstermek için watt başına rakamlara ilişkin çıkarımlar sundu. En iyi durumda (MobileNet SSD), Snapdragon Yapay Zeka Motoru aynı güç bütçesi altında iki kat daha fazla çıkarım sunabilir.

Güç özellikle mobil cihazlar için önemlidir. Örneğin sinir ağı tabanlı bir Snapchat filtresini düşünün. Gerçekçi olarak, yüz bilgisini çıkaran ve bir maske veya giriş uygulayan bilgisayarlı görüş hattı Akışkan bir dönüşüm elde etmek için dönüşümün yalnızca saniyede 30 veya 60 tamamlama hızında çalışması gerekir deneyim. Ham yapay zeka performansını artırmak, daha yüksek çözünürlüklü girdiler almanızı ve daha iyi görünen filtreler çıkarmanızı sağlar, ancak bu durum Ayrıca daha hızlı yüklemeler için HD çözünürlüğü tercih etmek ve güç tüketimini ve termal kısıtlamayı azaltmak da tercih edilebilir. Pek çok uygulamada "daha hızlı" mutlaka "daha iyi" anlamına gelmez ve bu durumda gelişmiş güç verimliliğinin avantajlarından yararlanılır.

Snapdragon Zirvesi'nin 2. Gününde, Snapchat Kıdemli Mühendislik Direktörü Yurii Monastyrshyn sahneye çıkarak bunun nasıl yapıldığını gösterdi. en yeni derin öğrenme tabanlı filtreleri, Snapdragon'daki Hexagon 695 DSP'yi kullanan Hexagon Direct NN tarafından büyük ölçüde hızlandırılıyor 865.

Üstüne üstlük, geliştiriciler daha kolay sinir ağı uygulamalarına eriştikçe ve daha fazla uygulama yapay zeka tekniklerini kullanmaya başladıkça, akıllı telefonun birden fazla işlemi yönetmesi gerekeceğinden eşzamanlılık kullanım durumları daha fazla ilgi odağı haline gelecektir. aynı anda paralel AI ardışık düzenleri (çeşitli kaynaklardan gelen giriş sinyallerini işleyen tek bir uygulama için veya çok sayıda uygulamanın ayrı ayrı çalıştırılması için) cihazda). Bilgi işlem DSP, GPU ve CPU'da kayda değer güç verimliliği kazanımları görsek de Qualcomm Sensing Hub, çok düşük güç tüketiminde tetikleyici kelimeleri dinlemek için her zaman açık kullanım durumlarını yönetir. 1 mA'nin altındaki akımda ses, video ve sensör beslemelerinin izlenmesine olanak tanıyarak cihazın, tanıdık dijital asistan anahtar kelimelerinin yanı sıra belirli ses işaretlerini (bir bebeğin ağlaması gibi) tespit etmesine olanak tanır. Bu bağlamda Snapdragon 865, yalnızca anahtar kelimeyi değil aynı zamanda onu kimin söylediğini de tespit ederek yetkili bir kullanıcıyı tanımlayıp buna göre hareket etmeyi sağlıyor.

Uç Cihazlarda Daha Fazla Yapay Zeka

Bu iyileştirmeler sonuçta kullanıcı deneyiminiz için somut faydalara dönüşebilir. Çeviri, nesne tanıma ve etiketleme, kullanım tahminleri veya öğe önerileri içeren hizmetler, doğal dil anlama, konuşma ayrıştırma vb. daha hızlı çalışma ve daha az tüketme avantajına sahip olacak güç. Daha yüksek bir bilgi işlem bütçesine sahip olmak, yeni kullanım örnekleri ve deneyimlerin oluşturulmasına ve eskiden bulutta gerçekleşen süreçlerin cihazınıza taşınmasına da olanak tanır. Yapay zeka terimi geçmişte (hatta OEM'ler tarafından) şüpheli, aldatıcı ve hatta hatalı şekillerde kullanılmış olsa da, Bugün keyif aldığınız hizmetlerinizin çoğu, sonuçta bir şekilde makine öğrenimi algoritmalarına dayanır veya bir diğer.

Ancak Qualcomm'un ötesinde diğer yonga seti üreticileri de bu alanda hızla ilerleme kaydediyor ve gelişiyor. Örneğin 990 5G, 2+1 NPU çekirdek tasarımıyla Kirin 980'e göre 2,5 kat, Apple A12'ye göre ise iki kat daha fazla performans sağladı. İşlemci duyurulduğunda saniyede iki kata kadar kare (çıkarım) sunduğu gösterilmişti INT8 MobileNet'te Snapdragon 855'in Qualcomm tarafından sağlanan sonuçlarla bağdaşması zor. Öte yandan Apple A13 Bionic'in önceki modele göre altı kat daha hızlı matris çoğaltma olanağı sunduğu ve sekiz çekirdekli sinir motoru tasarımını geliştirdiği bildirildi. Snapdragon 865'i ticari cihazlarda mevcut ve gelecekteki rakiplerine karşı düzgün bir şekilde test edene kadar beklememiz gerekecek, ancak bu Üç şirketin yapay zekalarını iyileştirmek için tonlarca kaynak akıtması nedeniyle bu alandaki rekabetin asla sabit kalmayacağı açıktır. verim.