Yerleşik sistemlerde makine öğrenimi neden başarısız oluyor?

Yazar | Andrew Zhuravchak

Tercüman | Hilal Ay

Mühür görüntüsü | VCG'den CSDN indirme

Bugün, makine öğrenimi zirveye ulaştı ve çeşitli alanlarda uygulandı. Havaalanında yüz tanıma sistemi var ve Facebook'un kişiselleştirilmiş reklamları var.

Ancak, makine öğrenimi ve gömülü cihazların birleşiminde hala büyük bir boşluk var.

Yerleşik dünyanın ne olduğunu anlamıyoruz

Makine öğrenimini işlemek için güçlü bilgi işlem gücünü kullanmaya alışkınız.

AlexNet, küçük bir 227 x 227 piksel görüntüyü işlemek için 727MFlop bilgi işlem gücüne (Flops = kayan nokta işlemleri) ve 235Mb belleğe ihtiyaç duyar. Örneğin, ARM Cortex-A8'in Google Nexus S üzerindeki işlem gücü saniyede 66MFlop'tur. Bu nedenle, bir çıkarım yapmak için yaklaşık 11 saniye beklemelisiniz. Bu çok yavaş!

Üniversitede makine öğrenimi ile ilgili birkaç kurs aldım. Çok ilginç ödev yaptık. Ancak 4GB GTX1050 bile tüm modelleri eğitmek için yeterli değildi.

Ortalama bir makine öğrenimi mühendisi, bilgi işlem kaynaklarını nadiren dikkate alır. Ve nadiren bellek kullanımını önemsiyorlar. neden? Bu donanımlar çok ucuz olduğu için telefonunuzda bile oldukça iyi bir CPU ve çok fazla bellek var.

Bir partide fotoğraf çekerken telefonunuzdaki depolama alanının yeterli olmadığını fark etmeyeli uzun zaman oldu mu? Yalnızca 256KB flash belleğe sahip bir TrueTouch sensör kontrolörü kullandığınızı hayal edin. Doğru, yalnızca 256 KB. Ve üretici yazılımı bunun bir kısmını kapladığı için, bu depolamayı tam olarak kullanamazsınız. Hesaplanmış, yaklaşık 100 KB kullanabilirsiniz. Son modelinizin boyutuna tekrar bakın. Bundan çok daha büyük olabilir.

İlginç? İzlemeye devam edelim.

"Gömülü aygıtları" duyduğunuzda ne düşünüyorsunuz? Aklınızdaki ilk izlenimi hatırlayın.

1. Gömülü cihazlar herhangi bir elektrikli makine, hatta mikrodalga fırınlar ve çamaşır makineleri olabilir

Evet, doğru anladın!

Günümüzde neredeyse tüm elektrikli ekipmanlar gömülüdür. Bu cihazların her bir işlevden sorumlu bir veya daha fazla denetleyicisi olabilir: dokunma algılama, motor durumu izleme, vb.

2. Arduino ve Raspberry Pi

Tebrikler, yine doğru anladınız!

Her ikisi de DIY projelerinde en popüler ve en yaygın kullanılan araç setlerinden biridir. Ayrıca gömülü cihazlardır.

3. Jetson Nano ve benzeri ürünler

Cevap yine doğru.

Bu, makine öğrenimi modellerini çalıştırmak için özel olarak geliştirilmiş, mini bilgisayar olarak adlandırılan özel bir geliştirme kitidir. Çok güçlü ve çok havalı.

Ama bir sorun var gibi görünüyor.

Arkadaşlarımın çoğu bazı harika donanım yan projeleri yapıyor. Genellikle Arduino veya STM32 kullanırlar.

Jetson Nano ve benzeri cihazlarla çok ilgilenen birkaç AI mühendisi tanıyorum. Bu cihazların gömülü yapay zekanın geleceği olduğuna inanıyorlar.

Ardından, lütfen şu soruyu düşünün: "Bu cihazlardan kaç tanesi üretim seviyesindeki ürünlerde kullanılıyor?"

Cevap: Minimal

Evinizde kaç tane elektrikli cihazınız olduğunu düşünün ve ardından arabanızdaki çok sayıda kontrol cihazı, işte kullanılan güvenlik sistemleri vb. Hakkında düşünün.

Her cihazın bir denetleyicisi vardır. Genellikle bu denetleyiciler minyatür ve süper ucuzdur. Jetson veya Raspberry Pi'nin kaynakları ve işlevleriyle eşleşemezler.

Bir mikrodenetleyiciniz olduğunu varsayalım. Ana görevi ekrana dokunan parmağı kullanmaktır. Bir ARM Cortex-M0 işlemciye, 256KB belleğe (sadece 80120KG'si kullanılabilir) sahiptir. Bu gerçek zamanlı bir sistemdir, bu nedenle modeli tahmin etmek için 100 mikrosaniye gibi çok az zamana ihtiyacınız vardır. Amacınız algoritmayı geliştirmek veya değiştirmektir.

İyi şanslar ve "gömülü AI" dünyasına hoş geldiniz.

Anahtar nokta: Gerçek gömülü dünya, 1-2 $ 'lık son derece sınırlı kaynaklara sahip çiplerden oluşur. Ve üretim seviyesindeki ürünler bu çipi kullanır.

Saf altyapı

Yukarıda bahsettiğim projeler üzerinde çalışıyorum ve iyi ilerliyorum Bu mikrodenetleyiciye uygun küçük bir sinir ağı geliştirdim.

Ardından modeli bilgisayarımdan cihaza aktarmam gerekiyor!

1. Miktar belirleme

İşlemci kayan nokta işlemleri gerçekleştiremez. Yapabilsek bile kullanmayacağız çünkü operasyonu çok karmaşık ve çok zaman alıyor.

Bu nedenle, modelin ağırlığını ölçüyorum, yani sürekli bir aralıktaki değerleri sınırlı bir aralıktaki ayrık değerlere dönüştürüyorum.

bil bakalım ne oldu? Ne PyTorch ne de TensorflowLite bunu tam olarak destekleyemez. Tüm aktivasyon işlevlerini destekleyemezler (çok basit HardTanh'ı kullanmama rağmen). PyTorch, nicel modeli bir dosyaya bile kaydedemez.

Bu yüzden kendim yapmak zorunda kaldım.

2. Çıkarım kodu oluşturma

Modeli bu kontrolörde çalıştırmak istiyorsunuz, değil mi? O zaman model çıkarımı için C kodunu kullanmanız gerekir.

Size talihsiz bir haber vermek için bu adımı elle de yapmanız gerekir. neden? Çünkü PyTorch, kod üretme işlevini anlamaz. Aksine, TFLite bu özelliğe sahip olmasına rağmen oldukça sınırlıdır ve genel aktivasyon işlevlerini desteklemez.

Bu yüzden tekrar kendim yapmak zorunda kaldım.

İşimde bu tür birçok durumla karşılaştım. PyTorch ve TensorflowLite'ı eleştirmek değil, "yardım istemek" istemiyorum.

Anahtar nokta: Makine öğrenimi topluluğunun başka bir büyük sorunu var: "gömülü yapay zeka" için profesyonel araçlar yok.

Karanlıktaki Işık?

Büyük yarı iletken şirketlerin yapay zekaya büyük ilgi duyduklarını ve aktif olarak çok değerli ve önemli şeyler yaptıklarını görüyorum.

  • CMSIS-NN: Arm Cortex-M CPU için verimli sinir ağı çekirdeği.

  • Bazı derleyiciler verimli çıkarım kodları oluşturabilir ve bu çıkarım kodları donanımınıza göre optimize edilebilir.

  • Daha birçok harika şey var.

İngilizce: Makine Öğrenimi Embe'ye Geldiğinde Başarısız Oluyor gg ed System. İşte Nedeni

Bağlantı: https: // directiondatascience .com / makine öğrenimi, embe'ye geldiğinde başarısız olur gg ed-system-9ce6def9ba75

Yazar: Andrew Zhuravchak, Ar-Ge Sistem Mühendisi.

Çevirmen: Crescent Moon

BlackBerry telefonlar kullanımdan kaldırılacak; üç büyük operatör: ücret borcu olan kullanıcılar salgın önleme ve kontrol döneminde durmayacak; Chrome testleri, arama sonucu sayfası URL'sini kaldıracak

Alibaba Cloud, altı büyük "savaş salgını" projesi başlattı
önceki
Bu çöp koleksiyonunu okuduktan sonra, görüşmeci ile güreşmekte sorun yok
Sonraki
Uzun mesafeli toplantı her zaman takılıp kalıyor? 8 "Xiaobai" yöntemi bir bakışta görülebilir
Aynı anda çeşitli veritabanları için SQL yürütme planlarını edinin | Kuvvet Projesi
BlackBerry telefonları durdurulacak; üç büyük operatör: Ücret borcu olan kullanıcılar salgın önleme ve kontrol döneminde durmayacak; Chrome testi, arama sonuçları sayfası URL'lerini kaldırıyor | Geek
Bir tren istasyonu özel polisi tarafından Fare Yılı Bahar Şenliği: "Daha az insan olmasına rağmen, daha çok endişeleniyorum"
Önümüzdeki yılın Bahar Şenliği için ayrılmış 5.000 karakterlik elektrikli otomobil kış hileleri
BYD 5 yıl "genişleme", Han EV / DM veya 256.900 satış harcıyor
Bunları iyi yapmak salgın riskini en aza indirebilir
Yasal sistem en üst sırada yer alır ve Takata Hava Yastığı Ocak geri çağırma listesinde "yok"
Skoda'nın yeni Octavia ile ilgili beş soru, değişimden sonra gücü nasıl artacak?
İlkbaharın ilk gününde tüm bitkiler tomurcuklanır.
38 inç kavisli ekran "büyük" ve yeni Escalade sürprizleri bundan çok daha fazlası
Wuhan, dört tür yeni koroner pnömoni hastasını toplamaya ve tedavi etmeye başladı
To Top