IBM кодду которгон жана текшерген машина үйрөнүү системалары үчүн CodeNet ачат

IBM өзүнүн CodeNet демилгесин ачты, ал изилдөөчүлөргө программалоо тилинин котормочуларын, код генераторлорун жана анализаторлорун түзүү үчүн машина үйрөнүү ыкмаларын колдонуу менен эксперимент жүргүзүүгө мүмкүндүк берген маалыматтар топтомун камсыз кылууну көздөйт. CodeNet 14 жалпы программалоо маселелерин чечүүчү 4053 миллион код мисалдарынын жыйнагын камтыйт. Жалпысынан жыйнак болжол менен 500 миллион сап кодду камтыйт жана 55 программалоо тилдерин, C++, Java, Python жана Go сыяктуу заманбап тилдерди жана COBOL, Pascal жана FORTRAN сыяктуу эски тилдерди камтыйт. Долбоордун иштеп чыгуулары Apache 2.0 лицензиясынын алкагында таратылат, ал эми маалымат топтомдорун коомдук домен түрүндө таратуу пландаштырылууда.

Мисалдар аннотацияланган жана ар кандай программалоо тилдеринде окшош алгоритмдерди ишке ашырат. Сунушталган топтом машинаны үйрөнүү системаларын окутууга жана ImageNet аннотацияланган сүрөттөр базасы үлгү таануу жана компьютердик көрүү системаларын өнүктүрүүгө кандай жардам бергенине окшош которуу жана машина кодун талдоо жаатында инновацияларды өнүктүрүүгө жардам берет деп күтүлүүдө. Коллекцияны түзүүнүн негизги булактарынын бири катары ар кандай программалоо сынактары келтирилген.

Котормо эрежелеринин негизинде ишке ашырылган салттуу котормочулардан айырмаланып, машинаны үйрөнүү системалары кодду колдонуу контекстти кармап, эске ала алат. Бир программалоо тилинен экинчисине которууда контекст бир адамдын тилинен экинчи тилине которуудагыдай эле маанилүү. Бул контекстти кароонун жоктугу коддун COBOL сыяктуу эски тилдерден айландырылышына жол бербейт.

Ар кандай тилдерде алгоритмдерди ишке ашыруунун чоң маалымат базасына ээ болуу, белгилүү бир тилдердин ортосунда түз которуунун ордуна, конкреттүү программалоо тилдеринен көз карандысыз, коддун абстракттуу көрүнүшүн манипуляциялоочу универсалдуу машина үйрөнүү системаларын түзүүгө жардам берет. Мындай системаны котормочу катары колдонсо болот, ар кандай колдоого алынган тилдердеги берилүүчү кодду өзүнүн ички абстракттуу өкүлчүлүгүнө которуп, андан кийин кодду бир нече тилде түзүүгө болот.

Система эки багыттуу трансформацияларды да жасай алат. Мисалы, банктар жана мамлекеттик органдар эскирген COBOL тилиндеги долбоорлорду колдонууну улантууда. Машина үйрөнүүсүнө негизделген котормочу COBOL кодун Java өкүлчүлүгүнө айландыра алат жана керек болсо, Java фрагментин кайра COBOL кодуна которо алат.

Тилдер ортосундагы котормодон тышкары, CodeNetтин смарт-код издөө системаларын түзүү жана клондорду аныктоону автоматташтыруу, ошондой эле оптимизаторлорду жана автоматтык кодду оңдоо системаларын иштеп чыгуу сыяктуу чөйрөлөрү айтылган. Атап айтканда, CodeNetте келтирилген мисалдар аткаруу тестирлөөнүн натыйжаларын, натыйжада программанын көлөмүн, эстутумдун керектөөсүн жана абалын сүрөттөгөн метаберилиштер менен жабдылган, бул бизге туура кодду каталары бар коддон айырмалоого мүмкүндүк берет (туура кодду туура эмес коддон айырмалоо үчүн, чогултуу өзгөчө каталары бар мисалдарды камтыйт, алардын үлүшү 29.5% түзөт. Машина үйрөнүү системасы эң оптималдуу кодду түзүү же анализделген коддогу регрессияларды аныктоо үчүн бул метадайындарды эске ала алат (система тапшырылган коддогу алгоритм оптималдуу түрдө ишке ашырылбаганын же каталарды камтыганын түшүнө алат).

Source: opennet.ru

Комментарий кошуу