AI և LLM թեստավորման ներածություն

Արհեստական բանականությունը և խոշոր լեզվական մոդելները (LLM) այսօր այն արտադրանքի մասն են, որը QA ինժեներները պետք է թեստավորեն՝ չաթբոթեր, AI-որոնում, բովանդակություն ստեղծող գործիքներ, ավտոմատացված որոշումների համակարգեր։ Այս համակարգերի թեստավորումը հիմնվում է նույն մոտեցման վրա, ինչ ավանդական QA-ն, բայց ավելացնում է խնդիրների մի ամբողջ շարք, որոնց հետ դասական manual և ավտոմատացված թեստավորումը երբեք գործ չի ունեցել։

Այս հոդվածում կանդրադառնանք․

  1. Ինչո՞վ են AI համակարգերը տարբերվում որպես թեստավորման օբյեկտ
  2. Ոչ-դետերմինիզմը և ինչու է այն փոխում test case-ների գրելու մոտեցումը
  3. AI թեստավորման հիմնական կատեգորիաները
  4. Որտե՞ղ է AI թեստավորումը գտնվում development lifecycle-ում
  5. Ինչպե՞ս սկսել QA ինժեների համար

Ինչո՞վ են AI համակարգերը տարբերվում որպես թեստավորման օբյեկտ

Ավանդական ծրագրաշարը դետերմինիստական է․ նույն մուտքագրման և նույն կոդի դեպքում արդյունքը միշտ նույնն է։ Login ձևը կամ ընդունում է գաղտնաբառը, կամ մերժում է այն, և այս վարքագիծը չի փոխվում test-ից test։ AI համակարգերը, հատկապես machine learning մոդելների վրա կառուցվածները, չեն աշխատում այսպես։ Դրանց վարքագիծը սովորվում է տվյալներից, ոչ թե գրվում է որպես հստակ կանոններ, ինչի պատճառով համակարգը կարող է տեխնիկապես «ճիշտ աշխատել» և միևնույն ժամանակ տալ պատասխան, որը ոչ ոք չէր կանխատեսի։

Սա երեք գործնական հետևանք ունի թեստավորման համար։ Առաջին՝ հազվադեպ կա մեկ ճիշտ պատասխան, որի հետ համեմատել արդյունքը — testerները աշխատում են ընդունելի պատասխանների միջակայքի հետ, ոչ թե մեկ սպասվող արժեքի։ Երկրորդ՝ համակարգի վարքագիծը կարող է փոփոխվել ժամանակի ընթացքում, երբ մոդելը վերավարժեցվում կամ fine-tune է արվում, ուստի նախորդ ամիս անցած test-ը երաշխավորված չէ, որ այսօր էլ կանցնի։ Երրորդ՝ սխալները հաճախ նուրբ են․ համակարգը վստահ ու սահուն է պատասխանում, նույնիսկ երբ սխալվում է, ուստի tester-ը պետք է ակտիվորեն փնտրի սխալները, ոչ թե սպասի ակնհայտ crash-ի։

Ոչ-դետերմինիզմ․ նույն մուտքագրում, տարբեր արդյունք

Տվեք LLM-ին նույն հարցը երկու անգամ, և կարող եք ստանալ երկու տարբեր ձևակերպված, երբեմն նույնիսկ հակասական պատասխան։ Սա տեղի է ունենում, քանի որ լեզվական մոդելների մեծ մասը տեքստ է գեներացնում՝ ընտրելով հաջորդ բառը հավանականությունների բաշխումից, ոչ թե միշտ ամենահավանական բառը։ Որոշ համակարգերում այս պատահականությունը կարելի է նվազեցնել (հաճախ կոչվում է «temperature»), բայց հազվադեպ է այն ամբողջովին վերացվում, և շատ production համակարգեր դիտավորյալ պահպանում են որոշակի պատահականություն, քանի որ դա պատասխանները դարձնում է ավելի բնական։

Թեստավորման համար սա նշանակում է, որ մեկ test run-ը քիչ բան է ապացուցում։ Test case, որն անցել է մեկ անգամ, կարող է չանցնել հաջորդ run-ում՝ նույն մուտքագրումով, և test, որը մեկ անգամ չի անցել, կարող է լինել պատահականություն, ոչ թե իրական bug։ Արդյունավետ AI թեստավորումը սովորաբար նույն մուտքագրումը գործարկում է մի քանի անգամ և վերլուծում պատասխանների օրինաչափությունը՝ որքան հաճախ է համակարգը տալիս ճիշտ, ընդունելի կամ սխալ պատասխան, փոխարենը՝ մեկ run-ը համարել վերջնական արդյունք։

AI թեստավորման հիմնական կատեգորիաները

AI թեստավորումը սովորաբար կառուցվում է մի քանի փոխհատվող ուղղությունների շուրջ, և հասուն test strategy-ն ընդգրկում է դրանք բոլորը․

  • Ֆունկցիոնալ ճշգրտություն — համակարգը ճի՞շտ ու relevant պատասխաններ է տալիս այն խնդիրների համար, որոնց համար ստեղծված է։
  • Կայունություն (robustness) — համակարգը դիմանու՞մ է անսովոր, սխալ ձևակերպված կամ դիտավորյալ խնդրահարույց մուտքագրմանը՝ չկոտրվելով և անհեթեթություն չտալով։
  • Անվտանգություն և կողմնակալություն — համակարգը խուսափու՞մ է վնասակար, վիրավորական կամ խտրական բովանդակությունից, և հավասարապես արդա՞ր է վերաբերվում տարբեր օգտատերերի խմբերին։
  • Հետևողականություն — համակարգը տալի՞ս է կայուն, չհակասող պատասխաններ նույն կամ նման հարցերին։
  • Արտադրողականություն — համակարգը պատասխանու՞մ է ընդունելի ժամանակում և արժեքով, հատկապես ծանրաբեռնվածության պայմաններում։

Այս ուղղություններից յուրաքանչյուրը պահանջում է test-երի տարբեր ձևավորում, և իրական նախագծերի մեծ մասը դրանք առաջնահերթացնում է տարբեր կերպ՝ կախված նրանից, թե ինչի համար է AI համակարգը կիրառվում. հաճախորդի հետ շփվող chatbot-ի համար անվտանգությունն ու կողմնակալությունը ավելի կարևոր են, քան ներքին տվյալների ամփոփման գործիքի համար։

Որտե՞ղ է AI թեստավորումը գտնվում development lifecycle-ում

AI թեստավորումը development-ի վերջում մեկ առանձին փուլ չէ — այն տեղի է ունենում մի քանի կետերում․

  • Տվյալների թեստավորում, մոդելի ուսուցումից առաջ, ստուգելու համար, որ ուսուցման և գնահատման տվյալները ներկայացուցչական են, հավասարակշռված և ակնհայտ որակի խնդիրներից զերծ։
  • Մոդելի գնահատում, որտեղ data scientist-ները և QA-ն համատեղ սահմանում են benchmark-ներ, որոնք մոդելը պետք է հաղթահարի, նախքան պատրաստ համարվելը։
  • Ինտեգրացիոն թեստավորում, երբ մոդելն արդեն միացված է իրական արտադրանքին — AI ֆունկցիան թեստավորվում է հենց այնպես, ինչպես օգտատերն է այն ընկալելու․ interface-ի, API-ի և հավելվածի շրջակա տրամաբանության միջոցով։
  • Production մոնիտորինգ, թողարկումից հետո, քանի որ մոդելի իրական վարքագիծը կարող է տարբերվել թեստավորման ժամանակ տեսնվածից և ժամանակի ընթացքում փոփոխվել, երբ օգտատերերի մուտքագրման օրինաչափությունները փոխվում են։

QA ինժեներները սովորաբար ամենաշատը ներգրավված են ինտեգրացիոն թեստավորման և production մոնիտորինգի մեջ՝ աշխատելով data scientist-ների և ML ինժեներների հետ, ովքեր պատասխանատու են ավելի վաղ փուլերի համար։

Ինչպե՞ս սկսել QA ինժեների համար

Machine learning-ի ֆոն պարտադիր չէ AI ֆունկցիաների թեստավորումը սկսելու համար։ Հիմնական թեստավորման հմտությունները՝ test case-ների ձևավորում, եզրային դեպքերով մտածելը, defect-երի հստակ փաստաթղթավորումը, coverage-ի հանդեպ համակարգված մոտեցումը — ուղիղ փոխանցվում են։ Փոխվում է մտածելակերպը․ մեկ սպասվող արժեքի հետ համեմատելու փոխարեն սովորում եք սահմանել ընդունելի պատասխանների միջակայք, test-երը գործարկել կրկնակի՝ ոչ թե մեկ անգամ, և ուշադիր հետևել, թե որքան վստահ է համակարգը հայտարարում մի բան, որը վերջում սխալ է դուրս գալիս։

Սկսելու գործնական միջոց է ընտրել ֆունկցիա, որն արդեն օգտագործում եք՝ chatbot, AI-որոնում, տեքստ գրող գործիք — և դիտավորյալ փորձել «կոտրել» այն. հարցնել ինչ-որ բան, որը դուրս է նրա շրջանակից, տալ հակասական հրահանգներ, կամ նույն հարցը հինգ անգամ տալ ու համեմատել պատասխանները։ Այս ուսումնասիրության ընթացքում նկատած օրինաչափությունները հիմքն են, որի վրա կառուցված են այս բաժնի մյուս հոդվածները։

Հետագա ընթերցանություն

Defining «Correct» in AI Systems
Solving LLM Instability in Internet Marketplace Platforms
Retrieval-Augmented Factuality
Hallucination Testing In Chatbots

Բովանդակություն