uredi› krajšaj› T:117 M:205 Z: [×]
Postanimo popustljivejši
Računalniki Krishna Palema ne bodo osvojili medalje za natančnost. Večinoma namreč niti seštevajo ne pravilno. Zanje je dva plus dva lahko tudi pet. A naj vas ta šibkost v računstvu ne zavede. Palemove naprave bi utegnile biti znanilke nove dobe računalništva.
Paul Marks, New Scientist

Natančnost ni nekaj, kar bi povezovali z računalniki. Odkar je Alan Turing v 30. letih postavil temelje računalništvu, so računalniki sinonim za natančnost, delujejo pa po načelu natančnega in ponovljivega upoštevanja navodil po korakih. Računalniki naj ne bi delali napak.
A morda bi morali biti do njih nekoliko popustljivejši. Če bi jim dovolili delati napake, bi s tem morda sprožili nastanek naslednjega vala pametnih naprav in preprečili, da bi zmogljivo računalništvo trčilo ob zgornje meje. Poleg tega bi lahko izvajali zapletene simulacije, ki presegajo zmogljivosti današnjih superračunalnikov – to je modele, ki bi natančneje napovedovali podnebne spremembe, nam pomagali sestaviti učinkovitejše avtomobile in letala ter razkrili skrivnost nastajanja galaksij. Morda bi nam celo razjasnili največjo skrivnost sploh in nam omogočili simulirati človeške možgane.
Doslej smo se morali sprijazniti s kompromisom med zmogljivostjo in energijsko učinkovitostjo: računalnik je lahko hiter ali varčen, oboje hkrati pa ne. To ne pomeni le, da zmogljivejši pametni telefoni potrebujejo boljše baterije, temveč tudi, da so superračunalniki energijski požrešneži. Naslednja generacija eksaflopnih naprav, ki zmorejo 1018 operacij na sekundo, bi utegnila porabiti kar sto megavatov, to je proizvodnja majhne elektrarne. Zato se začenja tekma z računalniki, ki zmorejo več z manj energije.
Mogoča rešitev bi bila, da bi preprosto skrajšali čas izvajanja kode – čim krajši bi bil ta čas, tem manjša bi bila poraba energije. Programerji bi za to morali poiskati način, kako hitreje priti do želenega rezultata. Vzemimo za primer klasično težavo trgovskega potnika, ki mora poiskati najkrajšo pot okoli več mest. Znano je, da je to trd oreh, saj se število mogočih poti s številom mest eksponentno povečuje. Palem, računalniški strokovnjak na Ricovi univerzi v Houstonu v ameriški zvezni državi Teksas pravi, da se koderji pogosto zadovoljijo s potjo, za katero ocenjujejo, da je približno pol tako dobra kot najboljša, saj bi za boljši rezultat porabili preveč računalniškega časa. Novejša različica tega pristopa je, da z algoritmom strojnega učenja pridejo do približnega rezultata za določen del koda. Ta okvirni odgovor – kot hiter izračun na lističu papirja – je potem mogoče uporabiti vedno, ko se izvaja program, namesto da bi se izvajal izvirni odsek samega koda.
A pri varčevanju z energijo s sekanjem ovinkov so pri računalniških programih možnosti omejene. Da bi dejansko privarčevali, bi morali spremeniti delovanje strojne opreme. Računalniki lahko veliko energije privarčujejo preprosto tako, da vsi tranzistorji ne delujejo ves čas s polno močjo, a kot boste kmalu prebrali, je za to treba žrtvovati natančnost. Palemova ekipa ohromi računalnike le toliko, da so njihove napake pri računanju še sprejemljive. »Načrtujemo, da bi spremenili sam računalnik, da bi do odgovorov prišli ceneje, odgovori pa bi bili nekoliko manj natančni,« je pojasnil Palem. Algoritmu, ki deluje dobro, bi Palem z drugačnim delovanjem fizičnega sistema v ohišju lahko okrnil natančnost.
Pametne naprave, od pametnih telefonov do superračunalnikov, bodo kmalu dosegle skrajne meje. Morda je rešitev v tem, da bi jim omogočili delati napake.
Praviloma imajo računalniški čipi med drugim tudi drobec silicija, imenovan kanal, in ta deluje kot stikalo z dvema stanjema, vključeno (1) in izključeno (0). Preklapljanje nadzorujejo vrata, ki toku preprečijo pot po kanalu, dokler ni pod napetostjo. Takrat se vrata odprejo kot zapornica na jezu in tok lahko steče.
A tak sistem je muhast. Ta dopolnilni kovinsko-oksidni polprevodnik gladko deluje le pod stalno petvoltno napetostjo. Če jo zmanjšamo, kanal ni več stabilen in se včasih odpre, včasih pa ne.
Leta 2003 je Palem, ki je takrat delal na Atlantskem tehnološkem institutu v ameriški zvezni državi Georgia, že slutil težave, saj je postalo jasno, da elektronska industrija ne bo več zmogla vsakih 18 do 24 mesecev podvojiti števila tranzistorjev na čipu – to je trend miniaturizacije, znan kot Moorov zakon. Z miniaturizacijo so se na ravni čipov tudi začele napake, predvsem zaradi pregrevanja in interference oziroma presluha med tesno nagnetenimi tranzistorji. »Zdelo se je zelo verjetno, da bodo ultra majhne naprave postale precej nezanesljive,« je pojasnil Palem. Ključno vprašanje je postala energija – bi bilo mogoče nezanesljivost izkoristiti za varčevanje z njo?
Palem je v odgovor sestavil verjetnostno različico polprevodniške tehnologije, ki je bila namerno nezanesljiva. Njegova ekipa je sestavljala digitalna vezja, v katerih so bili najpomembnejši biti – tisti, ki predstavljajo vrednosti, pri katerih je natančnost nujna – pod stalno petvoltno napetostjo, najmanj pomembni biti pa so dobili le volt napetosti. »Pomembni biti so bili pod primerno, enakomerno napetostjo, manj pomembne pa smo glede tega zanemarili,« je razložil. Tako varčevanje je mogoče kar pri polovici bitov, ki predstavljajo število.
To pomeni, da Palemova različica računala, navadno logično vezje, ki preprosto sešteva dve števili, ne deluje s pričakovano natančnostjo: »Ko sešteva dve števili, dobimo razmeroma dober odgovor, ki pa ni natančen. A kar zadeva porabo energije, je to veliko smotrneje.«
Če to prenesemo na milijarde tranzistorjev, je prihranek energije precejšen. Najpomembneje je, da izberemo aplikacije, pri katerih najmanj pomembni biti niso ključnega pomena: na primer uporaba velikega nabora števil za barvo slikovne pike. V nekem poskusu je Palem s kolegi sestavil dekoder za digitalne videe, ki je najmanj pomembne bite interpretiral nenatančno, ko je podatke o slikovnih pikah pretvarjal v barve na zaslonu. Ugotovili so, da so ljudje komajda zaznali slabšo kakovost posnetkov. »Človeško oko lahko izravna veliko napak,« dodaja Palem. »Pomislite, kako vidimo optična slepila – možgani si vneto prizadevajo izravnavati.«
Raziskovalce z Ricove univerze je ta uspeh spodbudil, da so nadaljevali z drugo aplikacijo, ki je povezana s čuti: s slušnimi aparati. Prvi preizkusi kažejo, da nenatančna digitalna obdelava v slušnem aparatu porabo energije lahko zmanjša kar za polovico, razločnost glasov pa je okrnjena le za pet odstotkov. Ta rezultat kaže, da bi s takšno tehniko lahko zmanjšali porabo pametnih telefonov in osebnih računalnikov, saj so to pravzaprav avdio vizualne naprave.
Tim Palmer, podnebni fizik z oxfordske univerze, sluti še večje možnosti. Meni namreč, da bi računalniki, ki temeljijo na Palemovih zamislih, lahko bili odgovor na težavo, ki se trenutno zdi nerešljiva: kako izboljšati natančnost podnebnih napovedi za naslednje stoletje, ne da bi bilo treba leta čakati na novo generacijo superračunalnikov.
»Ključno vprašanje pri podnebnih spremembah se vrti okrog vloge oblakov,« je razložil: ali povečajo ali zmanjšajo posledice globalnega segrevanja. »Na to vprašanje ni mogoče natančno odgovoriti, če ne moremo neposredno simulirati sistemov oblakov.« Trenutno še ni jasno, kako bi bilo to mogoče.
Današnji superračunalniki niso dovolj zmogljivi za kaj takega, njihovi nasledniki, ki jih lahko pričakujemo verjetno v naslednjem desetletju, pa bodo preprosto preveč požrešni, kar zadeva energijo. »Po sedanjih ocenah bo treba za tak stroj okoli sto megavatov,« je izračunal Palmer, to je petkrat do desetkrat toliko, kot porabijo današnji superračunalniki. Če se ne bodo stopili, bi bilo njihovo delovanje lahko zelo drago.
Superračunalniki pokurijo toliko energije, ker so večinoma optimizirani za delo s 64-bitnimi števili. Načeloma so zato natančnejši. A podnebni modeli vključujejo na milijone spremenljivk, saj simulirajo zapletene med seboj delujoče dejavnike, kot so vetrovi, prenašanje toplote, temperatura, zračni tlak, temperatura morja in slanost. Premleti morajo preveč energijsko potratnih podatkov. Po Palmerjevem mnenju bi morale biti različne spremenljivke izražene v podatkovnih nizih različnih dolžin, odvisno od tega, kako pomembni bi bili za določen model.

Izdelovalci čipov so začeli upoštevati te želje. Podjetje Nvidia je tako predstavilo grafično procesno enoto TX1, ki je zmožna obdelovati podatke z različno natančnostjo. To pomeni, da programska oprema med delovanjem lahko prehaja med 16- in 32-bitno obdelavo. Palmer si želi, da bi vključili tudi Palemove nenatančne čipe. »Če bi lahko zmanjšali število bitov, ki jih potrebujemo za izračune, bi to močno vplivalo na porabo energije,« je prepričan. Palmer in kolegi se zato dogovarjajo z izdelovalci superračunalnikov, kot sta IBM in Cray, da bi začeli razvijati novo vrsto energijsko učinkovitih hibridnih naprav, ki bi omogočale različno raven natančnosti in bi lahko prevzele tudi Palemovo strategijo. Palemova ekipa pa se računalniškim operacijam z različno natančnostjo posveča v Državnem laboratoriju Argonne v Illinoisu in v Evropskem središču za srednjeročne vremenske napovedi v Readingu v Veliki Britaniji.
Koristi bi lahko bile velikanske. Današnji podnebni modeli se zemeljskega ozračja lotevajo tako, da ga razdelijo na približno sto kvadratnih kilometrov velika in približno kilometer visoka območja. Palmer meni, da bi z nenatančnimi operacijami obseg lahko zmanjšali na kocke s stranico enega kilometra, kar bi bili dovolj majhni odseki za modeliranje posameznih oblakov.
»20 nenatančnih izračunov, ki bi jih dobili, bi utegnilo biti veliko uporabnejših kot deset natančnih,« poudarja. Pri večjem obsegu je simulacija le okvirna podoba resničnosti. Izračuni so resda natančni, model pa ne. Če bi natančnost omejili in dobili manjši model, bi s tem dosegli večjo splošno natančnost. »Bolje je imeti nenatančen odgovor na natančno enačbo kot natančen odgovor na nenatančno enačbo,« dodaja. »Natančna enačba omogoča opis fizike oblaka.«
Stopnje natančnosti
Seveda se natančnosti ni mogoče odpovedati kar povprek. »Nedvomno bi bila polomija, če bi vse spremenljivke v podnebnem modelu predstavili s samo 16 biti namesto s 64. To bi se hitro pokazalo kot neprimerno,« opozarja Palmer. Zato je treba izbrati dele, ki jih je mogoče obravnavati bolj površno.
Znanstveniki so se tega izziva lotili z več vidikov. Večinoma je vse odvisno od metode za določitev praga natančnosti v kodu, da se programerji lahko odločijo, kdaj so napake sprejemljive in kje. Programska oprema potem nenatančno obdela le vnaprej določene odseke.
Modeliranje ključne vloge oblakov pri podnebnih spremembah je na današnjih računalnikih preprosto predrago.
A približki niso primerna rešitev za vse. Rashid Mansoor je računalnikar in podjetnik, ki dela v Londonu in je izumil algoritem Adbrain, ki spremlja na milijone spletnih uporabnikov, ko se selijo med napravami. Zdaj poskuša najti način, kako pospešiti obdelavo podatkov v oblaku. Za Mansoorja je nenatančnost izhod v sili. »Ne bomo se sprijaznili s približnimi rezultati zaradi hitrejše obdelave,« je odločen. »To bi imeli za goljufanje.«
Kljub temu si Stan Posey, vodja ekipe za zahtevno obdelavo v podjetju Nvidia s sedežem v kalifornijski Santa Clari lahko predstavlja vrsto aplikacij, pri katerih bo nenatančna obdelava prišla še kako prav, tudi pri preiskovanju nesreč, denimo. Po katastrofi vesoljskega plovila Columbia leta 2003, ki se je zgodila, ker se je odlomil kos izolacije in je v krilu zazevala luknja, so Posey in kolegi nešteto ur simulirali scenarije, ki bi lahko pripeljali do takega zapleta. Meni, da bi z nenatančno računalniško obdelavo v istem časovnem obdobju zmogli narediti za stopnjo več. Scenarijem, ki bi jih izločili kot verjetnejše, bi se nato posvetili podrobneje.
Nekateri menijo, da bi z nenatančnimi simulacijami laže razumeli tudi možgane. S superračunalniki, kot je Blue Gene podjetja IBM, pri projektu o človeških možganih (Human Brain Project) na primer modelirajo nevrološke funkcije. A med možgani in superračunalnikom je občutna razlika v porabi energije, trdi Palmer »Superračunalnik potrebuje megavate moči, človeški možgani pa so skromni kot žarnica.« Kako bi lahko pojasnili to razliko?
Palmer s kolegi na susseški univerzi v Brightonu preučuje, ali bi naključno električno nihanje v možganih lahko sprožilo signale, povezane z verjetnostjo. Po njegovi teoriji naj bi nam prav to omogočilo postoriti toliko več s tako malo energije. Res bi bili možgani lahko popoln zgled nenatančne obdelave podatkov, kar je posledica nuje, da se omeji poraba energije.

Nvidia TX1 je že zmožna obdelovati podatke z različno natančnostjo.
Jasno je torej, da bomo računalnike izboljšali, ko bodo postali slabši. Palmer je prepričan, da bi se morali deloma odpovedati Turingovemu konceptu, kako naj bi računalnik deloval, saj bi tako napredovali in morda ugotovili dejansko tveganje zaradi globalnega segrevanja. »To bi lahko bila razlika med tem, da bi bile podnebne spremembe razmeroma obvladljiva težava, in tem, da bi ogrozile obstoj človeštva.«
In če se približna računalniška obdelava zdi bolj majav temelj za prihodnost računalništva, naj vas opomnim, da imajo računalniki vedno opraviti z abstraktnim. »Vsaka računalniška obdelava je zgolj približek,« pravi Posey. Le da so nekateri bolj približni od drugih.
Manjkajoči biti
Krishna Palem sestavlja nenatančen računalnik, ki porabi manj energije, ker ni tako natančen. S takšno sestavo za preprost račun 8 plus 5 dobimo več rezultatov.
Razlog je naslednji: v Palemovem sistemu tranzistorji, ki predstavljajo najmanj pomembne števke v številu, načrtno delujejo pod nižjo napetostjo od idealne. Zaradi tega so nestabilni in nagnjeni k skakanju z 1 na 0 ali z 0 na 1. Pri 16-bitnih številih bi osem najmanj pomembnih bitov lahko bilo napačnih. »Zanesljivosti bi se lahko odpovedali kar pri polovici bitov,« je prepričan Palem.
Preprost zgled je seštevek dveh 4-bitnih števil. V dvojiškem sistemu 8 izrazimo kot 1000 in 5 kot 0101, ko ju seštejemo, bi morali dobiti 1101 oziroma 13. A če se dva najmanj pomembna bita – tista na skrajni desni – lahko spreminjata, bi morda dobili rezultat 1100 (kar je 12), 1110 (14) ali 1111 (15). Mogoče je tudi, da bi se skvarili tudi vneseni vrednosti, se pravi 8 in 5: 1000 (8) bi se lahko spremenila v 1001 (9), 1010 (10) ali 1011 (11) in 0101 (5) v 0100 (4), 0110 (6) ali 0111 (7). In potem bi se nazadnje lahko spremenil tudi seštevek katerihkoli dveh od naštetih števil, tako da bi bila mogoča cela vrsta nenatančnih odgovorov.
Copyright Reed Business Information – UK. Distribucija Tribune Content Agency.
Zakup člankov
Za plačilo lahko uporabite plačilno kartico, PayPal, Apple Pay ali Google Pay:
Najprej se morate prijaviti.
V kolikor še nimate svoje prijave, se lahko registrirate.


