Yazılım

Kodun, Bir Çip Üzerinde Ne Kadar Hızlı Çalışacağını Tahmin Eden Yeni Araç

MIT araştırmacıları; bilgisayar çiplerinin çeşitli uygulamalardan kodu ne kadar hızlı çalıştıracağını öngören bir makine öğrenme aracı icat ettiler.

Makine öğrenme sistemi, geliştiricilerin bir dizi uygulamada bilgi işlem verimliliğini artırmasını sağlamalıdır.

 MIT araştırmacıları; bilgisayar çiplerinin çeşitli uygulamalardan kodu ne kadar hızlı çalıştıracağını öngören bir makine öğrenme aracı icat ettiler.

 Kodun olabildiğince hızlı çalışmasını sağlamak için, geliştiriciler ve derleyiciler (programlama dilini makinede okunabilir koda çeviren programlar) genellikle kodu verilen çip mimarilerinin simülasyonuyla çalıştıran, performans modellerini kullanır.

 Derleyiciler bu bilgileri; kodu, otomatik olarak optimize etmek için kullanır. Geliştiriciler ise; bu kodu çalıştıracak mikroişlemcilerdeki performans darboğazlarıyla mücadele etmek için kullanır.  Ancak makine kodu için performans modelleri; nispeten küçük bir uzman grubu tarafından el yazısı ile yazılmıştır ve doğrulanmamıştır.  Sonuç olarak; simüle edilmiş performans ölçümleri genellikle gerçek hayat sonuçlarından sapar.

 Bir dizi makalede, araştırmacılar; bu süreci otomatikleştiren, daha kolay, daha hızlı ve daha doğru hale getiren yeni bir makine öğrenme boru hattını (pipeline) tanımlar.   Uluslararası Makine Öğrenimi Konferansı’nda sunulan bir makalede, araştırmacılar; etiketli verileri “temel bloklar” olan bilgi işlem yönergelerinin temel snippet’leri şeklinde eğiten, bir sinir ağı modeli olan, Ithemal’ı otomatik olarak ne kadar süreceğini tahmin etmek için sundular.  Sonuçlar Ithemal’ın geleneksel elle ayarlanan modellerden çok daha doğru performans gösterdiğini göstermektedir.

 Daha sonra araştırmacılar; performans modellerini doğrulamak için kullanılabilecek makine öğrenimi, derleyiciler, kriptografi ve grafikler de dahil olmak üzere çeşitli alanlardan bir dizi temel blok paketi sundular.  300.000’den fazla profilli bloğu; BHive adlı açık kaynaklı bir veri kümesine birleştirdiler.  Değerlendirmeleri sırasında Ithemal; Intel çiplerinin Intel’in kendisi tarafından oluşturulan bir performans modelinden ne kadar hızlı kod çalıştıracağını tahmin etti.

 Nihayetinde, geliştiriciler ve derleyiciler; sürekli artan sayıda farklı ve “kara kutu” çip tasarımında daha hızlı ve daha verimli çalışan kod üretmek için bu aracı kullanabilirler.  

Elektrik Mühendisliği ve Bilgisayar Bilimleri Bölümü (EECS) Yardımcı Doçent ve Yapay Zeka Laboratuvarı (CSAIL) Bilgisayar Bilimi Araştırmacı Michael Carbin: “Modern bilgisayar işlemcileri opak, korkunç derecede karmaşık ve anlaşılması zor.  Bu işlemciler için olabildiğince hızlı çalışan bilgisayar kodu yazmak da inanılmaz derecede zor. Bu araç, daha iyi verimlilik için yongaların performansının tamamen modellenmesi yönünde atılmış büyük bir adımdır.”

 En son,  NeurIPS konferansında sunulan bir bildiride; ekip derleyici optimizasyonlarını otomatik olarak oluşturmak için yeni bir teknik önerdi.  Özellikle; otomatik olarak Vemal adlı, belirli kodu vektörlere dönüştüren ve paralel hesaplama için kullanılabilen bir algoritma oluştururlar.  Vemal, endüstride kullanılan popüler bir derleyici olan LLVM derleyicisinde kullanılan el yapımı vektörizasyon algoritmalarından daha iyi performans gösterir.

Verilerden Öğrenme

 Araştırmacı Carbin;  performans modellerini elle tasarlamak “siyah bir sanat” olabilir diyor.  Intel; çiplerinin mimarilerini açıklayan 3.000’den fazla sayfanın kapsamlı belgelerini sunar.  Ancak şu anda;  bu mimariler üzerinde kod yürütülmesini simüle eden performans modelleri oluşturacak sadece küçük bir uzman grubu var.

 Araştırmacı Mendis: “Intel’in belgeleri ne hatasız ne de eksiksizdir ve Intel belirli şeyleri atlayacaktır, çünkü mülk sahibidir.  “Ancak, verileri kullandığınızda, belgeleri bilmenize gerek yoktur.  Gizli bir şey varsa, bunu doğrudan verilerden öğrenebilirsiniz.”

 Bunu yapmak için, araştırmacılar;  belirli bir mikroişlemcinin insan müdahalesi olmadan temel blok talimatlarını (temel olarak, önyükleme, yürütme ve kapatma sırası) hesaplamak için aldığı ortalama döngü sayısını izlediler.  Süreci otomatikleştirmek; yüz binlerce veya milyonlarca bloğun hızlı bir şekilde profillenmesini sağlar.

Etki Alanına Özgü Mimariler

 Eğitimde, Ithemal modeli; farklı çip mimarilerinin hesaplamayı nasıl gerçekleştireceğini tam olarak öğrenmek için milyonlarca otomatik profilli temel bloğu analiz ediyor.  Önemli olarak, Ithemal ham metni giriş olarak alır ve giriş verilerine manuel olarak özellikler eklemeyi gerektirmez.  Testte, Ithemal daha önce görülmemiş temel bloklara ve belirli bir çipe beslenebilir ve çipin bu kodu ne kadar hızlı çalıştıracağını gösteren tek bir sayı üretecektir.

 Araştırmacılar, Ithemal hata oranlarını doğrulukta buldular. (Tahmin edilen hız ile gerçek dünya hızı arasındaki fark; geleneksel el yapımı modellere göre yüzde 50 oranında…) Ayrıca, bir sonraki makalelerinde, Ithemal’ın hata oranının yüzde 10 olduğunu, Intel performans tahmin modelinin hata oranının ise birden fazla farklı alanda çeşitli temel bloklarda yüzde 20 olduğunu gösterdiler.

Araştırmacı Mendis; aracın artık yeni yonga mimarileri için performans hızlarını hızlı bir şekilde öğrenmeyi kolaylaştırdığını söylüyor.  Örneğin, Google’ın özel olarak sinir ağları için kullanılan yeni Tensör İşleme Birimi gibi alana özgü mimariler şu anda oluşturuluyor ancak geniş bir şekilde anlaşılmıyor.  

Araştırmacı Mendis: “Yeni bir mimari üzerinde bir model eğitmek istiyorsanız, sadece o mimariden daha fazla veri toplar, profilimiz aracılığıyla çalıştırırsınız, bu bilgileri Ithemal’ı eğitmek için kullanırsınız ve şimdi performansı tahmin eden bir modeliniz var.” 

 Daha sonra, araştırmacılar modelleri yorumlanabilir hale getirmek için yöntemler üzerinde çalışıyorlar.  Makine öğreniminin çoğu kara bir kutudur, bu nedenle belirli bir modelin neden tahminlerde bulunduğunu tam olarak açık değildir. 

Araştırmacı Carbin: “Modelimiz, bir işlemcinin, örneğin, temel bir blok yürütmenin 10 döngü sürdüğünü söylüyor.  Şimdi nedenini anlamaya çalışıyoruz. Bu; bu tür araçlar için harika olacak ayrıntılı bir ayrıntı düzeyidir.”

 Ayrıca Vemal’ın performansını daha da artırmak ve otomatik olarak daha iyi performans elde etmek için Ithemal’ı kullanmayı umuyorlar.

Kaynak:
MIT
Etiketler
1 Oy2 Oy3 Oy4 Oy5 Oy (1 oy verildi, Ortalama: 5 üzerinden 5,00 oy )
Loading...

Benzer Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Close
Close