ML Odak Yazılıma Yönelik Kayıyor

Kaynak Düğüm: 1600819

Bulut ve uç için en etkili hızlandırma mimarilerini sağlama yarışı devam ederken, yeni makine öğrenimi (ML) mimarileri büyük ilgi toplamaya devam ediyor, ancak ilgi donanımdan yazılım araçlarına kaymaya başlıyor.

Şimdi asıl soru, gelecekteki kazananların kim olacağını belirlemede, bir yazılım soyutlamasının donanım ayrıntılarına üstün gelip gelmeyeceğidir.

Nesnelerin İnterneti, bilgi işlem ve güvenlikten sorumlu ürün pazarlama müdürü Sree Harsha Angara, "Makine öğrenimi tarihsel olarak otomotiv için nesne algılama veya ses kullanarak doğal dili anlama gibi belirli son uygulamalara vurgu yapılan bir yerden geldi" dedi. Infineon. "Artık ML, tasarım araçlarına ve yazılım çerçevelerine daha fazla önem veren çeşitli uygulama türlerine yayılmaya başladı."

Makine öğrenimi sistem tasarımcıları, makine öğrenimi yazılım geliştirme kitlerinden (SDK'ler) daha fazlasını talep etmeye başlıyor ve bazı satıcılar, yazılımlarını donanım ayrıntılarını gömmek için kullanıyor. Sonuçta, iyi yazılıma sahip daha az optimal donanım, daha az yazılıma sahip daha iyi donanıma üstün gelebilir.

Daha önce burada bulunduk
Derleyiciler ve diğer geliştirme araçları, yazılım tarafında uzun süredir normal kabul ediliyor. Ancak 80'lerin başlarında iş donanıma geldiğinde tasarımcıların tasarımlarını büyük ölçüde manuel olarak yapmaları bekleniyordu. Bugün bu durum değişmiş olsa da, oraya ulaşmak için zorlu bir yol gerekiyordu. Programlanabilir mantık pazarı da tasarım yazılımlarının öne çıktığı ilk yerlerden biriydi.

Başlangıçta PLD yazılımı yalnızca yoğun işleri ortadan kaldırmaya hizmet ediyordu. Programlanabilir mantık cihazlarının (PLD'ler) ilk günlerinde, mühendisler mantıklarını çözüyor ve ardından programlanabilir dizilerde hangi bağlantıların gerekli olduğunu buluyorlardı. Bunlar kelimenin tam anlamıyla "sigorta haritalarına" elle yazılacak ve daha sonra bir cihazın fiziksel olarak yapılandırılması için programlama ekipmanına girilebilecek.

Monolitik Bellekler tarafından programlanabilir dizi mantığının veya PAL'lerin kullanıma sunulmasıyla büyük bir değişiklik meydana geldi. Genel olarak PLD endüstrisini iki şey hızlandırdı. Birincisi, maliyeti azaltan ve hızı artıran mimari bir değişiklikti. Ancak daha etkili bir şekilde, PALASM adlı sözde PAL birleştiricisinin ilk piyasaya sürülmesine tanık oldu.

Bu, bağlantıların haritasını çıkarmanın sıkıcı sürecini ortadan kaldırdı. Bunun yerine, mühendislerin çalışması çok daha doğal olan Boolean denklemleri girilebilir ve aracın programlama ayrıntılarını çözmesine izin verilebilir. Bu da iş hayatında ciddi bir dönüm noktası oluşmasına yardımcı oldu.

Bundan birkaç yıl sonra, daha fazla mimari programlanabilirlik sağlayan PLD pazarına yeni girenler ortaya çıktı. Bu tür cihazların uygulayamayacağı bir mantık her zaman vardı, bu yüzden hâlâ hızlı ve ucuz olan en esnek mimarileri bulma yarışı başladı.

Altera'nın MAX-PLUS tasarım yazılımıyla yeni mimarisini piyasaya sürmesiyle önemli bir dönüm noktası geldi. Mühendisler bu mimarinin yapabileceklerinin sınırlarını bulmakta zorlandılar ve hoş bir sürpriz yaşadılar. Derlemede başarısız olması beklenen denklemler aslında işe yaradı çünkü yazılım artık Boolean denklemlerini bağlantılara dönüştürmekten daha fazlasını yapıyordu. Bunun yerine, diğer şeylerin yanı sıra, Boole denklemlerini de uygulayarak dönüştürüyordu. DeMorgan teoremi yapılamayan şeyleri yapılabilecek şeylere dönüştürmek.

Bu çığır açıcı bir gelişmeydi ve işin yazılım tarafının çıtasını önemli ölçüde artırdı. Yazılım bu zayıflıkları maskelediği sürece donanımdaki mimari zayıflıklara dikkat çekmeye çalışın, bu kaybedilen bir tartışmaydı.

Bu noktaya kadar iş, AMD'nin (Monolitik Memories'i satın alarak) lider olduğu donanım şirketlerinin hakimiyetindeydi. Ancak donanım şirketleri yazılım yapma konusunda iyi değildi ve bunu yapmaktan da hoşlanmıyorlardı. Bu nedenle AMD, yazılımla uğraşmak yerine işi küçük bir yazılım şirketine devretti. Bunun stratejik bir hata olduğu ortaya çıktı ve şirket sonunda iflas etti; teknolojinin bir kısmını AMD'nin yeni kurulan Vantis yan kuruluşuna (nihayetinde başarılı olamadı) ve bir kısmını da o zamanlar sahneye yeni çıkan Xilinx'e sattı. süslü FPGA'ler (son derece başarılıydı).

Sonunda kazananı yazılım belirledi. Donanım özellikleri bir sıçrama modeli izledi ve araçların farklılaştırıcı olduğu kanıtlandı.

Stuart Clubb, baş ürün müdürü şunları söyledi: "Tarih, kısmen etkili bir araç zincirinin olmayışı nedeniyle tamamı tökezleyen ve artık var olmayan olağanüstü FPGA donanım mimarileriyle doludur." Siemens EDA. "Bir donanım platformunun ne kadar iyi olduğunun bir önemi yok, eğer o platformdan verimli ve etkili bir şekilde yararlanacak yazılıma sahip değilseniz."

Makine öğrenimine paralel bir şey mi?
Günümüzde tüm gözler yapay zekanın üzerinde ve şirketler bulutta veya uçta çalışacak makine öğrenimi hızlandırıcıları için en iyi mimariyi bulmaya çalışıyor. Bulut örneklemeleri hakim olsa da, kenar uygulamaları - zorlu güç ve maliyet gereksinimleriyle - çok daha fazla yaratıcılığı teşvik etti.

Ancak bu mimariler arasındaki farkların etkisini anlamak giderek zorlaşıyor. Şirketlerin performans, güç ve maliyet açısından uygun bir nokta bulmak amacıyla farklı parametreleri zorlayıp kullanması nedeniyle büyük fikirler neredeyse arkamızda kalmış gibi geliyor.

Çıkarım ürünleri satış ve pazarlamadan sorumlu başkan yardımcısı Dana McCarty, "İnsanların karşılaştığı sorun, bu donanım çözümlerine sahip olmaları ve bunları optimize edememeleri veya istedikleri kullanım düzeyini elde edememeleridir" dedi. Esnek Logix.

Makine öğreniminin her zaman bir yazılım öğesi vardı, çünkü bir makine öğrenimi çözümünü eğitme ve uygulama fikri hiç de kolay bir iş değildi. Caffe ve TensorFlow gibi ilk makine öğrenimi çerçevelerinin varlığı, yapay zeka uygulamalarını daha fazla sayıda geliştirici için pratik ve erişilebilir hale getirdi.

Öyle olsa bile, özellikle uç uygulamalar için tam bir tasarım oluşturmak için çok fazla çalışma yapılması gerekiyor. en gelişmiş test verileri üzerinde yapay zeka kullanımına ilişkin bir örnek sundu; örneğin, görmeden çok daha az öne çıkan bir uygulama.

Advantest'in teknoloji ve stratejiden sorumlu başkan yardımcısı Keith Schaub, "Bu büyük, temizlenmemiş veri setini alıyoruz ve bunun üzerinden manuel olarak geçmek, araçları manuel olarak uygulamak birkaç hafta sürecek" dedi. “Yüzlerce, bazen 1,000 veya daha fazla özelliğiniz var ve tahmininizle ilişkili en önemli özellikleri bulmaya çalışıyorsunuz. Bunları regresyon yöntemleri ve [temel bileşen analizi] yoluyla buluyorlar. Ve sonra 12 özelliğe sahip bu statik modele sahip oluyorsunuz.”

Ve bu sadece üst düzey özellik mühendisliğidir. Bir sonraki kısım, bu modeli, rekabet avantajının ortaya çıkabileceği belirli bir cihaza verimli bir şekilde eşlemektir. Flex Logix'in kıdemli pazarlama müdürü Sam Fuller, "Bu modeli hızlandırıcınıza verimli bir şekilde bağlayabilmeniz gerekiyor ve bu köprüyü kurabilen şirket kazanacak" dedi.

Bulut tabanlı motorlar büyük ölçüde tam kayan nokta donanımına güvenebilirken, çoğu uç donanım tamsayı uygulamalarına odaklanarak güç ve maliyet tasarrufu sağlar. Bu, bir tasarımı ve eğitilmiş parametreleri alıp bunları nicelemek, yani kayan noktadan tam sayıya dönüştürmek anlamına gelir. Bu, çıkarım doğruluğuna zarar verebilecek bazı hatalara yol açar, bu nedenle istenen tamsayı formatıyla yeniden eğitim verilmesi gerekebilir. Zamanla doğrudan tam sayılara eğitim vermek daha kolay hale geldi.

Bu tasarımların boyutunun ve enerji tüketiminin azaltılması da gerekli çalışmaları gerektiriyordu. Önemli olamayacak kadar küçük olan parametreleri belirleyerek tasarımı gözden geçirebilir ve ardından bunları ortadan kaldırabilirsiniz. Bu başlangıçta manuel bir işlemdi ve budama işlemi nedeniyle çok kötü bir şekilde tehlikeye atılmadığından emin olmak için doğruluğun yeniden değerlendirilmesi gerekiyordu.

Bir de yazılım “çekirdeklerinin” kullanılan işlemci türüne göre uyarlanması meselesi var. Bu genellikle ağdaki her düğüm için yazılan çıplak metal koddur. Bazı mimariler yalnızca çıkarım için kullanılan ortak talimatlara odaklanan işleme öğelerini seçer. Diğerleri çıkarımların ötesinde daha esnek bir şekilde kullanılabilmeleri için "tam programlanabilirliği" korurlar.

Ve eğer bir veri akışı mimariniz varsa, donanımı bölümlere ayırmanız ve farklı bölgelere farklı katmanlar ve düğümler atamanız gerekebilir.

Bunlar tamamen işlevsel bir makine öğrenimi uygulamasını hayata geçirmek için ele alınması gereken şeylerden sadece birkaçı. Bazıları manueldi, ancak yazılım otomasyonunun miktarı yavaş yavaş artırıldı.

Sonraki aşama: donanımı gizli tutmak
Geçtiğimiz yıl sektörde bir değişim gözle görülür hale geldi. Linley Processor konferansları veya Hot Chips gibi konferanslarda şirketler, yazılım hakkında daha fazla tartışılarak yeni teklifleri duyuruyorlar. Ve özellikle bazı durumlarda, temel donanım hakkında gerçekten konuşmuyorlar.

Bu elbette konferanslar gibi halka açık forumlarda gerçekleşebilir. Bazen şirketler ayrıntıları yalnızca NDA kapsamında meşru satış potansiyel müşterilerine açıklar. Ancak konuşmaların gidişatı giderek şuna doğru ilerlemiş görünüyor: “Ayrıntıları dert etmeyin. Yazılım bunu halledecektir.”

Bu, satış tartışmalarını, potansiyel müşteriyi ince mimari farklılıkların anlamlı sonuçlar doğuracağına ikna etmeye çalışmaktan, tasarım deneyiminin kanıt sağladığı bir tartışmaya önemli ölçüde değiştiriyor. Bir deneme tasarımını daha önce yapabildiğinizden daha hızlı bir şekilde uygulayabilir misiniz? Minimum manuel yinelemeyle hedef performans ölçümlerinize (maliyet, hız, güç, doğruluk vb.) ulaşıyor musunuz? Çok az manuel müdahaleyle veya hiç manuel müdahale olmadan, iyi bir uygulama gerçekleştirebilir misiniz?

Bunların hepsinin cevabı evet ise donanımın bunu nasıl başardığının bir önemi var mı? Yazılım, ihtiyaç duyulan dönüşümleri hızlı bir şekilde gerçekleştirebiliyorsa, temeldeki kapıların yazılım dönüşümü gerektiren bir sınırlamaya sahip olup olmamasının bir önemi var mı? Başka bir mimaride çok daha fazla özellik varsa ve bir tasarımı tamamlamak çok daha fazla çaba gerektiriyorsa, bu ekstra özellikler bu çabaya değer mi?

Konuşmak için araçlarına güvenen şirketler, iyi bir yazılımla eşleştirildiğinde istenen işi ve ihtiyaç duyulan hızı, gücü, doğruluğu ve maliyeti sağlayabildiği sürece, müşterilerinin aslında kaputun altında ne olduğunu umursamadığına bahse giriyor. .

Makine öğrenmesiyle tarih tekerrür edecek mi?
İnsanlar gibi şirketlerin de kişilikleri vardır. Bazıları donanım odaklı, bazıları ise yazılım odaklıdır. Her ikisinden de bir kısmı herhangi bir makine öğrenimi teklifi için açıkça gereklidir, ancak uç noktanın yazılım yönelimli olanlara doğru ilerlediği görülüyor. Bu, yazılımı teklifin yıldızı olarak ön planda ve merkezde tutmak anlamına gelir; sinir bozucu ama gerekli bir kamera hücresi olarak. Bu aynı zamanda donanım ve yazılımın birlikte tasarlanması gerektiği anlamına gelir.

Ayrıntıları ara belleğe almak için yazılıma duyulan ihtiyaç, ML'de muhtemelen FPGA'lere göre daha fazladır. Araçlarla bile FPGA'ler donanım mühendisleri tarafından tasarlanmıştır. ML modelleri ise donanımdan çok uzakta olan veri bilimcileri tarafından tasarlanıyor. Bu nedenle araçların soyutlama boşluğunu doldurması gerekiyor.

Yapay Zeka ve Yazılım Ürün Pazarlama Direktörü Nick Ni, "Onların dilini konuşmadığınız sürece hiçbir şansınız yok" dedi. Xilinx. "Her satıcı TensorFlow ve Python desteğinden bahsediyor çünkü başka çareleri yok. Beğenseniz de beğenmeseniz de desteklemek zorundasınız. Ancak bu kadar yüksek bir çerçeveyi desteklemek için aradaki her şeyi yapmanız gerekiyor.”

PLD endüstrisindeki bir başka başarısızlık da akıllı mimariler tasarlamak ve daha sonra bunun için yazılım oluşturmanın son derece zor olduğunu anlamaktı. En başarılı donanım ve yazılım ekipleri, sorunsuz ve güçlü yazılım algoritmalarına izin verecek şekilde donanımın gerektiği şekilde ayarlanmasıyla birlikte çalıştı.

Şekil 1: Manuel tasarımlarla başlayan ve sıkıcılığın ortadan kaldırılması, tasarımları gerçek anlamda manipüle etme yeteneği ve son olarak onları optimize etme yoluyla ilerleyen tasarım araçlarının evrimi. Sonraki aşamalarda donanım/yazılım ortak tasarımı başarı için kritik öneme sahiptir. Kaynak: Bryon Moyer/Yarı İletken Mühendisliği

Şekil 1: Manuel tasarımlarla başlayan ve sıkıcılığın ortadan kaldırılması, tasarımları gerçek anlamda manipüle etme yeteneği ve son olarak onları optimize etme yoluyla ilerleyen tasarım araçlarının evrimi. Sonraki aşamalarda donanım/yazılım ortak tasarımı başarı için kritik öneme sahiptir. Kaynak: Bryon Moyer/Yarı İletken Mühendisliği

Bu aynı zamanda makine öğrenimi için de geçerli olacaktır. Akıllı bir donanım numarasının yazılımda kullanılması zorsa, o zaman muhtemelen hiçbir zaman kullanılmayacaktır. Sonuçta en başarılı teklifler muhtemelen araçlarıyla iyi bir şekilde eşleşen ve araçların etkili bir şekilde kullanılamadığı özellikleri ortadan kaldıran mimariler olacaktır.

Geçen sonbaharda düzenlenen Linley İşlemci Konferansı'nda Quadric.io CTO'su Nigel Drago, "Şirketin temel önermelerinden biri, yazılım ihtiyaçlarının donanım tasarımını yönlendirmesi gerektiğidir" dedi.

Aynı konferansta Roviero'nun kıdemli başkan yardımcısı Ravi Setty, şirketin mimarisini tanımlamada yazılımın rolünden bahsetti. “Derleyicide %5 basitliğe ulaşmak için donanıma belki %90 karmaşıklık ekledik. Donanım, herhangi bir sinir ağı bilgisinden tamamen bağımsızdır. Tüm bilgiye sahip olan derleyicidir. Donanım ise yalnızca bir yürütme motorudur.”

Araçların rolü artarken, donanımı tamamen gömme noktasında değiliz. Hala çözülmemiş zengin bir mimari araştırma karışımı var. Birçok tasarım otomasyonu gidişatında olduğu gibi, birçok tasarımın donanımdan en iyi şekilde yararlanmak için gereken elle ince ayarlarla otomatik olarak yapılabileceği bir alana giriyoruz.

Piyasanın bu aşamasında, yazılım soyutlamalı daha genelleştirilmiş mimariler ile amaca yönelik inşa edilmiş mimariler arasında da bir gerilim var. Siemens EDA'dan Clubb, "Yazılım odaklı genel amaçlı bir donanım çözümü daha fazla esneklik sunabilirken, belirli bir boyutun (alan, güç, hız, maliyet) daha büyük önem taşıdığı durumlarda bu tür çözümler sıklıkla özel donanıma kapılır" dedi.

Bu, özel donanımı hedefleyen yazılımlar için zorluk yaratabilir. Siemens EDA'nın strateji ve büyümeden sorumlu üst düzey yöneticisi Anoop Saha, "Her mimarinin benzersiz avantajları vardır ve belirli kullanım durumları için optimize edilmiştir" dedi. "Ancak kullanıcı için sorun devam ediyor; ağlarını belirli bir donanım mimarisi üzerinde nasıl derleyebilirler? Ve eğer bunu yapabiliyorlarsa, bunu söz konusu donanım için nasıl optimize edebilirler ve mevcut farklı bileşenlerden nasıl yararlanabilirler? Donanıma özel optimizasyonların ve esnekliğin yazılım tarafından daha otomatik bir şekilde ele alınması gerekiyor."

Araçlar yönetir mi?
Sonuçta, uzun vadeli donanım kazananlarının, yalnızca geliştiricilere tasarım kararlarında yardımcı olmaya yetecek kadar donanımla en iyi tasarım deneyimini sağlayanlar olacağı anlaşılıyor. Bugün FPGA'lerin çalışma şekli kesinlikle budur. Aslında bazı durumlarda FPGA donanımının teorik olarak yapabileceği, ancak yazılımın izin vermeyeceği şeyler vardır.

ML de benzer bir yol izliyor gibi görünüyor. Infineon'dan Angara, "Donanımda güç ve hız açısından önemli avantajlar sağlayan yenilikler, kendilerini ortak bir yazılım çerçevesi veya API altında sarmalıyor" dedi. "Bu, 'gelişmemiş' yazılımların sıkıntısı olmadan ML'yi çalıştırmada önemli kazanımlar sağladıkları anlamına geliyor."

Mühendislerin donanım hakkında düşünmeyi bırakıp bırakmayacaklarını zaman gösterecek. “ML 'derleyicileri' genel donanım platformlarını donanımın gerçekten önemli olmadığı noktaya kadar hedefleyecek kadar akıllı olabilir mi? Muhtemelen hayır," dedi Clubb. "ML donanım uzmanlığının, çözümün esnekliğini ve yeniden programlanabilirliğini kilitleme konusunda kesinlikle avantajları ve dezavantajları vardır. Yaratıcı mimarlar ve donanım tasarımcıları, genel amaçlı çözüm uygulamanın ihtiyaçlarını karşılamadığında her zaman daha etkili çözümler üretmeye ihtiyaç duyacaktır."

Ancak ölçeklendirme ve pazarın büyük kısmı bunu etkileyebilir. Sentez yeniyken, her zaman bir aletten daha iyi iş çıkarabileceklerini düşünen birçok mühendis vardı. Bu doğru olabilirdi ama tasarımlar ölçeklendikçe, üretkenlik beklentileri yükseldikçe ve araçlar geliştikçe bu pratik olmaktan çıktı.

Yani donanım her zaman belli bir dereceye kadar önemli olsa da, uzun vadede tıpkı programlanabilir mantıkta olduğu gibi, yazılım araçları çoğu zaman belirleyici olabilir gibi görünüyor.

Kaynak: https://semiengineering.com/ml-focus-shifting-toward-software/

Zaman Damgası:

Den fazla Yarıiletken Mühendisliği