Նրա գրասենյակներ : Yue Wang, wang.y@salesforce.com (Salesforce Research Asia) Weishi Wang, weishi.wang@salesforce.com (Salesforce Research Asia; Nanyang Technological University, Singapore) Shafiq Joty, sjoty@salesforce.com (Salesforce Research Asia; Nanyang Technological University, Singapore) Steven C.H. Hoi, shoi@salesforce.com (Salesforce Research Asia) Նրա գրասենյակներ : Yue Wang, wang.y@salesforce.com (Salesforce Research Asia) Weishi Wang, weishi.wang@salesforce.com (Salesforce Research Asia; Nanyang տեխնոլոգիական համալսարան, Չինաստան) Shafiq Joty, sjoty@salesforce.com (Salesforce Research Asia; Nanyang տեխնոլոգիական համալսարան, Չինաստան) Steven C.H. Hoi, shoi@salesforce.com (Salesforce Research Asia) Ապրիլ Արդյոք, թե ինչ-որ բան կարող է լինել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ բան կարող է անել, թե ինչ-որ . https://github.com/salesforce/CodeT5 1 Առաջարկ Արդյունաբերական բաղադրիչները, ինչպիսիք են բաղադրիչները ( Հիմա Գլխավոր էջ ( Հիմա ) եւ T5 ( Հիմա Արդյոք, թե ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ- Հիմա ; Հիմա · Հիմա ), որը ցույց է տալիս հուսալի արդյունքները code-related գործիքների. Բրիտանիա et al. 2019 Բրիտանիա et al. 2019 Raffles եւ ալ. 2020 Բրիտանիկյան եւ AL. 2020 Կանադա եւ ալ. 2020 Բրիտանիա et al. 2020 Բացի այդ, ամենամեծ բաղադրիչը բաղադրիչ է, որը բաղադրիչը բաղադրիչ է ( Հիմա · Հիմա ) կամ միայն decoder-only մոդել, ինչպիսիք են GPT ( Հիմա Արդյոք, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն, ինչպիսիք են այն: Հիմա ) պահանջում է լրացուցիչ decoder, երբ օգտագործվում է code summarization գործառույթը, որտեղ այս decoder չի կարող օգտվել pre-training. Բացի այդ, ամենամեծ առաջադեմ մեթոդները պարզապես օգտագործում են սովորական NLP pre-training տեխնոլոգիաները սեղմման կոդը մասին, ինչպես նաեւ այն, որ այն մի շարք տոմսերի, ինչպիսիք են NL. Սա մեծ մասում չգիտնում է խոշոր կառուցվածքի տեղեկատվությունը սեղմում, որը կարեւոր է, որ ամբողջությամբ հասկանում է սեղմման սենմետիկ. Բրիտանիայի եւ ալ. 2020 Բրիտանիա et al. 2020 Կանադա եւ AL. 2020 Բրիտանիա et al. 2020 Այս աշխատանքում, մենք առաջարկում ենք CodeT5- ը, որը առաջադրվել է codec-decoder- ի մոդելը, որը տեսնում է token-type տեղեկատվությունը CodeT5- ի վրա: Մեր CodeT5- ը կառուցում է T5- ի դիզայնի վրա ( Հիմա ) որը օգտագործում է denoising sequence-to-sequence (Seq2Seq) նախընտրական ուսուցման եւ ցույց է տալիս, որ օգնում է այնպես էլ հասկանալ եւ արտադրել գործառույթներ բնական լեզուում: Բացի այդ, մենք առաջարկում ենք օգտագործել արտադրող-բաղադրված ցուցադրիչները կոդը: Երբ գրում են ծրագրեր, արտադրողները սովորաբար օգտագործում են տեղեկատվության ցուցադրիչներ, որպեսզի կոդը ավելի հասկանում է, այնպես որ այդ ցուցադրիչները սովորաբար պաշտպանել են խոշոր կոդը սենմետիկությունը, «BinarySearch»-ի identifier-ը սեղմվում է Այսպիսով, մենք առաջարկում ենք նոր identifier-aware աչքի, որը ուսուցում է մոդել, որ տեսնում է, թե ինչ tokens են identifier եւ վերցնել նրանց, երբ նրանք կախված են: Raffles եւ ալ. 2020 Արդյոք, 2 Բացի այդ, մենք առաջարկում ենք օգտագործել կոդը եւ նրա հետազոտություններ, որպեսզի սովորել ավելի լավ NL-PL հարմարեցման. Ծրագրային ապահովման ծրագրային ապահովման ծրագրային ապահովման ծրագրային ապահովման ծրագրային ապահովման ծրագրային ապահովման ( Հիմա ), այնպես որ նման PL-NL սերտիֆիկները լայնորեն հասանելի են ամենամեծ սերտիֆիկի կոդըում: Բացի այդ, մենք տեսնում ենք, որ NL→PL սերտիֆիկը եւ PL→NL սերտիֆիկը մի քանի աշխատանքներ են եւ միասին optimize են մոդելը նրանց վրա: Հիմնական հոդված՝ Souza et al. 2005 Հիմնական տեղեկատվություն՝ CodeSearchNet ( Հիմա Հաջորդ ( Հիմա Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր Հիմա ), որը ներառում է երկու գիտելիքի գործիքներ: կոդը սխալը եւ klone սխալը եւ սխալը, ինչպիսիք են code summarization, generation, translation եւ refinement. , մենք նաեւ ուսումնասիրում ենք բազմաթիվ գործառույթների ուսուցման համար, որպեսզի CodeT5- ը մի քանի գործառույթների հետ մի քանի անգամ օգտագործելու համար, օգտագործելով մի գործառույթների կառավարման կոդը, ինչպիսիք են աղբյուրը. Բրիտանիա et al. 2019 Բրիտանիա et al. 2020 Լու եւ ալ. 2021 1 Մենք առաջարկում ենք առաջին միավոր encoder-decoder մոդել CodeT5- ը, որը աջակցում է code-related հասկանալը եւ generating գործիքները, ինչպես նաեւ թույլ է տալիս multi-task ուսուցման. We propose a novel identifier-aware pre-training objective that considers the crucial token type information (identifiers) from code. Besides, we propose to leverage the NL-PL pairs that are naturally available in source code to learn a better cross-modal alignment. CodeT5-ը ցույց է տալիս, որ CodeXGLUE- ում 14 միավոր գործառույթների հետ առաջադեմ արդյունքները կատարում են: Բացի այդ, մեր CodeT5-ը կարող է ավելի լավ գրել կոդը սենսանետիկը, որը առաջարկվում է identifier-aware- ի առաջադեմ դասընթացով եւ bimodal dual-generation- ի հետ, հիմնականում օգնում է NL↔PL գործառույթները: 2 Հիմնական աշխատանքներ Արդյունաբերական բաղադրիչներ ( Հիմա Արդյոք, ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են: Հիմա Բրիտանիա ( Հիմա ) եւ ELECTRA ( Հիմա Արդյունաբերական մոդելներ, ինչպիսիք են GPT ( Հիմա ) եւ encoder-decoder մոդելներ, ինչպիսիք են MASS ( Հիմա Բրիտանիա ( Հիմա ), and T5 ( , Արդյոք, ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք Pre-training on Natural Language. Vaswani et al. 2017 Բրիտանիա et al. 2019 Լիո եւ AL. 2019 թ. Clark եւ ալ. 2020 Բրիտանիա et al. 2019 Կանոն եւ ալ. 2019 Lewis եւ ալ. 2020 Raffles եւ ալ. 2020 Ծրագրման լեզուի նախընտրական դասընթացը մի գեղեցիկ տարածք է, որտեղ շատ վերջին աշխատանքները փորձում են արտադրել NLP- ի նախընտրական դասընթացների մեթոդները սեղմելու համար: Cu-BERT ( Հիմա ) եւ CodeBERT ( Հիմա Երկու մոդելները առաջատար են: CuBERT- ը օգտագործում է BERT- ի հզոր մոդելային լեզուի մոդելային հզորությունը, որը արտադրում է գեներատային կոդը-սպիտակային արտադրություն, եւ CodeBERT- ը ավելին ավելացնում է փոխարինված տոմսային դիզայնը ( Հիմա ) աշխատանքը սովորել NL-PL cross-modal representation. Բացի BERT-style մոդելների, (Տեսանյութ) ) եւ (Տեսանյութ) ) օգտագործում են GPT եւ UniLM ( Հիմա Հիմնական հոդված՝ Հիմնական հոդված՝ Հիմնական հոդված՝ Հիմնական հոդված՝ Հիմնական հոդված՝ Հիմնական հոդված՝ Հիմնական հոդված ( Հիմա ) ուսումնասիրում է ծրագրային լեզուների թարգմանությունը, որը անում է վերահսկողություն: Մենք տարբեր ենք նրանցից, մենք ուսումնասիրում ենք T5- ի վրա հիմնված encoder-decoder մոդելներ ծրագրային լեզուների նախնական ուսուցման համար եւ աջակցում ենք ավելի ամբողջական գործառույթներ: Pre-training on Programming Language. Kanade et al. 2020 Ֆանգ եւ AL. 2020 Clark եւ ալ. 2020 Բրիտանիայի եւ ալ. 2020 Բրիտանիա եւ AL. 2020 Dong եւ ալ. 2019 Բրիտանիա et al. 2020 Մարդիկ, ովքեր աշխատում են ( Հիմա · Հիմա · Հիմա ) վերջին գրասենյակներում նաեւ փորձում են T5 սարքավորումները կոդը, բայց նրանք կասկածում են միայն սահմանափակ սարքավորումների սարքավորումները եւ չի աջակցում գիտելիքի գործիքները, ինչպիսիք են մեր: Բացի այդ, PLBART ( Հիմա ) հիմնված է այլ encoder-decoder մոդելը, BART- ը կարող է աջակցել նաեւ հասկանալ եւ արտադրել աշխատանքներ: Սակայն, բոլոր նախորդ աշխատանքները պարզապես մշակում են կոդը, ինչպես նաեւ բնական լեզուներով, եւ մեծ մասով չգիտնում են կոդը-սահմանափակ առանձնահատկությունները: Այժմ մենք առաջարկում ենք օգտագործել identifier- ի տեղեկատվությունը կոդը- ում pre-training- ի համար: Բրիտանիա et al. 2020 Բրիտանիա et al. 2021 Բրիտանիա et al. 2021 Ahmed եւ ալ. 2021 Հիմնական հոդված՝ Բրիտանիա ( Հիմա ) ներգրավում է CodeBERT- ում code structure- ից extracted data flow- ը, իսկ (Տեսանյութ) ) առաջարկում է deobfuscation նպատակը, որը օգտագործում է PL- ի պլաստիկ մասը: Այս մոդելները պարզապես կենտրոնանում են ավելի լավ կոդը-սահմանափակ encoder- ի ուսուցման վրա: (Տեսանյութ) ) առաջարկում է տպագրել սխալային տոմսերի միջեւ Relative Distances- ի վրա սխալային կառուցվածքի վրա: Բացի այդ, մենք մասնավորապես կենտրոնանում ենք սխալների համար, որոնք տպագրում են rich code semantics- ը եւ սխալում են այդ տեղեկատվությունը մի Seq2Seq մոդելով երկու նոր սխալային տոմսերի տպագրման եւ նախընտրական գործիքների միջոցով: Բրիտանիա et al. 2021 Բրիտանիա et al. 2021 Բրիտանիա et al. 2021 3 CodeT5 սարքավորումներ Մեր CodeT5 բաղադրում է codec-decoder- ի բաղադրիչի բաղադրիչի բաղադրիչի բաղադրիչի բաղադրիչի բաղադրիչի բաղադրիչի բաղադրիչի բաղադրիչի ( Հիմա Նրա նպատակն է արտադրել ծրագրագրական լեզուների (PL) եւ բնական լեզուների (NL) համար գեներատիկ ցուցակներ անլոգված սեղանային կոդը վրա առաջատար դասընթացով: , մենք լայնում ենք Denoising Seq2Seq նպատակը T5- ում, առաջարկելով երկու identifier tagging եւ prediction գործիքներ, որոնք թույլ են տալիս մոդել ավելի լավ օգտագործել token-type տեղեկատվությունը PL- ից, ինչպիսիք են արտադրողների հավելված identifier-ները: NL-PL- ի հարմարման բարելավման համար, մենք ավելին առաջարկում ենք bimodal dual learning նպատակը NL- ի եւ PL- ի միջեւ երկու ուղղակի փոխանակման համար: Raffles եւ ալ. 2020 2 Հաջորդում, մենք ներառում ենք, թե ինչպես CodeT5 codes PL- ի եւ NL- ի տպագրությունները (§ ) եւ մեր առաջարկված identifier-aware նախընտրական ուսուցման գործիքները (§ ), հետո մանրաթելային մանրաթելային մանրաթելային մանրաթելային մանրաթելային մանրաթելային մանրաթելային մանրաթելային մանրաթելային մանրաթելային մանրաթելային մանրաթելային (§ Ավելի 3.1 3.2 3.3 4.1 NL- ի եւ PL- ի սեղմումը Մեր մոդելը կարող է ստանալ կամ PL-only կամ NL-PL- ը որպես ինտեգրտներ, այնպես որ, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են, թե ինչպիսիք են: = (Անհարկե, 1 *, ..., տիկնիկը *, 1*, ..., սմ*, [SEP]), որտեղ եւ Արդյոք, դուք կարող եք ստանալ այն, ինչ դուք պետք է պետք է ստանալ այն, ինչ դուք պետք է պետք է ստանալ. x w c n m Տեղադրելու համար մենք առաջարկում ենք օգտագործել token-type տեղեկատվություն սեղմելու համար: Մենք կենտրոնանում ենք սեղմման տեսակը ( Ֆունկցիաների անուններ եւ տարբերակներ), քանի որ նրանք ամենամեծ PL- Agnostic առանձնահատկություններն են եւ խոշորային կոդը սենմետիկները պաշտպանում են: Հիմնականորեն, մենք փոխել ենք PL- ի մասը Abstract Syntax Tree- ում (AST) եւ արտադրել ենք յուրաքանչյուր կոդը տոմսի կետերի տեսակի: Հիմնականում, մենք կառուցում ենք binary labels- ի մի շարք: ∈ {0*, * 1} Ապրիլը, որտեղ ամենը ∈ {0*,* 1}- ը նշանակում է, թե ինչպիսիք են սխալները Արդյոք դա identifier կամ ոչ. e.g., y m Արդյոք Կա 4.2 Նախորդ դասընթացներ Մենք այժմ առաջարկում ենք մեր առաջարկված pre-training գործառույթները, որոնք թույլ են տալիս CodeT5- ը սովորել օգտակար մոդելներ կամ PL-only կամ NL-PL bimodal տվյալների հետ: Հիմնական դասընթացը (տեսանյութ) Հիմնական դասընթաց (տեսանյութ) Հիմնական դասընթացը ( , · Հիմա ; Հիմա Արդյոք, թե ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ-որ բան, ինչ- Հիմա ) որը անսահմանափակորեն կկտրում է լայնությունը անսահմանափակ լայնությամբ եւ ապա նախընտրում է այդ կկտրված լայնությունը միասին մի քանի Sentinel tokens- ի հետ decoder- ում: Մենք վերցնում ենք այս աշխատանքը Ինչպե՞ս տեսնում է Figure (Մի համար) Identifier-aware Denoising Pre-training. Կանոն եւ ալ. 2019 Հիմնական հոդված՝ Raf-fel et al. 2020 Lewis եւ ալ. 2020 Raffles եւ ալ. 2020 Masked Span Prediction (MSP) 2 Բարձրապես, մենք օգտագործում ենք նույն 15% corruption rate, ինչպես T5 եւ ապահովում է միջին span երկարությունը, որ 3 է, այնպես որ միասին նմուշագրում լայնությունը 1 մինչեւ 5 tokens: Բացի այդ, մենք օգտագործում ենք Արդյոք, թե ինչ է այն, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է, թե ինչ է ( Հիմա Ավելի կարեւոր է, որ մենք նախընտրում ենք տարբեր PL-ների համատեղելի մոդելը, որպեսզի սովորել ենք հզոր cross-lingual ցուցակները: Մենք նկարագրում ենք կախված span- ի նախընտրական ծախսերը որպես: Մազում է բոլոր բաները Սան եւ ալ. 2019 Երբ θ- ը մոդելային պարամետրեր են, x \mask- ը սեղմված տպագրություն է, x mask- ը սեղմված տպագրություն է, որը նախընտրում է decoder- ից k- ը, որը նշում է x mask- ի տոմսերի מספרը, եւ xmask- ը <t- ը այն տպագրություն է, որը ստեղծվել է մինչեւ այդ ժամանակ: Եթե ցանկանում ենք մոդելին միացնել ավելի միասնական մոդելային տեղեկություններ (i.e. identifier node type in AST), մենք առաջարկում ենք երկու լրացուցիչ աշխատանքներ: եւ Արդյոք, պետք է լրացրեք նախընտրական դասընթացը. Identifier Tagging (Տեսանյութ) MIP (Masked Identifier Prediction) թարգմանություն • Հիմնական Այն նպատակն է տեղեկացնել մոդելը, որ գիտելիք է, թե այս կոդը token- ը է identifier- ը կամ ոչ, որը համատեղում է մի similar spirit of syntax highlighting- ը որոշ Developer-aided գործիքներում: (b) մենք կտրում ենք CodeT5 encoder- ում PL-ի վերջնական սեղմված տարածքները վտանգավորության սխալով: Հիմնական ( 1*, ..., pm*), եւ բինաստիկ cross-entropy ծախսը վաստակել է սխալագրման համար: Identifier Tagging (IT) 2 p p Ինչպե՞ս Նշեք, որ այնպես, որ գործառույթը փաթեթավորվում է մի սխալը, որը փաթեթավորվում է փաթեթավորելու համար, մոդելը պետք է փաթեթավորել կոդը սինթաֆը եւ համակարգչի տվյալների թռիչքի կառուցվածքը: Տես • Հիմնական Արդյոք, ինչպիսիք են MSP- ում, մենք կկտրում ենք բոլոր identifier- ները PL- ում եւ օգտագործում ենք միակ sentinel token- ը մեկ հատուկ identifier- ի բոլոր սխալների համար: Ինչպե՞ս կարող եք փոխել բաղադրիչների անունները, որը չի ազդում սխալը (Տեսանյութ) ), we arrange the unique identifiers with the sentinel tokens into a target sequence Ինչպես տեսնում է ֆունկցիա (c) Այնուհետեւ մենք հավատում ենք այն Auto-regressive ձեւով: Masked Identifier Prediction (MIP) Սպիտակություն Rozière et al. 2021 I 2 Ինչպե՞ս \I is the masked input. Note that Դա ավելի խոշոր գործառույթ է, որը պահանջում է մոդելը հասկանալ սմարթիկը, որը հիմնված է խոշոր code- ի վրա, եւ միասին միասին միասին միացնել միասին միասին միասին միասին միասին միասին միասին միասին միասին: x Արդյոք Մենք փոխանցում ենք այդ երեք ծախսերը հարմար հավասարության հետ, որը ստեղծում է մեր առաջարկված identifier-aware denoising նախնական դասընթացը: In the pre-training phase, the decoder only sees discrete masked spans and identifiers, which is disparate from the downstream tasks where the decoder needs to generate either fluent NL texts or syntactically correct code snippets. To close the gap between the pre-training and fine-tuning, we propose to leverage the NL-PL bimodal data to train the model for a bidirectional conversion as shown in Figure (d). Specifically, we regard the NL→PL generation and PL→NL generation as dual tasks and simultaneously optimize the model on them. For each NL- Bimodal Dual Generation. 2 PL bimodal datapoint, we construct two training instances with reverse directions and add language ids ( «Java» եւ «Java PL» եւ «English NL» համար: Այս գործառույթը կարող է նաեւ տեսնել որպես T5- ի spanning- ի հատուկ գործառույթը, այնպես որ կկտրում է ամբողջ NL- ի կամ PL- ի մասը bimodal ինտեգրմանից: Այս գործառույթը նպատակն է բարելավել NL- ի եւ PL- ի հետազոտությունների համեմատությունը: e.g., 3.3 Fine-tuning CodeT5 After pre-training on large-scale unlabeled data, we adapt CodeT5 to downstream tasks via either task-specific transfer learning or multi-task learning. Code-related tasks can be categorized into generation and understanding tasks. For the former one, our CodeT5 can be naturally adapted with its Seq2Seq framework. For understanding tasks, we investigate two ways of either generating the label as a unigram target sequence ( Հիմա ), or predicting it from the vocabulary of class labels based on the last decoder hidden state following ( ). Task-specific Transfer Learning: Generation vs. Understanding Tasks. Raffel et al. 2020 Lewis et al. 2020 We also explore a multi-task learning setting by training a shared model on multiple tasks at a time. Multi-task learning is able to reduce computation cost by reusing the most of model weights for many tasks and has been shown to improve the model generalization capability in NL pre-training ( , (Մենք հետեւում ենք ( ) to employ the same unified model for all tasks without adding any task-specific networks but allow to select different best checkpoints for different tasks. To notify the model with which task it is dealing with, we design a unified format of task control codes and prepend it into the source inputs as shown in Figure «Մենք օգտագործում ենք «Translate Java to CSharp:»-ը, քանի որ այն սեղմվում է սեղմել Java- ից CSharp- ում. Multi-task Learning. Liu et al. 2019a Raffles եւ ալ. 2020 1 Քանի որ տարբեր գործառույթները տարբեր տվյալների բաղադրիչների չափով են, մենք հետեւում ենք Conneau- ի եւ Lample- ի (2019) հետ, որպեսզի օգտագործենք հարմարեցված բաղադրիչների բաղադրիչների բաղադրիչներ: N- ի համար տվյալների բաղադրիչների ( կամ գործառույթների) բաղադրիչների համար, որը {qi} N i=1, մենք որոշում ենք հետեւյալ multinomial բաղադրիչների բաղադրիչների բաղադրիչները: where ni is number of examples for i-th task and α is set to 0.7. This balanced sampling aims to alleviate the bias towards high-resource tasks. 4 Experimental Setup 4.1 Նախորդ դասընթաց We follow Feng et al. (2020) to employ CodeSearchNet (Husain et al., 2019) to pre-train CodeT5, which consists of six PLs with both unimodal and bimodal data. Apart from that, we additionally collect two datasets of C/CSharp from BigQuery1 to ensure that all downstream tasks have overlapped PLs with the pre-training data. In total, we employ around 8.35 million instances for pretraining. Table 1 shows some basic statistics. To obtain the identifier labels from code, we leverage the tree-sitter2 to convert the PL into an abstract syntax tree and then extract its node type information. We filter out reserved keywords for each PL from its identifier list. We observe that PLs have different identifier rates, where Go has the least rate of 19% and Ruby has the highest rate of 32%. 4.2 Code-specific Tokenizer Tokenization is a key ingredient for the success of pre-trained language models like BERT and GPT. They often employ a Byte-Pair Encoding (BPE) to-kenizer ( , Ավելացնել Out-of-Vocabulary (OoV) խնդիրները. Սահմանափակապես, մենք ուսուցում ենք Byte-level BPE tokenizer հետեւյալում ( ) and set the vocabulary size to 32,000 as T5. We add additional special tokens ([PAD], [CLS], [SEP], [MASK0], ..., [MASK99]). This tokenzier is trained on all of our pre-training data with non-printable characters and low-frequent tokens (occurring <3 times) filtered. We compare it with T5’s default tokenizer and find that our tokenizer largely reduces the length of tokenized code sequence by 30% - 45% on downstream tasks. This will accelerate the training and especially benefit generation tasks due to the shorter sequence to predict. We also spot a severe problem for applying the T5’s default tokenizer on source code, where it would encode some common code tokens such as brackets [‘{’, ‘}’] into unknown tokens. Բրիտանիա et al. 2016 Բրիտանիա et al. 2019 4.3 Downstream Tasks and Metrics We cover most generation and understanding tasks in the CodeXGLUE benchmark ( , ) and employ the provided public datasets and the same data splits following it for all these tasks. Լու եւ ալ. 2021 We first consider two cross-modal generation tasks. aims to summarize a function-level code snippet into English descriptions. The dataset consists of six PLs including Ruby, JavaScript, Go, Python, Java, and PHP from CodeSearchNet ( , Արդյոք, մենք կարող ենք օգտագործել ալյումինե ալյումինե 4 ( , ) to eval-uate this task. is the task to gen-erate a code snippet based on NL descriptions. We employ the Concode data ( , Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր / Գլխավոր ( , ) that considers syntactic and semantic matches based on the code structure in addition to the n-gram match. Code summarization Husain et al. 2019 Lin եւ Och 2004 Code generation Արդյոք եւ ալ. 2018 Ren et al. 2020 Besides, we consider two code-to-code generation tasks. aims to migrate legacy software from one PL to another, where we focus on translating functions from Java to CSharp and vice versa. Մենք օգտագործում ենք երկու Java տվյալների սերտիֆիկները, որոնք տրամադրվում են ( ) with various function lengths: small (fewer than 50 tokens) and medium (50-100 tokens). We use BLEU-4 and exact match to evaluate them. Code translation Code refinement Tufano et al. 2019 Մենք նաեւ հետազոտում ենք, թե ինչպիսիք են CodeT5- ը կատարում երկու հասկանալով հիմնված աշխատանքների վրա: Առաջինը that aims to predict whether a code is vulnerable to software systems or not. We use the C dataset provided by ( ) փորձարկման համար: Երկրորդ գործը which aims to measure the similarity between two code snippets and predict whether they have the same functionality. We experiment with the Java data provided by ( Մենք օգտագործում ենք F1- ի ստանդարտությունը եւ ճշգրիտությունը այս երկու աշխատանքների գնահատման համար: Ընդհանուր առմամբ, մեր CodeT5- ը աջակցում է CodeXGLUE- ում 6 գործիքներ եւ 14 դեկտրոնային գործիքներ միասնական encoder-decoder մոդելով: defect detection Բրիտանիա et al. 2019 clone detection Wang եւ ալ. 2020 4.4 Մոդելային համեմատություն We compare CodeT5 with state-of-the-art (SOTA) pre-trained models that can be categorized into three types: encoder-only, decoder-only, and encoder-decoder models. As models, we consider RoBERTa ( , ), RoBERTa (code) trained with masked language modeling (MLM) on code, CodeBERT ( , ) trained with both MLM and replaced token detection ( , ), GraphCode-BERT ( , ) using data flow from code, and DOBF ( , ) trained with the identifier deobfuscation objective. Note that although DOBF employs a Seq2Seq model during pre-training, it only aims to train a better encoder for downstream tasks without exploring the poten-tial benefit of the pre-trained decoder. encoder-only Բրիտանիա եւ AL. 2019b Feng et al. 2020 Clark եւ ալ. 2020 Guo et al. 2021 Rozière et al. 2021 For models, we compare GPT-2 ( Հիմա ) and its adaptations on code domain including CodeGPT-2, and CodeGPT-adapted. The difference is that the latter one utilizes a GPT-2 checkpoint for model initialization while the former one is trained from scratch. As Հիմնական հոդված՝ «Այս տարի» (տեսանյութ) , ) based on BART ( Հիմա ) architecture. For pre-training data, most of these models employ CodeSearchNet ( , ) except DOBF and PLBART. DOBF is pre-trained on 7.9M Java and 3.6M Python files from BigQuery while PLBART employs a much larger data with 470M Python and 210M Java functions, and 47M NL posts from StackOverflow. decoder-only Բրիտանիա et al. 2019 encoder-decoder Աղջիկ եւ ալ. 2021 Lewis et al. 2020 Husain et al. 2019 4.5 Model Configurations Հիմնական հոդվածը Հիմնական հոդվածը Հիմնական հոդվածը Հիմնական հոդվածը Հիմնական հոդվածը Հիմնական հոդվածը Հիմնական հոդվածը Հիմնական հոդվածը Հիմնական հոդվածը Հիմնական հոդվածը Հիմնական հոդվածը , PyTorch- ի օգտագործումը and employ two sizes of CodeT5-small (60M) and CodeT5-base (220M). We set the maximum source and target sequence lengths to be 512 and 256, respectively. We use the mixed precision of FP16 to accelerate the pre-training. We set the batch size to 1024 and employ the peak learning rate of 2e-4 with linear decay. We pre-train the model with the denoising objective for 100 epochs and bimodal dual training for further 50 epochs on a cluster of 16 NVIDIA A100 GPUs with 40G memory. The total training time for CodeT5-small and CodeT5-base is 5 and 12 days, respectively. Raf-fel et al. 2020 3 In the fine-tuning phase, we find that the tasks in CodeXGLUE ( , ) are quite sensitive to some hyper parameters such as learning rate, training steps, and batch size. We conduct a grid search and select the best parameters based on the validation set. In multi-task learning, we cover all downstream tasks except clone detection. Lu et al. 2021 5 արդյունքները եւ վերլուծություն In this section, we compare CodeT5 with SOTA models on a broad set of CodeXGLUE downstream tasks (§ ), and investigate the effects of our bimodal dual generation and multi-task learning (§ ), followed by a detailed analysis on the proposed identifier-aware pre-training (§ ). 5.1 5.2 5.3 5.1 CodeXGLUE Downstream Tasks Մեր մոդելը դասընթացում է երկու չափերի համար: CodeT5-small եւ CodeT5-base, որոնք նախնական դասընթացում են identifier-aware denoising- ի հետ: Բացի այդ, մենք տեսնում ենք մոդելը, որը շարունակվում է դասընթացել bimodal dual generation- ի հետ (dual-gen) եւ ցույց է տալիս արդյունքները multi-task fine-tuning- ի հետ: Բոլոր համեմատական մոդելների արդյունքները ստանում են իրենց Original Papers- ի եւ CodeXGLUE Papers- ի հետ: , ). Lu et al. 2021 We show code summarization results of smoothed BLEU-4 on six PL data in Table . We observe all our model variants significantly outperform prior work with either an encode-only (RoBERTa, CodeBERT, DOBF) or encoder-decoder framework (PLBART). Moreover, the salient performance gap between these two groups of models confirms that encode-only frameworks are suboptimal for generation tasks. Compared to the SOTA encoder-decoder model PLBART, we find that even our CodeT5-small yields better overall scores (also on Python and Java) given that our model is much smaller (60M vs. 140M) and PLBART is pre-trained with much larger Python and Java data (> 100 times). We attribute such improvement to our identifier-aware denoising pre-training and better employment of bi-modal training data . By increasing the model size, our CodeT5-base boosts the overall performance by over 1.2 absolute points over PLBART. Code Summarization. 2 4 We compare CodeT5 with GPT-style models and PLBART in Table . Our CodeT5-small outperforms all decoder-only mod-els and also the SOTA PLBART, which again confirms the superiority of encoder-decoder models at generating code snippets. Moreover, our CodeT5-base further significantly pushes the SOTA results across three metrics. Particularly, it achieves around 4.7 points improvement on CodeBLEU over PLBART, indicating our CodeT5 can better comprehend the code syntax and semantics with the __help of identi__fier-aware pre-training. Code Generation. 3 We compare two code-to-code generation tasks: code translation and code refinement in Table and further consider one naive copy baseline by copying the source input as the target prediction. In the code translation task, our CodeT5-small outperforms most of base-lines and obtains comparable results with PLBART, which shows the advantages of encoder-decoder models in the code-to-code generation setting. Our CodeT5-base further achieves consistent improvements over PLBART across various metrics for translating from Java to C# and vice versa. Code-to-Code Generation Tasks. 4 Here we show one CodeT5’s output of translating C# to Java in Figure . In this case, despite the poor BLEU score, CodeT5 is able to generate a function that reserves the same functionality and even has better readability compared to the ground-truth. This reveals that CodeT5 has a good generalization ability instead of memorizing and repeating what it has seen before. On the other hand, it also suggests that BLEU score is not a perfect evaluation metric for code generation tasks, where sometimes a higher score can instead reflect the problematic copy issues of neural models. 3 Another code-to-code generation task is code refinement, a challenging task that requires detecting which parts of code are buggy and fix them via generating a bug-free code sequence. Due to the large overlap of source and target code, even the naive copy approach yields very high BLEU scores but zero exact matches. Therefore, we focus on the exact match (EM) metric to evaluate on this task. As shown in Table , we observe that EM scores for the small data are consistently higher than the medium one, indicating that it is harder to fix bugs for a longer code snippet. Our CodeT5-base significantly outperforms all baselines on EM and especially boosts over 4.8 points for the more challenging medium task (13.96 vs. GraphCodeBERT’s 9.10), reflecting its strong code understanding capability. 4 We compare with two understanding tasks of defect detection and clone detection in Table 5. Understanding Tasks. Specifically, we generate the binary labels as a unigram sequence from the decoder for the defect detection task, while for the clone detection task, we first obtain the sequence embedding of each code snippet using the last decoder state following ( Երկու CodeT5- ի եւ CodeT5- ի բազանները գերազանցում են բոլոր բազանները սխալների ստուգման աշխատանքում, իսկ CodeT5- ի բազանը արտադրում է PLBART- ից 2.6 ճշգրտության բարելավումը: Քանի որ մեր CodeT5 մոդելները ստուգում են klone- ից, մեր CodeT5- ի մոդելները հասանելի են SOTA GraphCodeBERT- ի եւ PLBART- ի մոդելների հետ հարմարավետ արդյունքները: Այս արդյունքները ցույց են տալիս, որ CodeT5-ը դեռ կարող է հարմարվել սխալների ստուգման համար: Lewis et al. 2020 5.2 Effects of Bimodal Dual Generation and Multi-task Learning We examine the effects of bimodal dual generation at pre-training and multi-task learning at fine-tuning. The bimodal pre-training brings consistent improvements for code summarization and generation tasks on both CodeT5-small and CodeT5-base. However, this pre-training task does not help and even sometimes slightly hurts the performance for PL-PL generation and understanding tasks. We anticipate this is because bimodal dual generation learns a better alignment between PL and NL that naturally benefits the former tasks involving both PL and NL. As a side effect, this objective could bias the model towards the PL-NL tasks and affect its performance on PL-PL tasks. In multi-task learning, it generally improves most of downstream tasks except the code translation and defect detection. Particularly, it largely boosts the performance on code summarization, which is not surprising as code summarization takes up the largest portion of sub tasks (six out of thirteen) and thereby benefit the most from the multi-task learning. Besides, we observe that multi-task learning consistently improves the performance of code refinement, which might benefit from the joint training of both small and medium refinement data. Another possible reason is that multi-task training with defect detection would enable the model to better comprehend the code semantics for bug detection, which is also a necessary intermediate step for code refinement. 5.3 Analyzing Identifier-aware Pre-training Մենք ապահովում ենք ablation ուսումնասիրություն, որը ստուգում է մեր identifier-aware նպատակին յուրաքանչյուր բաղադրիչի գործառույթը: Բացի այդ, մենք համեմատում ենք մեր CodeT5- ի գործառույթների կատարումը 4 ընտրված գործառույթների վրա, այնպես որ ablating բոլոր երեք նպատակների: masked span prediction (MSP), identifier tagging (IT), եւ masked identifier prediction (MIP). , we observe that generally removing one of the objectives would reduce the performance for all tasks, indicating that all objectives contribute to the better code understanding of our CodeT5. However, the effect of each objective differs across tasks. Specifically, removing MSP would largely reduce the performance of all generation tasks but instead increase the defect detection performance. This shows that masked span prediction is more crucial for capturing syntactic information for generation tasks. On the contrary, removing MIP would hurt the defect detection task the most, indicating that it might focus more on code semantic understanding. By combining these objectives, our CodeT5 can better capture both syntactic and semantic information from code. 6 We further provide outputs from CodeT5 and its variant without MIP and IT on code generation in Figure . We observe that CodeT5 can correctly generate the exact function, while the model without MIP and IT fails to recover the identifiers of “s2” and “hasField”. This shows our identifier-aware denoising pre-training can better distinguish and leverage the identifier information. 4 We also investigate the identifier tagging performance and find it achieves over 99% F1 for all PLs, showing that our CodeT5 can confidently distinguish identifiers in code. We then check whether MSP and MIP tasks would have conflicts as they employ the same sentinel tokens for masking. In identifier masking, all occurrences of one unique identifier are replaced with the same sentinel token, resulting in a many-to-one mapping compared to the one-to-one mapping in span prediction. We compare models pre-trained with either MSP or MIP, and both on these two tasks in Table . We report the prediction accuracy and also the ratio of how often they can generate the same number of predictions as the sentinel tokens. We observe that pre-training only with either MIP or MSP would bias the model towards that task, achieving poor accuracy and higher mismatch in number of predictions when applied to the other task. Interestingly, we find that MIP-only objective can better recover the correct number of predictions in the MSP task than MSP-only does for the MIP task, meaning that it is easier to adapt from many-to-one mapping to one-to-one mapping and difficult for the opposite. At last, combining them can help our model to make a good trade-off on both tasks. 7 6 Conclusion We have presented CodeT5, a pre-trained encoder-decoder model that incorporates the token type information from code. We propose a novel identifier-aware pre-training objective to better leverage the identifiers and propose a bimodal dual generation task to learn a better NL-PL alignment using code and its comments. Our unified model can support both code understanding and generation tasks and allow for multi-task learning. Experiments show that CodeT5 significantly outperforms all prior work in most CodeXGLUE tasks. Further analysis also reveals its better code comprehension capability across various programming languages. Broader Impact and Ethical Consideration Our work generally belongs to NLP applications for software intelligence. With the goal of improving the development productivity of software with machine learning methods, software intelligence research has attracted increasing attention in both academia and industries over the last decade. Software code intelligence techniques can help developers to reduce tedious repetitive workloads, enhance the programming quality and improve the overall software development productivity. This would considerably decrease their working time and also could potentially reduce the computation and operational cost, as a bug might degrade the system performance or even crash the entire system. Our work addresses the fundamental challenge of software code pre-training, our study covers a wide range of code intelligence applications in the software development lifecycle, and the proposed CodeT5 method achieves the state-of-the-art performance on many of the benchmark tasks, showing its great potential benefit towards this goal. We further discuss the ethical consideration of training CodeT5 and the potential risks when applying it into real-world downstream applications: The training datasets in our study are source code including user-written comments from open source Github repositories and publicly available, which do not tie to any specific application. However, it is possible that these datasets would encode some stereotypes like race and gender from the text comments or even from the source code such as variables, function and class names. As such, social biases would be intrinsically embedded into the models trained on them. As suggested by ( ), interventions such as filtration or modulation of generated outputs may help to mitigate these biases in code corpus. Dataset bias. Chen et al. 2021 Our model pre-training requires non-trivial computational resources though we have tried our best to carefully design our experiments and improve experiments to save unnecessary computation costs. In fact, compared to the recent large-scale language model Codex ( , ), our CodeT5-base has a much smaller model size of 220M than theirs of 12B (∼ 55×). In addition, we experiment on Google Cloud Plat-form which purchases carbon credits to reduce its carbon footprint, training CodeT5-base produced around 49.25 kg CO2 which was totally off-set by the provider. Furthermore, we release our pre-trained models publicly to avoid repeated training for the code intelligence research community. Computational cost. Chen et al. 2021 Արդյոք, As CodeT5 can be deployed to provide coding assistance such as code generation for aiding developers, automation bias of machine learning systems should be carefully considered, especially for developers who tend to over-rely on the model-generated outputs. Sometimes these systems might produce functions that superficially appear correct but do not actually align with the developer’s intents. If developers unintentionally adopt these incorrect code suggestions, it might cause them much longer time on debugging and even lead to some significant safety issues. We suggest practitioners using CodeT5 should always bear in mind that its generation outputs should be only taken as references which require domain experts for further correctness and security checking. Automation bias. We train CodeT5 on existing code corpus including CodeSearchNet ( , ) եւ մի փոքր մասը Google BigQuery- ից, որոնք առաջին անգամ հավաքվում են Github- ից: Pre-trained mods- ը կարող է մի քանի զգալի տեղեկատվություն ստուգել ( personal addresses or identification numbers) from the training data. Though we have conducted multi-rounds of data cleaning to mitigate this before training our models, it is still possible that some sensitive information cannot be completely removed. Besides, due to the non-deterministic nature of generation models like CodeT5, it might produce some vulnerable code to harmfully affect the software and even be able to benefit more advanced malware development when deliberately misused. Security implications. Husain et al. 2019 e.g., Acknowledgements We thank Akhilesh Deepak Gotmare, Amrita Saha, Junnan Li, and Chen Xing for valuable discussions. We thank Kathy Baxter for the ethical review. We also thank our anonymous reviewers for their insightful feedback on our paper. Տեսակներ Բրիտանիա, Բրիտանիա, Բրիտանիա, Բրիտանիա, Բրիտանիա, Բրիտանիա, Բրիտանիա . In , pages 2655–2668. Association for Computational Linguistics. Unified pre-training Ծրագրի հասկանալը եւ արտադրությունը Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT 2021, Online, June 6-11, 2021 Mark Chen, Jerry Tworek, Heewoo Jun, Qiming Yuan, Henrique Ponde de Oliveira Pinto, Jared Kaplan, Harrison Edwards, Yuri Burda, Nicholas Joseph, Greg Brockman, Alex Ray, Raul Puri, Gretchen Krueger, Michael Petrov, Heidy Khlaaf, Girish Sastry, Pamela Mishkin, Brooke Chan, Scott Gray, Nick Ryder, Mikhail Pavlov, Alethea Power, Lukasz Kaiser, Mohammad Bavarian, Clemens Win-ter, Philippe Tillet, Felipe Petroski Such, Dave Cum-mings, Matthias Plappert, Fotios Chantzis, Eliza-beth Barnes, Ariel Herbert-Voss, William Hebgen Guss, Alex Nichol, Alex Paino, Nikolas Tezak, Jie Tang, Igor Babuschkin, Suchir Balaji, Shantanu Jain, William Saunders, Christopher Hesse, Andrew N. Carr, Jan Leike, Joshua Achiam, Vedant Misra, Evan Morikawa, Alec Radford, Matthew Knight, Miles Brundage, Mira Murati, Katie Mayer, Peter Welin-der, Bob McGrew, Dario Amodei, Sam McCandlish, Ilya Sutskever, and Wojciech Zaremba. 2021. . , abs/2107.03374. Evaluating large language models trained on code CoRR Kevin Clark, Minh-Thang Luong, Quoc V. Le, and Christopher D. Manning. 2020. . In . OpenReview.net. ELECTRA: pre-training text encoders as discriminators rather than generators 8th International Conference on Learning Representations, ICLR 2020, Addis Ababa, Ethiopia, April 26-30, 2020 Colin B. Clement, Dawn Drain, Jonathan Timcheck, Alexey Svyatkovskiy եւ Neel Sundaresan. • Մինչեւ , pages 9052–9065. Association for Computational Linguistics. Pymt5: multi-mode translation of natural language and python code with transformers Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing, EMNLP 2020, Online, November 16-20, 2020 Alexis Conneau and Guillaume Lample. 2019. • Մինչեւ , pages 7057–7067. Cross-lingual language model pretraining Advances in Neural Information Processing Systems 32: Annual Conference on Neural Information Processing Systems 2019, NeurIPS 2019, December 8-14, 2019, Vancouver, BC, Canada Sergio Cozzetti B. de Souza, Nicolas Anquetil, and Káthia Marçal de Oliveira. 2005. . In , pages A study of the documentation essential to software maintenance Proceedings of the 23rd Annual International Conference on Design of Communication: documenting & Designing for Pervasive Information, SIGDOC 2005, Coventry, UK, September 21-23, 2005 68–75. ACM. Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. . In , pages 4171–4186. BERT: pre-training of deep bidirectional transformers for language understanding Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, NAACL-HLT 2019, Minneapolis, MN, USA, June 2-7, 2019, Volume 1 (Long and Short Papers) Li Dong, Nan Yang, Wenhui Wang, Furu Wei, Xi-aodong Liu, Yu Wang, Jianfeng Gao, Ming Zhou, and Hsiao-Wuen Hon. 2019. . In , pages 13042–13054. Unified language model pre-training for natural language understanding and generation Advances in Neural Information Processing Systems 32: Annual Conference on Neural Information Processing Systems 2019, NeurIPS 2019, December 8-14, 2019, Vancouver, BC, Canada Ahmed Elnaggar, Wei Ding, Llion Jones, Tom Gibbs, Tamas Feher, Christoph Angerer, Silvia Severini, Florian Matthes, and Burkhard Rost. 2021. . , abs/2104.02443. Code-trans: Towards cracking the language of silicone’s Արդյունաբերական հսկողություն եւ բարձր հսկողություն Computing-ի կատարումը CoRR Zhangyin Feng, Daya Guo, Duyu Tang, Nan Duan, Xi-aocheng Feng, Ming Gong, Linjun Shou, Bing Qin, Ting Liu, Daxin Jiang, and Ming Zhou. 2020. . In , pages 1536–1547. Association for Computational Linguistics. Code-bert: A pre-trained model for programming and natural languages Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: Findings, EMNLP 2020, Online Event, 16-20 November 2020 Daya Guo, Shuo Ren, Shuai Lu, Zhangyin Feng, Duyu Tang, Shujie Liu, Long Zhou, Nan Duan, Alexey Svyatkovskiy, Shengyu Fu, Michele Tu-fano, Shao Kun Deng, Colin B. Clement, Dawn Drain, Neel Sundaresan, Jian Yin, Daxin Jiang, and Ming Zhou. 2021. . In . OpenReview.net. Graphcodebert: Pre-training code representations with data flow 9th International Conference on Learning Representations, ICLR 2021, Virtual Event, Австрия, 3–7 May, 2021 Hamel Husain, Ho-Hsiang Wu, Tiferet Gazit, Miltiadis Allamanis, and Marc Brockschmidt. 2019. . , abs/1909.09436. Code-searchnet Challenge- ը: Կարդացեք, թե ինչպես է սենմենտիկ կոդը ստուգում CoRR Srinivasan Iyer, Ioannis Konstas, Alvin Cheung եւ Luke Zettlemoyer. . In , pages 1643–1652. Association for Computational Linguistics. Mapping language to code Ծրագրային ինտերնետում 2018 թ. Ապրիլ 31 - 4 Նոյեմբեր, 2018 թ. Բելգիա, Բրիտանիա, Բրիտանիա, Բրիտանիա Aditya Kanade, Petros Maniatis, Gogul Balakrishnan, and Kensen Shi. 2020. . In , volume 119 of , pages 5110–5121. PMLR. Learning and evaluating contextual embedding of source code 37th International Conference on Machine Learning, ICML 2020, 13-18 հուլիսի 2020, Virtual Event Proceedings of Machine Learning Research Mike Lewis, Yinhan Liu, Naman Goyal, Marjan Ghazvininejad, Abdelrahman Mohamed, Omer Levy, Veselin Stoyanov, and Luke Zettlemoyer. 2020. . In , pages 7871–7880. Association for Computational Linguistics. BART: denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension Ապրիլ 2020-ի ACL-ի 58-րդ թվային հանդիպում, ACL 2020, Online, Հունվար 5-10, 2020 Chin-Yew Lin and Franz Josef Och. 2004. . In . ORANGE: a method for evaluating automatic evaluation metrics for machine translation COLING 2004, 20th International Conference on Computational Linguistics, Proceedings of the Conference, 23-27 August 2004, Geneva, Switzerland Հիմնական հոդված՝ Fang Liu, Ge Li, Yunfei Zhao եւ Zhi Jin. . In , pages 473–485. IEEE. Multi-task learning based pre-trained language model for code completion 35th IEEE/ACM International Conference on Automated Software Engineering, ASE 2020, Melbourne, Australia, September 21-25, 2020 Xiaodong Liu, Pengcheng He, Weizhu Chen, and Jian-feng Gao. 2019a. . In , pages 4487–4496. Association for Computational Linguistics. Multi-Task Deep Neural ցանցեր for natural language understanding Proceedings of the 57th Conference of the Association for Computational Linguistics, ACL 2019, Florence, Italy, July 28- August 2, 2019, Volume 1: Long Papers Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Man-dar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. 2019b. Արդյոք , abs/1907.11692. Roberta: A robustly optimized BERT pretraining approach Կոնտոր Լու, Լու, Լու, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի, Լի եւ Լի. . , abs/2102.04664. Codexglue: A machine learning benchmark dataset for code understanding and generation Կոնտոր Antonio Mastropaolo, Simone Scalabrino, Nathan Cooper, David Nader-Palacio, Denys Poshyvanyk, Rocco Oliveto եւ Gabriele Bavota. . In , pages 336–347. IEEE. Studying the usage of text-to-text transfer transformer to Code-related գործիքների աջակցություն 43rd IEEE/ACM International Conference on Software Engineering, ICSE 2021, Madrid, Spain, 22-30 May 2021 Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever. 2019. . , 1(8):9. Language models are unsupervised multitask learners OpenAI blog Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J. Liu. 2020. . , 21:140:1–140:67. Exploring the limits of transfer learning with a unified text-to-text transformer Գիտեք, թե ինչ է անում. Հիմնական հոդված՝ Shuo Ren, Daya Guo, Shuai Lu, Long Zhou, Shujie Liu, Duyu Tang, Neel Sundaresan, Ming Zhou, Am-brosio Blanco եւ Shuai Ma. . Հաջորդ հոդված՝ abs/2009 10297 Codebleu: a method for automatic evaluation of code synthesis Կոնտոր Baptiste Rozière, Marie-Anne Lachaux, Lowik Chanussot, and Guillaume Lample. 2020. . In Unsupervised translation of programming languages Neural Information Processing Systems- ի առաջադեմները 33: Neuronal Information Processing Systems- ի 2020-ի թ. թ. դասընթացը, NeurIPS 2020- ը, հունվարի . 6-12, 2020, virtual Baptiste Rozière, Marie-Anne Lachaux, Marc Szafraniec, and Guillaume Lample. 2021. . , abs/2102.07492. Հիմնական էջ: A deobfuscation pre-training objective for programming languages-ի ծրագրագրական լեզուների համար CoRR Rico Sennrich, Barry Haddow եւ Alexandra Birch. 2016 . In . The Association for Computer Linguistics. Neural machine translation of rare words with Subword միավորություններ ACL-ի 54-րդ թվային հանդիպումը, ACL 2016, 7-12 August, 2016, Berlin, Germany, Volume 1: Long Papers Kaitao Song, Xu Tan, Tao Qin, Jianfeng Lu, and Tie-Yan Liu. 2019. . In , volume 97 of , էջերը 5926–5936. PMLR MASS- ը: Masked sequence to sequence pre-training համար լեզուների արտադրության համար Proceedings of the 36th International Conference on Machine Learning, ICML 2019, 9-15 June 2019, Long Beach, California, USA Machine Learning- ի հետազոտությունների ծրագրեր 2019 թ.՝ Yu Sun, Shuohuan Wang, Yu-Kun Li, Shikun Feng, Xuyi Chen, Han Zhang, Xin Tian, Danxiang Zhu, Hao Tian եւ Hua Wu. . , abs / 1904 09223 թ. ERNIE- ը: Բարձր representation through knowledge integration- ը CoRR Alexey Svyatkovskiy, Shao Kun Deng, Shengyu Fu եւ Neel Sundaresan. • Մինչեւ , pages 1433–1443. ACM. Intellicode բաղադրիչները: code generation using transformer ESEC/FSE ’20: 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Virtual Event, USA, November 8-13, 2020 Michele Tufano, Cody Watson, Gabriele Bavota, Massimiliano Di Penta, Martin White, and Denys Poshy-vanyk. 2019. . , 28(4):19:1–19:29. An empirical study on learning bug-fixing patches in the wild via neural machine Տեղադրություն ACM Trans. Softw. Eng. Methodol. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. . In , pages 5998–6008. Տեղադրություն է բոլորը Դուք պետք է Advances in Neural Information Processing Systems 30: Annual Conference on Neural Information Processing Systems 2017, December 4-9, 2017, Long Beach, CA, USA Վանհան Վան, Ge Li, Bo Ma, Xin Xia եւ Zhi Jin. • Մինչեւ , pages 261–271. IEEE. Detecting code clones with graph neural network and flow-augmented abstract syntax tree 27th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2020, London, ON, Canada, February 18-21, 2020 Yaqin Zhou, Shangqing Liu, Jing Kai Siow, Xiaon-ing Du, and Yang Liu. 2019. . In Գլխավոր էջ 10197–10207 Devign: Effective Տեղադրման սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալները սխալներ Advances in Neural Information Processing Systems 32: Annual Conference on Neural Information Processing Systems 2019, NeurIPS 2019, December 8-14, 2019, Vancouver, BC, Canada Daniel Zügner, Tobias Kirschstein, Michele Catasta, Jure Leskovec եւ Stephan Günnemann. . In . OpenReview.net. Language-agnostic representation-ի հետազոտություն code from structure and context 9th International Conference on Learning Representations, ICLR 2021, Virtual Event, Austria, May 3-7, 2021 Այս հոդվածը հասանելի է archiv- ում CC by 4.0 Deed (Attribution 4.0 International) License- ի կողմից: This paper is under CC by 4.0 Deed (Attribution 4.0 International) license. Արդյոք հասանելի է