Մեր առողջության ստուգումը օրական ութ անգամ վերագործարկել է առողջ մոդելային սերվեր

Օպերացիաներ

Հուլիսի 22-ին վոչդոգը վերագործարկեց մեր տեղական մոդելային սերվերը ութ անգամ։ Այդ վերագործարկումներից ոչ մեկի հետևում խափանում չկար։ Ստուգումը, որը պետք է մոդելը աշխատունակ պահեր, հենց այն էր, ինչը կանգնեցնում էր այն։

Ի՞նչ եղավ

Մոդելային սերվերը մեկ NVIDIA GB10 մեքենայի վրա աշխատեցնում էր vLLM և մեկ հարցման համար արտադրում էր վայրկյանում մոտ 8 տոկեն։ Յուրաքանչյուր հինգ րոպեն մեկ վոչդոգը նրան ուղարկում էր իրական չատ հարցում և պատասխանի համար սպասում էր մինչև 45 վայրկյան։ Հաջորդաբար հինգ ձախողված ստուգում նշանակում էր կախված սերվեր, և վոչդոգը վերագործարկում էր այն։ Վերագործարկումը մոդելը մի քանի րոպեով հեռացնում էր, քանի որ մոտ 19 ԳԲ կշռադատվածությունները նորից բեռնվում էին։

Այդ օրը խմբային առաջադրանքը սերվերի վրա մի քանի րոպեով զբաղված էր պահում երկուսից չորս հարցում։ Վոչդոգի հարցումը հերթում սպասում էր դրանց հետևում, ժամանակը սպառվում էր, և այն հաշվվում էր որպես ձախողում։ Այդպիսի հինգ ստուգումից հետո առողջ սերվերը վերագործարկվեց։ Մեզ մոտ կար «զբաղված» դրոշակի ֆայլ, որին վոչդոգը հետևում էր, բայց խմբային առաջադրանքը երբեք չէր դնում այն։

Ինչպես մեկ սխալ վերագործարկումը հանգեցրեց հաջորդին

Յուրաքանչյուր վերագործարկում ձախողում էր ընթացքի մեջ գտնվող հարցումները 500 սխալով («cannot schedule new futures after shutdown»)։ Երկրորդ վոչդոգը հաշվում էր 500 սխալները և վերագործարկում էր սերվերը, երբ դրանք չափազանց շատ էին, և որքան շատ սխալ էր տեսնում, այնքան արագ էր գործում։ Այսպիսով, յուրաքանչյուր սխալ վերագործարկում ստիպում էր հաջորդին ավելի շուտ տեղի ունենալ։ Ընդհանուր առմամբ, չորս առանձին վոչդոգ կարող էին վերագործարկել այդ սերվերը՝ 5, 10, 15 և 30 րոպեանոց տայմերներով։

Կանոնը, որը մենք դուրս բերեցինք դրանից

Առողջության ստուգումը չպետք է օգտագործի այն, ինչը պահպանում է։ Մոդելային սերվերի սակավաթիվ ռեսուրսը ընթացքի մեջ գտնվող հարցումների համար նախատեսված տեղերն են։ Ստուգումը, որը զբաղեցնում է այդ տեղերից մեկը կամ սպասում է դրան, դառնում է այն բեռի մաս, որը պետք է գնահատի։ Ստուգեք էժան, և վերագործարկեք միայն այն դեպքում, երբ կարող եք ցույց տալ, որ սերվերը կախված է։

Ստուգումը, որը փոխարինեց նախկինին

vLLM-ը հրապարակում է իր սեփական հաշվիչները /metrics հասցեում։ Նոր ստուգումը նախ կարդում է դրանք։

Առաջին տարբերակը որպես առաջընթաց հաշվում էր ստեղծված տոկենները։ Այն անցավ ութ թեստ, և առաջին կենդանի գործարկման ժամանակ գտավ սերվերը զբաղված և առողջ. 2 հարցում ընթացքի մեջ, 107 նոր տոկեն երկու ընթերցումների միջև։

Ինչ փոխեցինք այնուհետև

Տարբերությունը հեշտ է նկատելի։ Երբ մենք գրում էինք այս նշումը, մեր երկու մոդելային սերվերներն էլ գործարկում էին 12-ական հարցում՝ իրենց առավելագույնը։ Փորձարկման հարցումը կսպասեր հերթում։ Նոր ստուգումը երկուսն էլ հայտնագործեց որպես զբաղված և առողջ՝ 126 և 101 տոկեն վայրկյանում, առանց մեկը ուղարկելու։

Factory Floor 1.0.2-ը այս ստուգումը ներառում է որպես models/llm-health.py՝ անգործ, զբաղված, կախված և վերագործարկված սերվերների, մետրիկաներ չունեցող սերվերի, պրոքսիի և մեռած բեքենդի թեստերով։

Թարմացված է: