
Qdrant թե Milvus․ քիչ հիշողությունը շրջում է արագության հաղթողին

RAG համակարգի վեկտորային բազա ընտրելիս Qdrant-ի և Milvus-ի միջև մշտական արագության հաղթող չկա։ Հրապարակված միահանգույց համեմատության RAM-ում տեղավորվող փորձերում Qdrant-ն առաջ է, իսկ հիշողության սահմանը գերազանցող փորձարկված զույգում թողունակությամբ առաջ է Milvus-ը։ Այդ շրջումը վերաբերում է կոնկրետ տվյալներին ու ինդեքսներին. այն չի նշանակում, թե RAM-ի պակասը միայնակ միշտ փոխում է արդյունքը։
Եթե որոնման աշխատանքային հավաքածուն տեղավորվում է մեկ մեքենայի հիշողության մեջ, Qdrant-ը հիմնավոր առաջին թեկնածու է։ Սահմանային RAM-ի դեպքում կարևոր են նաև դանդաղ հարցումները և որոնման որակը։ Երբ աշխատանքային հավաքածուն գերազանցում է RAM-ը, պետք է համեմատել սկավառակային ու սեղմված կարգավորումները նույն որակի շեմով։ Kubernetes-ում ներմուծումն ու որոնումը առանձին մասշտաբավորելու պահանջը Milvus Distributed-ին տալիս է ճարտարապետական առավելություն, որը միահանգույց արագության աղյուսակից անկախ է։
Ինչ է իրականում ցույց տալիս միահանգույց փորձը
VECTOR-ADIS-ի միահանգույց չափումներում սովորական RAM-ում տեղավորվող թեստերի միջին թողունակությունը Qdrant-ի համար 600,73, Milvus-ի համար 395,10 հարցում է վայրկյանում՝ մոտ 52% տարբերությամբ։ p95 ուշացումը համապատասխանաբար 28,5 և 89,2 մվ է, իսկ Precision@10-ը երկուսի համար էլ 96,67%։ Այս շարքում արագության և որակի թվերը կարելի է կարդալ միասին. նույն ցուցանիշով ներկայացված որոնման որակի պայմաններում Qdrant-ն ավելի շատ հարցում է մշակել և ունեցել է ավելի ցածր պոչային ուշացում։
Նույն աշխատանքի հիշողության ճնշման առանձին շարքում, երբ տվյալները տեղավորվել են RAM-ում, Qdrant-ի թողունակությունը մոտ 1,5 անգամ բարձր է եղել։ Հիշողության սահմանին առավելությունը մոտ 4,6 անգամ է, իսկ p95 ուշացումը՝ մոտ 14 անգամ ցածր։ Սահմանը գերազանցող ռեժիմում պատկերը շրջվել է. Milvus IVF_SQ8-ը տվել է 407,8 հարցում վայրկյանում, Qdrant mmap HNSW-ը՝ 144,1, այսինքն՝ Milvus-ի փորձարկված կարգավորումը մոտ 2,8 անգամ ավելի բարձր թողունակություն է ունեցել։
Այդ վերջին շարքը նույն տվյալների հավաքածուի վրա RAM-ի չափը փոխող մաքուր փորձ չէ. ռեժիմների միջև փոխվում են նաև տվյալների հավաքածուներն ու հասանելի հիշողության սահմանները։ Ավելին, Milvus-ի IVF_SQ8-ը և Qdrant-ի mmap HNSW-ը տարբեր ինդեքսներ են։ Ուստի արդյունքը ցույց է տալիս ընտրության հնարավոր շրջում հիշողության ճնշման պայմաններում, բայց չի մեկուսացնում միայն RAM-ի ազդեցությունը և չի սահմանում բազաների համընդհանուր դասակարգում։
Ինչու արագությունը պետք է կապել որոնման որակին
Տարբեր ինդեքսների արագությունը համադրելի է այն ժամանակ, երբ դրանք վերադարձնում են պահանջվող որակի արդյունք։ Ընդհանուր RAM-ում տեղավորվող թեստերի հավասար Precision@10-ը չի փոխանցվում ինքնաբերաբար հիշողության ճնշման բոլոր ռեժիմներին. դրանց ամփոփման մեջ նույն ցուցանիշը յուրաքանչյուր զույգի կողքին չկա։ Հետևաբար սահմանը գերազանցող ռեժիմի 2,8 անգամ առավելությունը պետք է անվանել թողունակության առավելություն, ոչ թե հավասար ճշգրտությամբ հաստատված հաղթանակ։
RAG համակարգում խնդիրը միայն մոտակա վեկտորը գտնելը չէ։ Եթե սեղմումը կամ որոնման պարամետրերը փոխում են վերադարձվող հատվածների կազմը, ավելի բարձր հարցումային արագությունը կարող է ուղեկցվել օգտակար համատեքստի կորստով։ Որոշման համար նախ իմաստ ունի սահմանել, թե սեփական հարցումների դեպքում ինչ որակ է ընդունելի, հետո համեմատել այդ շեմը բավարարող կարգավորումների թողունակությունն ու p95-ը։
p95-ը հատկապես կարևոր է ինտերակտիվ RAG ծառայության համար, քանի որ բացահայտում է դանդաղ հարցումների ազդեցությունը, որը միջին թողունակությունը կարող է ծածկել։ Որոնման ուշացումը ավելանում է մոդելի պատասխան կազմելու ժամանակին։ Եթե որոնման մի մասն է երկար սպասում սկավառակի էջերին, օգտվողը զգում է հենց այդ ուշացումը, նույնիսկ երբ վայրկյանում մշակվող հարցումների միջինը լավ է թվում։
RAM-ի սահմանը պարզապես վեկտորների ծավալը չէ
Աշխատանքային հավաքածուի մեջ մտնում են վեկտորները, որոնման ինդեքսը, զտման համար օգտագործվող դաշտերը և օպերացիոն համակարգի քեշը։ Ուստի տվյալների ֆայլի չափը ինքնին չի ասում՝ որոնումը կտեղավորվի՞ հիշողության մեջ։ Սահմանային ռեժիմում քեշից էջերի դուրս մղումը կարող է փոխել սկավառակային ընթերցումների հաճախությունն ու հատկապես p95-ը. նույն մեքենայում գործող այլ ծառայություններն էլ բաժին են վերցնում հիշողությունից։
Qdrant-ի հիշողության կարգավորումները թույլ են տալիս առանձին կառավարել վեկտորների, HNSW ինդեքսի, սեղմված պատճենների և զտման ինդեքսների տեղադրումը։ «Pinned» կառուցվածքը պահվում է RAM-ում, «cached»-ը նախապես տաքացվում է համակարգային քեշում, իսկ «cold»-ը ընթերցվում է պահանջի պահին։ Սկավառակից նորից բեռնվող էջերն ավելացնում են ուշացումը։ Տարբեր կառուցվածքների համար թույլատրելի կարգավորումները նույնը չեն, ուստի «սկավառակային Qdrant» անունով մեկ հաստատուն կատարողական ռեժիմ գոյություն չունի։
Սեղմված պատճենը RAM-ում պահելը կարող է պակասեցնել սկավառակից լրիվ վեկտորները կարդալու պահանջը, սակայն կարող է փոխել որոնման որակը. որոշ հարցումների համար սկզբնական վեկտորներով վերագնահատումն անհրաժեշտ է։ Այս ընտրությունը հատկապես կարևոր է այն RAG հավաքածուների դեպքում, որտեղ արդյունքի առաջին հատվածները ուղարկվում են մոդելին որպես համատեքստ։ Արագության շահույթը քիչ արժեք ունի, եթե դրա հետևանքով դուրս է մնում պատասխանի համար պետքական հատվածը։
Մեկ հանգույցի և կլաստերի գինը տարբեր է
Qdrant-ի ճարտարապետական նկարագրությունը ներկայացնում է առանձին սերվեր ու հաճախորդ, HTTP և gRPC միջերեսներ, ինչպես նաև վեկտորների հետ պահվող payload և դաշտային ինդեքսներ՝ զտված որոնման համար։ Դրանք կարևոր են, եթե RAG-ը պետք է որոնի միայն տվյալ օգտվողին հասանելի փաստաթղթերը կամ որոշակի տեսակի նյութերը։ Այդ հնարավորությունների առկայությունը, սակայն, նույնը չէ, ինչ տվյալ զտման արագության չափումը. զտված հարցումների բաշխումն ինքնին կարող է փոխել կատարողականը։
Milvus-ի տեղակայման ուղեցույցը տարբերակում է տեղային Lite-ը, մեկ մեքենայի Standalone-ը և Kubernetes-ում աշխատող Distributed-ը։ Distributed-ում ներմուծման ու որոնման ծանրաբեռնվածությունները սպասարկվում են առանձնացված հանգույցներով, հետևաբար դրանց ռեսուրսները կարելի է հատկացնել տարբեր չափով։ Տեղակայումը նաև հենվում է հաղորդագրությունների հերթի, օբյեկտային պահեստի և մետատվյալների պահոցի վրա։ Սրանք շահագործման իրական բաղադրիչներ են՝ անկախ նրանից, թե միահանգույց չափման որ տողում որ բազան է արագ եղել։
Եթե փաստաթղթերի ներմուծումը կտրուկ աճում է, իսկ որոնման հոսքը մնում է համեմատաբար կայուն, կամ հակառակը, առանձին մասշտաբավորումը գործնական առավելություն է։ Դրա դիմաց թիմը պետք է կարողանա կառավարել Kubernetes-ի հանգույցները, կախված ծառայությունները և խափանումից վերականգնումը։ Milvus Standalone-ի չափումը չի նկարագրում Distributed կլաստերի արագությունը։
Որոշման մատրից RAG համակարգի համար
- Մեկ հանգույց, բավարար RAM. Qdrant-ը վերցրեք որպես առաջին չափման թեկնածու. հրապարակված սովորական RAM թեստերում այն միաժամանակ ուժեղ է եղել թողունակությամբ և p95-ով՝ նույն Precision@10-ի պայմաններում։ Milvus Standalone-ը մնում է համապատասխան համեմատության տարբերակ, հատկապես եթե արդեն օգտագործվում է նրա գործիքակազմը։
- RAM-ի սահմանին. Ուշադրությունը տեղափոխեք p95-ի և քեշի վարքի վրա։ Հիշողության ճնշման փորձի այս շարքում Qdrant-ն առաջ է, բայց սեփական ինդեքսի ու զտված հարցումների խառնուրդը կարող է փոխել արդյունքը։
- Աշխատանքային հավաքածուն RAM-ից մեծ է. Milvus IVF_SQ8-ի հրապարակված առավելությունը հիմնավորում է նրան չափումների մեջ ներառելը։ Qdrant-ի սկավառակային ու սեղմված տարբերակները համեմատեք նույն որակի շեմով. փորձի հրապարակված ամփոփումը այս ռեժիմների հավասար Precision@10 չի հաստատում։
- Kubernetes և անկախ մասշտաբավորում. Milvus Distributed-ը տեղին է, երբ ներմուծման ու որոնման համար իսկապես պետք են առանձին ռեսուրսներ։ Այդ որոշման մեջ ներառեք հերթի, պահեստի ու մետատվյալների ծառայությունների սպասարկումը. միահանգույց հարցումներ վայրկյանում ցուցանիշը այդ ծախսը չի չափում։
Կարդացեք նաև:
Առնչվող հոդվածներ


Pinecone թե Weaviate․ 5 մվ արագությունը կարող է արժենալ վերահսկողությունը

Dify թե Flowise․ թեթև նախատիպը կարող է երեք գիգաբայթանոց հարթակ դառնալ

Redis թե Valkey․ նույն արմատը չի նշանակում նույն արագությունն ու լիցենզիան

Playwright թե Cypress․ արագ թեստը կարող է պահանջել նոր աշխատանքային հոսք

RAG թե fine-tuning․ փաստերի համար վերապատրաստումը հաճախ սխալ ընտրություն է
Բաժանորդագրվեք մեր տեղեկագրին
Ստացեք Web3-ի, ԱԲ-ի և կրիպտոյի վերջին լուրերն անմիջապես ձեր էլ. փոստին։