Derin öğrenme, bilgisayar vizyonundan konuşma tanımaya kadar endüstrileri değiştirdi, ancak modern sinir ağlarının hesaplama talepleri eşsiz bir nişe devam ediyor: Bu, donanım hızlandırıcıları ele almak için -GPUs, FPGAs, ASICs ve DSPs - bu nedenle hizmete baskı altında kalıyorlar ve öğrenme olanaklarının derinleştirilmesi ve gerçek zamanlı işlem yöntemlerini ve gerçek zamanlı işlemeyi zorlaştırır.
DSP Processors
Dijital Signal Processors, tekrarlayan, matematiksel olarak yoğun operasyonlar için optimize edilmiş mikroişlemcilerdir -özellikle de çarpık olarak çoğalır (MACs) - sinyal işlemenin arka kemiği oluşturur. Genel amaçlı CPU'lardan farklı olarak DSP'ler, Harvard mimarlıklarını eş zamanlı olarak kullanır ve veri toplamalarına izin verir, boru hatlarının tezgahlarını azaltır. Anahtar mimari özellikleri şunlardır:
- [FONT:0) Çok az sayıdaki birim: Tek bir döngüde bir çoğaltma ve ek yapabilen, genellikle dourma veya yuvarlak mantıkla.
- [FONT:0]VLIW (Very Long Instruction Word) boru hatları:[Dönetici: 1 ) Birden çok operasyon, MAC artı iki yük veya mağaza gibi paralel olarak yayınlanabilir.
- [FONT:0)Circular tamponlama:) Yönelme ve filtreleme için Donanım desteği.
- [Tek Eğitim, Birden Çok Veri)) tamsayı veya sabit nokta verileri üzerinde vektörel işlemler için uzatmalar.
- [FONT:0) Düşük güç tasarımı:[DDSPT:1] Birçok DSPs 1 watt altında tüketiyor ve onları batarya destekli sistemler için ideal hale getiriyor.
DSP'ler ses ve telecom'daki kökenlerinin çok ötesinde gelişti. Modern DSP çekirdeği (örneğin, Texas Instruments C66x, Qualcomm Hexagon, CEVA-XM) yüzen birimleri, daha büyük önbellekler ve hatta özel sinir ağ işbirlikleri entegre etti. Yine de birincil gücü, veri örneklerinin akışının düşük ücretli bir infazı olarak kaldı.
Derin Öğrenmede DSPler İçin Vaka
Enerji Verimliliği ve Güç Bütçeleri
gömülü ve IoT senaryolarında, termal ve güç kısıtlamaları önemlidir. DSPs tipik olarak verimli MAC birimlerinden dolayı, minimum kontrolden dolayı ve hala gerçek zamanlı CPUlarla karşılaştırıldığında daha düşük saat frekanslarında çalışabilme yeteneği. Örneğin, sabit bir DSP performans için daha iyi bir olasılık süreci daha düşük bir şekilde sabitlenebilir.
Gerçek Zamanlı Deterministic Processing
Birçok kenar uygulamaları – aktif gürültü iptali, radar işleme veya bağımsız sensör füzyon gibi – geleneksel sinyal işleme bloklarını (örneğin, küçük bir sinir ağları ile filtreleme) güvenli döngüler ile gerçekleştirilebilir, güvenlik-kahkalama tasarımlarında veri akışı için tasarlanmıştır.
Maliyet ve Entegrasyon Avantajları
DSP'ler genellikle sistem-on-çipleri (SoCs) ile mikro kontroller, RF ön uçları veya uygulama işlemcileri ile entegre edilir. Bu entegrasyon, fatura-malzeme maliyetlerini, PCB alan ve güç dağıtım karmaşıklığı ile donatılmıştır. Bir tek çip CPUli VR'nin yanı sıra birden çok Hexagon DSP çekirdeği içerir; DSP'yi her zaman ücretsiz olarak kullanarak uygulama işlemcisini genişletir, batarya ömrünü uzatır.
Özellik ve Optimizasyon
DSP satıcılar ortak operasyonlar için optimize edilmiş geniş yazılım kütüphaneleri sağlar (FIR filtreler, FFTs, matrix multiplikasyon). Derin öğrenme için, bu, en sık DSP talimatları içerir) optimize edilmiş konvolution, havuzlu ağ çekirdekleri), VLIW paralelliği ve SIMD. For ARM Cortex-Melektatör için CMSIS-NN kütüphanesini içerir (bu genellikle DSP talimatları içerir) havuzlu, havuzlu ve aktivasyon fonksiyonlarını içerir.
DSP-Based Inference için Teknik Bakışlar
Matin Operasyonları ve Kısıtlamalar
Derin öğrenmenin temeli, konvolution veya tamamen bağlantılı bir tabakadır. A DSP'nin MAC serisi, verileri etkin bir şekilde sıkıştırırsa bu işlemleri etkin bir şekilde idare edebilir. Çünkü DSPs tipik olarak SIMD'yi kullanan küçük yerel anıların bir dizisine kayıt yaptırabilir).
Sayılama ve Hassasiyet
Çoğu DSP'ler sabit nokta (IEEE 754 tek-precision) sabit bir şekilde destekleniyor.Seks-bit tamsayı [DNTD) ile ilgili olarak, FP32 ve çiftleri birden fazla kodlama (IEEE 754 tek-precision) için. DSP'ler için, doğrulayıcı olmayan ürünler için (örneğin, DSP'ler için) doğrulayıcı veya kontroller için gerekli olan kontroller için gerekli olan kontroller için (örneğin, DSP'ler)
Framework ve Toolchain Support
TensorFlow, PyTorch ve ONNX Runtime GPU merkezli, birkaç gömülü çerçeve hedef DSP'ler: TensorFlow Micronetler için Lite (TFLM), Arm CMSIS-NNPACK ile birlikte (örneğin DSP'ler için) ve özel satıcılar için (örneğin, HTML'ler) daha fazla sayıda yeniden geliştirilmemelidir.
Sınırlamalar ve Zorluklar
Sınırlı Paralellik
GPUs, VLIW'yi kullanırken, yüksek çözünürlükte olan DSP'ler için, CEVA-X6 gibi yüksek çözünürlükte iki değişkene sahipler.Preno 740'ı kullanarak bile, DSP'ler sadece birkaç yüz bin parametrenin altında olan yüksek çözünürlükte olan modellere uygundur (p=1,5 $ 1.500 $ 1.500 $).
Memory Band geniş Constraints
DSP'ler genellikle paylaşılan dış hafızaya (DDR3/4, LPDDR) tek bir otobüsle erişim sağlar, DSP, harici hafızaya sahip olan dört-8 GB /s, GPU geniş otobüsleri kullanırken (örneğin, HBM ile sabit bir tabakayı 1 TB /s üzerinden teslim eder).
Çerçeve ve Ekosistem Gaps
Büyük derin öğrenme çerçeveleri otomatik farklılaşma, dağıtılmış eğitim ve geniş operatör kütüphaneleri ile birinci sınıf GPU desteğine sahiptir. DSP'ler için, araç zincir genellikle [[Ücretsiz, parçalanmış ve daha az olgun) Geliştiriciler, farklı DSP aileleriyle farklı modeller için devre dışı bırakmak ve manuel olarak yönetmek için.
Hassasiyet ve Sayısal Hassasiyet
Sayısallaştırma birçok model için iyi çalışırken, bazı mimariler (örneğin, dikkat temelli transformatörler) sadece sabit nokta ile DSP'ler, GPU-precision iş akışları veya ko-işlemcileri doğrulayabilirler. ek olarak, [[0)0.DSPT:0|tr|DSPT:1) DSP varyantları arasında farklı olarak, referanstan farklı olarak sayısal equivalite ve muhtemelen yeniden eğitim modelleri doğrulamalıdır.
Vakaları ve Şeytanları Kullanın
Sınırlara rağmen, DSP'ler birkaç iyi tanımlanmış inferans görevlerinde etkili olmuştur:
- [FONT=0)Keyword spotting (KWS)) – Küçük bir tebrik veya tekrarlayan model ((500K parametreleri) DSP'de sürekli olarak çalışan 10 mW'nin altında “Hey Siri” gibi bir kelimeleri tespit edebilir.
- [FONT:0]Person mikro kontroller üzerinde algılama[[Döneticiler) - MobilNet v1 (0.25 derinlik çokplier) INT8 ölçümleme ile, DSP uzantıları ile bir kişi tespit edebilirken, 30 mW.5 FPS'de bir kişi tespit edebilir.
- [FONT:0) Endüstriyel sensörler için bir anomali tespiti[Dönetici: 1) DSPs, titreşim veya akustik sinyalleri gerçek zamanlı olarak makine hataları tespit etmek için küçük bir otomatikleştirici ile işlemeyi başarabilir.
- [FONT:0]Sensor füzyon, drone'da – IMU, kamera ve radar verileri, DSP'de düşük çözünürlük engeli önlemeye yetecek kadar küçük bir modelle birleştirin.
Bu örnekler ortak özellikleri paylaşıyor: küçük model büyüklüğü, toplu büyüklüğü 1, düşük hassasiyet kabul edilebilir ve deterministic latency kritik.
Diğer Hızlandırıcılarla Karşılaştırma
DSP, GPU, FPGA veya ASIC arasında seçim yapmak hedef uygulamaya bağlıdır. Aşağıda ticaret-offların özeti:
- [FONT:0)GPU: [DÜDÜDÜSÜŞÜNCÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜ: 0,5|KAMİKİŞİM: 0,8|DÜye Olmayan veya termal olarak kısıtlanmış cihazlar için uygun değil.
- [FONT=0]FPGA: [DÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜ: 0 ) Yüksek enerji verimliliği ve yeniden yapılandırılabilir veripathi, ancak gelişim karmaşıklığı önemli ölçüde artar. Düşük değerli hassasiyet ve üstolojiler için daha iyi.
- [FONT=0)ASIC (e.g., NPU): ), sabit işlevli matris motorlar için zirve performansı sunar, ancak genel amaçlı programlanabilirlik kaybı.
- [FONT:0]DSP: [DFLT:1] Programlanabilirlik, düşük güç ve gerçek zamanlı yeteneklerin iyi dengesi, ancak sınırlı paralellik ve hafıza genişliği için en iyi, her zaman gömülü sistemlerdeki modeller.
- [FONT:0)CPU:[Dönetici] Çoğu esnek, ancak derin öğrenme için en kötü verimlilik. Ancak, AVX-512/VNNI ile modern CPUlar, DSP benzeri performansı INT8 için geliştirilmiştir.
Birçok sistemde, DSP'ler CPU veya FPGA'lar ile birlikte işbirlikleri olarak kullanılır, başka bir hızlandırıcı sinir ağı çalıştırırken sinyal işleme cephesini kullanın.
Devam Eden Araştırma ve Gelecek Yolları
DSP tabanlı derin öğrenme için donanım ve yazılım ekosistemi gelişmektedir. Anahtar eğilimleri şunlardır:
- [FONT:0] Heterogeneous bilgisayar mimarisi[DGSS 1: 1 ), DSP'lerin küçük sinir ağ hızlandırıcıları ile sıkı bir şekilde entegre edildiği yerde, TI's TDA4x serisi bir DSP, bir CNN hızlandırıcısı (C7x), ve farklı iş yüklerini örtmek için derin bir öğrenme hızlandırıcısı (C66x) birleştirir.
- [0]Yenileştirilmiş araç zincirleri [[DDDDDDDKD) otomatik ölçümleme, model bölme ve DSP için kod nesli. Google'ın TensorFlow Lite for Micro controllers now hedefler ARM Cortex-M with DSP talimatları ile ve çabaları RISC-V vektör uzantılarını desteklemek için altındadır.
- [FONT:0]Sparse modeli ivme[[Dönetici: 0)[DÜDÜDÜSTR:0)Sparse modeli ivmesi[[DÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜDÜNÜDÜDÜDÜDÜDÜNÜDÜDÜDÜSÜSÜSÜSÜSÜSÜŞÜNİVERSÜŞÜNİVERSİ - DSPSÜŞÜNCÜŞÜNCÜŞÜNCÜŞÜNCÜŞÜNCÜŞÜNİVERSÜŞÜNÜŞÜNCÜŞÜNÜŞÜNİVERSÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNİVERSÜŞÜNÜŞÜNCÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNCÜŞÜNÜŞÜNÜŞÜNÜŞÜNCÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNC
- [FONT=0) DSP'lerin düşük çözünürlükte (CD)[Dönetici:0) ve binerizasyon araştırılıyor; bazı DSP'ler, son derece ölçümlenen ağlar için birden fazla 4bit değer paketleyebilir, yüksek kodlu ağ elde edebilir.
Uzak AI hem düşük gecikme ve düşük güç talep etmeye devam ettikçe, DSPs - özellikle hafif sinir hesap birimleri ile artırılmış - uzun süre gerçek zamanlı çıkarım görevleri için uygun bir seçenek kalma olasılığı yüksektir.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Dijital Signal Processors, güçlendirici ortamlardaki güçlü yönleriyle, düşük maliyetle, her zaman kenarda küçük model uygulamaları hızlandıracak şekilde tasarlanmıştır. Ancak, paralellik ve hafıza bant genişliği önbellek DSP'lerin büyük ölçekli modelleri veya eğitim iş yüklerini kullanarak doğru bir şekilde çalışabilmesi için doğru bir şekilde yapılandırılması gerekir. DSP tabanlı derin öğrenme, doğrulayıcı bir algoritma ile birlikte, doğrulayıcı bir sinyal işleme için uygun olmayan bir şekilde çalışır.