Mums prireiktų net 110 000 galingiausių superkompiuterių vien tam, kad galėtume sumodeliuoti žmogaus proto veiklą, o visus šiuos superkompiuterius turėtų aprūpinti elektros energija net 860 atominių jėgainių blokai! Akivaizdu, jog dabartiniai kompiuteriai yra neįtikėtinai neefektyvus, jei juos tenka lyginti su gamtos kūriniais.

Žmonių gaminamų mikroprocesorių šilumos tankis dabartiniu metu yra netoli branduolinių reaktorių (IEEE CSIE iliustr.)
Nuo pat kompiuterių ir mikroprocesorių atsiradimo jų sparta, našumas, taktinis dažnis bei suvartojama elektros galia augo eksponentiškai. Tiesą pasakius, eksponentė yra vos ne mūsų civilizacijos pagrindas: ekonomikos, kainos, indėliai, gavyba ir vartojimas – viskas auga kone eksponentiškai. Kompiuterijoje ir technologijose taip pat galioja ta pati eksponentė, kuri turi tose srityse tiek daug skirtingų pavadinimų: Moore'o, Dennardo, Koomey dėsniai. Tačiau kartu su teigiamais ir mums visiems naudingais apsektais, šis augimas turi ir neišvengiamų neigiamų pusių. Rocko dėsnis teigia, kad naujos mikroprocesorių gamyklos statybos sąnaudos dvigubėja kas ketvertą metų. Mikroprocesorių elektros energijos sąnaudos taip pat eksponentiškai auga.

Tranzistoriams tampant vis mažesniais ir mažesniais, išskiriamos šilumos tankis taip pat auga. Jei iki 1995 metų procesoriai buvo tokie pat karšti kaip 100 W lemputė, tuomet 2000 metais jie jau pasiekė geros keptuvės karštį, o 2005 metais sustojo ties branduolinio reaktoriaus šiluminiu tankiu! Nieko nuostabaus, kad ant mažyčio „Intel Pentium 4“ procesoriaus entuziastai gamino itališkus makaronus…

Procesoriai veikia neįtikėtinai dideliais dažniais, bet suvartoja atitinkamai daugiau elektros energijos (IBM iliustr.)
Nuo 1971 metų, kuomet atsirado pirmieji mikroprocesoriai, jų dažnis nenumaldomai augo, o tuo pačiu augo ir jų suvartojama elektros energija bei išskiriama šiluma. Vienas eksponentinis pokytis buvo kito eksponentinio pokyčio priežastis. Nieko nuostabaus, jog pasiekus branduolinių reaktorių šiluminį tankį, mikroprocesorių dažnis sustojo ties kelių gigahercų riba. Tačiau pagalvokime apie kitką: o kaip tarp žmonijos pagamintų mikroprocesorių „įsipaišytų“… žmogaus smegenys?
Riken instituto K kompiuterio pastatas bei aptarnaujanti infrastruktūra (Riken instituto nuotr.)
Žmogaus ir kitų gyvūnų smegenys yra efektyviausi superkompiuteriai, žinomi žmonijai. Jų „spartą“ apibrėžia neuronų veiklos greitis, kuris yra tik apie dešimtį hercų (operacijų per sekundę), o pačioms žmogaus smegenims tereikia vos 20 vatų! Žmogaus smegenų neuronų skaičius siekia 80-90 mlrd. neuronų, o ryšių tarp neuronų – sinapsių – skaičius yra nuo 1014 iki 1016. Jei žmogaus smegenų sinapsės būtų grūdai, jos užimtų beveik viso vandenyno tūrį. Nieko nuostabaus, kad dabartinių kompiuterinių technologijų sąlygomis vieno žmogaus protui sutalpinti reikalingas superkompiuteris užimtų teritoriją, didesnę už Lietuvą. Toks superkompiuteris būtų aušinamas visos Baltijos jūros vandeniu, o jį maitintų net 960 atominių jėgainių reaktoriai ir jis užimtų apie 110 000 tokių pastatų, kokius užima vienas Japonijos Riken instituto K kompiuteris.

Artėjanti Moore'o dėsnio mirtis bei dabartinių mikroprocesorių elektros energijos sąnaudos kelia pagrįstų abejonių, ar mes kada nors pamatysime futuristo Ray'aus Kurzweil'o žadamą žmonijos ateitį, kurioje visi žmonės gyvens kokybiškai visiškai kitokį gyvenimą. Iš vienos pusės liūdna, o iš kitos norisi savęs paklausti, ar tikrai viskas taip yra prastai ir žmogus negali nieko sugalvoti?

Fon Neumanno procesorių architektūroje procesorius komandas ir duomenis nuskaito iš atminties per tą pačią magistralę.
Dabartiniai kompiuteriai priklauso taip vadinamų „fon Neumanno“ ir „Harvardo“ architektūrų mišiniui: jie turi įvesties ir išvesties įrenginius, turi centrinį procesorių ir turi atmintį. Jei kompiuterio atmintyje gali būti talpinami duomenys ir instrukcijos, ką su tais duomenimis daryti, kompiuterijos specialistai kalba apie fon Neumanno architektūrą. Jei duomenims ir instrukcijoms skiriamos skirtingų tipų kompiuterinė atmintis, tuomet specialistai vadina tokį kompiuterį Harvardo architektūros kompiuteriu. Abi architektūros turi savo privalumų ir trūkumų, todėl Jūsų kompiuteryje esantis procesorius bando išnaudoti abejų privalumus. Kiekvienas procesorius savo branduolyje turi mažus specializuotus atminties kiekius („kešus“ nuo angl. cache), skirtus vien tik komandoms ir vien tik duomenims („Harvardo“ architektūra), tačiau tiek komandos, tiek duomenys į procesorių atkeliauja iš tos pačios išorinės (dar vadinamos RAM) atminties.
Neuronai vienas su kitu yra sudarę daugybę ryšių per bendras sinapses
Jei palygintume smegenų neuroną su dabartiniais procesoriais, gana greitai pastebėtume, kad gamtos sukurtos smegenys negali būti pavadintos nei fon Neumanno, nei Harvardo architektūros kompiuteriu. Mūsų smegenų neuronai ir informaciją, ir komandas laiko ten pat, kur ta informacija yra apdorojama, o esant reikalui ši informacija per keletą sinapsių yra perduodama gretimiems neuronams. Nervų sistemoje egzistuoja šimtai skirtingų ir specializuotų neuronų, o mūsų kompiuteriuose veikia tie patys standartiniai procesoriai.

Viena iš pagrindinių dabartinių superkompiuterių problemų yra būtent duomenų ir komandų perkėlimas iš išorinės atminties į procesorių. Ir, nors patys tranzistoriai yra mažyčiai ir neįžiūrimi plika akimi, procesoriaus kojelės, kuriomis jis yra įstatomas į kompiuterinį lizdą yra lengvai matomos. Kiekvienas procesorius turi ištisą labirintą skirtingo storio ir ilgio varinių laidelių, skirtų tam, kad informacija keliautų tarp procesoriaus ir išorinės atminties. O tokioms kelionėms reikalinga elektros energija yra susijusi su varinių laidelių ilgiu, storiu bei perduodamos informacijos kiekiu bitais. Fizikai ir technologai, kurie projektuoja procesorius ir galingus superkompiuterius, atvirai kalba apie tai, kad elektros energijos sąnaudų požiūriu superkompiuteris stabdo būtent informacijos kelionių variniais laidais sąnaudos. Vieno bito operacijai procesoriui reikia šimto pikodžaulių, tačiau šiam informacijos bitui atkeliaut į procesorių iš išorinės atminties reikia jau beveik poros tūkstančių pikodžaulių. Jei informacijos bitas keliauja tarp superkompiuterio serverių, ši kaina išauga iki kelių tūkstančių pikodžaulių.

IBM neuromorfinio tipo TrueNorth procesoriaus architektūra įkvėpimo semiasi iš gamtos (IBM iliustr.)
Žmonės dažnai mėgsta „pasiskolinti“ idėjas iš gamtos. Mūsų lėktuvai primena didelius paukščius, mūsų dangoraižiai – milžiniškas termitų kolonijas, tai kodėl gi nepasiskolinus iš gamtos ir kompiuterių architektūros? Būtent apie tokią alternatyvią architektūrą, kuri bando kopijuoti efektyviausią ir labiausiai išlygiagretintą kompiuterį planetoje – žmogaus protą, aš ir noriu dabar papasakoti.
Neumano tipo mašinų sudėtingumo palyginimas su neuromorfinio tipo mašinomis (IBM iliustr.)
Jungtinių Amerikos Valstijų Gynybos departamentui priklausanti mokslinių tyrimų agentūra DARPA yra dažnai vadinama tuo mechanizmu, kuris padėjo Vakarams laimėti šaltą karą prieš SSRS. Būtent ši agentūra inicijavo bendrą su kompanijomis IBM, „Hewlett Packard“ ir „Hughes“ projektą SyNAPSE. Šio projekto užduotis – išrasti naujo tipo efektyvią kompiuterinę architektūrą, kuri efektyvumu būtų palyginama su žinduolių smegenimis, kuomet tenka spręst sudėtingas užduotis. Dabartiniai kompiuteriai yra gerokai efektyvesni už žmogaus protą, kuomet tenka spręst nesudėtingas užduotis, nereikalaujančias didelių informacijos kiekių, tačiau vos tik užduoties sudėtingumas išauga, mums prireikia vis brangesnių ir daugiau galios suvartojančių mašinų. Naujo tipo – neuromorfiniai – procesoriai prastai susitvarko su dideliu kiekiu lengvų užduočių, tačiau yra neįtikėtinai efektyvūs apdorojant vaizdus, garsus.

Šis projektas buvo pradėtas prieš 7 metus ir nuo 2008 metų DARPA skyrė projekto vykdymui 102 mln JAV dolerių. Žinoma, palyginus su 1,3 mlrd eurų, kurios Europos Sąjunga skyrė žmogaus proto simuliavimo projektui „Human Brain“, šie pinigai atrodo maži. Bet nereikia pamiršti, kad skirtingi yra ir projektų tikslai: vienas bando suprast žmogaus protą, o kitas tik bando surasti įkvėpimo šaltinį.

Ambicingi Darpa finansuojamo projekto SyNAPSE planai. (DARPA iliustr.)
Projektą sudaro penkios fazės ir šiuo metu jis sėkmingai užbaigė ketvirtą fazę bei pradėjo paskutinę. Pirmos fazės tikslas buvo sukurti smegenų sinapsės elgesį imituojančią tranzistorių grandinę. Pagrindinė problema buvo ta, kad mokslas žino keletą skirtingų sinaptinių ryšių, o ir pačiose sinapsėse yra daugiau nei 30 skirtingų tipų jonų kanalų, tad inžinieriams teko rinktis kažką vieną. Inžinieriai pasirinko savo sinapsės modeliui vieną paprasčiausių iš kelių sinaptinio plastiškumo tipų: nuo veikimo potencialų laiko poravimo priklausantį plastiškumą (angl. spike timing dependent plasticity). Skamba sudėtingai, bet labai elementariai įgyvendinamą. Įsivaizduokite, kad einate su sunkiu daiktu rankose ir Jums reikia praeiti pro vartelius, tačiau nešamas daiktas trukdo juos atidaryti. Geriausia yra bandyti praeiti paskui kitą žmogų. Prieš Jus ėjęs žmogus įsiūbavo vartelius ir, jei pasiskubinsite, praeisite pro atvirus vartelius. Jei gi uždelsite, varteliai jau bus vėl uždaryti. Panašiai šio tipo ryšyje elgiasi informacija, kurią vienas neuronas perduoda kitam.
Pirmasis TrueNorth architektūros procesoriaus prototipas (IBM iliustr.)
Antrame etape (nuo 2009 iki 2011 metų) mokslininkai turėjo sukonstruoti veikiantį procesoriaus prototipą bei atlikti kompiuterinius tokių naujo tipo neuromorfinių procesorių programavimo bandymus.

Ir štai 2011 metais IBM pademonstravo pirmąjį pasaulyje neuromorfinį procesorių, kuris turėjo 256 neuronus, 1024 aksonus bei 262 tūkstančius sinapsių. Jei kalbėtume palyginimais, panašius kiekius neuronų turi gyvi ir dirbtiniai sliekai. Šis naujo tipo procesorius turėjo apie 3,8 mln tranzistorių ir buvo pagamintas naudojant IBM 45 nanometrų technologinį procesą. Vienas neuronas užėmė 35 μm x 95 μm (mikrometrų), kas yra jau beveik palyginama su žmogaus neurono dydžiu 4 x 100 μm2.

Pagrindinis mokslininkų uždavinys buvo ne tik sukonstruoti bei pagaminti tokius procesorius, bet ir išmokt juos programuoti. Tam IBM mokslininkams prireikė sugalvoti visiškai naujo tipo programavimo kalbą, kurią jie pavadino „Corelet“.

Trečioje projekto fazėje mokslininkai sukūrė COMPASS. Tai speciali programa, kurios paskirtis yra apskaičiuoti dar nepagaminto ir neegzistuojančio neuromorfinio kompiuterio veiklą. Šios fazės pagrindinis rezultatas buvo viename didžiausių pasaulio superkompiuterių – „Sequoia“ – atliktas „TrueNorth“ architektūros lusto modeliavimas, kurio metu procesorius turėjo net 2.084 mlrd branduolių. Bendroje sumoje visi šio virtualaus kompiuterijos monstro branduoliai turėjo net 53×1010 neuronų ir 1.37×1014 sinapsių. Ir nors teorinis neuronų greitis turėjo būti mažas – 8,1 Hz, bet ir tokia užduotis buvo neįmanoma anuomet galingiausiam superkompiuteriui. „Sequoia“ šį procesorių modeliavo 1,542 kartų lėčiau nei realus laikas.

Šioje vietoje svarbu pastebėti, kad toks dirbtinių neuronų ir sinapsių skaičius yra palyginamas su žmogaus smegenyse esančių ląstelių skaičiumi. Dėl šios priežasties IBM viešųjų ryšių skyrius padarė neleistiną mokslo komunikacijoje klaidą: Jie paskelbė, kad atliko žmogaus proto kompiuterinę simuliaciją. Kaip jau rašiau ankstesniame straipsnyje, nieko panašaus nevyko, nes neurono modelis buvo labai primityvus. Dėl šios priežasties IBM SyNAPSE projektas susilaukė neįtikėtinai griežtos kritikos iš neurologo prof. H. Markmano pusės. Jis viešai pavadino tai antimoksliška „antimi“.

Viename „TrueNorth“ architektūros procesoriuje yra aibė mažesnių branduolių – neuronų. (IBM iliustr.)
Ir štai 2014 metų rugpjūčio mėnesį IBM, užbaigdama priešpaskutinę projekto fazę, pristatę galutinę kompiuterinio lusto, bandančio kopijuot žinduolio protą, versiją – „IBM TrueNorth“. Lustą sudaro tik 4096 branduoliai (palyginkite su „Sequoia“ modeliuotais milijardais), kiekviename iš kurių yra neuronas, 256 aksonai, 256 dendritai bei solidus kiekis atminties. Viską sudauginus tai būtų daugiau nei vienas milijonas sinapsių. Panašiai į gyvo padaro protą, šis procesorius nedemonstruoja išskirtinių skaičiuojamųjų galių, tačiau pagal savo energetinį efektyvumą jis yra panašus į gyvas smegenis, kadangi jo dalys bendrauja tarpusavyje impulsais, panašiais į smegenų neuronų aktyvumą.

Procesorių sudaro 4096 skaičiuoti galintys elementai (branduoliai) – „kvazi-neuronų“, kuriuos tarpusavyje jungia „kvazi-sinapsės” – greitos ir lygiagrečios jungtys tarp individualių branduolių. Kiekviename branduolyje yra skaičiuojantysis elementas – neuronas. Aplink už informacijos perdavimą atsakingą valdiklį ir maršrutų parinktuvą yra susitelkę aksonai ir dendritai su sinapsėmis.

Naujo tipo procesorius yra neįtikėtinai šaltas, kuomet atsiduria termovizoriaus ekrane šalia įprasto (IBM iliustr.)
Jis pagal užsakymą buvo pagamintas „Samsung“ gamykloje, taikant 28 nm techninį procesą. Jame yra 5,4 mlrd įprastų tranzistorių, dėl ko jis tampa vienu iš stambiausių ir sudėtingiausių dabarties gaminių. Jis sunaudoja tik 72 milivatus energijos, kuomet yra apkrautas ir sugeba atlikt 400 mlrd sinaptinių operacijų per sekundę tenkančių vienam vatui. Standartinės Neumanno architektūros kompiuteris šias užduotis atlieka 100 kartų lėčiau ir naudoja 176 000 kartų daugiau energijos.

Palyginus su konkurentais jis yra 769 kartus efektyvesnis, bei dirba tik 20 Hz dažniu, o neuronai skaičiuoja tik tuomet, kuomet gauna impulsus iš kitų neuronų. Be abejo, tai dar nėra dar galutinis produktas, bet jis jau gali dirbt su realaus pasaulio problemomis. Dėl savo milžiniško lygiagretumo tinkamai suprogramuotas jis geba atpažinti objektus nuotraukose: žmogų, automobilius, dviračius ir kitus objektus.

Šis lygiagretumas kažkuo panašus į dabar vis labiau skaičiavimuose plintančių grafinių vaizdo plokščių procesorių lygiagretumą, tačiau „nVidia“ ir AMD greitintuvuose ryšiai tarp individualių branduolių vyksta per tą pačią procesoriui išorinę greitintuvo atmintį. Dabartiniai superkompiuteriai lėtai juda prie uždavinių padalijimo – vienos užduotys labiau tinka standartiniams procesoriams, kitos – skaičiavimų greitintuvams, kurie mūsų namų kompiuteriuose atsako už kompiuterinių žaidimų apdorojimą, tad šie naujo tipo procesoriai gana greit turėtų „įsipaišyti“ į naujus superkompiuterius. Juoba, kad IBM mokslininkų vertinimų, procesorius suvartoja tik 26 pikodžaulius vienam sinaptiniam įvykiui.

Bet IBM mokslininkai nestovi vietoje. Jie jau pagamino naujesnę to milžiniško procesoriaus versiją, kurioje pakeitė lėtą atmintį neuronuose greitąją fazinio pokyčio atmintimi. Ir nors naujas procesorius teturi 913 neuronų bei 165 000 sinapsių (kas atrodo lyg žingsnis atgal), pavieniai to procesoriaus branduoliukai („neuronai“) naudoja visiškai naują atminties tipą – greitesnį, ekonomiškesnį bei tankiau sutalpinamą mikroschemoje. To mažiuko procesoriaus galingumo pakako tam, kad tinkamai suprogramavus, jis 82 procentų tikslumu atpažintų ranka parašytas raides, o mokslininkams pasidarbavus su klaidų kompensavimo algoritmais bus galima pasiekti net 99 procentų tikslumą atpažįstant ranka parašytą tekstą.

Atrodytų, Moore'o dėsnis mirė, tegyvuoja naujas karalius? Ne visai taip. Patys tyrėjai net neslepia, kad neuromorfiniai procesoriai vargu, ar kada visiškai pakeis arba išstums seno tipo procesorius, kurie yra neįtikėtinai geri savo srityje. Galu gale, jei norime įkalti vieną vinį, mes imame vieną gerą, o ne dešimt prastesnių…