Mértékegység IBM A mesterséges intelligencia (AI) kutatása 14 millió mintából álló adatkészletet mutatott be a programozási feladatokban segítséget nyújtó gépi tanulási modellek kifejlesztéséhez. nevű adatkészlet CodeNet projekt, nevét az ImageNetről kapta, a híres képtárról, amely forradalmasította a számítógépes látást és a mély tanulást.
A programozók új problémákat fedeznek fel és különféle megoldásokat fedeznek fel a tudatos és tudatalatti gondolkodás számos mechanizmusának felhasználásával. A legtöbb gépi tanulási algoritmus jól definiált feladatokat és nagy mennyiségű annotált adatot igényel ugyanazon problémák megoldására alkalmas modellek kidolgozásához.
Sok erőfeszítést megtettünk annak érdekében, hogy a szakértői közösség adatkészleteket és benchmarkokat hozzon létre az AI-for-code rendszerek fejlesztéséhez és értékeléséhez. A szoftverfejlesztés kreatív és nyílt végű természete miatt azonban nagyon nehéz tökéletes adatkészletet létrehozni a programozáshoz. A Project CodeNet segítségével az IBM kutatói megpróbáltak létrehozni egy többcélú adatkészletet, amely felhasználható gépi tanulási modellek betanítására különféle feladatokhoz. A CodeNet készítői úgy írják le, mint "nagy méretű, sokrétű és kiváló minőségű adatkészletet, amely felgyorsítja az AI kódokhoz való algoritmikus fejlődését".
Az adatkészlet 14 millió példát tartalmaz 500 millió kódsorra 55 különböző programozási nyelven. A kódmintákat az AIZU és az AtCoder online kódolási platformokon közzétett közel 4000 beküldött feladatból szereztük be. A kódpéldák az adott feladatokra adott helyes és helytelen válaszokat egyaránt tartalmazzák.
Szintén érdekes:
- A Hubble csökkentett módba lépett a fedélzeti számítógép szoftverhibája miatt
- A CD Projekt másik problémája: A hackerek azzal fenyegetőznek, hogy a játékok forráskódjait kiszivárogtatják a hálózatba
A CodeNet egyik legfontosabb jellemzője a példákhoz hozzáadott megjegyzések mennyisége. Az adatkészletben szereplő kódolási feladatok mindegyike szöveges leírással, valamint CPU-idő- és memóriakorlátokkal rendelkezik. Minden beküldött kód egy tucatnyi információt tartalmaz, beleértve a nyelvet, a benyújtás dátumát, a méretet, a végrehajtási időt, az elfogadást és a hibatípusokat. Az IBM kutatói emellett mindent megtettek annak biztosítására, hogy az adatkészlet egyensúlyban legyen számos paraméter között, beleértve a programozási nyelvet, az elfogadhatóságot és a hibatípusokat.
A CodeNet nem az egyetlen adatkészlet a gépi tanulási modellek programozási feladatokon való betanításához. De van néhány jellemző, ami megkülönbözteti egymástól. Az első az adathalmaz puszta mérete, beleértve a minták számát és a nyelvek sokféleségét. De talán ennél is fontosabb a kódmintákhoz tartozó metaadatok. A CodeNethez hozzáadott gazdag megjegyzések sokféle feladatsorra teszik alkalmassá, ellentétben más kódolási adatkészletekkel, amelyek speciális programozási feladatokra specializálódtak.
Ez az elme fújása.
A GPT-3 segítségével elrendezést készítettem, ahol csak leírja a kívánt elrendezést, és ez generálja az Ön számára a JSX kódot.
- Sharif Shameem (@sharifshameem) Július 13, 2020
Számos módja van a CodeNet használatának. Az egyik a nyelvi fordítás. Mivel az adatkészletben lévő minden kódolási feladat különböző programozási nyelvek reprezentációit tartalmazza, az adattudósok felhasználhatják azokat gépi tanulási modellek létrehozására, amelyek lefordítják a kódot egyik nyelvről a másikra. Ez kényelmes lehet azoknak a szervezeteknek, amelyek a régi kódot szeretnék átvinni új nyelvekre, és hozzáférhetővé tenni a programozók új generációi számára.
Olvassa el még:
- Az IBM bemutatta a világ első 2 nm-es chipgyártási technológiáját
- Az IBM mesterséges intelligenciát fejleszt új antibiotikumok feltalálására
A hagyományoknak és az öröklődésnek együtt kell játszania a különböző gondolkodásmóddal, a problémákat felmutató neurális algoritmusok és ML-módszerek legfiatalabb generációival, kölcsönösen fejlesztve egymást
Idővel a programozók szintje még jobban csökkenni fog (a mostanihoz képest). Vagyis a "szarnyelven" lehet majd ferde, görbe kódot írni. És akkor optimalizálódik a gép, és egy profi assembler programozó (vagy még jobb) optimalizált kódját lehet beszerezni.