I počítače potřebují kafé nebo spíše Coffea

I počítače potřebují kafé nebo spíše Coffea


Balíček psaný v programovacím jazyce Python, Coffea (vyslovuje se jako stimulující nápoj) zrychluje analýzu rozsáhlých datových souborů ve výzkumu fyziky vysokých energií. Ačkoli Coffea zjednodušuje výpočet, primárním cílem softwaru je optimalizovat čas vědců.

„Účinnost lidské bytosti při získávání vědeckých výsledků je samozřejmě ovlivněna nástroji, které máte k dispozici,“ uvedl Matteo Cremonesi, postdoktor z Fermiho národní akcelerátorové laboratoře amerického ministerstva energetiky. „Pokud to bude trvat déle než den, než z výpočtu dostanu jediné číslo - což se ve fyzice s vysokou energií často stává - bude to brzdit moji vědeckou efektivitu.“

Počínaje informacemi o částicích generovaných při srážkách umožňuje Coffea rozsáhlé statistické analýzy, které zdokonalují pochopení základní fyziky vědci. Typická analýza aktuálního souboru dat LHC zahrnuje zpracování ohromujících zhruba 10 miliard událostí částic, které mohou přidat až 50 terabajtů dat. To je datový ekvivalent přibližně 25 000 hodin streamovaného videa na Netflixu.

Jádrem analytického nástroje Coffea společnosti Fermilab je posun od metody známé jako analýza smyčky událostí k metodě zvané sloupcová analýza.

„Máte na výběr, zda chcete převádět přes každý řádek a provést operaci ve sloupcích, nebo chcete převádět přes operace, které provádíte a zaútočit na všechny řádky najednou,“ vysvětlil postdoktorský výzkumník Fermilab Nick Smith, hlavní vývojář Coffea.

Představte si například, že pro každý řádek chcete sečíst čísla ve třech sloupcích. Při analýze smyčky událostí byste začali sečtením tří čísel v prvním řádku. Pak byste přidali dohromady tři čísla ve druhé řadě, pak přejděte do třetí řady atd. Se sloupcovým přístupem byste naopak začali přidáním prvního a druhého sloupce pro všechny řádky. Pak byste tento výsledek přidali do třetího sloupce pro všechny řádky.

„V obou případech by byl konečný výsledek stejný,“ řekl Smith. „Ale existují nějaké kompromisy, které provedete pod kapotou, ve stroji, které mají velký dopad na efektivitu.“

V souborech dat s mnoha řádky běží sloupcová analýza zhruba stokrát rychleji než analýza smyčky událostí v Pythonu. Ještě před Coffea využívali částicoví fyzici ve své práci především analýzu smyčky událostí - dokonce i pro datové soubory s miliony nebo miliardami kolizí.

Vědci z Fermilab se rozhodli použít sloupcový přístup, ale stáli před do očí bijící výzvou: Data fyziky o vysoké energii nelze snadno reprezentovat jako tabulku s řádky a sloupci. Jedna srážka částic může generovat spoustu mionů a několik elektronů, zatímco další nemusí produkovat žádné miony a mnoho elektronů. V návaznosti na knihovnu kódu v Pythonu nazvanou Awkward Array tým vytvořil způsob, jak převést nepravidelnou vnořenou strukturu dat LHC do tabulek kompatibilních se sloupcovou analýzou. Obecně každý řádek odpovídá jedné kolizi a každý sloupec odpovídá vlastnosti částice vytvořené při kolizi.

Výhody Coffea představují kratší doby výpočtu - minuty ve srovnání s hodinami nebo dny s ohledem na interpretovaný kód Pythonu - a efektivnější využití výpočetních zdrojů. Software bere světská rozhodnutí o kódování z rukou vědců a umožňuje jim pracovat na abstraktnější úrovni s menší pravděpodobností chyb.

„Vědci zde nejsou proto, aby byli programátory,“ řekl Smith. „Jsou tu, aby byli datovými vědci.“

Cremonesi, který hledá temnou hmotu na CMS (jeden z detektorů LHC), byl mezi prvními vědci, kteří používali Coffea bez záložního systému. Zpočátku se spolu se zbytkem týmu Fermilab aktivně snažil přesvědčit ostatní skupiny, aby tento nástroj vyzkoušeli. Nyní se k nim vědci často obracejí s dotazem, jak aplikovat Coffea na jejich vlastní práci.

Coffea se brzy rozšíří nad rámec CMS. Vědci z Ústavu pro výzkum a inovace softwaru pro fyziku vysokých energií, podporovaní Národní vědeckou nadací USA, plánují začlenit Coffea do budoucích analytických systémů pro CMS i ATLAS, další velký univerzální experimentální detektor LHC. Upgrade na LHC známý jako High-Luminosity LHC, jehož dokončení je plánováno na asi polovinu 20. let tohoto století, zaznamená přibližně stokrát více dat, čímž bude efektivní analýza dat nabízená společností Coffea ještě cennější pro mezinárodní spolupracovníky experimentů LHC.

V budoucnu tým Fermilab také plánuje rozdělit Coffea na několik balíčků Pythonu, což vědcům umožní použít pouze ty části, které jsou pro ně relevantní. Někteří vědci například používají Coffea hlavně pro funkci histogramu, řekl Gray.

Pro vědce z Fermilab odráží úspěch Coffea nezbytný posun v myšlení částicových fyziků.

„Historicky se způsob, jakým děláme vědu, hodně zaměřuje na hardwarovou součást vytváření experimentu,“ řekl Cremonesi. „Dosáhli jsme však éry ve výzkumu fyziky, kde je stejně důležité i zacházení se softwarovou součástí našeho vědeckého procesu.“

Coffea slibuje synchronizaci fyziky vysokých energií s nedávným pokrokem ve velkých datech v jiných vědeckých oborech.

„Myslím, že je důležité, abychom jako komunita ve fyzice vysokých energií přemýšleli o tom, jaké dovednosti předáváme lidem, které trénujeme,“ řekl Gray. „Zajistit, abychom my jako pole byli relevantní pro zbytek světa, pokud jde o datovou vědu, je dobrá věc.“