Jednotka IBM Výzkum umělé inteligence (AI) představil datový soubor 14 milionů vzorků pro vývoj modelů strojového učení, které mohou pomoci při programovacích úlohách. Datová sada s názvem Projekt CodeNet, pochází z ImageNet, slavného úložiště obrázků, které způsobilo revoluci v počítačovém vidění a hlubokém učení.
Programátoři objevují nové problémy a zkoumají různá řešení pomocí mnoha mechanismů vědomého i podvědomého myšlení. Většina algoritmů strojového učení vyžaduje dobře definované úkoly a velké množství anotovaných dat k vývoji modelů, které dokážou vyřešit stejné problémy.
Mnoho úsilí bylo vynaloženo na vytváření datových sad a benchmarků pro vývoj a hodnocení systémů AI-for-code odbornou komunitou. Ale vzhledem ke kreativní a otevřené povaze vývoje softwaru je velmi obtížné vytvořit dokonalý soubor dat pro programování. S Project CodeNet se výzkumníci IBM pokusili vytvořit víceúčelovou datovou sadu, kterou lze použít k trénování modelů strojového učení na různých úkolech. Tvůrci CodeNet jej popisují jako „velmi rozsáhlou, různorodou a vysoce kvalitní datovou sadu pro urychlení algoritmických pokroků v AI pro kód“.
Datová sada obsahuje 14 milionů příkladů 500 milionů řádků kódu napsaných v 55 různých programovacích jazycích. Ukázky kódu byly získány z téměř 4000 XNUMX odeslaných úkolů zveřejněných na online kódovacích platformách AIZU a AtCoder. Příklady kódu obsahují správné i nesprávné odpovědi na zadané úkoly.
Zajímavé také:
- Hubble vstoupil do nouzového režimu kvůli softwarové chybě v palubním počítači
- Další průšvih pro CD Projekt: Hackeři hrozí únikem zdrojových kódů her do sítě
Jednou z klíčových vlastností CodeNet je množství anotací přidaných k příkladům. Každá z kódovacích úloh obsažených v datové sadě má textový popis a také limity CPU a paměti. Každé odeslání kódu obsahuje tucet informací, včetně jazyka, data odeslání, velikosti, doby provedení, přijetí a typů chyb. Výzkumní pracovníci IBM také vynaložili velké úsilí, aby zajistili, že soubor dat bude vyvážený napříč různými parametry, včetně programovacího jazyka, přijatelnosti a typů chyb.
CodeNet není jedinou datovou sadou pro trénování modelů strojového učení na programovacích úlohách. Existuje však několik vlastností, které jej odlišují. Prvním je samotná velikost souboru dat, včetně počtu vzorků a rozmanitosti jazyků. Ale možná důležitější jsou metadata, která přicházejí s ukázkami kódu. Díky bohatým anotacím přidaným do CodeNet je vhodný pro různorodou sadu úloh, na rozdíl od jiných kódovacích datových sad, které se specializují na specifické programovací úlohy.
To je ohromující.
S GPT-3 jsem postavil generátor rozvržení, kde právě popíšete jakékoli rozvržení, které chcete, a generuje vám kód JSX.
- Sharif Shameem (@sharifshameem) Července 13, 2020
Existuje několik způsobů, jak používat CodeNet. Jedním z nich je jazykový překlad. Vzhledem k tomu, že každá úloha kódování v datové sadě obsahuje reprezentace různých programovacích jazyků, datoví vědci ji mohou použít k vytvoření modelů strojového učení, které překládají kód z jednoho jazyka do druhého. To může být výhodné pro organizace, které chtějí přenést starý kód do nových jazyků a zpřístupnit je novým generacím programátorů.
Přečtěte si také:
- IBM představilo první 2nm technologii výroby čipů na světě
- IBM vyvíjí umělou inteligenci, aby vynalezla nová antibiotika
Tradice a dědičnost by měly hrát spolu s odlišným myšlením, s nejmladšími generacemi neuronových algoritmů a ML-metodami kladení problémů, vzájemně se zlepšovat
Postupem času se úroveň programátorů ještě sníží (oproti současnosti). To znamená, že bude možné psát šikmý, křivý kód v „jazyku sraček“. A pak se stroj optimalizuje a nakonec budete moci získat optimalizovaný kód profesionálního programátora assembleru (nebo ještě lépe).