* Jak możemy zbudować wydajny komputer?
Nowoczesny cyfrowy komputer elektroniczny został wynaleziony niezależnie i prawie jednocześnie przez naukowców z trzech krajów objętych II wojną światową. Pierwszym działającym komputerem był elektromechaniczny Heath Robinson, zbudowany w 1943 roku przez zespół Alana Turinga w jednym celu: rozszyfrowaniu niemieckich wiadomości. W 1943 roku ta sama grupa opracowała Colossus, potężną maszynę ogólnego przeznaczenia opartą na lampach próżniowych. Pierwszym operacyjnym komputerem programowalnym był Z-3, wynalazek Konrada Zuse w Niemczech w 1941 roku. Zuse wynalazł także liczby zmiennoprzecinkowe i pierwszy język programowania wysokiego poziomu, Plankalkül. Pierwszy komputer elektroniczny, ABC, został zmontowany przez Johna Atanasoffa i jego ucznia Clifforda Berry’ego w latach 1940-1942 na Iowa State University. Badania Atanasoffa otrzymały niewielkie wsparcie lub uznanie; to właśnie ENIAC, opracowany w ramach tajnego projektu wojskowego na Uniwersytecie Pensylwanii przez zespół składający się z Johna Mauchly’ego i J. Prespera Eckerta, okazał się najbardziej wpływowym prekursorem nowoczesnych komputerów. Od tego czasu każda generacja sprzętu komputerowego przyniosła wzrost szybkości i pojemności oraz spadek ceny – trend ujęty w prawie Moore’a. Wydajność podwajała się co 18 miesięcy mniej więcej do około 2005 roku, kiedy to problemy z rozpraszaniem mocy skłoniły producentów do zwiększenia liczby rdzeni procesora zamiast szybkości zegara. Obecne oczekiwania są takie, że przyszły wzrost funkcjonalności będzie wynikał z masowego równoległości – ciekawej zbieżności z właściwościami mózgu. Widzimy również nowe projekty sprzętu oparte na założeniu, że w obliczu niepewnego świata nie potrzebujemy 64-bitowej precyzji w naszych liczbach; wystarczy 16 bitów (jak w formacie bfloat16) lub nawet 8 bitów, co umożliwi szybsze przetwarzanie. Dopiero zaczynamy widzieć sprzęt dostrojony do zastosowań sztucznej inteligencji, taki jak procesor graficzny (GPU), jednostka przetwarzająca tensor (TPU) i silnik skali waflowej (WSE). Od lat 60. do około 2012 r. Ilość mocy obliczeniowej wykorzystywanej do trenowania najlepszych aplikacji do uczenia maszynowego była zgodna z prawem Moore’a. Od 2012 r. Sytuacja się zmieniła: od 2012 do 2018 nastąpił 300 000-krotny wzrost, co przekłada się na podwojenie mniej więcej co 100 dni. Model uczenia maszynowego, którego trening trwał cały dzień w 2014 r., w 2018 r. zajmuje tylko dwie minuty .Chociaż nie jest to jeszcze praktyczne, obliczenia kwantowe obiecują znacznie większe przyspieszenia dla niektórych ważnych podklas algorytmów sztucznej inteligencji. Oczywiście przed komputerem elektronicznym istniały urządzenia liczące. Najwcześniejsze automaty z XVII wieku. Pierwszą programowalną maszyną było krosno, wynalezione w 1805 roku przez Josepha Marie Jacquarda (1752–1834), które wykorzystywało perforowane karty do przechowywania instrukcji tkania wzoru. W połowie XIX wieku Charles Babbage (1792–1871) zaprojektował dwie maszyny obliczeniowe, z których żadnej nie ukończył. Mechanizm różnic był przeznaczony do obliczania tabel matematycznych dla projektów inżynieryjnych i naukowych. Ostatecznie został zbudowany i pokazany do działania w 1991 roku. Silnik analityczny Babbage’a był znacznie bardziej ambitny: zawierał pamięć adresowalną, programy zapisane w oparciu o karty perforowane Jacquarda i skoki warunkowe. Była to pierwsza maszyna zdolna do uniwersalnych obliczeń. Kolega Babbage’a, Ada Lovelace, córka poety Lorda Byrona, zrozumiała jego potencjał, opisując go jako „maszynę myślącą lub … maszynę rozumującą”, zdolną do rozumowania na „wszystkie tematy we wszechświecie”. Przewidywała również cykle szumu AI, pisząc: „Należy wystrzegać się możliwości przesadnych pomysłów, które mogą się pojawić w odniesieniu do mocy silnika analitycznego”. Niestety maszyny Babbage’a i pomysły Lovelace’a zostały w dużej mierze zapomniane. AI ma również dług wobec informatycznej strony oprogramowania, która dostarczyła systemy operacyjne, języki programowania i narzędzia potrzebne do pisania nowoczesnych programów (i artykułów na ich temat). Ale jest to jeden obszar, w którym dług został spłacony: praca w sztucznej inteligencji zapoczątkowała wiele pomysłów, które powróciły do głównego nurtu informatyki, w tym dzielenie czasu, interaktywne tłumacze, komputery osobiste z oknami i myszami, środowiska szybkiego programowania, połączone -list typ danych, automatyczne zarządzanie pamięcią masową i kluczowe koncepcje programowania symbolicznego, funkcjonalnego, deklaratywnego i zorientowanego obiektowo.