Program DARPA SyNAPSE

Současné počítače jsou omezeny nejen svojí výpočetní kapacitou, ale také svou architekturou, která pro popis a zpracování informací z okolí vyžaduje člověkem vytvořené algoritmy. Naproti tomu biologické neuronové systémy, zpracovávají komplexní informace o okolním prostředí zcela samostatně díky adekvátním učícím se a asociačním mechanismům. Vzhledem k tomu, že problémy reálného světa mají obecně velmi mnoho proměnných generujících téměř nekonečnou kombinatorickou složitost, byla by neuromorfní elektronická zařízení v mnoha praktických aplikacích jistě vhodnější než dnešní počítače.

Dharmendra Modha - šéf programu SyNAPSE
Dharmendra Modha – šéf projektu DARPA SyNAPSE

Vývoj takovýchto elektronických neuromorfních zařízení, která by snesla srovnání s biologickou úrovní je cílem programu SyNAPSE, který je financován americkou agenturou pro výzkum pokročilých obranných systémů DARPA. Jedná se v podstatě o pokus vytvořit nový druh počítače s architekturou podobající se mozku savců. Takovéto "umělé mozky" by se pak užívaly pro roboty, jejichž inteligence by odpovídala potkanům, kočkám, a nakonec i lidem.

Název SyNAPSE je bacronymem fráze Systems of Neuromorphic Adaptive Plastic Scalable Electronics. Synapse jako spoje mezi neurony v biologických mozcích jsou zároveň společně s neurony základními jednotkami biologických neuronových systémů. Program odstartoval v listopadu 2008 a celkově dosud obdržel více než 78 mil. dolarů. Jeho trvání je plánováno prozatím do roku 2016. Šéfem programu je Dharmendra Modha, manažer IBM specializovaný na kognitivní výpočetní iniciativy. Kromě IBM se v programu angažují také Hewlett-Packard, HRL Laboratories a 5 předních amerických univerzit.

V počáteční fázi programu byly vyvinuty elektronické komponenty schopné posilovat či zeslabovat spojení mezi dvěma neurony obdobným způsobem, jako to činí synapse biologických systémů. Pomocí simulací byla zároveň testována funkčnost těchto komponent v základních mikroobvodech podporujících architekturu celého systému. Další fáze byly zaměřeny na postupný vývoj hardwaru a souvisejících výrobních procesů, kterému musely nutně předcházet rozsáhlé simulace v superpočítačích.

V listopadu 2009 bylo oznámeno, že byla úspěšně simulována mozková kůra odpovídající svým rozsahem kůře kočky. Simulaci, která běžela přibližně 643x pomaleji než v reálném čase, zajišťoval superpočítač Blue Gene P v Národní laboratoři Lawrence Livermora.

V srpnu 2011 byly představeny dva neuromorfní čipy s 256 neurony. První obsahoval 262 144 programovatelných synapsí, druhý 65 536 učících se synapsí. Inženýři demonstrovali jejich schopnosti na inteligentním ovládání pohybu pálky v primitivní hře Pong a při rozpoznávání rukou psaných číslic.

Práce na větších simulacích a vývoji čipů s více neurony pokračují. Konečným cílem je vybudovat elektronický mikroprocesorový systém, který by odpovídal lidskému mozku funkcí, velikostí a spotřebou energie, tvořený 10 miliardami neuronů, 100 bilióny synapsí, odebírající do 1 kilowatu energie a zabírající 2 litry prostoru.

Pozadí projektu

Program SyNAPSE byl vyhlášen v dubnu 2008. Originální text vyhlášení je dostupný zde. Agentura DARPA v něm sděluje zhruba následující.

Poslední desítky let přinesly nebývalý rozvoj elektroniky způsobený celou řadou významných objevů (tranzistory, integrované obvody, paměti, mikroprocesory). Díky tomu se dnes setkáváme s elektronickými programovatelnými zařízeními doslova na každém kroku. Pro použití v komplexním reálném prostředí, kde je vyžadována jistá dávka inteligence, jsou nicméně tyto přístroje limitovány svým hardwarem a architekturou založenou na algoritmickém výpočetním paradigmatu. Program SyNAPSE je snahou toto paradigma prolomit a definovat novou cestu vpřed k vytvoření užitečných, inteligentních strojů.

Klíčem k dosažení tohoto cíle bude bezprecedentní multidisciplinární přístup schopný koordinovat prudký technologický rozvoj v následujících oblastech: hardware, architektura, simulace a prostředí.

Hardwarová implementace bude pravděpodobně zahrnovat CMOS zařízení, nové synaptické komponenty, a kombinaci hardwarových (napevno zadrátovaných) a softwarových (programovatelných) propojení. Ty budou podporovat nejvýznačnější metody zpracování informací pozorovaných v biologických systémech, jako jsou kódování akčních potenciálů (spike encoding) a plasticita závislá na načasování akčních potenciálů (STDP = spike time dependent plasticity).

Architektura bude podporovat významné struktury a funkce nalezené v biologických systémech, jako jsou spoje, hierarchická organizace, základní součásti obvodů, soutěžící sebeorganizace a modulární posilování systémů. Zpracování procesů bude muset být stejně jako v biologických systémech maximálně distribuováno, probíhat nelineárně a být přirozeně tolerantní k šumu a chybám.

Simulace. K ověření funkčnosti jednotlivých komponent a celého systému bude využito rozsáhlých digitálních simulací. Teprve poté bude následovat samotná implementace neuromorfního hardwaru.

Prostředí. Ohledně vnímání a interakce s okolním prostředím budou vyvinuty virtuální platformy simulující prostředí pro trénink, hodnocení a srovnávání inteligentních strojů v různých aspektech vnímání, kognice a odezvy.

Realizace tohoto ambiciózního cíle bude vyžadovat spolupráci mnoha technických disciplín jako jsou výpočetní neurovědy, umělé neuronové sítě, velkokapacitní výpočetní prostředky, neuromorfní VLSI, informační vědy, kognitivní vědy, nauky o materiálech, netradiční elektroniku v řádech nanometrů a CMOS konstrukci a výrobu.

reklama

Aktuální stav

V současné době (duben 2012) probíhá druhá fáze projektu, jejímž výsledkem by měl být neuromorfní čip zahrnující okolo 1010 synapsí a 106 neuronů. Simulátor prostředí by měl být v této fázi rozšířen o možnost tréninku a vyhodnocování sluchového vnímání a propriocepce, tedy schopnosti vnímat a koordinovat tělo v prostoru. Projekt pro tuto fázi obdržel třetí příděl financí v hodnotě 21 miliónů dollarů v srpnu 2011.

Fáze projektu

Níže uvedený přehled zahrnuje stav z roku 2008 tedy ještě předtím, než projekt začal. Cíle pro jednotlivé etapy se mohly v mezidobí změnit v závislosti na výsledcích dokončených fází. Žádná fáze by neměla být delší než 18 měsíců.

Zvířecí znaky používané v uvedených ukazatelích jako např. úroveň "myši", slouží jako indikátory komplexity, nejsou určeny ke specifikaci určitých požadavků na konkrétní architekturu nebo chování v prostředí.

myš potkan SyNAPSE kočka člověk
neuronů x 108 0.160 0.552 1 7.63 200
synapsí x 1012 0.128 0.442 1 6.10 200
Celková plocha obou hemisfér mozkové kůry potkana činí zhruba 6 cm2, u kočky to je zhruba 83 cm2. Počet neuronů v 1 mm2 mozkové kůry myši je zhruba 9,2 x 104 a u potkanů a koček zůstává zhruba stejný. Mozková kůra potkana má tudíž 55,2 x 106 neuronů a kočky 763 x 106 neuronů. Vzhledem k tomu, že počet synapsí na neuron je průměrně kolem 8.000, vychází pak, že v celé mozkové kůře potkana se nachází přibližně 442 x 109 synapsí a v mozkové kůře kočky kolem 6,1 x 1012 synapsí. U člověka se počet synapsí na neuron odhaduje zhruba na 10.000.

Fáze 0 – Studie proveditelnosti

Trvání: 9 měsíců od listopadu 2008 do srpna 2009;
Dotace: 4.9 miliónů dollarů

Hardware: Demonstrovat elektronickou synaptickou komponentu projevující plasticitu typu STDP (=spike-timing-dependent plasticity, plasticita závislá na časových špičkách) s níže uvedenými parametry:

  • Škálovatelná synaptická hustota > 1010 na cm2
  • Operační rychlost > 10 Hz
  • Spotřeba < 10-12 Joulů na synaptickou operaci
  • Dynamický rozsah synaptické vodivosti (měrné elektrické vodivosti) > 10
  • Zvýšení synaptické vodivosti o více něž 1% na puls pro presynaptický akční potenciál v rozmezí mezi 1 - 80 milisekundami před postsynaptickým akčním potenciálem
  • Pokles synaptické vodivosti o více než 1% na puls pro presynaptický akční potenciál v rozmezí mezi 1 - 80 milisekundami po postsynaptickém akčním potenciálu
  • Pokles vodivosti mezi 0% - 0,02% pokud presynaptický akční potenciál bude větší než 100 milisekund před nebo po postsynaptickém akčním potenciálu
  • Udržovat výkon nad 3 x 108 synaptických operací

Architektura: Specifikovat funkci jádra mikročipu a ověřit ji pomocí simulace sestavené na základě naměřených synaptických vlastností. Obvody, které budou vybrány, musí podporovat rozsáhlejší systémovou architekturu a prokazovat schopnost časového kódování akčních potenciálů (spike encoding), plasticitu závislou na časování akčních potenciálů (spike time dependent plasticity, STDP) a kompetitivní neuronovou dynamiku (competitive neural dynamics).

Fáze 1 – Metriky

Trvání: od listopadu 2009 do července 2011 (23 měsíců);
Dotace: 16.1 miliónů dollarů

Hardware
  • Demonstrovat všechny funkce jádra mikročipu v hardwarovém provedení
  • Specifikovat výrobní proces mikročipu podporovaného architekturou s více než 1010 synapsemi na cm2 a více než 106 neuronů na cm2
Architektura
  • Demonstrovat metodologii neuromorfní konstrukce vymezující všechny komponenty, subsystémy a propojení celého systému
  • Stanovit příslušnou elektronickou implementaci této metodologie zajišťovanou > 1014 synapsemi a > 1010 neurony při odběru < 1 kW energie a objemu < 2 litry
Simulace
  • Demonstrovat dynamickou neuronální aktivitu, stabilitu sítě, synaptickou plasticitu a samoorganizaci v reakci na senzorickou stimulaci a ve formování či posilování úrovně systému s cca 1 miliónem neuronů po vzoru mozkové kůry savců
Prostředí
  • Demonstrovat virtuální vizuální vnímání, rozhodování a plánování a navigační prostředí s volitelným rozsahem složitosti odpovídající zhruba schopnostem demonstrovaným na rozsahu ~ 104 v mozku o velikosti malého až středního druhu savce

reklama

Fáze 2

Toto je současná fáze projektu (duben 2012) s dotací ve výši 21 miliónů dollarů které IBM přijala v srpnu 2011.

Hardware
  • Demonstrovat výrobní proces mikročipu s více než 1010 synapsemi na cm2 a více než 106 neuronů na cm2
Architektura
  • Navrhnout kompletní neurální systém zahrnující okolo 1010 synapsí a 106 neuronů pro simulační testování
  • Navrhnout odpovídající čip pro tento neurální systém
Simulace
  • Demonstrovat činnost simulovaného neurálního systému s 106 neuronů (úroveň "myši") ve virtuálním prostředí
Prostředí
  • Rozšířit senzorické/smyslové prostředí o možnost tréninku a vyhodnocování sluchového vnímání a propriocepce, tedy schopnosti vnímat a koordinovat tělo v prostoru
  • Rozšířit navigační prostředí o charakteristiky stresující soutěže o zdroje a přežití
  • Demonstrovat volitelný rozsah komplexity odpovídající zhruba schopnostem demonstrovaným na rozsahu okolo 106 v mozku o velikosti savce

Fáze 3

Tato fáze by měla začít někdy mezi koncem roku 2012 až druhou polovinou roku 2013.

Hardware
  • Vyrobit single-čip s neurálním systémem zahrnujícím přibližně jeden milión neuronů s plně funkční sestavou a předvést výkon na úrovni "myši" ve virtuálním prostředí
Architektura
  • Navrhnout neurální systém zahrnující okolo 1012 synapsí a 108 neuronů pro simulační testování
  • Navrhnout odpovídající čip pro neurální systém s výše uvedenými parametry
Simulace
  • Demonstrovat činnost simulovaného neurálního systému s 108 neuronů (úroveň "kočky")
Prostředí
  • Přidat hmat (rozšířit senzorické/smyslové prostředí o možnost tréninku a vyhodnocování hmatu)
  • Přidat symbolickou reprezentaci prostředí

Fáze 4 - Finální fáze

Její začátek je odhadován někdy mezi roky 2014 -2015 a termín dokončení mezi roky 2015 - 2017.

Hardware
  • Vyrobit multi-čip s neurálním systémem zahrnujícím kolem sta miliónů neuronů (108) a předvést jeho fungování na robotické platformě pracující na úrovni "kočky"

Technické detaily

Simulace mozkové kůry v rozsahu 109 neuronů a 1013 synapsí ( ~ rozsah mozkové kůry kočky)

IBM vyvinula masivně paralelní simulátor mozkové kůry s označením C2, který běží na superpočítači "Dawn" Blue Gene/P v národní laboratoři Lawrence Livermora. "Dawn" se skládá z 147456 procesorových jader, 144 TB operační paměti a jeho příkon činí 1134kW. Největší kortikální simulace dosud zahrnovala 1,6 miliard neuronů a 8,87 bilionů synapsí, což rozsahem a komplexitou odpovídá mozkové kůře kočky resp. 4,5% mozkové kůry člověka. Simulace běžela 643 krát pomaleji než ve skutečnosti. Nejkratší simulační krok byl při tom byl 0,1 milisekundy. Pro simulaci neuronů byl použit jedno-komparmentový fenomenologický model (single-compartment phenomenological spiking neurons) a synaptická plasticita byla modelována jako STDP (spike-timing-dependent plasticity) tedy plasticita závislá na načasování akčních potenciálů. Uvedené pojmy se pokusíme osvětlit v následujících odstavcích.

Základním stavebním a výpočetním blokem mozku je neuron, což je specializovaná buňka, která neustále přijímá vstupy z tisíců jiných neuronů prostřednictvím svých výběžků (dendritů) a na druhé straně generuje signály, které vysílá dalším stovkám až tisícům neuronů skrze svůj axon. Místo kontaktu mezi axonem jednoho neuronu a dendritem cílového neuronu se nazývá synapse. Pro vstupní neuron se obvykle používá termín pre-synaptický a pro výstupní resp. cílový neuron termín post-synaptický. Aktivování synapse zapříčiněné nějakým podnětem na straně pre-synaptického neuronu způsobuje změnu napětí v buněčné membráně na post-synaptickém neuronu, tzv. membránový potenciál. Pokud tento potenciál překročí určitý práh, potom neuron tzv. pálí (fire), to znamená, že odešle vzruch (spike), který projde jeho axonem. Simulátor C2 využívá takový model neuronů, který popisuje základní vlastnosti integrace signálů a generování nervových vzruchů. Jakmile je jednou vyvolán neuronový vzruch (spike), který se šíří axonem, jsou všechny synapse na tomto axonu aktivovány s adekvátním zpožděním odpovídajícím vodivosti axonu. C2 zahrnuje diskrétní axonální zpoždění v jednotkách časového kroku simulace. Neurony mohou být buď excitační, což znamená, že jejich vzruchy zvyšují membránový potenciál cílových neuronů, nebo inhibiční, jenž membránový potenciál cílových neuronů snižují. C2 zahrnuje excitační a inhibiční neurony v poměru přibližně 4:1.

reklama

Podle neurofyziologických studií je při aktivaci synapse na cílovém neuronu vyvoláván určitý efekt, který postupně roste a pak po nějakém čase zase slábne. Tento čas je obvykle kratší než jedna sekunda a liší se podle typu synapse. C2 zahrnuje čtyři nejvýznamnější druhy těchto efektů nalezených v mozkové kůře: AMPA, NMDA, GABAA a GABAB, které jsou zde modelovány jako dynamické synaptické kanály.

Velká část synapsí je plastická, to znamená, že účinek jejich aktivace na příslušný post-synaptický neuron se může v průběhu času měnit podle určitých pravidel. Nejznámější pravidlo je "neurons that fire together, wire together", podle nějž jsou posilovány pouze spoje mezi neurony, které jsou aktivní současně ve stejnou dobu (tzv. Hebbovo pravidlo synaptického učení). C2 zahrnuje tzv. STDP formu plasticity, tedy plasticitu závislou na načasování příchodu akčních potenciálů z anglického spike-timing dependent plasticity, která buďto synapsi posiluje (zvyšuje její váhu), pokud její post-synaptický neuron pálí poté, co předtím pálil její pre-synaptický neuron, a nebo ji oslabuje (snižuje váhu synapse), pokud je pořadí pálení opačné. Synaptická plasticita umožňuje sítím neuronů extrahovat, kódovat a ukládat časoprostorové invarianty z okolního prostředí.

Model simulovaného thalamokortikálního systému
Schéma biologicky inspirovaného modelu simulovaného thalamokortikálního systému, které ukazuje propojení dvou kortikálních oblastí, thalamu a retikulárního jádra. Každá kortikální oblast je rozdělena do 4 vrstev (v lidském mozku je jich 6). Neurony v těchto vrstvách jsou seskupené do tzv. hypersloupců (hypercolumns), což mají naznačovat přerušované čáry. Pro větší srozumitelnost bylo z obrázku vypuštěno cca 200 slabších spojů. Grafické symboly dále naznačují výskyt různých neuronových typů.

Architektura a propojení simulované sítě byly inspirovány biologickou předlohou. Jak je znázorněno na obrázku byla tato simulovaná síť rozdělena do dvou korových oblastí, které každá obsahují kortikální vizuální oblast (CX1 a CX2), obsluhující sekce thalamu (T1 a T2) a thalamické retikulární jádro (R1 a R2). Jednotlivé oblasti byly realizovány pomocí thalamokortikálních modulů, z nichž každý obsahoval 10000 neuronů mozkové kůry (kortikální neurony), 334 thalamických neuronů a 130 buněk thalamického retikulárního jádra. Uvnitř každého thalamokortikálního modulu byly kortikální neurony rozděleny do čtyř vrstev oproti lidskému mozku, který má těchto vrstev šest. První vrstva byla vzhledem k velmi malému počtu neuronů vypuštěna. Vrstvy 2 a 3 byly sloučené do jedné kortikální vrstvy (L2/3). Další vrstvy (L4, L5 a L6) již odpovídají biologické předloze. Každá vrstva kůry obsahuje 3-4 typy neuronů, celkem modul zahrnuje 18 typů neuronů (13 v kůře, 4 v thalamu a 1 v retikulárním jádře). Neurony mohou být buď excitační, což znamená, že jejich vzruchy zvyšují membránový potenciál cílových neuronů, nebo inhibiční, jenž tento potenciál snižují. V simulované síti se poměr excitačních a inhibičních neuronů pohyboval v poměru 4:1. V největším modelu, který byl simulován, obsahovala každá ze dvou korových oblastí 278 x 278 thalamokortikálních modulů, z nichž každý se skládal z 10464 neuronů. Celý model tak zahrnoval celkem 1,617 miliard neuronů (= 2x278x278x10464). Počet synapsí na neuron se pohybuje od několika set až po téměř 18000 (viz obr. 2), v průměru tak na každý neuron vychází 5485 synapsí. Každý modul tak obsahuje 57395040 synapsí (= 5485x10464), což znamená, že celý model má celkově 8,87 bilionů synapsí (= 57395040x278x278x2). Rozsah modelu tak s přehledem překračuje rozsah mozkové kůry kočky, která má odhadem 763 milionů neuronů a 6,1 bilionů synapsí.

Základním algoritmem kortikálního simulátoru C2 je, že neurony jsou simulovány v hodinovém módu, zatímco synapse jsou simulovány událostním způsobem. V každém simulačním kroku je updatován stav každého neuronu, a pokud neuron pálí, generuje se akce pro každou synapsi, pro kterou je daný neuron post-synaptický a pre-synaptický. Dále je updatován také stav každé synapse, která obdrží pre- nebo post-synaptickou akci a pokud je to nutné tak také stav post-synaptického neuronu.

Díky tomu, že BG/P má tři výpočetní módy a to SMP (jedna CPU na uzel), DUAL (dvě CPU na uzel) a VN (čtyři CPU na uzel), bylo možno zkoumat různé změny v systémových zdrojích pro maximalizaci simulačního rozsahu a času.

Výpočetní výzva

Při nastavení simulace na diskrétní události, musí být stav každého neuronu, jak již bylo zmíněno, updatován v každém simulačním kroku. Délka tohoto kroku může být nastavena v rozmezí od 0,1 ms do 1 ms. Dále se předpokládá, že každý neuron v průměru pálí jednou za sekundu, každá synapse by tak měla být aktivována dvakrát za sekundu: jednou, když pálí její pre-synaptický neuron a jednou, když pálí její post-synaptický neuron. Má-li být cílovým rozsahem kortikální simulace 109 neuronů a 1013 synapsí při cílové rychlosti blížící se reálnému času, znamená to provést 2 x 1013 synaptických updatů za sekundu a 1012 (resp. 1013) neuronálních updatů za sekundu při předpokládané době neuronální updatu 1 ms (resp. 0,1 ms). Z toho vyplývá, že synapse jsou dominují složkou výpočetní náročnosti při simulačních krocích nad 1 ms.

Aby se simulátor C2 vypořádal s takovouto výpočetní výzvou, je umožněno událostně-řízené zpracování synapsí, jehož výpočetní náročnost je přímo úměrná počtu akčních potenciálů spíše než k počtu synapsí. Také bylo dovoleno, aby komunikace překrývala výpočetní proces a kryla tím komunikační zpoždění.

reklama

Paměťová výzva

Aby bylo dosaženo simulace blížící se reálnému času, musí se stav všech neuronů a synapsí vejít do hlavní paměti. Vzhledem k tomu, že počet synapsí (1013) řádově převyšuje počet neuronů (109), počet synapsí, které mohou být modelovány se zhruba rovná celkové velikosti paměti děleno počtem bytů potřebných pro jednu synapsi.

Pro vypořádání se s paměťovou výzvou, C2 extrahuje stav pro každou synapsi do pouhých 16 bytů, přičemž stále dovoluje událostně řízené zpracování synapsí. C2 dále používá velmi málo prostoru pro ukládání přechodných informací, jako zpoždění akčních potenciálů a zpráv.

Komunikační výzva

Když neuron pálí, musí být každé synapsy na axonu příslušného neuronu odeslána zpráva. To při cílovém rozsahu kortikální simulace 109 neuronů a 1013 synapsí a cílové rychlosti blížící se reálnému času znamená celkem 1013 zpráv za sekundu, za předpokladu, že každý neuron pálí v průměru jednou za sekundu (1Hz).

Pro vypořádání s touto komunikační výzvou, byla pro vývoj C2 použita mikroprocesorová architektura s distribuovanou pamětí, jenž je začleněná jak v BG/L tak v BG/P. C2 dosahuje masivního seskupování zpráv tím, že redukuje počet zpráv z příkazu synapsí ve prospěch příkazů procesoru, ke kterému je neuron připojen. Díky inovativnímu využití MPI (message passing interface) redukujícímu primitivní rozptyl, bylo vyvinuto nové synchronizační schéma, které vyžaduje pouze 2 komunikační kroky nezávislé na počtu procesorů. Pro simulace s více než 100.000 procesory jsou takovéto komunikační optimalizace absolutně nezbytné, neboť všechny procesory musí být synchronizovány v každém simulačním kroku.

Množství synapsí na neuron
obr.2: Synapse jsou v modelu rozděleny do 627263 skupin. Je vidět, že množství synapsí na neuron se pro jednotlivé skupiny mohou značně lišit od několika set až po téměř 18000 synapsí na neuron. Štítky na ose x označují, do jaké thalamokortikální populace která skupina patří. Červené křížky označují inhibiční skupiny a modré kroužky excitační skupiny.
Rozložení zátěže

Klíčovým požadavkem pro efektivní využívání výpočetních, paměťových a komunikačních zdrojů v multiprocesorovém systému s distribuovanou pamětí je rovnoměrné rozdělení pracovní zátěže mezi procesory. To platí zejména pro C2, protože simulace vyplývá z diskrétního událostního rámce, v němž jsou všechny procesory synchronizovány v každém simulačním kroku. Variabilita pracovní zátěže mezi procesory přímo vede k pomalejšímu běhu a je tudíž vysoce nežádoucí. Chcete-li maximalizovat velikost modelu mozkové kůry, který lze simulovat, musí být všechna dostupná paměť použita pro ukládání simulačního stavu, který se skládá především ze synapsí.

Synapse náležící konkrétnímu neuronu musí být umístěny na stejném procesoru. Aby bylo možno zvládat konektivitu v síti simulovaného modelu, jsou neurony sloučeny do skupin. To znamená, že jednotkou vyvažování zátěže mezi procesory, je skupina neuronů. Cílem vyvažování zátěže je rozložit tyto skupiny mezi procesory tak, aby počet synapsí přidělených každému procesoru byl zhruba stejný. Vše se odvíjí od počtu synapsí, jak provádění výpočtů, uchovávání dat i komunikace, jejich počet se ale pro jednotlivé neurony může značně lišit. Jak ukazuje obrázek 2, může se pohybovat od několika set až po téměř 18000 synapsí na neuron.

Pro řešení problému vyrovnávání zátěže je použita externí mapa zatížení pro přiřazení skupin neuronů jednotlivým procesorům podle využívání celkového počtu synapsí v procesoru jako primární metriky náročnosti. V typických simulacích byl rozdíl mezi minimem a maximem celkového počtu synapsí přidělených procesorům menší než 0,3%. Efektivita systému vyrovnávání zátěže se projevuje konstantní náročností čtyř výpočetních komponent: (a) zpracování zpráv ve frontě synaptických událostí, (b) deprimace (oslabení) synapsí, (c) updatování stavu neuronů, (d) potenciace synapsí, jak je patrné z obrázku 3.

Efektivita systému vyrovnávání zátěže
obr.3: Na výpočetní náročnost mají největší vliv následující faktory: (a) zpracování zpráv ve frontě synaptických událostí, (b) deprimace (oslabení) synapsí, (c) updatování stavu neuronů, (d) potenciace synapsí, (e) komunikace. Čas potřebný pro výpočet čtyř hlavních složek je poměrně konstantní při různém počtu procesorů a velikosti modelu a to ve všech třech výpočetních módech: SMP (jedna CPU na uzel), DUAL (dvě CPU na uzel) a VN (čtyři CPU na uzel). To svědčí o tom, že výpočetní zátěž je rovnoměrně rozdělena v rámci celého systému. Nicméně výpočetní náročnost komunikační komponenty se s rostoucím počtem procesorů zvyšuje logaritmicky.
BrainCam

BrainCam je pracovní prostředí umožňující zaznamenávat průběh potenciálů všech neuronů v každém kroku simulace a případně také v každé synapsi. Zaznamenávání v takovémto rozsahu v biologických experimentech je prakticky nedosažitelné. Údaje jsou seskupovány do skupin, například jeden typ dat zaznamenává počet pálících neuronů v dané skupině a časovém kroku, zatímco jiný typ zaznamenává množství příchozího synaptického toku pro danou skupinu. Data jsou vzhledem k enormnímu množství konvertována do videosouborů MPEG. Jedná se o koncept podobný EEG. Rychlost a charakter šíření přitom odpovídá zjištěním pozorovaných u zvířat.

Video ukazující, jak se "umělým mozkem" šíří stimul v podobě písmen IBM, je možno stahnout kliknutím na obrázek. Video je ve formátu mpeg a má cca 150MB.
SpikeStream

Vstup do biologického mozku je generován smyslovými orgány, které přenášejí informace prostřednictvím specializovaných nervových svazků, jako je např. oční nerv, do thalamu a odtud do kůry mozkové. Povaha smyslové informace je zakódována v akčních potenciálech včetně, ale nikoli výhradně, načasováním mezi nimi. Akční potenciály kódují prostorové a časové informace senzorického pole a další informace specifické pro konkrétní smysl (čich, sluch, hmat apod.).

SpikeStream představuje rozhraní, kterým lze k simulovanému mozku v C2 připojit "vnější prostředí". Jedná se o pracovní prostředí jehož prostřednictvím lze vytvářet a dodávat simulovanému modelu smyslové stimuly formou sledů akčních potenciálů. Pomocí SpikeStreamu tak byly syntetizovány vizuální stimuly ve formě geometrických objektů (viz např. čtvercový podnět na obr. 5), nebo sluchové podněty vyjadřující abecedu v případě složitějších simulací.

Čtvercový podnět generovaný pomocí frameworku SpikeStream
obr.5: Jedna sekunda aktivity v simulovaném modelu sítě. Uvedená data se týkají modelu s více než 364 miliony neuronů organizovanými do dvou kortikálních oblastí, z nichž každá se skládá z mřížky 132x132 hyper-sloupců. /A/ Simulované EEG pro první kortikální oblast, /B/ Diagram frekvence akčních potenciálů pro různé neuronové typy, /C/ Topografické diagramy v momentě příchodu prvního akčního potenciálu pro pět skupin neuronů a časové okno vyznačené modrými rámečky.
Závěry a záměry do budoucna

Práce otevírá dveře pro modely thalamokortikálního systému vycházející z biologicky naměřených dat ve skutečném měřítku způsobem zdola nahoru. V dalších krocích je plánováno modely rozšířit o dálkovou konektivitu bílé hmoty. Počítá se také až se 100-násobným navýšením prostorového topografického rozlišení konektivity thalamokortikální šedé hmoty - z hyper-sloupců (cca 10000 neuronů) na mini-sloupce (cca 100 neuronů). S tímto postupným zvyšováním úrovně detailu, může být simulátor spárován se současnými špičkovými experimentálními výzkumnými technikami, včetně funkčního zobrazování, MSU (multiple single-unit) zaznamenáváním a EEG s vysokou hustotou. Tyto simulace mají obrovský potenciální dopad na teoretické a aplikované neurovědy a rovněž na kognitivní výpočty. Simulátor je současný vědecký nástroj podobně jako lineární urychlovač nebo elektronový mikroskop. Je významným krokem k rozpletení tajemství toho, co mozek počítá a dláždí cestu k energeticky šetrným, kompaktním neuromorfním, synaptronickým počítačům zítřka.

Dosažené mezioborové výsledky jsou perfektní ukázkou vlivu neúnavných inovací v oblasti superpočítačů a počítačových věd. S dalším pokrokem superpočítačů je simulování v rozsahu lidského mozku v reálném čase nejen na dosah, ale v pravdě nevyhnutelné. Jak je naznačeno na následujícím grafu, předpokládá se, že simulace celého lidského mozku v reálném čase bude vyžadovat 4 petabajty paměti a počítačový výkon nad 1 exaflops (1018 operací v plovoucí řádce za sekundu). To by za předpokladu, že pokrok v této oblasti bude pokračovat stejným tempem jako v posledních desetiletích, mohlo být dosaženo již v roce 2018.

Výsledky kortikální simulace v rámci programu DARPA SyNAPSE umístěné do grafu růstu počítačového výkonu dle odhadu publikovaného serverem www.top500.org a jejich projekce do budoucnosti.

Představení prvních neuromorfních čipů

V srpnu 2011 IBM představila dva neuromorfní čipy, oba postavené pomocí 45nm obvodů SOI-CMOS a oba s 256 neurony. První čip obsahuje 262144 programovatelných synapsí, druhý 65536 učících se synapsí. Podrobnější informace přineseme v samostatném článku.

Financování

Všechny finanční prostředky na program SyNAPSE jsou poskytovány výhradně agenturou DARPA. Následuje přehled financování pro jednotlivé roky. Americká vláda pracuje s fiskálním rokem, který začíná 1. října. Tak například fiskální rok 2009 začíná 1. října 2008.

fiskální rok částka poznámka
2009 $3.000.000 (viz strana 24 tohoto pdf dokumentu)
2010 $17.025.000 (viz strana 19 tohoto pdf dokumentu)
2011 $27.608.000 (viz strana 15 tohoto pdf dokumentu)
2012 $31.000.000 (viz strana 4 tohoto pdf dokumentu)
celkem $78.633.000

Výše uvedené prostředky se dále dělí mezi všechny spolupracující subjekty. Přesné rozdělení těchto prostředků není veřejně známo.

20. listopadu 2008 bylo oznámeno, že pro realizaci projektu byla vybrána IBM a její partneři, a že zároveň získávají dotaci 4.879.333 dolarů na realizaci studie proveditelnosti (fáze 0). Zdroj: tisková zpráva IBM a oznámení na webu Federal Business Opportunities fbo.gov.

V srpnu 2009 byla IBM udělena další dotace ve výši 16.100.000 dolarů na provedení fáze 1. Zdroj tisková zpráva IBM.

V srpnu 2011 pak IBM obdržela dotaci ve výši ~ 21.000.000 dolarů na fázi 2. Tisková zpráva IBM z 18. srpna 2011. Další finance na fázi 2 byly poskytnuty také HRL labs, viz jejich tiskové prohlášení.

Časová osa

2007

duben - do agentury DARPA nastupuje Todd Hylton, který se později stává programovým managerem programu DARPA SyNAPSE

2008

9. dubna - DARPA oficiálně vyhlašuje záměr programu a přihlášku (oznámení na webu fbo.gov)

22. května – uzávěrka pro příjem přihlášek

říjen – oznámení vítězného dodavatele

2009

listopad - oznámení úspěšné simulace v rozsahu mozkové kůry kočky (109 neuronů a 1013 synapsí)

2011

srpen - představení prvních neuromorfních čipů

2016

ukončení programu

Kritika projektu

Projekt vyvolal poměrně ostrou kritiku ze strany představitelů některých výzkumných skupin zabývajících se podobným výzkumem. Jejich názory přineseme v samostatném článku.

reklama

Participující subjekty

Na programu DARPA SyNAPSE se podílí níže uvedené subjekty, u kterých jsou zároveň uvedeni vedoucí pracovníci zodpovědní za účast v programu.

  • DARPA - Todd Hylton, programový ředitel
  • IBM Research - Dharmendra Modha, vedoucí výzkumné skupiny kognitivních výpočtů
  • Hewlett-Packard Laboratories - Greg Snider
  • HRL Laboratories - Narayan Srinivasa
  • Columbia University Medical Center - Stefano Fusi
  • Cornell University - Rajit Manohar
  • Stanford University - Brian Wandell, Philip Wong
  • University of California, Merced - Christopher Kello
  • University of Wisconsin-Madison - Giulio Tononi
  • Ostatní spolupracující subjekty:
    Neuromorphics Lab at Boston University - Massimiliano Versace; tento projekt je podporován v rámci interního financování HP, tedy nezávisle na vládní podpoře, projekt se nazývá MoNETA - an artificial whole brain system (umělý celomozkový systém).

Odkazy na vědecké výstupy

A Digital Neurosynaptic Core using Embedded Crossbar Memory with 45pJ per spike in 45nm Září 2011, Paul Merolla, John Arthur, Filipp Akopyan, Nabil Imam, Rajit Manohar, Dharmendra S. Modha

A 45nm CMOS Neuromorphic Chip with a Scalable Architecture for Learning in Networks of Spiking Neurons Září 2011, Jae-sun Seo, Bernard Brezzo, Yong Liu, Benjamin D. Parker, Steven K. Esser, Robert K. Montoye, Bipin Rajendran, Jose A. Tierno, Leland Chang, Dharmendra S. Modha, and Daniel J. Friedman

The Cat is Out of the Bag: Cortical Simulations with 109 Neurons, 1013 Synapses Listopad 2009, Rajagopal Ananthanarayanan, Steven K. Esser, Horst D. Simon, and Dharmendra S. Modha

Odkazy na další zdroje

Systems of Neuromorphic Adaptive Plastic Scalable Electronics (SyNAPSE) archivní stránka programu DARPA SyNAPSE

A tour of the lab where IBM makes its brain chips článek, video a prohlídka laboratoře IBM

DARPA SyNAPSE na Wikipedii wikipedia.org/SyNAPSE

Dharmendra S Modha's Brain-inspired Computing Blog blog šéfa projektu DARPA SyNAPSE za IBM

DARPA SyNAPSE Program Článek na serveru artificialbrains.com

Introducing a Brain-inspired Computer článek na serveru IBM Research z roku 2017 po ukončení programu DARPA SyNAPSE

Sdílení článku