Derin sinir ağlarının (DSA) hızlı çıkarım ve hata dayanıklılık analizi için fpga uygulaması
Fpga implementation of deep neural networks (DNNS) for fast inference and error resilience analysis
Yazar: UĞUR BERK ÇELİK
Danışman: DR. ÖĞR. ÜYESİ ÖMER CEYLAN
Sabancı Üniversitesi / Fen Bilimleri Enstitüsü / Elektronik Mühendisliği Ana Bilim Dalı / Elektronik Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering

Özet:
Derin öğrenme, makine öğrenmesinin bir alt kümesi olarak, karmaşık kalıpları modelleme ve yüksek doğrulukta tahminler yapma yeteneği ile birçok alanda devrim yaratmıştır. DNN'ler giderek kritik uygulamalarda kullanıldıkça, güvenilirlik ve sağlamlıklarını sağlamak birinci derecede önem kazanmaktadır. Hata dayanıklılığı, bir ağın hatalarla veya arızalarla karşılaşmasına rağmen kabul edilebilir performansı sürdürme yeteneğini ifade eder. Bu hatalar, donanım arızaları, çevresel koşullar ve operasyonel stresler dahil olmak üzere çeşitli kaynaklardan kaynaklanabilir. DNN'leri mobil telefonlar, nesnelerin interneti ve gömülü sistemler gibi uçta hesaplama yapan cihazlara dağıtmak, sınırlı hesaplama gücü, bellek ve enerji mevcudiyeti nedeniyle zorluklar sunar. DNN'lerin hata dayanıklılığından yararlanmak, kaynak kısıtlı cihazlarda enerji verimliliğini önemli ölçüde artırabilir.

Bu tez, evrişimsel sinir ağlarının (CNN'ler) bit düzeyindeki hatalara karşı dayanıklılığını değerlendirmeyi amaçlayan bir hata enjeksiyon platformu sunmaktadır. Bu platform, hem bit başına hem de katman başına hata enjeksiyonu sağlamak için 2D hata matrisi formatını kullanır. Matrisin boyutlarını, hata enjeksiyon katmanlarının sayısı (satırlar) ve kuantizasyon bit genişliği (sütunlar) belirler. Matristeki her bir eleman, belirli bir katman ve bit pozisyonu için bit hata oranını temsil eder ve böylece kesin ve ayrıntılı hata simülasyonu sağlar.

 Ağın çalışması sırasında dinamik olarak hataların tanıtıldığı gerçek zamanlı hata enjeksiyon simülasyonları, başka bir hesaplama talebi katmanı ekler. Bu simülasyonlar, gerçek zamanlı koşulları ve ağ tepkilerini doğru bir şekilde taklit etmeli ve genellikle yüksek frekanslı işleme ve düşük gecikmeli hesaplama gerektirir.

Bu, verimli bir şekilde uygulamak için, AMD Xilinx Ultrascale+ SoC üzerinde Vitis AI platformu kullanılarak dağıtılmıştır. Çerçeve, Verilog HDL'de tasarlanan özel bir Hata Enjeksiyon IP'si ile daha da geliştirilmiştir. Bu IP, evrişimsel ve tam bağlantılı katmanların çıktısına hataların enjekte edilmesini kolaylaştırır. Hata Enjeksiyon IP'si, gelen aktivasyon verilerini üretilen bit hatalarına dayalı olarak bir XOR kapısı kullanarak hatalar enjekte etmek gibi çeşitli kritik görevleri yerine getirir.

Hata Enjeksiyon IP'sinde, rastgele hatalar üretmek için Doğrusal Geri Besleme Kaydırma Kaydedicisi (LFSR) kullanılır. LFSR çıktılarını kontrolünü sağlamak amacıyla filtre modülü tasarlanmıştır.

Abstract:
Deep learning, a subset of machine learning, has revolutionized numerous fields by its ability to model complex patterns and make highly accurate predictions. As Deep Neural Networks (DNNs) are increasingly deployed in critical applications, ensuring their reliability and robustness becomes paramount. Error resilience refers to a network's ability to maintain acceptable performance despite encountering faults or errors. These errors can stem from various sources, including hardware defects, environmental conditions, and operational stresses. Deploying DNNs on edge devices, such as mobile phones, IoT (Internet of Things), and embedded systems, presents unique challenges due to limited computational power, memory, and energy availability. Exploiting the error resilience of DNNs can significantly enhance energy efficiency for edge devices.

This thesis introduces an error injection framework aimed at evaluating the resilience of convolutional neural networks (CNNs) to bit-level faults. This framework employs a 2D error matrix format to achieve error injection at both the per-bit and per-layer levels. The dimensions of the matrix align with the number of error injection layers (rows) and the quantization bit width (columns). Each element in the matrix represents the bit error rate for a specific layer and bit position, allowing for precise and detailed error simulation.

Real-time error injection simulations, where faults are introduced dynamically during the network's operation, add another layer of computational demand. These simulations must accurately emulate real-time conditions and network responses, often requiring high-frequency processing and low-latency computation.

To efficiently implement this advanced framework, it was deployed on the AMD Xilinx Ultrascale+ SoC using the Vitis AI platform. The framework was further enhanced by designing a specialized Error Injection IP in Verilog HDL. This IP facilitates the injection of errors into the outputs of convolutional and fully connected layers. The Error Injection IP performs error injection using an XOR gate based on the generated bit errors.

The Error Injection IP includes a Linear Feedback Shift Register (LFSR) to generate random errors, and the filter module is designed to ensure efficient and controlled fault injection.