Araştırmacılar, çeyrek megabayttan daha az bellek kullanarak bir makine öğrenimi modelinin eğitimini sağlamak için teknikler geliştirdiklerini iddia ediyor ve bu da onu mikrodenetleyicilerde ve sınırlı kaynaklara sahip diğer uç donanımlarda çalışmaya uygun hale getiriyor.
Massachusetts Teknoloji Enstitüsü (MIT) ve MIT-IBM Watson Yapay Zeka Laboratuvarı’ndaki araştırmacılar, eğitim sürecini daha verimli ve daha az bellek yoğun hale getiren “algoritmik çözümler” bulduklarını söylüyorlar.
Teknikler, bir mikrodenetleyici üzerinde bir makine öğrenimi modelini birkaç dakika içinde eğitmek için kullanılabilir, iddiaya göre, konuyla ilgili “başlıklı bir makale ürettiler.256KB Bellek Altında Cihaz Üzerinde Eğitim” [PDF].
Yazarlara göre, bir modelin cihaz üzerinde eğitimi, cihazın sensörleri tarafından toplanan yeni verilere yanıt olarak adapte olmasını sağlayacaktır. Model, uçta yerel olarak eğiterek ve uyarlayarak, uygulamanın ömrü boyunca tahminlerini sürekli olarak iyileştirmeyi öğrenebilir.
Bununla birlikte, böyle bir çözümün uygulanmasındaki sorun, uç cihazların genellikle bellek boyutları ve işlem gücü açısından kısıtlı olmasıdır. Ölçeğin bir ucunda, mikrodenetleyicilere dayalı küçük IoT cihazları 256 KB kadar az SRAM’a sahip olabilir, kağıt durumu, eğitimi bir yana bırakın, bazı derin öğrenme modellerinin çıkarım çalışması için zar zor yeterli.
Bu arada, PyTorch ve TensorFlow gibi derin öğrenme eğitim sistemleri genellikle ellerinde gigabaytlarca belleğe sahip sunucu kümelerinde çalıştırılır ve uç derin öğrenme çıkarım çerçeveleri olsa da, bunlardan bazıları modelleri ayarlamak için geri yayılım desteğinden yoksundur.
Buna karşılık, araştırmacıların geliştirdiği akıllı algoritmalar ve çerçevenin, bir modeli eğitmek için gereken hesaplama miktarını azaltabildiği iddia ediliyor.
Tipik bir derin öğrenme modelinin eğitilmesi, öğrenirken yüzlerce güncellemeden geçtiğinden ve milyonlarca ağırlık ve etkinleştirme söz konusu olabileceğinden, bir modeli eğitmek, önceden eğitilmiş bir modeli çalıştırmaktan çok daha fazla bellek gerektirir.
Eğitim sürecini daha verimli hale getirmek için geliştirilen çözümlerden biri, her eğitim turunda güncellenecek en önemli ağırlıkları belirlemek için bir algoritma kullanarak daha az önemli katmanların ve alt tensörlerin gradyan hesaplamasını atlayan seyrek güncellemedir.
Algoritma, belirli bir eşiğe doğru düşüş saptayana kadar ağırlıkları birer birer dondurarak çalışır. Kalan ağırlıklar daha sonra güncellenirken donmuş ağırlıklara karşılık gelen aktivasyonların saklanmasına gerek yoktur.
Makalenin yazarlarından biri olan MIT Doçent Doktor Song Han, “Tüm modeli güncellemek çok pahalı çünkü çok sayıda aktivasyon var, bu yüzden insanlar yalnızca son katmanı güncelleme eğiliminde, ancak tahmin edebileceğiniz gibi bu, doğruluğu zedeliyor” dedi. . “Bizim yöntemimiz için, bu önemli ağırlıkları seçici olarak güncelliyoruz ve doğruluğun tamamen korunduğundan emin oluyoruz” diye ekledi.
İkinci çözüm, hem eğitim hem de çıkarım için gereken bellek miktarını azaltmak için nicemleme kullanarak ağırlıkların boyutunu tipik olarak 32 bitten sadece 8 bit’e düşürmektir. Niceleme duyarlı ölçekleme (QAS), nicelenmiş değerlerle eğitimden kaynaklanabilecek doğruluktaki herhangi bir düşüşü önlemek için ağırlık ve gradyan arasındaki oranı ayarlamak için kullanılır.
Han’a göre sistem, eğitim sürecindeki adımların sırasını değiştiriyor, böylece model uç cihaza dağıtılmadan önce derleme aşamasında daha fazla iş tamamlanıyor.
“Derleme süresi için otomatik farklılaşma ve grafik optimizasyonu gibi birçok hesaplamayı zorluyoruz. Ayrıca seyrek güncellemeleri desteklemek için gereksiz operatörleri agresif bir şekilde budalıyoruz. Çalışma zamanında bir kez, cihazda yapacak çok daha az iş yükümüz var.” dedi.
Çözümün son kısmı, bu algoritmaları basit bir mikro denetleyici üzerinde uygulayan hafif bir eğitim sistemi olan Tiny Training Engine’dir (TTE).
Makaleye göre, çerçeve, 256 KB’den daha az bir bellek bütçesine sahip evrişimli sinir ağlarının cihaz üzerinde eğitimini sağlayan ilk makine öğrenimi çözümüdür.
Yazarlar, eğitim sisteminin ticari olarak temin edilebilen bir mikrodenetleyici üzerinde çalıştığının gösterildiğini söylüyorlar. STM32F746 320KB SRAM’li ve STMicroelectronics tarafından üretilen Arm Cortex-M7 çekirdeğine dayalıdır.
Araştırmaya göre bu, görüntülerdeki insanları tespit etmek için bir bilgisayarlı görü modelini eğitmek için kullanıldı ve araştırma, yalnızca 10 dakikalık bir eğitimden sonra başarıyla tamamlandığını belirtti.
Bu başarı ile araştırmacılar artık öğrendiklerini diğer makine öğrenimi modellerine ve dil modelleri ve zaman serisi verileri gibi veri türlerine uygulamak istediklerini söylüyorlar.
Bu tekniklerin doğruluktan ödün vermeden daha büyük modellerin boyutunu küçültmek için kullanılabileceğine inanıyorlar, bu da gelecekte büyük ölçekli makine öğrenimi modellerinin eğitiminin karbon ayak izini azaltmaya yardımcı olabilir. ®
Kaynak : https://go.theregister.com/feed/www.theregister.com/2022/10/05/microcontroller_ml_training/