Bununla birlikte, dikkat mekanizmasının doğruluğu genellikle hız ve hesaplama gücü pahasına gelir. Tüketici sınıfı bilgisayarlarda bulabileceğiniz gibi genel amaçlı işlemcilerde yavaş çalışır. Bu nedenle, MIT araştırmacıları, dikkat mekanizmasını çalıştırmak için uzmanlaşmış, SpAtten adlı birleşik bir yazılım-donanım sistemi tasarladılar. SpAtten, daha az bilgi işlem gücüyle daha düzenli NLP sağlar.
HanruiWang, "Sistemimiz insan beyninin dili nasıl işlediğine benziyor" diyor. "Çok hızlı okuyoruz ve sadece anahtar kelimelere odaklanıyoruz. SpAtten ile fikir bu."
Araştırma, bu ay IEEE Uluslararası Yüksek Performanslı Bilgisayar Mimarisi Sempozyumunda sunulacak. Wang, makalenin baş yazarı ve Elektrik Mühendisliği ve Bilgisayar Bilimleri Bölümü'nde bir doktora öğrencisidir. Ortak yazarlar arasında ZhekaiZhang ve danışmanları Yardımcı Doçent Song Han bulunmaktadır.
2015'teki tanıtımından bu yana, dikkat mekanizması NLP için bir nimet oldu. Dikkat mekanizmasının temel yeniliği seçiciliktir - algoritmanın daha önce bir eğitim aşamasında karşılaştığı kelime kalıpları ile karşılaştırmalara dayanarak, bir cümledeki hangi kelime veya ifadelerin en önemli olduğu sonucuna varabilir. Dikkat mekanizmasının NLP modellerine hızlı bir şekilde adapte olmasına rağmen, maliyetsiz değildir.
NLP modelleri, kısmen dikkat mekanizmasının yüksek bellek talepleri sayesinde ağır bir bilgisayar gücü gerektirir. Wang, "Bu kısım aslında NLP modelleri için darboğazdır" diyor. İşaret ettiği bir zorluk, dikkat mekanizmasıyla NLP modellerini çalıştırmak için özel donanımların olmamasıdır. CPU'lar ve GPU'lar gibi genel amaçlı işlemciler, dikkat mekanizmasının karmaşık veri hareketi ve aritmetik dizisi ile sorun yaşarlar. Özellikle uzun cümleler için NLP modelleri daha karmaşık hale geldikçe sorun daha da kötüleşecektir. Wang, "Sürekli artan hesaplama talebini işlemek için algoritmikoptimizasyonlara ve özel donanıma ihtiyacımız var" diyor.
Araştırmacılar, dikkat mekanizmasını daha verimli çalıştırmak için SpAtten adlı bir sistem geliştirdiler. Tasarımları hem özel yazılımları hem de donanımı kapsar. Bir önemli yazılım ilerlemesi, SpAtten'ın "kademeli budama" kullanması veya gereksiz verileri hesaplamalardan çıkarmasıdır. Dikkat mekanizması bir cümlenin anahtar kelimelerini (belirteç olarak adlandırılır) seçmeye yardımcı olduktan sonra, SpAtten önemsiz simgeleri eritip karşılık gelen hesaplamaları ve veri hareketlerini ortadan kaldırır. Dikkat mekanizması aynı zamanda birden fazla hesaplama dalı (kafalar olarak adlandırılır) içerir. Jetonlara benzer şekilde, önemsiz kafalar belirlenir ve budanır. Bir kez gönderildikten sonra, gereksiz jetonlar ve kafalar, algoritmanın aşağı akış hesaplamalarını hesaba katmaz ve hem hesaplama yükünü hem de bellek erişimini azaltır.
Bellek kullanımını daha da azaltmak için araştırmacılar, "aşamalı niceleme" adı verilen bir teknik de geliştirdiler. Yöntem, algoritmanın verileri daha küçük bit genişliği yığınlarında kullanmasına ve bellekten olabildiğince azını almasına izin verir. Daha küçük bit genişliğine karşılık gelen daha düşük veri kesinliği, basit cümleler için kullanılır ve karmaşık olanlar için daha yüksek kesinlik kullanılır. Sezgisel olarak, "cmptrprogm" ifadesini "bilgisayar programı" nın düşük kesinlikli versiyonu olarak getirmek gibidir.
Araştırmacılar, bu yazılım ilerlemelerinin yanı sıra, bellek erişimini en aza indirirken SpAtten ve dikkat mekanizmasını çalıştırmak için özelleştirilmiş bir donanım mimarisi de geliştirdiler. Mimari tasarımları yüksek derecede "paralellik" kullanır, yani birden çok işlem aynı anda birden çok işlem öğesinde işlenir, bu da yararlıdır çünkü dikkat mekanizması bir cümlenin her kelimesini aynı anda analiz eder. Tasarım, SpAtten'in az sayıda bilgisayar saati döngüsünde jetonların ve başlıkların (olası budama için) önemini derecelendirmesini sağlar.
Sistemin arkasındaki felsefe, adından anlaşılmaktadır. SpAtten bir "seyrek dikkat" portmanteau'sudur ve araştırmacılar makaleye göre SpAtten'in "basit ve tutumlu anlamına gelen" spartan "ile homofonik" olduğunu belirtiyorlar. Wang, "Tıpkı bizim buradaki tekniğimiz gibi: cümleyi daha kısa yapmak" diyor. Bu sonuç test sırasında doğrulandı.
Araştırmacılar, SpAtten'in donanım tasarımının bir simülasyonunu kodladılar - henüz fiziksel bir çip üretmediler - ve bunu rakip genel amaçlı işlemcilerle test ettiler. Dahası, SpAtten rakiplerinden 1000 kat daha fazla enerji verimliliğine sahipti ve bu da SpAtten'inNLP'nin önemli elektrik taleplerini azaltmaya yardımcı olabileceğini gösteriyor.
Araştırmacılar ayrıca, donanım ve yazılımın en iyi şekilde birlikte tasarlandığına dair felsefelerini doğrulamaya yardımcı olmak için SpAtten'ı önceki çalışmalarına entegre ettiler. Donanıma Duyarlı Transformatör (HAT) çerçevesini kullanarak SpAtten için özel bir NLP model mimarisi oluşturdular ve daha genel bir modele göre kabaca iki kat hızlanma elde ettiler.
Araştırmacılar, SpAtten'in yapay zeka iş yüklerinin çoğu için NLP modellerini kullanan şirketler için yararlı olabileceğini düşünüyor. Wang, "Geleceğe yönelik vizyonumuz, dillerdeki fazlalığı ortadan kaldıran yeni algoritmaların ve donanımların maliyeti düşürmesi ve veri merkezi NLP iş yükleri için güç bütçesinden tasarruf sağlamasıdır" diyor.
Yelpazenin diğer ucunda, SpAttenNLP'yi daha küçük, kişisel cihazlara getirebilir. Wang, internete bağlı "şeylere" (televizyonlar, akıllı hoparlörler ve benzerlerine) atıfta bulunarak "Cep telefonu veya IoT cihazları için pil ömrünü artırabiliriz" diyor. "Bu özellikle önemli çünkü gelecekte çok sayıda IoT cihazı insanlarla ses ve doğal dille etkileşime girecek, bu nedenle NLP kullanmak istediğimiz ilk uygulama olacak."
Han, SpAtten'in verimlilik ve fazlalık kaldırmaya odaklanmasının NLP araştırmasında ileriye giden yol olduğunu söylüyor. "İnsan beyni, [anahtar kelimelerle] seyrek olarak etkinleştiriliyor. Seyrek olarak etkinleştirilen NLP modelleri gelecekte umut verici olacak" diyor. "Tüm kelimeler eşit değildir ,sadece önemli olanlara dikkat edin."