Bu teknoloji, uç cihazlardaki yapay zekanın zaman içinde öğrenmeye devam etmesine olanak tanır | MİT Haberleri
Özel derin öğrenme modelleri, kullanıcının aksanını anlayacak şekilde uyum sağlayan yapay zeka sohbet robotlarına veya birinin yazma geçmişine dayalı olarak bir sonraki kelimeyi daha iyi tahmin etmek için sürekli güncellenen akıllı klavyelere olanak sağlayabilir. Bu özelleştirme, makine öğrenimi modelinde yeni verilerle sürekli ince ayar yapılmasını gerektirir.
Akıllı telefonlar ve diğer uç cihazlar bu ince ayar süreci için gereken bellek ve hesaplama gücüne sahip olmadığından, kullanıcı verileri genellikle modelin güncellendiği bulut sunucularına yüklenir. Ancak veri aktarımı çok fazla güç tüketir ve hassas kullanıcı verilerinin bir bulut sunucusuna gönderilmesi güvenlik riski oluşturur.
MIT, MIT’nin Watson Yapay Zeka Laboratuvarı, IBM ve diğer yerlerdeki araştırmacılar, derin öğrenme modellerinin doğrudan çevresel bir cihazdaki yeni sensör verilerine verimli bir şekilde uyum sağlamasına olanak tanıyan bir teknoloji geliştirdiler.
Cihaz eğitim yöntemlerine denir PockEngine, doğruluğu artırmak için büyük makine öğrenimi modelinin hangi bölümlerinin güncellenmesi gerektiğini belirler ve yalnızca bu belirli parçaları saklar ve hesaplar. Bu hesaplamaların büyük bir kısmını model kurulumu sırasında, çalışma süresinden önce gerçekleştirir; bu da hesaplama yükünü azaltır ve ince ayar sürecinin hızını artırır.
Diğer yöntemlerle karşılaştırıldığında PockEngine, bazı donanım platformlarında 15 kata kadar daha hızlı performans göstererek cihaz içi eğitimi önemli ölçüde hızlandırır. Ayrıca PockEngine modellerin doğruluğunda bir azalmaya neden olmadı. Araştırmacılar ayrıca ince ayar yaklaşımlarının, popüler yapay zeka sohbet robotunun karmaşık soruları daha doğru yanıtlamasını sağladığını da buldu.
“Cihaz üzerinde ince ayar yapmak daha iyi gizlilik, daha düşük maliyetler, özelleştirilebilirlik ve yaşam boyu öğrenmeyi mümkün kılabilir, ancak bu kolay değildir. Her şeyin sınırlı sayıda kaynakla gerçekleşmesi gerekiyor. Yalnızca çıkarım yapmakla kalmayıp eğitim de yürütebilmek istiyoruz. MIT-IBM Watson Yapay Zeka Laboratuvarı üyesi ve NVIDIA’nın seçkin bilim adamlarından biri olan Elektrik Mühendisliği ve Bilgisayar Bilimleri Bölümü’nde (EECS) doçent olan Song Han, “PockEngine ile artık bunu yapabiliriz” diyor ve makalenin baş yazarı. PockEngine’i açıklayan makale.
Bu makalede Han’a, EECS’de yüksek lisans öğrencisi olan baş yazar Liying Zhou’nun yanı sıra MIT, MIT-IBM Watson Yapay Zeka Laboratuvarı ve UC San Diego’daki diğer kişiler de eşlik ediyor. Makale yakın zamanda IEEE/ACM Uluslararası Mikro Mimari Sempozyumu’nda sunuldu.
Katman üstüne katman
Derin öğrenme modelleri, bir tahminde bulunmak için verileri işleyen, birbirine bağlı birçok düğüm katmanından veya “nöronlardan” oluşan sinir ağlarına dayanır. Model çalıştırıldığında, çıkarım adı verilen bir süreç geçirilir; bu süreç, bir tahmin (belki bir görüntü etiketi) sonunda çıktı olarak çıkana kadar katmandan katmana girdi verileridir (görüntü gibi). Çıkarım sırasında, girdi işlendikten sonra her katmanın artık saklanmasına gerek yoktur.
Ancak eğitim ve ince ayar sırasında model, geri yayılım olarak bilinen bir süreçten geçer. Geri yayılımda çıktı doğru cevapla karşılaştırılır ve daha sonra model ters yönde çalıştırılır. Model çıktısı doğru cevaba yaklaştıkça her katman güncellenir.
Her katmanın güncellenmesi gerekebileceğinden tüm modelin ve ara sonuçların saklanması gerekir; bu da ince ayarın çıkarımdan daha fazla bellek yoğun olmasını sağlar.
Ancak bir sinir ağındaki tüm katmanlar doğruluğun arttırılması açısından önemli değildir. Önemli katmanlar için bile tüm katmanın güncellenmesi gerekmeyebilir. Bu katmanların saklanmasına ve katmanların kesilmesine gerek yoktur. Ayrıca, süreç ortada bir yerde durdurulabileceğinden, doğruluğu artırmak için ilk katmana geri dönmeye gerek kalmayabilir.
PockEngine, ince ayar sürecini hızlandırmak ve gereken hesaplama ve bellek miktarını azaltmak için bu faktörlerden yararlanır.
Sistem öncelikle belirli bir görev için her katmana tek tek ince ayar yapar ve her katmandan sonra doğruluk gelişimini ölçer. Bu şekilde PockEngine, her katmanın katkısını ve ince ayarın doğruluğu ile maliyeti arasındaki dengeyi belirler ve her katmanın ince ayar gerektiren yüzdesini otomatik olarak belirler.
Han, “Bu yöntem, farklı görevler ve farklı sinir ağları üzerindeki tam geri yayılımla karşılaştırıldığında doğrulukla çok iyi eşleşiyor” diye ekliyor.
Küçültülmüş model
Geleneksel olarak geri yayılım grafiği, büyük miktarda hesaplama içeren çalışma zamanı sırasında oluşturulur. Bunun yerine PockEngine bunu derleme zamanında, model dağıtıma hazırlanırken yapar.
PockEngine, gereksiz katmanları veya katman parçalarını kaldırmak için kod parçalarını silerek, çalışma zamanı sırasında kullanılmak üzere modelin küçültülmüş bir grafiğini oluşturur. Daha sonra verimliliği daha da artırmak için bu grafikte başka iyileştirmeler yapar.
Tüm bunların yalnızca bir kez yapılması gerektiğinden, çalışma süresi boyunca hesaplama yükünden tasarruf sağlar.
“Tıpkı bir yürüyüş gezisine çıkmadan önceki gibi. Evde, hangi yolları seçeceğinizi, hangi yolları görmezden geleceğinizi dikkatlice planlamanız gerekir. Uygulama noktasında, gerçekten yürüyüşe çıktığınızda,” Hahn açıklıyor. Gerçekten takip etmen gereken çok kesin bir planın var.”
PockEngine’i, birçok akıllı telefon ve Raspberry Pi bilgisayarlarda yaygın olan Apple M1 yongaları ve dijital sinyal işlemcileri de dahil olmak üzere çeşitli çevre birimlerindeki derin öğrenme modellerine uyguladıklarında, performansta herhangi bir düşüş olmadan 15 kata kadar daha hızlı cihaz içi eğitim gerçekleştirdi. PockEngine ayrıca ayarlama için gereken bellek miktarını da önemli ölçüde azalttı.
Ekip aynı zamanda bu tekniği büyük dil modeli Llama-V2’ye de uyguladı. Hahn, büyük dil modelleri için ince ayar sürecinin birçok örnek sunmayı gerektirdiğini ve modelin kullanıcılarla nasıl etkileşim kuracağını öğrenmesinin önemli olduğunu söylüyor. Bu süreç aynı zamanda karmaşık sorunları çözmekle veya çözümler hakkında düşünmekle görevli modeller için de önemlidir.
Örneğin PockEngine kullanılarak ayarlanan Llama-V2 modelleri “Michael Jackson’ın son albümü nedir?” sorusunu yanıtladı. doğru, ince ayarı yapılmamış modeller ise başarısız oldu. PockEngine, son teknoloji GPU platformu NVIDIA Jetson Orin’de ince ayar sürecinin her yinelemesi için gereken süreyi yaklaşık yedi saniyeden bir saniyenin altına düşürdü.
Gelecekte araştırmacılar, metin ve görüntüleri birlikte işlemek üzere tasarlanmış daha büyük modellere ince ayar yapmak için PockEngine’i kullanmak istiyor.
“Bu çalışma, birçok farklı sektördeki çeşitli uygulamalarda Yüksek Lisans gibi büyük yapay zeka modellerinin benimsenmesinin ortaya çıkardığı artan verimlilik zorluklarını ele alıyor. Yalnızca daha büyük modeller içeren uç uygulamalar için değil, aynı zamanda maliyetin düşürülmesi için de umut vaat ediyor” Çalışmada, büyük yapay zeka modellerinin bulutta sürdürülmesi ve güncellenmesinin amaçlandığı belirtildi, ancak MIT-Amazon Bilim Merkezi aracılığıyla ilgili yapay zeka araştırmaları üzerinde MIT ile birlikte çalışıyor.
Bu çalışma kısmen MIT-IBM Watson Yapay Zeka Laboratuvarı, MIT Yapay Zeka Donanım Programı, MIT-Amazon Bilim Merkezi, Ulusal Bilim Vakfı (NSF) ve Qualcomm İnovasyon Bursu tarafından desteklendi.