Bbabo NET

Навука & Тэхналогіі Навіны

DeepMind заяўляе, што яе нейрасетка піша праграмы не горш за сярэдняга праграміста.

DeepMind стварыла сістэму штучнага інтэлекту пад назвай AlphaCode, якая, паводле яе слоў, "піша кампутарныя праграмы на канкурэнтаздольным узроўні". Сістэму праверылі на адпаведнасць задачам кадавання, якія выкарыстоўваюцца ў спаборніцтвах сярод людзей, і выявіла, што праграма апынулася сярод 54% лепшых.

Па меркаванні DeepMind, гэта значны крок наперад для аўтаномнага кадавання, хоць навыкі AlphaCode не абавязкова рэпрэзентатыўныя для задач праграмавання, з якімі сутыкаецца сярэдні кодэр.

Арыёл Віньялс, галоўны навуковы супрацоўнік DeepMind, адзначае, што даследаванне ўсё яшчэ знаходзіцца на ранняй стадыі, але яго вынікі наблізілі кампанію да стварэння гнуткага ІІ для вырашэння складаных задач кадавання. "Мы натхнёныя патэнцыялам AlphaCode для дапамогі праграмістам і не-праграмістам у напісанні кода, павышэнні прадукцыйнасці або стварэнні новых спосабаў стварэння праграмнага забеспячэння", – сказаў Віньялс.

У адным прыкладзе задачы, дзе тэставалася AlphaCode, удзельнікаў прасілі знайсці спосаб пераўтварыць адзін радок выпадковых паўтаральных літар s і t, выкарыстоўваючы абмежаваны набор уваходных дадзеных:

«Вам зададзены два радкі s і t, кожны з якіх складаецца з маленькіх літар лацінскага алфавіту. Вы збіраецеся пасімвольна надрукаваць радок s, пачынальна з першага знака і сканчаючы апошнім.

Калі вы збіраецеся надрукаваць нейкі сімвал, замест таго, каб націснуць на кнопку, якая друкуе гэты сімвал, вы можаце націснуць кнопку «Backspace». Націск на гэтую кнопку выдаляе апошні надрукаваны сімвал, які яшчэ не быў выдалены (ці нічога не робіць, калі ўсе надрукаваныя сімвалы ўжо выдалены ці вы яшчэ не надрукавалі ніводнага сімвала). Напрыклад, калі радок s — «abcbd», і вы націскаеце на кнопку Backspace замест друку першага і чацвёртага сімвала, у выніку атрымаецца радок «bd» (першы націск Backspace не выдаліць ніводнага сімвала, а другі націск гэтай кнопкі выдаліць сімвал «c» ). Іншы прыклад: калі s роўная "abcaa", і вы націскаеце Backspace замест двух апошніх літар, атрымліваецца "a".

Вы павінны вызначыць, ці можна атрымаць радок t, калі вы паспрабуеце набраць радок s, націскаючы Backspace замест націску кнопак, якія адпавядаюць некаторым (магчыма, ніводнаму) літарам радка s».

AlphaCode згенераваў большую колькасць магчымых адказаў і адсеяў іх, запусціўшы код і праверыўшы выснову, як гэта зрабіў бы чалавек-канкурэнт.

Сістэму пратэставалі на 10 задачах, якія вырашалі 5000 карыстальнікаў на сайце Codeforces. У сярэднім яна ўваходзіць у лік 54,3% найлепшых па адказах.

DeepMind адзначае, што бягучы набор навыкаў AlphaCode у наш час ужыты толькі ў вобласці спаборніцкага праграмавання, але яе магчымасці адчыняюць дзверы для стварэння будучых прылад, якія зробяць праграмаванне больш даступным.

Многія іншыя кампаніі працуюць над аналагічнымі праграмамі. Напрыклад, у жніўні 2021 года OpenAI выпусціла Codex – новую сістэму, якая аўтаматычна пераўтворыць у код простыя ангельскія фразы. Codex заснаваны на GPT-3.

Аднак пакуль сістэмы далёкія ад таго, каб проста ўзяць на сябе працу праграмістаў-людзей. Код, які яны вырабляюць, часта ўтрымоўвае памылкі, а, паколькі алгарытмы звычайна навучаюцца на бібліятэках агульнадаступнага кода, яны часам узнаўляюць матэрыялы, абароненыя аўтарскім правам.

Так, у чэрвені 2021 гады Microsoft і GitHub прадставілі памагатага праграміста Copilot на базе нейрасеткі Codex ад Open AI. Сістэма навучана працаваць з рознымі фрэймворкамі і мовамі праграмавання. У жніўні выйшла ўдасканаленая версія Codex, якая перакладае ангельскія фразы ў праграмны код.

Распрацоўнікі заўважылі, што нейросетевой памагаты генеруе радкі з праектаў з адчыненым зыходным кодам, не падпарадкоўваючыся першапачатковай ліцэнзіі. Яны таксама сталі скардзіцца, што Copilot замест некалькіх радкоў патрэбнага кода генеруе дзясяткі радкоў з цытатамі і каментарамі з праектаў з адкрытым зыходным кодам. GitHub удакладніла, што Copilot звычайна не прайгравае дакладныя фрагменты кода, а стварае вытворныя працы з раней атрыманых уваходных дадзеных. Кампанія сцвярджае, што гэта адбываецца толькі ў 0,1% выпадкаў.

Затым GitHub прызнаў, што пры навучанні Copilot распрацоўшчыкі выкарыстоўвалі ўвесь даступны ў рэпазітарах сэрвісу публічны код без уліку тыпу ліцэнзіі.

Таксама высветлілася, што які вырабляецца Copilot код прыкладна ў 40% утрымоўвае памылкі і ўразлівасці.

DeepMind заяўляе, што яе нейрасетка піша праграмы не горш за сярэдняга праграміста.