Վերադառնալ
NVIDIA-ն ցույց է տվել MoE մոդելների արդյունավետ ուսուցման ուղին
SiTech AI Team2 წთ. საკითხავი

NVIDIA-ն ցույց է տվել MoE մոդելների արդյունավետ ուսուցման ուղին

NVIDIA-ի ծրագրավորողների բլոգում հրապարակված ձեռնարկը բացատրում է, թե ինչպես են Transformer Engine-ը և BioNeMo-ի բաղադրատոմսը արագացնում կենսաբանական MoE մոդելների ուսուցումը. ութ B200 GPU-ի վրա արդյունքը 2,21 անգամ գերազանցել է բազային տարբերակին։

NVIDIA-ի ծրագրավորողների բլոգը հրապարակել է ձեռնարկ կենսաբանական հիմնարար մոդելների՝ փորձագետների խառնուրդով (MoE) ուսուցման մասին։ Հեղինակներն են Faradawn Yang-ը, Peter St John-ը, Kyle Tretina-ն և Zoey Zhang-ը։

Խիտ տրանսֆորմերները յուրաքանչյուր թոքեն անցկացնում են բոլոր շերտերով, ուստի լրացուցիչ հզորությունը թանկ է թե՛ ուսուցման, թե՛ ինֆերենսի ժամանակ։ MoE ճարտարապետությունները feed-forward բլոկը բաժանում են բազմաթիվ փորձագետների և ամեն թոքենի համար ակտիվացնում են դրանց միայն մի մասը։ Արդյունքը կախված է իրականացումից. մասնատված հաշվարկները նվազեցնում են GPU-ի օգտագործումը, երթուղավորումը՝ ավելացնում հաղորդակցության ծախս, իսկ մեծ ծավալը ծանրաբեռնում է հիշողությունը։

Խիտ բլոկը և նոսր MoE բլոկը

Խմբավորված փորձագետներ՝ Python ցիկլի փոխարեն

Առաջին խնդիրը միջուկների մասնատումն է։ Hugging Face-ի բազային իրականացման մեջ փորձագետները հերթով աշխատում են Python ցիկլով, ուստի ամեն մեկն առանձին միջուկներ է գործարկում։ TE-ի GroupedLinear-ը հավաքում է փորձագետների կշիռներն ու թոքենները և բոլոր գծային ձևափոխությունները կատարում մեկ խմբավորված GEMM կանչով՝ փորձագետի հաշվով թոքենների քանակը ստանալով split_sizes արգումենտով։ NVIDIA-ի շտեմարանը կարող է այդ պրոյեկցիան միավորել MXFP8 քվանտացման հետ GroupedMLP միջուկում։

Հիշողության և քվանտացման ծախսերի կրճատում

MoE մոդելներն ավելի շատ պարամետր ունեն, գենոմիկական աշխատանքները՝ երկար հաջորդականություններ, ինչը ճնշում է ակտիվացիաների հիշողությանը։ BF16-ը արժեքը պահում է 16 բիթով, FP8-ը և MXFP8-ը՝ 8-ով։ MXFP8-ը մասշտաբի գործակից է տալիս 32 արժեքից բաղկացած յուրաքանչյուր բլոկի, իսկ Blackwell GPU-ների վրա այդ GEMM-երը կատարվում են Tensor Core-ի մասնագիտացված հրահանգներով։

Ցածր ճշտությամբ ուսուցումը հիմնական կշիռները դեռ 16 բիթով է պահում, ուստի քվանտացումն ու ապաքվանտացումը լրացուցիչ աշխատանք են ավելացնում։ GroupedLinear, ScaledSwiGLU և GroupedLinear գործողությունները TE-ի Sequential API-ով շղթայելը թույլ է տալիս փոխարինել այդ նախշը մեկ միավորված գործողությամբ՝ ForwardGroupedMLP_CuTeGEMMSwiGLU_MXFP8-ով։

2,21 անգամ ավելի բարձր թողունակություն ութ B200 GPU-ում

Mixtral-8x7B-ով ութ NVIDIA B200 Tensor Core GPU-ի վրա անցկացված թեստում բաղադրատոմսը հասել է 2,21 անգամ ավելի բարձր թողունակության՝ Hugging Face-ի բազային տարբերակի համեմատ։ Միավորված MXFP8 GroupedMLP միջուկները պահանջում են Blackwell ապարատուրա, իսկ պարալելիզմին՝ առնվազն երկու GPU։

Mixtral-8x7B-ի թողունակությունը ութ B200 GPU-ում

Ձեռնարկը ներառում է գործարկման հրահանգներ՝ երկու GPU-ով L0_sanity կոնֆիգուրացիա միջավայրը ստուգելու համար, ապա L1_8x7B_ep ութ GPU-ի վրա (EP=8, MXFP8)։

SSiTech

SiTech — AI-ով հզորացված վեբ մշակում

Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։