Edge Cihazlarda Makine Öğrenimi
Edge computing iş yüklerini merkezi konumlardan uzak konumlara taşır ve yapay zekâ uygulamalarından daha hızlı yanıt verebilir. Edge computing cihazları, insanların takibi, araç tanıma, kirlilik izleme vb. gibi gerçek dünya süreçlerinin izlenmesi ve kontrolü için giderek daha fazla kullanılmaktadır. Cihazlarda toplanan veriler, veri hatları üzerinden merkezi bulut sunucularına aktarılır ve makine öğrenme modellerini eğitmek için kullanılır. Eğitim modelleri çok fazla hesaplama gücüne ihtiyaç duyar. Mevcut strateji, merkezden eğitim almak ve çıkarım yapmak için edge cihazlara yerleştirmektir. Zaten derin öğrenme modelleri yüz tanıma ve gözetim gibi kritik problemler için kullanılmakta. Ayrıca, edge cihazlarda makine öğrenimi modellerinden çıkarım kullanan binlerce yapay zekâ uygulaması vardır. Makine öğrenimi modelleri, Raspberry pi, Akıllı telefonlar, gibi makine öğrenim çerçevelerindeki mikro denetleyiciler gibi uç cihazlarda kullanılır. Makine öğrenimini en uç noktada gerçekleştirmenin zorlukları şunlardır:
Büyük hacimli depolanmış verilerden modellerin eğitimi
Ön işleme ve veri temizlemede gecikme
Akış verilerinden dinamik çevrimiçi eğitim
Gerçek zamanlı karar vermede gecikme
Eğitim aşamasında artan güç tüketimi
Makine öğrenimi verilerdeki kalıpları arar ve bunlara dayalı kararları etkiler. Edge yapay zekâ, diğer bir deyişle Edge AI, gerçek zamanlı yanıtlar sağlamak için hızlı karar verme özelliklerine sahip uç cihazları güçlendirir. Örnek olarak, bitkileri tanımlamak için yaygın olarak kullanılan yapay zekâ özellikli bir uygulamayı inceleyelim. Pl@ntNet yaprak ve çiçek resimlerinden bitkileri tanımlamak için yararlı bir uygulamadır. Bu uygulama Asya ülkelerinde tamamlayıcı ilaçların hazırlanmasında kullanılan nadir tıbbi bitkileri tanımlamak için yararlı olur. Bu uygulama web üzerinde ve aynı zamanda bir mobil uygulama olarak da mevcuttur. Mobil uygulama sürümü edge makine öğrenimi çıkarımlarını kullanır. Görüntülerin önceden işlenmesi ve bitkinin adını belirlemek uzun zaman alır. Buluta veri aktarımında gecikme ve API'lardan gelen yanıt gecikmesi birçok yapay zekâ geliştiricisini C buluttan kenara doğru ilerlemeye iter. Edge bilgi işlem gücünü Pl@ntNet gibi makine öğrenimi çözümlerinde eğitim ve çıkarım için kullanabiliriz.
Bulut hizmeti sağlayıcıları vision, tahmin, kümeleme, sınıflandırma, konuşma ve doğal dil işleme için API'ler sağlar. Vision kategorisindeki API'ler yüz tanıma, yüz doğrulama, yüz gruplama, kişi tanımlama ve benzerlik değerlendirmesi için önceden eğitilmiş modelleri ortaya koyar. Bulutta önceden eğitilmiş modellerin varlığı, yapay zekâ çözümü geliştiricilerinin çıkarım için kullanmaları öncül bilgi işlem için buluta geçiş eğilimi yarattı. Modern edge cihazlarda bulunan bilgi işlem gücü, üst düzey sunucularda bulunan bilgi işlem gücüne eşit veya daha yüksektir. Birçok girişim ve çip üreticisi, makine öğrenimi iş yüklerinin hızını en üst düzeye çıkarmak için özel hızlandırıcı çipler üzerinde çalışıyor. Örneğin, hızlandırıcı çiplere uygulanan Konvolüsyon Sinir Ağları, makine öğrenimi tabanlı yüz tanıma sistemlerinin ön işleme aşamasında gerçek zamanlı görüntü filtrelemeye yardımcı olur. Yüksek performanslı kenar aygıtlarına örnek olarak LattePanda Alpha, Udoo Bolt, Khadas Edge-V, Jetson Nano ve Intel Neural Compute Sticks verilebilir. Jetson Nano, video görüntülerinden gerçek zamanlı basamak tanımalarını yapmalarını sağlayan yerleşik GPU'lara sahiptir. Nöral işlem çubukları, hesaplama güçlerini artırmak için Raspberry Pi'ye USB aracılığıyla takılabilir. Bu cihazların evrimi ile edge computing günümüz internetinin gecikme ve bant genişliği kısıtlamalarını azaltır. Tahminler, kenar hesaplamanın ileride bulutları uçuracağını ve bulutun sadece veri deposu haline geleceğini gösteriyor.
Yakın gelecekte, yapay zekâ uygulamaları akıllı telefonlar, otomobiller, kameralar ve ev aletleri gibi cihazlarda yani kısacası her yerde bulunacak. Çıkarımın yanı sıra, veri işleme hattına ön işleme ve normalleştirme adımlarını dahil ederek akış verilerine makine öğrenimi modellerini eklemek mümkün olacaktır. Edge modeller, çözülmekte olan ana problemle ilgilenen seçilmiş özellikler kullanılarak eğitilecektir. Örneğin, bir şehirdeki seçilmiş kavşaklarda kirlilik seviyesi, sıcaklık, trafik yoğunluğu vb. değişimlerdeki eğilimleri verebiliriz. Modelleri edge cihazlardan merkezi sunuculara taşımak ham verileri işlemek için gereken büyük miktarda bant genişliği ve ara depolama alanından tasarruf sağlar. Kestirimci modeller, bağımsız değişkenlerden yola çıkarak hata olasılığını tahmin eder. Bu modeller edge ile eğitilebilir ve günlük veya haftalık olarak bulut tabanlı merkezi bir sunucuya aktarılabilir. Çok uçlu cihazlardan gelen modeller, birden fazla konumdaki senaryoları dikkate alarak global olarak geçerli tahminler yapmak için merkezi sunucuda birleştirilebilir. Konsolidasyon amacıyla, edgelerden alınan modeller, hedef değişkenleri önceden tanımlanmış bir dizi bağımsız değişkene karşı yeniden yapılandırmak için kullanılabilir. Global bir model, hedef model olarak uç modellerden elde edilen çıktılar kullanılarak eğitilebilir.
Edge cihazlarındaki modeller farklı makine öğrenimi çerçeveleri kullanılarak geliştirmek ve modeli bu çerçevelerden taşımak için standart bir biçime ihtiyaç var. Bu, Tahmini Model İşaretleme Dili'nin (PMML) yararlı olduğu yerdir. Tahminli modellerin uygulamalar arasında tanımlanmasını ve paylaşılmasını sağlayan XML tabanlı bir dildir. Bu biçimlendirme dili, Spark ML, R, Pytorch, TensorFlow vb. gibi çeşitli modelleme çerçeveleri aracılığıyla geliştirilen modellerin paylaşılmasını sağlar.
Özetlemek gerekirse, uç noktadaki makine öğrenimi, bu dağıtılmış karar verme çağındaki eğilim olacaktır. Edge cihazlarda eğitilen ve dağıtılan makine öğrenimi modelleri, edge cihazlara daha fazla özerklik sağlayarak karar verme sürecinin merkezileştirilmesine yardımcı olur. Bu, edge cihazlarının hızlı yanıtların gerektiği durumlara anında tepki vermesini sağlar. Hareketlerinizi ve eylemlerinizi takip etmek için dağıtılan akıllı edge cihazlarla birlikte var olmaya hazır olun.