Sarkaçlar yaptıklarını yaparlar: bir yöne dönerler, sonra diğer yöne geri dönerler. Bazıları hızla salınır; bazıları yavaş; ve bazıları çok yavaş yapabilirsin dünyanın altlarında dönmesini izle. Herhangi bir teknik trendden “sarkaç” olarak bahsetmek bir klişedir, ancak çoğu zaman doğrudur.
Foucault’nun çok uzun, yavaş sarkacının teknolojik eşdeğeri haline gelen, bilgisayarın en uzun vadeli eğilimlerinden birinin tersine döndüğünü izliyor olabiliriz: genelleme eğilimi. Bu eğilim, bilgisayarların icadından bu yana, yaklaşık 70 yıldır aynı yönde sallanıyor. İlk bilgisayarlar sadece belirli amaçlar için tasarlanmış hesaplama motorlarıydı: kodları kırma (İngiltere’nin bomba) veya füze yörüngelerinin hesaplanması. Ancak bu ilkel bilgisayarlar kısa sürede programları saklamak, onları çok daha esnek hale getirmek; sonunda “genel amaçlı” (yani iş) bilgisayarlar haline geldiler. IBM 360’ın makine dili için bir kılavuz gördüyseniz, yalnızca iş bağlamında anlamlı olan birçok yönerge görürsünüz; örneğin, ikili kodlu ondalık sayı biçiminde aritmetik yönergeleri.
Daha hızlı öğrenin. Daha derin kaz. Daha uzağa bakın.
Bu sadece başlangıçtı. 70’lerde, kelime işlemciler daktiloların yerini almaya başladı. Kelime işlemciler aslında yazmak için tasarlanmış erken dönem kişisel bilgisayarlardı ve bunların yerini hızla kişisel bilgisayarlar aldı. E-postanın icadıyla bilgisayarlar iletişim araçları haline geldi. Napster gibi dosya paylaşım yazılımları ve WinAmp gibi MP3 çalarlar ile bilgisayarlar radyoların yerini almaya başladı – ardından Netflix akışa başladığında televizyonlar. CD ve DVD oynatıcılar, kelime işlemciler veya Bombe gibi esnek olmayan, göreve özel bilgisayarlardır ve işlevleri genel amaçlı makineler tarafından kapsanmıştır.
Genelleme eğilimi yazılım içinde de gerçekleşti. Milenyumun başlarında, çoğumuz Web tarayıcılarının (evet, erken dönem Mosaic, Netscape ve Internet Explorer bile) yazılım için genel bir kullanıcı arabirimi olarak kullanılabileceğini fark ettik; bir programın tüm yapması gereken, kullanıcı arayüzünü HTML olarak ifade etmek (kullanıcı girişi için formlar kullanarak) ve tarayıcının sayfayı görüntüleyebilmesi için bir web sunucusu sağlamaktı. Java’nın belki de bir grafik kullanıcı arabirimi (GUI) kitaplığına sahip olan son programlama dili olması tesadüf değildir; kabaca aynı zamanda ortaya çıkan diğer diller (örneğin Python ve Ruby) hiçbir zaman bir dile ihtiyaç duymadı.
Donanıma bakarsak, makineler giderek daha hızlı hale geldi ve süreçte daha esnek hale geldi. IBM 360’ta özel olarak “iş” için yönergelerin görünümünden daha önce bahsetmiştim. GPU’lar, yüksek hızlı hesaplama ve grafikler için özel donanımlardır; ancak, atanmış vektör işlemcileri olan atalarından çok daha az uzmandırlar. Akıllı telefonlar ve tabletler, esasen farklı bir form faktörüne sahip kişisel bilgisayarlardır ve 1990’ların süper bilgisayarlarını geride bırakan performans özelliklerine sahiptirler. Ayrıca kameralar, radyolar, televizyonlar, oyun konsolları ve hatta kredi kartlarıdır.
Öyleyse, neden bu sarkacın diğer yöne sallanmaya başlayabileceğini düşünüyorum? Son zamanlarda yayınlanan bir makale Finansal Zamanlar, Big Tech Fiş Üzerine Bahislerini Artırıyor, Google ve Amazon’un bulutlarında kullanım için özel çipler geliştirdiğini belirtiyor. Yeni nesil donanımın, çip geliştirmenin daha geniş bir stratejiye daha yakından entegre edildiği bir donanım olacağını varsayıyor. Daha spesifik olarak, “hız ve performansta yeni sıçramalar üretmenin en iyi umudu, donanım, yazılım ve sinir ağlarının ortak tasarımında yatmaktadır.” Ortak tasarım, sinir ağlarını çalıştırmak için son derece optimize edilmiş bir donanım tasarlamak, bu belirli donanım için iyi bir eşleşme olan sinir ağları tasarlamak ve bu belirli donanım ve sinir ağı kombinasyonu için programlama dilleri ve araçları tasarlamak gibi görünüyor. Tüm bu faaliyetler sırayla (önce donanım, ardından programlama araçları, ardından uygulama yazılımı) gerçekleşmek yerine, birbirini bilgilendirerek eşzamanlı olarak gerçekleşir. Bu, en azından yüzeysel olarak, genel amaçlı donanımdan uzaklaşmak gibi geliyor: ortaya çıkan çipler, bir şeyi son derece iyi yapmakta iyi olacak. Kuantum hesaplamaya çok fazla ilgi olsa da, kuantum bilgisayarların kaçınılmaz olarak geleneksel bilgisayarlara bağlı özel işlemciler olacağını da belirtmekte fayda var. Bir kuantum bilgisayarın, video akışlarını işleyen yazılımlar veya elektronik tabloları hesaplayan yazılımlar gibi genel amaçlı yazılımları çalıştırabileceğine (veya çalıştırması gerektiğine) inanmak için hiçbir neden yoktur. Kuantum bilgisayarlar geleceğimizin büyük bir parçası olacak ama genel amaçlı değil. Hem ortak tasarım hem de kuantum hesaplama, genel amaçlı bilgi işlem donanımından uzaklaşır. Moore Yasasının sonuna geldik ve donanımın kendisinden daha fazla hızlanma bekleyemeyiz. Donanımımızı belirli bir görev için optimize ederek performansın artmasını bekleyebiliriz.
Donanım, yazılım ve sinir ağlarının ortak tasarımı, kaçınılmaz olarak yazılım geliştirmeye yeni nesil araçlar getirecektir. O araçlar ne olacak? Mevcut geliştirme ortamlarımız, programcıların donanım hakkında (eğer bir şey varsa) fazla bilgi sahibi olmasını gerektirmez. Assembly dili programlama, gerçekten yalnızca gömülü sistemler (hepsi değil) ve en üst düzeyde performans gerektiren birkaç uygulama için önemli olan bir uzmanlık alanıdır. Ortak tasarım dünyasında, programcıların donanım hakkında daha fazla bilgiye ihtiyacı olacak mı? Yoksa yeni nesil araçlar, donanımı ve yazılımı daha da yakından örerken bile donanımı soyutlayacak mı? Farklı türde sinir ağı mimarileri için modülleri olan araçları kesinlikle hayal edebiliyorum; işlemcinin ne tür verilerle uğraşması gerektiğini biliyor olabilirler; hatta bir tür “ön eğitime” izin verebilirler – sonuçta size bir çip üzerinde GPT-3 verebilecek bir şey. (Pekala, belki bir çip üzerinde değil. Belki bazı dağıtılmış bilgi işlem mimarisi için tasarlanmış birkaç bin çip.) Bir programcının “Bu benim istediğim türden bir sinir ağı ve ben bu şekilde programlamak istiyorum” diyebilir mi? o ”ve gerisini alet mi yapsın? Bu bir hayal gibi geliyorsa, GitHub Copilot gibi araçların zaten programlamayı otomatikleştirdiğini anlayın.
Çip tasarımı, “ilk birimin maliyeti 10 milyar dolar; geri kalan her şey birer kuruş.” Bu, çip satışı (Intel ve AMD gibi) işinde olan veya özel ihtiyaçları olan ve kendileri çok büyük miktarlarda satın alabilen (Amazon ve Google gibi) iyi finanse edilen şirketler için sınırlı çip tasarımına sahiptir. Birkaç varlıklı şirket ile diğer herkes arasındaki güç dengesizliğini artırarak duracağı yer orası mı yoksa ortak tasarım sonunda daha küçük şirketlerin (ve belki de bireylerin) özel işlemciler oluşturmasını sağlayacak mı? Bana göre ortak tasarım, dünyanın Amazonları ve Google’larıyla sınırlıysa bir anlam ifade etmiyor. Zaten özel çipler tasarlayabilirler. Pahalıdır, ancak bu masrafın kendisi, rakiplerin geçmekte zorlanacağı bir hendektir. Ortak tasarım, geliştirilmiş performansla ilgilidir, evet; ama dediğim gibi, aynı zamanda kaçınılmaz olarak gelişmiş araçlarla da ilgili. Bu araçlar yarı iletken üretim tesislerine daha iyi erişim sağlayacak mı?
Daha önce böyle bir geçiş gördük. Eskiden baskılı devre kartları tasarlamak ve yapmak zordu. Lisede bir kez denemiştim; uğraşmak istemediğiniz asitler ve kimyasallar gerektirir ve bir hobici kesinlikle bunu hacim olarak yapamaz. Ama şimdi çok kolay: bir devre tasarlarsınız. Kicad veya Fritzing gibi ücretsiz bir araç, aracın bir kart düzeni oluşturmasını sağlayın, düzeni bir web arayüzü aracılığıyla bir satıcıya gönderin ve birkaç gün sonra devre kartlarınızla birlikte bir paket gelir. İsterseniz, satıcının anakart bileşenlerini tedarik etmesini ve bunları sizin için yerinde lehimlemesini sağlayabilirsiniz. Binlerce değil, birkaç on dolara mal oluyor. Aynı şey çip düzeyinde de olabilir mi? Henüz olmadı. Sahada programlanabilen geçit dizilerinin eninde sonunda çip tasarımını demokratikleştirebileceğini düşündük ve sınırlı bir ölçüde de öyle. FPGA’lar, birkaç donanım mühendisi alabilecek küçük veya orta ölçekli işletmeler için zor değildir, ancak evrensel olmaktan uzaktırlar ve kesinlikle hobilere veya bireylere ulaşmamışlardır. Ayrıca, FPGA’lar hala standartlaştırılmış (genelleştirilmiş) bileşenlerdir; yarı iletken üretim tesisini demokratikleştirmiyorlar.
Ortak tasarımlı bir dünyada “bulut bilişim” nasıl görünür? Diyelim ki orta ölçekli bir şirket, özel bir dil modeli uygulayan bir çip tasarlıyor, belki şuna benzer bir şey: O’Reilly Cevapları. Bu çipi kendi donanımlarında, kendi veri merkezlerinde çalıştırmaları gerekir mi? Yoksa bu çipleri AWS ve GCP veri merkezlerine kurulum için Amazon veya Google’a gönderebilecekler mi? Bu, çipin arayüzünü standart hale getirmek için çok fazla çalışma gerektirir, ancak bu akıl almaz bir şey değildir. Bu evrimin bir parçası olarak, ortak tasarım yazılımı muhtemelen birinin bulutunda çalışmaya başlayacak (tıpkı AWS Bilge Yapıcı bugün yapar) ve bulut sağlayıcının altyapısında çalışan cihazların nasıl oluşturulacağını “bilecektir”. Bulut bilişimin geleceği özel donanım kullanıyor olabilir.
Bunun kullanıcılar için ne anlama geldiğini kaçınılmaz olarak sormamız gerekiyor: bu teknolojilerin sağladığı çevrimiçi hizmetleri ve fiziksel cihazları kullanacak olanlar için. Sarkacın özel cihazlara doğru döndüğünü görebiliriz. Sonos hoparlörleri gibi bir ürün, esasen, önceden bir stereo sistem olan ve daha sonra bir bilgisayar haline gelen cihazın yeniden uzmanlaşmasıdır. Ve (bir kez) sonunda hepimizin farklı aletlerle (iPod’lar, i-Android telefonlar, Fitbit’ler, Yubikey’ler, bir dizi dongle ve kulaklık seti, adını siz koyun) dolu sayısız cepleri olan ceketler giyeceğimiz fikrinden yakınırken, bazıları Bu ürünlerden bazıları mantıklı: Genel amaçlı telefondan farklı olarak iPod’un kaybolmasına üzülüyorum. Büyük bir müzik kitaplığı taşıyabilen ve başka hiçbir şey yapmayan küçücük bir cihaz bir mucizeydi (ve olmaya da devam edecek).
Ancak bu yeniden uzmanlaşmış cihazlar da değişecek. Bir Sonos hoparlörü, kulaklık jakı aracılığıyla bir amfiye bağlanan ve MP3 çalan bir dizüstü bilgisayardan daha özeldir; ama bunu 1980’lerin stereo sistemiyle de karıştırmayın. Ucuz, yüksek performanslı yapay zeka yaygınlaşırsa, yeni nesil son derece akıllı cihazlar bekleyebiliriz. Bu, gerçekten işe yarayan ses kontrolü anlamına gelir (belki aksanlı konuşanlar), ten rengi ne olursa olsun insanları doğru tanıyabilen kilitler ve tamir edilmesi gerektiğinde kendi kendine teşhis koyabilen ve tamirci çağırabilen cihazlar. (Her zaman servis yüklenicime saat 2’de bozulduğunda bildirimde bulunabilecek bir fırın istemişimdir.) Yerel bir cihaza istihbarat koymak mahremiyeti iyileştirebilir – cihazın işlenmesi için ana gemiye çok fazla veri göndermesi gerekmez. (Bunu Android telefonlarda zaten görüyoruz.) Trafik modellerini optimize etmek için birbirleriyle iletişim kuran otonom araçlar alabiliriz. Sesle kontrol edilen cihazların ötesine geçerek invaziv olmayan beyin kontrolüne geçebiliriz. (Elon Musk’ın Neuralink’i doğru fikre sahip, ancak çok az insan beyinlerine cerrahi olarak yerleştirilmiş sensörler isteyecektir.)
Ve son olarak, bunu yazarken bir dizüstü bilgisayarda yazdığımı fark ettim ama daha iyi bir dizüstü bilgisayar istemiyorum. Yeterli zekayla, ne yapmak istediğimin farkında olan ortamlar oluşturmak mümkün olabilir mi? Ve istediğim zaman bana doğru araçları sunun (muhtemelen Bret Victor’unki gibi bir şey). dinamik bölge)? Sonuçta, gerçekten bilgisayar istemiyoruz. İstiyoruz “zihin için bisikletler”–ama sonunda Steve Jobs bize sadece bilgisayar verdi.
Bu, baştan sona gömülü AI gerektirecek büyük bir vizyon. Performans ve güç tüketimi için optimize edilmiş çok sayıda çok özel AI işlemcisi gerektirecektir. Bu özel işlemcileri oluşturmak, çipleri nasıl tasarladığımızı yeniden düşünmeyi gerektirecek. Bu ortak tasarım, sinir ağını, işlemciyi ve yazılımı birlikte tek bir parça olarak tasarlamak mı olacak? Muhtemelen. Programlama araçları hakkında yeni bir düşünme biçimi gerektirecektir – ancak doğru türde araçları inşa edebilirsek, “muhtemelen” kesinlik kazanacaktır.
Kaynak : https://www.oreilly.com/radar/the-general-purpose-pendulum/