Hlavní obsah

DeepMind AI vytváří algoritmy, které třídí data rychleji než ty, které vytvořili lidé

Při psaní kódu může pomoci také technologie vyvinutá společností DeepMind, která hraje hry  Go a šachy.

Článek

Systém umělé inteligence (AI) založený na Google DeepMind AlphaZero AI vytvořil algoritmy, které po překladu do standardního programovacího jazyka C++ dokážou třídit data až třikrát rychleji než verze vytvořené lidmi.

„Byli jsme trochu šokováni,“ řekl Daniel Mankowitz, počítačový vědec z DeepMind, který vedl práci. "Nejdřív jsme tomu nevěřili

Počítačoví vědci po desetiletí optimalizovali způsob, jakým počítače třídí data, aby zkrátili klíčové milisekundy při vracení výsledků vyhledávání nebo řazení seznamů kontaktů podle abecedy. Nyní společnost DeepMind se sídlem v Londýně výrazně zlepšila rychlost třídění tím, že použila technologii AlphaZero – její systém umělé inteligence pro hraní deskových her šachy, Go a šógi – na hru s budováním třídicích algoritmů. „Je to vzrušující výsledek,“ řekla Emma Brunskill, počítačová vědkyně ze Stanfordské univerzity v Kalifornii.

Systém AlphaDev je popsán v článku v serveru Nature a vynalezl rychlejší algoritmy, které jsou již součástí dvou standardních kódovacích knihoven C++, takže je programátoři po celém světě používají bilionykrát denně.

Počínaje malým

Vědci nejprve použili AlphaDev na úkol seřadit čísla podle velikosti. Začínali v malém, s algoritmy, které třídily pouze 3, 4 nebo 5 čísel najednou, ale ty jsou důležité, protože je používají algoritmy, které třídí delší seznamy. AlphaDev fungoval na úrovni instrukcí pro sestavení: kód generovaný automatickými kompilátory z kódu, který programátoři píší v C++, než je přeložen do 1 a 0 strojového kódu.

AlphaDev funguje podobně jako jeho předchůdce AlphaZero, který kombinuje počítačové verze uvažování a intuice pro výběr tahů v deskové hře2.  AlphaDev si nevybírá pohyby; místo toho volí instrukce, které přidá do procedury (v tom, co inženýři DeepMind nazývají AssemblyGame).

Při použití uvažování v každém rozhodovacím bodě AlphaZero zvažuje své možné tahy, své možné tahy po každém z těchto tahů atd., v rozvětveném způsobu, přičemž vypočítává, které tahy s největší pravděpodobností skončí výhrou. Ale zvažování všech možných větví může trvat déle, než je věk vesmíru, takže používá něco podobného intuici, aby zúžil své hledání. V každém kroku počítačový program dodává stav hry do neuronových sítí – komplexních, laditelných matematických funkcí – které zvýrazňují ty nejslibnější pohyby. Během tréninku neustále aktualizuje sítě na základě výsledků hry. Zkoumá také tahy tím, že ne vždy vybírá ten, který má aktuálně nejvyšší hodnocení.

Nabízené odměny

AlphaDev může provést jeden ze čtyř typů akcí, které zahrnují porovnávání hodnot, přesouvání hodnot mezi umístěními nebo skok do jiné části programu. Po každém kroku se pokusí setřídit sadu seznamů a dostane odměnu za to, kolik položek v seznamech správně seřadí. Hraje se, dokud dokonale nesetřídí všechny seznamy nebo nedosáhne limitu délky programu, a poté spustí nový program od nuly.

Neuronové sítě hodnotily a odměňovaly programy nejen za správnost, ale také za rychlost. Mankowitzův tým vycvičil systém, aby vyhodnotil rychlost buď na základě počtu celkových instrukcí nebo doby zpracování. V závislosti na použitém procesoru a počtu hodnot, které mají být seřazeny, zabraly nejlepší algoritmy AlphaDev o 4 % až 71 % méně času než lidské algoritmy. Ale když byly algoritmy volány vícekrát, aby seřadily seznamy jednoho čtvrt milionu hodnot, kumulativní úspora času byla pouze 1–2 %, protože jiný kód se neoptimalizoval.

Tým DeepMind také aplikoval AlphaDev na netřídící algoritmy. Jeho verze algoritmu používaného k převodu dat uložených v určitém formátu na bajty zabrala o 67 % méně času než standardní verze. A jeho hashovací algoritmus používaný při ukládání a získávání dat zabral o 30 % méně času než standardní.

Aby tým zjistil, kde AlphaDev dosáhl svých zisků, podíval se blíže na své algoritmy. Pro třídění našli dvě nové taktiky, které nazvali AlphaDev swap move a AlphaDev copy move. Mankowitz je přirovnává k ‚Move 37‘, překvapivému kroku, který AlphaGo, předchůdce AlphaZero, provedl proti lidskému šampionovi Go Lee Sedolovi v roce 2016 na exhibičním zápase v Soulu. „Je to něco, co při zpětném pohledu bylo vlastně zásadní pro vítězství ve hře a ovlivnilo to, jak jsme přemýšleli o strategiích,“ říká.

Pokud jde o vědu, „nevím, že by tam bylo něco zvlášť hlubokého,“ říká Michael Littman, počítačový vědec z Brown University v Providence, Rhode Island, který poznamenává, že AlphaZero existuje již šest let. „Ale inženýrství je fenomenální.“ Dodává, že výzkumníci za DeepMind jsou dobří v přizpůsobení metody novým problémům. Minulý rok DeepMind také upravil AlphaZero, aby vytvořil AlphaTensor, který vynalezl rychlejší způsoby násobení mřížky čísel.

V budoucnu by tým DeepMind rád použil algoritmy ve stylu AlphaZero na více druhů problémů, dokonce i na samotný návrh hardwaru, říká Mankowitz. „Opravdu se chceme vypořádat s celou hrou.“

Máte na tohle téma jiný názor? Napište o něm vlastní článek.

Texty jsou tvořeny uživateli a nepodléhají procesu korektury. Pokud najdete chybu nebo nepřesnost, prosíme, pošlete nám ji na medium.chyby@firma.seznam.cz.

Související témata:

Sdílejte s lidmi své příběhy

Stačí mít účet na Seznamu a můžete začít psát. Ty nejlepší články se mohou zobrazit i na hlavní stránce Seznam.cz