Hisilicon Review

Home Technology Hisilicon Review

Computer vision, IOT ve yapay zeka uygulamalarında uç cihazların performansı, güç tüketimi ve maliyeti çok önemlidir. Derin öğrenme modelleri gibi yapay zeka modelleri yoğun hesaplamaladır ve CPU’nun yapısı gereği paralel hesaplamalardaki yetersizliği ile beraber farklı donanımlara ihtiyaç duyulmuştur. Bu ihtiyaca karşılık halihazırda kullanılan grafik işlemcisi olarak da adlandırılan, yoğun paralel hesaplamalardaki ihtiyacı bir miktar karşılayabilen GPU’lar günümüzde sıkça tercih edilmektedir. GPU’da genel amaçlı bir donanımdır ve tabiki de bir CPU’ya ihtiyaç duyar. Bahsedilen genel amaçlı yapıların yanı sıra özel bir amaç için üretilen çipler yani ASIC’ler bu konuda ön plana çıkmaktadır. ASIC’ler ne kadar performanslı olsalar da, spesifik görevler dışında kullanımları zor ve masraflıdır. Bu konuda FPGA’lar esneklikleri, düşük güç tüketimleri ve düşük gecikme süreleriyle ön plana çıkmaktadır. FPGA’lar aynı saat döngüsünde, farklı bölümlerinde farklı işlemler için programlanabilir, doğaları gereği paralel olarak kabul edilebilirler. FPGA’lar HDL(Hardware Description Language) dilleri ile programlanabilir, genellikle VHDL veya Verilog tercih edilir. FPGA’lar güçlü bir donanım altyapısı gerektirmektedir bu yüzden son zamanlarda üreticiler, yazılım geliştiricilerin yüksek donanım bilgisine sahip olmadan uygulamalarını geliştirebilmeleri için PYNQ* gibi çeşitli araçlar geliştirmeye çalışmaktadır. UCLA ve Xilinx, GPU/FPGA karşılaştırılması için farklı uygulamalarda Xilinx Virtex 7 FPGA ve 28nm Nvidia K40c GPU kullanarak yaptıkları çalışmanın sonucunu Şekil A’da görebilirsiniz.

Şekil A: GPU vs FPGA

HiSilicon

HiSilicon’un kameralar için geliştirdiği ve NNIE(Neural Network Inference Engine) ile çeşitli sinir ağları opsiyonları sunan düşük güç tüketimli Hi3516DV300, Hi3519AV100, Hi3559AV100 System-on-Chip’lerinin genel karşılaştırılmasını Şekil 1’de görebilirsiniz[1]. NNIE özellikle derin sinir ağları olmak üzere sinir ağları için hesaplamayı hızlandırmak adına özel olarak tasarlanan bir donanım birimidir. AlexNet, GoogleNet, ResNet gibi mevcut ağların çoğunu destekler. CNN, YOLO, SSD gibi nesne algılama ağlarının yanı sıra SegNet gibi segmentasyon ağlarını da destekler. Fakat sadece Caffe yapısını destekler, diğer yapıdaki modeller dönüştürülmelidir. Hi3516DV300, diğer HiSilicon üyelerine göre giriş seviyesi özelliklere sahip olmasına rağmen, bahsedilen NNIE ile 1 TOPS’a kadar işlem performansına sahiptir. Ayrıca sahip olduğu IVE(Intelligent Video Engine) sayesinde, Canny, Erode, Dilate, Thresholding, NCC, CCL, GGM gibi bazı görüntü işleme yöntemlerinin hızlandırılmasını sağlar. Şekil 2’de görüldüğü gibi bu SoC, 4 alt sistemden oluşmaktadır:

  • CPU Subsytem
  • Video Subsytem
  • Image Subsytem
  • AI Subsytem

3072 x 1728 çözünürlüğünde H.265/H.264 video encoding ve decoding özelliğine sahiptir. Sony, OmniVision, Panasonic ve ON gibi üreticilerin HD CMOS sensörleriyle uyumludur. Linux veya HarmonyOS destekler. Bir forum sayfasında, gerçek zamanlı olarak belirtilen YOLOV3 uygulamasında, yazar 1080p çözünürlüğünde algılama hızının 2 FPS olduğundan bahsetmiştir[2]. Farklı bir forumda bu hızın 10 FPS olduğundan bahsedilmiştir[3]. DOPI NEO (Hi3516DV300) geliştirme kartı[4] ¥1.699 fiyatı ile ₺3.636 diğer bir üreticinin Hi3516DV300 geliştirme kartı[5] ¥255.00 ile satılmaktadır. *Chipdigger’dan, $20.2 fiyat bilgisi alınmıştır. Stok bilgisi bilinmemektedir.

Şekil 1: HiSilicon SoCs
Şekil 2: Hi3516DV300

Hi3519AV100, HiSilicon’un Hi3516DV300’den daha performanslı bir üyesidir. Entegre Tensilica Vision P6 DSP ile, CPU kullanımını azaltıp görüntü işleme süreçleri hızlandırılabilir(0.3 TOPS’a kadar). Entegre DPU(Depth Process Unit) sayesinde stereo görüntülerden derinlik haritası hesaplayabilir. Ayrıca bahsedilen IVE ve NNIE donanımları sayesinde 1.7 TOPS Neural network computing performansı vardır[6]. Hi3519AV100 iç yapısı Şekil 3’te gösterilmiştir. Bahsedilen forumda YOLOV3 ile Hi3516DV300 geliştirme kartında 10 FPS hıza ulaşılırken Hi3519AV100 geliştirme kartında 14 FPS seviyesindedir[3]. Hi3519AV100[7] geliştirme kartı ¥2100.00 fiyatıyla satılmaktadır.

Şekil 3: Hi3519AV100

Hi3559AV100 iç yapısı Şekil 4’te gösterilmiştir. Dual-core ARM Mali G71 ve Dual-core NNIE sayesinde 4 TOPS hesaplama performansına sahiptir. Yüksek performansı sayesinde, YOLOV3 ile Hi3559AV100 geliştirme kartından 28 FPS hızında sonuç alabilmişlerdir[8]. Ve Jetson AGX ile karşılıştırılmasını Şekil 5’te görebilirsiniz. Yüz takibi ve yüz algılama özelliklerine sahip olan Obsbot[9], Hi3559A kullanılarak geliştirilmiştir. HiSilicon, SDK dökümanlarına erişim neredeyse imkansızdır ve Çin merkezli forumlar üzerinden, özellikle de “blog.csdn.net” üzerinden kısıtlı da olsa bu bilgilere erişmek mümkündür.

Şekil 4: Hi3559AV100
Şekil 5: Hi3559A vs Jetson AGX

Rockchip

Şekil 6’da RV1109’un blok diyagramı görülebilir. Bu çip sahip olduğu NPU sayesinde 1.2 TOPS performansa sahiptir. TensorFlow, TF-lite, Pytorch, Caffe, ONNX, Darknet yapılarını destekler. RV1109 birim fiyatı €8.80’dir[15]. RV1126 ise 2 TOPS seviyelerine ulaşabilmektedir. Birim fiyatı €10,84’dir. TB-96AIot-1126CE kodlu geliştirme kartı[10], $129.00’a satın alınabilir. 2022’nin ikinci çeyreğinde satışa çıkması beklenen RK3588, sahip olduğu 6 TOPS NPU ve Mali G610MC4 ile incelenen en performanslı Rockchip donanımlarından biridir. Tahmini beklenen fiyat 4GB RAM ile $129’dır.

Şekil 6: Rockchip RV1109

Diğer bir güçlü Rockchip modeli olan RK3399Pro ise 3 TOPS performansa sahiptir. Ve yapılan benchmark sonuçlarını Şekil 7’de görebilirsiniz[11]. Birim fiyatı €41.86’dır[16]. ₺3570 fiyatı ile Asus Tinker Edge R[12], RK3399Pro ile geliştirilmiştir. Rockchip modelleri ile ilgili HiSilicon’a kıyasla çok sayıda kaynağa ulaşılabilmek mümkündür. Örneğin kapsamlı NPU geliştirme sürecinin şemasını Şekil 8’de görebilirsiniz.
*Rock Pi N10.

Şekil 7: RK3399Pro Benchmark
Şekil 8: NPU Development

Amlogic - Khadas

Entegre 5 TOPS NPU Amlogic A311D ile birlikte Khadas VIM3, yüksek performanslı SBC(Single Board Computer)’lerden biridir. Khadas VIM3 ve Jetson Nano karşılaştırmak amacıyla yapılan testlerde VIM3 performansını aşağıda görebilirsiniz:

0 : yoloface model 15fps

1 : yolov2 model 11fps

2 : yolov3 model 6fps

3 : yolov3_tiny model 19fps

4 : yolov4 model 3fps

Bu testte YOLOV4 için Jetson Nano performansı 4.76 FPS seviyelerindedir[13]. VIM3 Basic 2GB RAM ve VIM3 Pro 4GB RAM ile fiyatları $100 ve $140 şeklindedir. Daha düşük maliyetli ve performanslı bir seçenek olan Khadas VIM3L ise Amlogic S905D3 ve entegre NPU sayesinde 1.2 TOPS seviyelerinde performansa sahiptir. Fiyatı $70. Bahsedilen Khadas modellerinin dökümanlarına, Khadas Community ile beraber erişmek oldukça kolaydır[14].

Allwinner

Allwinner V5, entegre AIE sayesinde yüz algılama, hareket algılama çeşitli akıllı analiz uygulamalarında kullanılabilir. VPU sayesinde 4K@30FPS H.264/H.265 encoding ve decoding özelliğine sahiptir. Allwinner V5 ile geliştirilen Lindenis V5 geliştirme kartı, ₺1400 fiyata sahiptir. Ayrıca Allwinner V833 de 0.4 TOPS NPU ile iyi performansa sahip bir üründür. Allwinner V833 ile geliştirilen Lindenis V833 geliştirme kartının fiyatı ise ₺1800’dır.

Kendryte K210

Kendryte K210, RISC-V Dual Core 64bit işlemcisi ile çok düşük güç tüketimli, 1 TOPS performanında, TensorFlow, Keras, Darknet yapılarını destekleyen bir çiptir. Düşük maliyeti ve düşük güç tüketimiyle beraber, çok yüksek performans gerektirmeyen uygulamalarda kullanılabilir. Rakiplerine oranla çokça kaynak bulunabilir. K210 kullanılarak geliştirilen Maixduino AI development board $28 fiyat ile satılıyor. Kendryte K210 birim fiyatı ise $6.2’dir.

Texas Instruments

AM5739 çipi, Şekil 9’da görüldüğü üzere, kabaca 2xArm Cortex-A15 CPU, 4xEVE(Embedded Vision Engine) ve 2x C66x VLIW DSP donanımlarından oluşur. 4K çözünürlüğünde H.264 video encoding ve decoding özelliği vardır. BeagleBone AI, Texas Instruments AM5729 çipini kullanmaktadır. ₺2070 fiyatı ile Jetson Nano ile kıyaslanabilir.

Şekil 9: AM572x Blok Diyagramı

STM

STM32Cube FP-AI-VISION1 paketi ile $68 fiyatı olan STM32H747I-DISC1 geliştirme kartı B-CAMS-OMV kamera modülü ile food recognition, person presence detection ve people counting gibi bir çok uygulama gerçekleştirilebiliyor. Ayrıca X-Cube-AI gibi STM32mx için araçlarda mevcut.

Xilinx

Son zamanlarda FPGA ve CPU birleşimi ile üretilen SoC’ler ön plana çıkmaktadır. Bu çipler PS(Processing System) ve PL(Programmable Logic) şeklinde iki bölümün birleşiminden oluşur. Zynq-7000, bu heterojen dizaynın bir örneğidir ve mimarinin blok diyagramını şekil 10’da görebilirsiniz. Zynq-7000 serisi ADAS, Machine Vision, Medical Endoscope gibi uygulamalarda tercih edilebilir.

Şekil 10: Zynq-7000 blok diyagramı

Şekil 11 ve Şekil 12’de Jetson Nano ve Zynq-7020’ın farklı bazı sinir ağları ile alınan test sonuçlarını görebilirsiniz[17]. Bu testlerde FPGA ve Jetson arasındaki parameter precision farkları göz ardı edilmemelidir. Zynq-7020 ile geliştirilen Arty Z7-20 geliştirme kartı ₺3.631 fiyatı ile Robotistan’dan satın alınabilir. Arty Z7-20 özellikleri aşağıdaki gibidir.

  • 53 200 LUTs.
  • 106 400 FFs.
  • 140 BRAM, with 36 kB per block.
  • 220 DSP slices.
Şekil 11 Jetson Nano vs Arty Z7-20
Şekil 12: Jetson Nano vs Arty Z7-20

Bir diğer Xilinx ürünü olan Kria KV260, şu anda stoklarda bulunmamakla birlikte($200) FPGA ve donanım bilgisi gerektirmeden geliştiricilerin görü uygulamalarını Vitis AI sayesinde FPGA ile geliştirmesine olanak tanıyor. Xilinx tarafından yayınlanan performans karşılaştırmasını Şekil 13’de görebilirsiniz. Vitis AI geliştirme ortamı, Xilinx'in hem uç cihazlar hem de Alveo kartları dahil olmak üzere Xilinx donanım platformlarında AI inference için geliştirme platformudur. Optimize edilmiş IP, araçlar, kütüphaneler, modeller ve örnek tasarımlardan oluşur. Vitis AI ile sağlanan “Deep Learning Inference” süreci Şekil 14’de görebilirsiniz. Vitis AI, Zynq UltraScale+ MPSoC ZCU104 ile de kullanılabilir. Fiyatı $1,554.00’dır.
**Matlab HDL coder

Şekil 13: Jetson vs Xilinx K26
Şekil 14: Vitis AI

Google Coral

NXP i.MX 8M SoC (Quad-core Arm Cortex-A53, plus Cortex-M4F)

Google Edge TPU ML accelerator(4 TOPS)

H.264/H.265 Codec

1 GB RAM versiyonu $130