
PyTorch 2.15-ը վերագրում է NCCL հետին համակարգը՝ GPU-ների անսարքությունների վերականգնումը բարելավելու համար
PyTorch 2.15-ը ներառում է Nvidia-ի NCCL գրադարանի վերագրված հետին համակարգը՝ մեծ AI ուսուցման աշխատանքներում GPU-ների համատեղ աշխատանքի ժամանակ անսարքությունների ախտորոշումն ու վերականգնումը բարելավելու համար։
PyTorch 2.15-ը ներառում է Nvidia-ի Collective Communications Library (NCCL) գրադարանի վերագրված հետին համակարգը՝ GPU-ների համատեղ աշխատանքի ժամանակ անսարքությունների ախտորոշումն ու վերականգնումը բարելավելու համար։ Թողարկումը նաև ավելացնում է այլ հնարավորություններ և համընկնում է այն ժամանակաշրջանի հետ, երբ ծրագրային ապահովման ստեղծողները շարունակում են այն հետազոտողի գործիքից տեղափոխել արտադրական AI օգտագործման։ Թարմացումը բաղկացած էր 3,117 կոմիտից, որոնք ներկայացրել էին 583 մասնակից։
NCCL հետին համակարգի վերագրում
NCCL-ի նախորդ PyTorch հետին համակարգը, որը կոչվում էր ProcessGroupNCCL, կարող էր յուրաքանչյուր գործընթացների խմբում ստեղծել տասնյակ կոմունիկատորներ, ինչը հանգեցնում էր պարբերական փակուղիների և անկանխատեսելի արդյունավետության։ PyTorch-ի հիմնական մշակող Տրիստան Ռայսը, Meta ծրագրային ինժեներ, որը մասնագիտանում է բաշխված հաշվարկներում, հինգշաբթի օրը YouTube-ի ուղիղ հեռարձակման ժամանակ ասաց, որ ցանցային գրադարանի ինտերֆեյսը անհրաժեշտ էր վերագրել, քանի որ այն խեղդվում էր տեխնիկական պարտքում։ Նոր հետին համակարգը օգտագործում է խիստ կանոն՝ մեկ գործընթացների խումբը նախնականացման ժամանակ ստանում է միայն մեկ կոմունիկատոր։ Լռելյայնորեն սա վերացնում է մի քանի կոմունիկատորների միջև խաչաձև ազդեցությունը և դրա հետ կապված բարդությունը. զուգահեռացման կարիք ունեցող ծրագրերը պետք է ստեղծեն ավելի շատ գործընթացների խմբեր։
Թարմացված գրադարանը նաև ավելի լավ է կառավարում հետ մնացողներին՝ թույլ տալով ավելի հեշտ վերակազմավորում։ Եթե GPU խափանվում կամ դանդաղ է աշխատում, երրորդ կողմի օրկեստրատորը կարող է բացառել հետ մնացողը և նշանակել փոխարինող աշխատող։ Թռիչքային գրանցիչը հավաքում է բոլոր գործողությունների լուսանկարներ, որոնք կարելի է ստուգել խափանումից հետո, փոխարինելով այն ընդհանուր հաղորդագրությունը, որը օգտատերերը նախկինում ստանում էին, երբ GPU կլաստերը կանգնում էր ժամանակի սպառման կամ փակուղու պատճառով։ Ռայսը նշեց, որ մաքրված NCCL հետին համակարգը, որը նույնպես կոչվում է ProcessGroupNCCL, մշակողներին կտա դատարկ էջ, ինչը կհեշտացնի նոր հնարավորությունների ավելացումը։
Ինչու է NCCL-ը կարևոր
NCCL-ը, որը արտասանվում է «Nickel», PyTorch-ին տրամադրում է GPU-ների միջև կապի պրիմիտիվներ՝ մեկ հանգույցով և բազմահանգույց կլաստերներում։ Սա կարևոր է մեծ նեյրոնային ցանցերի վրա եզրակացություն իրականացնելու և մեծ լեզվական մոդելներ կառուցելու ու պահպանելու համար։ Աշխատողները պետք է մշտապես փոխանակեն տենզորներ, գրադիենտներ, ակտիվացիաներ և կշիռներ, իսկ NCCL-ը օգտագործում է օպտիմալացված կապի ուղիներ՝ GPU-ների միջև տվյալներ տեղափոխելու համար՝ համեմատած ստանդարտ TCP-ի վրա հիմնված ցանցի հետ նվազեցնելով CPU ծախսը։
Nvidia-ն սկզբում թողարկել է NCCL-ը SC15-ում՝ որպես ընդհանուր նշանակության արագացուցիչ։ Facebook-ի թիմը այն ընդունել է, երբ 2016 թվականին առաջին անգամ կառուցում էր PyTorch-ը՝ նպատակ ունենալով ստեղծել Lua-ի վրա հիմնված Torch մեքենայական ուսուցման գրադարանի Python-ի վրա հիմնված տարբերակը։ AI ծրագրային ապահովման մատակարար Northflank-ի համահիմնադիր Ուիլ Ստյուարտը բլոգ գրառման մեջ ասել է. «Յուրաքանչյուր խոշոր ML լաբորատորիա (OpenAI, DeepMind, Meta, Nvidia) օգտագործում է PyTorch։ Այն աշխատեցնում է ամեն ինչ՝ դիֆուզիոն մոդելներից և LLM-ներից մինչև առաջարկությունների համակարգեր և ռոբոտիկա։ Այս լայն ընդունումը պատահական չէ։»
Այլ 2.15 հնարավորություններ և թողարկում
Այլ նոր հնարավորությունների թվում են Python տրանսպորտային API-ն՝ ասինխրոն մեկ ուղղությամբ տվյալների տեղափոխման համար, որը հարմար է ուսուցման աշխատանքներին, որտեղ կշիռները համաժամեցվում են ուսուցիչների և գեներատորների միջև, ինչպես նաև Apple-ի սարքավորումների զուգահեռ մշակման բարելավումները և Nvidia-ի հաջորդ սերնդի Blackwell GPU-ների աջակցությունը։ Հին ProcessGroupNCCL-ը մնում է 2.15 փաթեթում՝ որպես հետարկման տարբերակ։ Եթե նոր NCCL հետին համակարգը աշխատում է սպասվածի պես, ավելի հին տարբերակը կհեռացվի 2.16 թողարկման ժամանակ, որը նախատեսված է հաջորդ տարվա սկզբին։
Աղբյուրներ՝ The Register
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։