Kompania DeepMind, e njohur për zhvillimet e saj në fushën e inteligjencës artificiale dhe ndërtimin e rrjeteve nervore që janë të afta të luajnë lojëra kompjuterike dhe tavoline në nivelin e njeriut, prezantoi projektin AlphaCode, i cili zhvillon një sistem mësimi makinerik për gjenerimin e kodit, të aftë të marrë pjesë në gara programimi në platformën Codeforces dhe të demonstrojë rezultate të mesme. Karakteristika kryesore e zhvillimit është aftësia për të gjeneruar kod në gjuhët Python ose C++, duke pranuar si hyrje tekstin me formulimin e detyrës në gjuhën angleze.
Për testimin e sistemit u përzgjodhën 10 gara të reja Codeforces me më shumë se 5000 pjesëmarrës, të zhvilluara pas përfundimit të trajnimit të modelit të mësimit të makinerive. Rezultatet e zgjidhjeve lejuan sistemin AlphaCode të arrijë rreth në mes të renditjeve të këtyre garave (54.3%). Rendi i përgjithshëm i parashikuar për AlphaCode ishte 1238 pikë, çka siguron një vend në Top 28% të të gjithë pjesëmarrësve të Codeforces, që kanë marrë pjesë ndonjëherë në gara gjatë gjashtë muajve të fundit. Vërehet se projekti është ende në fazën fillestare të zhvillimit dhe në të ardhmen planifikohet përmirësimi i cilësisë së kodit të gjeneruar, si dhe zhvillimi i AlphaCode në sisteme që ndihmojnë në të shkruarit e kodit, ose mjete zhvillimi aplikacionesh që do të jenë në dispozicion për njerëzit pa aftësi programimi.
Projekti përdor arkitekturën e rrjetit nervor «Transformer» së bashku me metodat e mostrimit dhe filtrimit, që lejojnë krijimin e varianteve të ndryshme të paparashikuara të kodit që korrespondojnë me tekstin në gjuhën e natyrshme. Pas filtrimit, grumbullimit dhe renditjes, nga fluksi i formuar i varianteve filtrohet kodi më optimal funksional, i cili më pas verifikohet për të siguruar një rezultat të saktë (në çdo detyrë të konkursit është e specifikuar një shembull i të dhënave hyrëse dhe rezultati përkatës që duhet të merret pas ekzekutimit të programit).

Për trajnim të thellë të sistemit të mësimit të makinerisë, u përdor një kod i aksesueshëm në depo publike në GitHub. Pas përgatitjes së modelit fillestar, u zhvillua faza e optimizimit, e cila u realizua mbi një koleksion kodi me shembuj problemesh dhe zgjidhjesh të ofruara për pjesëmarrësit e garave Codeforces, CodeChef, HackerEarth, AtCoder dhe Aizu. Në total, për trajnim u përdorën 715 GB kod nga GitHub dhe më shumë se një milion shembuj zgjidhjesh për probleme standard të garave. Para kalimit në gjenerimin e kodit, teksti i problemit kaloi një fazë normalizimi, në të cilën u përjashtuan të gjitha gjërat e panevojshme dhe mbetën vetëm pjesët e rëndësishme.

Burimi: opennet.ru
