Impozáns MI-oktató forráskódminta-gyűjteményt rakott össze az IBM a Project CodeNet keretében a programozást segítő mesterséges intelligencia (MI) algoritmusok tanítására. A Think konferencián bejelentett nyílt forrású gyűjtemény összesen mintegy 14 millió kódmintát tartalmaz 55 programozási nyelven. Bár az 500 milliónyi kódsorban van Java, C, Go to COBOL, Pascal és FORTRAN nyelvű is, mint a The Register írja, a minták több mint háromnegyede C++ és Python kód.
A forráskódokat nem valós alkalmazásokból gyűjtötték, hanem két, Japánban szervezett programozási versenyre benyújtott pályázatokból. A két fő forrás a University Of Aizu több mint tíz éve futó versenye és a szintén japán AtCoder nevű verseny. Az ezekre a versenyekre beküldött kódoknak mintegy fele ad helyes megoldást a kiírt problémára, a többi rossz vagy bugos. Ezek a kódok egyrészt azért alkalmasak az IBM céljaira, mert a feladatokra több nyelven is készültek megoldások, másrészt a megoldások, hibák stb. nagyon jól dokumentáltak.
Ugyanolyan fontos lesz, mint a gépi látásnál az ImageNet
Egy ilyen adathalmaz az IBM szerint ideális arra, hogy olyan MI-t lehessen készíteni, ami tehermentesítheti a programozókat. A nyílt forrású adatkészlet segítségével az MI megtanítható a kód szerkezetének feltárására, a különböző nyelveken készült kódokban a hasonlóságok és a kód-megszorítások megtalálására. Ezáltal állítólag arra is alkalmas lehet, hogy a régi kódbázisokat lefordítsák modern nyelvekre. (Utóbbira lenne igény, az utóbbi években például a COBOL-ban írt kódokkal kapcsolatban egyre gyakrabban merül fel az újraírás igénye, amit költségvonzata miatt kevesen vállalnak be.)
Az IBM szerint a CodeNet ugyanolyan fontos szerepet játszhat a kódolás automatizálásában, mint az ImageNet a gépi látásban. A kódgyűjtemény attól válik különösen értékessé, hogy a mintákhoz kiváló minőségű metaadatok és kiegészítő információk kapcsolódnak a kód méretétől a memóriaigényén át a futási időig, valamint tartalmaz információkat a hibákról is. Az MI-nek így meg lehet tanítani, hogy megértse egy kód logikáját, belső működését. Ennek a tudásnak a birtokában nem csak újra lehet írni egy vállalati alkalmazást, hanem át is lehet alakítani a működését hatékonyabbá.
Bár a CodeNetet csak most tették elérhetővé a GitHubon, már használták élesben. Mint az IBM írja, egy nagy autóipari ügyfelüknél a segítségével frissítettek egy 200 millió dolláros szoftvert, amely 3500, többgenerációs Java fájlt tartalmazott. Ezekben összesen a folyamatos hozzáfejlesztések miatt már több mint egymillió kódsor volt, melyekben az elmúlt évtized szinte összes Java-technológiáját meg lehetett találni. Az átalakításra azért volt szükség, mert lévén egy roppant bonyolult monolit alkalmazás, felhős környezetben nem használható hatékonyan. A CodeNettel tanított MI-vel állítólag mindössze négy hét alatt sikerült átalakítani a tejes kód-stacket 25 új, felhőalapú mikroszolgáltatássá.
Továbbra is az MI a fő csapásirány
A konferencia többi más bejelentése is az MI-ről, illetve a felhőbe migrálásról szólt. Az egyelőre preview állapotban lévő Watson Orchestrate például egy MI-alapú személyes digitális ikerként szolgál majd, amivel az alkalmazottak termelékenysége növelhető. Segítségével például automatizálhatók a jóváhagyási folyamatok vagy a megbeszélések ütemezése. Az alkalmazás integrálható például a Slackkel, a Salesforce-szal, az SAP-val és a Workday-jel is, melyekben komplett rutinfolyamatokat lehet automatizálni. A végleges változatot a tervek szerint még idén kiadják.
Az IBM felhős adattárházát is MI segítségével turbózza fel. Az AutoSQL az adatok elérését, integrálását és kezelését automatizálja az IBM Cloud Pak for Data szolgáltatásban. A szolgáltatás multi-cloud és hibrid környezeteben is használható lesz.
És a migrációhoz is kapnak új segédeszközt a vállalatok. A Mono2Micro (értsd: monolit rendszerekből felhős mikroszolgáltatások) nevű eszközt szintén MI segíti (bár az IBM nem részletezte, de valószínűleg a fentebb említett autóipari partnerénél is ezzel dolgoztak). WebSphere Hybrid Edition részeként érkező szolgáltatás abból a szempontból elemzi a nagyvállalati alkalmazásokat, hogy azokat hogyan érdemes migrálni a felhőbe, illetve az új Java-kód generálásában is segít.
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak