Baholash jarayonlar zanjirini loyihalash

SI ilovaning muvaffaqiyati ko'p jihatdan yaxshi natijani yomondan farqlay olish qobiliyatiga bog'liq. Buning uchun sizga ishonchli baholash jarayonlar zanjiri kerak bo'ladi. Baholash usullari va texnikalarining soni shiddat bilan ortib borayotgan bir paytda, o'z baholash jarayonlar zanjiringiz uchun ularning eng maqbul majmuasini tanlash ancha chalkash bo'lishi mumkin. Ushbu bo'limda ochiq turdagi vazifalarni baholashga e'tibor qaratiladi. Cheklangan natijali vazifalarni baholash osonroq, va ushbu bo'limda tasvirlangan jarayonni tushungan holda, ular uchun zarur bo'lgan jarayonlar zanjirini ham anglab olish mumkin.

1-qadam. Tizimdagi barcha komponentlarni baholash

Haqiqiy hayotdagi SI ilovalar murakkab. Har bir ilova ko'plab komponentlardan iborat bo'lishi mumkin va bir vazifa bir necha muloqot aylanishidan (turn) keyin yakunlanishi mumkin. Baholash turli darajalarda amalga oshirilishi mumkin: har bir vazifa, har bir muloqot aylanishi va har bir oraliq natija bo'yicha.

Siz ham yakuniy (end-to-end) natijani, ham har bir komponentning oraliq natijasini mustaqil ravishda baholashingiz kerak. Tasavvur qiling, bir ilova shaxsning rezyumesidan (PDF formatida) uning hozirgi ish beruvchisini ajratib oladi va bu ikki bosqichda ishlaydi:

  1. PDF fayldan butun matnni ajratib olish.
  2. Ajratib olingan matndan hozirgi ish beruvchini ajratib olish.

Agar model hozirgi ish beruvchini to'g'ri ajratib ololmasa, bunga har ikki bosqichdan biri sabab bo'lishi mumkin. Agar har bir komponentni alohida baholamasangiz, tizimingiz aynan qayerda ishdan chiqayotganini bila olmaysiz. Birinchi, PDF'dan matnga o'tkazish bosqichini ajratib olingan matn va etalon matn o'rtasidagi o'xshashlik yordamida baholash mumkin. Ikkinchi bosqichni to'g'rilik yordamida baholash mumkin: to'g'ri ajratib olingan matn berilganda, ilova qay darajada hozirgi ish beruvchini to'g'ri ajratib oladi?

Agar o'rinli bo'lsa, ilovangizni ham har bir muloqot aylanishi, ham har bir vazifa bo'yicha baholang. Bir muloqot aylanishi bir nechta qadam va xabarlardan iborat bo'lishi mumkin. Agar tizim bitta natijani yaratish uchun bir nechta qadamni amalga oshirsa ham, bu baribir bitta muloqot aylanishi hisoblanadi.

Generativ SI ilovalar, ayniqsa chatbotga o'xshashlari, foydalanuvchi va ilova o'rtasida vazifani bajarish uchun suhbat shaklidagi o'zaro muloqotga imkon beradi. Tasavvur qiling, siz Python kodingiz nima uchun ishlamayotganini aniqlash va tuzatish uchun SI modeldan foydalanmoqchisiz. Model javoban sizning qurilmangiz yoki siz ishlatayotgan Python versiyasi haqida qo'shimcha ma'lumot so'raydi. Faqatgina siz bu ma'lumotni taqdim etganingizdan so'nggina model xatolikni tuzatishga yordam bera oladi.

Muloqot aylanishiga asoslangan baholash har bir natijaning sifatini baholaydi. Vazifaga asoslangan baholash esa tizimning vazifani yakunlagan-yakunlamaganini baholaydi. Ilova xatolikni tuzatishga yordam berdimi? Vazifani yakunlash uchun nechta muloqot aylanishi kerak bo'ldi? Tizimning muammoni ikki muloqot aylanishida hal qilishi bilan yigirma muloqot aylanishida hal qilishi o'rtasida katta farq bor.

Foydalanuvchilarni aslida qiziqtiradigan narsa model ularga o'z vazifalarini bajarishda yordam bera olishi ekanligini hisobga olsak, vazifaga asoslangan baholash muhimroqdir. Biroq, vazifaga asoslangan baholashning qiyin bir jihati shundaki, vazifalar o'rtasidagi chegaralarni aniqlash qiyin bo'lishi mumkin. ChatGPT bilan bo'lgan suhbatingizni tasavvur qiling. Siz bir vaqtning o'zida bir nechta savol berishingiz mumkin. Yangi so'rov yuborganingizda, bu mavjud vazifaning davomimi yoki yangi vazifami?

Vazifaga asoslangan baholashning bir misoli BIG-bench benchmarklar to'plamidagi, klassik “Yigirmata savol” o'yinidan ilhomlangan twenty_questions benchmarkidir. Modelning bir nusxasi (Alisa) olma, mashina yoki kompyuter kabi biror tushunchani tanlaydi. Modelning boshqa bir nusxasi (Bob) esa bu tushunchani aniqlashga harakat qilib, Alisaga bir qator savollar beradi. Alisa faqat “ha” yoki “yo'q” deb javob bera oladi. Natija Bobning tushunchani muvaffaqiyatli topa olganiga va buning uchun nechta savol sarflaganiga qarab belgilanadi. Quyida ushbu vazifadagi bo'lishi mumkin bo'lgan suhbatga misol keltirilgan, u BIG-bench'ning GitHub repozitoriysidan olingan:

2-qadam. Baholash yo'riqnomasini ishlab chiqish

Aniq baholash yo'riqnomasini ishlab chiqish — baholash jarayonlar zanjirining eng muhim qadamidir. Mavhum yo'riqnoma noaniq baholarga sabab bo'ladi va bu o'z navbatida chalg'itishi mumkin. Agar yomon javoblar qanday bo'lishini bilmasangiz, ularni aniqlay olmaysiz.

Baholash yo'riqnomasini tuzishda nafaqat ilova nima qilishi kerakligini, balki u nima qilmasligi kerakligini ham aniq belgilab olish muhim. Masalan, agar siz mijozlarni qo'llab-quvvatlash uchun chatbot yaratsangiz, bu chatbot mahsulotingizga aloqador bo'lmagan, masalan, yaqinlashib kelayotgan saylovlar haqidagi savollarga javob berishi kerakmi? Agar javob berishi kerak bo'lmasa, qanday kiritilayotgan ma'lumotlar ilovaning vazifalar doirasidan chetda ekanligini, ularni qanday aniqlashni va ilovangiz ularga qanday javob qaytarishi kerakligini belgilab olishingiz zarur.

Baholash mezonlarini belgilash

Ko'pincha, baholashning eng qiyin qismi natijaning yaxshi ekanligini aniqlash emas, balki "yaxshi" degani aslida nimani anglatishini tushunishdir. Generativ SI ilovalarini bir yil davomida amaliyotga tatbiq etish tajribasiga nazar tashlab, LinkedIn kompaniyasi duch kelgan ilk to'siq aynan baholash yo'riqnomasini ishlab chiqish bo'lganini ma'lum qildi. To'g'ri javob har doim ham yaxshi javob bo'lavermaydi. Masalan, ularning SI asosidagi "Ishga layoqatni baholash" ilovasi uchun "Siz bu ishga umuman to'g'ri kelmaysiz" degan javob to'g'ri bo'lishi mumkin, lekin foydali emas, shu sababli u yomon javob hisoblanadi. Yaxshi javob ushbu ish talablari va nomzodning tajribasi o'rtasidagi farqni hamda nomzod bu farqni bartaraf etish uchun nima qilishi mumkinligini tushuntirib berishi kerak.

Ilovangizni yaratishdan oldin, yaxshi javobni nima "yaxshi" qilishini o'ylab ko'ring. LangChain'ning "State of AI 2023" hisobotiga ko'ra, ularning foydalanuvchilari ilovani baholash uchun o'rtacha 2.3 xil turdagi fikr-mulohazadan (mezondan) foydalanganlar. Masalan, mijozlarni qo'llab-quvvatlash ilovasi uchun yaxshi javob uchta mezon yordamida ta'riflanishi mumkin:

  • Aloqadorlik: javob foydalanuvchi so'roviga mos keladi.
  • Faktik izchillik: javob kontekstga faktlar jihatidan mos keladi.
  • Xavfsizlik: javob toksik emas.

Ushbu mezonlarni ishlab chiqish uchun siz test so'rovlari, ideal holda, real foydalanuvchi so'rovlari bilan tajriba qilib ko'rishingiz kerak bo'ladi. Bu test so'rovlarining har biri uchun o'zingiz mustaqil yoki SI modellar yordamida bir nechta javob yarating va ularning yaxshi yoki yomon ekanligini aniqlang.

Baholash mezonlari jadvalini misollar bilan tuzish

Har bir mezon uchun baholash tizimini tanlang: u ikkilik (0 va 1), 1 dan 5 gacha, 0 va 1 oralig'ida yoki boshqacha bo'ladimi? Masalan, javobning berilgan kontekstga faktik izchilligini baholash uchun ba'zi jamoalar ikkilik baholash tizimidan foydalanadilar: faktik noizchillik uchun 0 va faktik izchillik uchun 1. Ba'zi jamoalar uchta qiymatdan foydalanadilar: zidlik uchun -1, mantiqiy kelib chiqish (bir fikrning ikkinchisidan kelib chiqishi) uchun 1 va neytral holat uchun 0. Qaysi baholash tizimidan foydalanish sizning ma'lumotlaringiz va ehtiyojlaringizga bog'liq.

Ushbu baholash tizimi asosida misollar bilan rubrika (rubric) yarating. 1 ball olgan javob qanday ko'rinishda bo'ladi va nima uchun u 1 ballga loyiq? Rubrikangizni insonlar: o'zingiz, hamkasblaringiz, do'stlaringiz va boshqalar yordamida tekshirib ko'ring. Agar insonlar rubrikaga amal qilishda qiynalsa, uni noaniqliklardan xoli qilish uchun takomillashtirishingiz kerak. Bu jarayon ko'p bor qayta ishlashni talab qilishi mumkin, ammo bu zarur. Aniq yo'riqnoma — ishonchli baholash jarayonlar zanjirining negizidir. Shuningdek, 8-bobda muhokama qilinganidek, ushbu yo'riqnomadan keyinchalik o'qitish ma'lumotlariga izoh berish uchun ham qayta foydalanish mumkin.

Baholash metrikalarini biznes metrikalari bilan bog'lash

Biznesda har qanday ilova ma'lum bir biznes maqsadiga xizmat qilishi kerak. Ilovaning metrikalari u hal qilish uchun yaratilgan biznes muammosi kontekstida ko'rib chiqilishi lozim.

Masalan, agar mijozlarni qo'llab-quvvatlash chatbotingizning faktik izchilligi 80% bo'lsa, bu biznes uchun nimani anglatadi? Misol uchun, bunday darajadagi faktik izchillik chatbotni to'lovlar haqidagi savollar uchun yaroqsiz qilsa-da, mahsulot tavsiyalari yoki mijozlarning umumiy fikr-mulohazalari bilan bog'liq so'rovlar uchun yetarlicha yaxshi bo'lishi mumkin. Ideal holda, siz baholash metrikalarini biznes metrikalariga bog'lashni, ya'ni quyidagiga o'xshash ko'rinishga keltirishni xohlaysiz:

  • 80% faktik izchillik: mijozlarni qo'llab-quvvatlash so'rovlarining 30% ini avtomatlashtira olamiz.
  • 90% faktik izchillik: 50% ini avtomatlashtira olamiz.
  • 98% faktik izchillik: 90% ini avtomatlashtira olamiz.

Baholash metrikalarining biznes metrikalariga ta'sirini tushunish rejalashtirish uchun foydalidir. Agar ma'lum bir metrikani yaxshilashdan qancha foyda olishingizni bilsangiz, o'sha metrikani takomillashtirishga resurslar kiritish uchun o'zingizga ishonchingiz ortadi.

Shuningdek, foydalilik chegarasini (usefulness threshold) aniqlash ham foydalidir: ilova foydali bo'lishi uchun qanday natijalarga erishishi kerak? Masalan, siz chatbotingiz foydali bo'lishi uchun uning faktik izchillik darajasi kamida 50% bo'lishi kerak, deb belgilashingiz mumkin. Bundan past har qanday ko'rsatkich uni hatto mijozlarning umumiy so'rovlari uchun ham yaroqsiz qilib qo'yadi.

SI baholash metrikalarini ishlab chiqishdan oldin, avvalo siz ko'zlayotgan biznes metrikalarini tushunib olish juda muhim. Ko'pgina ilovalar foydalanuvchilarni jalb qilish va ushlab qolish metrikalariga, masalan, kunlik, haftalik yoki oylik faol foydalanuvchilar soniga (DAU, WAU, MAU) e'tibor qaratadi. Boshqalari esa jalb qilishlik metrikalariga, masalan, bir oyda foydalanuvchi tomonidan boshlangan suhbatlar soni yoki har bir tashrif davomiyligiga ustuvorlik beradi — foydalanuvchi ilovada qancha uzoq qolsa, uning ketib qolish ehtimoli shuncha kamayadi. Qaysi metrikalarga ustuvorlik berishni tanlash go'yo foydani ijtimoiy mas'uliyat bilan muvozanatlashdek tuyulishi mumkin. Foydalanuvchilarni jalb qilish va ushlab qolish hamda jalb qilishlik metrikalariga urg'u berish yuqori daromadga olib kelishi mumkin bo'lsa-da, bu mahsulotning qaramlikka olib keluvchi xususiyatlarga yoki ekstremal kontentga ustuvorlik berishiga ham sabab bo'lishi mumkin, bu esa foydalanuvchilar uchun zararlidir.

3-qadam. Baholash usullari va ma'lumotlarini belgilash

Endi siz o'z mezonlaringiz va baholash jadvallarini ishlab chiqqaningizdan so'ng, keling, ilovangizni baholash uchun qanday usullar va ma'lumotlardan foydalanmoqchi ekanligingizni aniqlab olaylik.

Baholash usullarini tanlash

Turli mezonlar turli baholash usullarini talab qilishi mumkin. Masalan, toksiklikni aniqlash uchun kichik, ixtisoslashtirilgan toksiklik klassifikatoridan, javob va foydalanuvchining asl savoli o'rtasidagi muvofiqlikni o'lchash uchun semantik o'xshashlikdan, javob va butun kontekst o'rtasidagi faktik izchillikni o'lchash uchun esa SI-baholovchidan foydalanishingiz mumkin. Ixtisoslashgan baholovchilar va SI-baholovchilar muvaffaqiyatli bo'lishi uchun noaniqlikdan xoli baholash rubrikasi va misollar hal qiluvchi ahamiyatga ega bo'ladi.

Bir xil mezon uchun turli baholash usullarini aralashtirib ishlatish ham mumkin. Masalan, sizda ma'lumotlaringizning 100%i bo'yicha past sifatli signallar beradigan arzon klassifikator va ma'lumotlarning 1%i bo'yicha yuqori sifatli signallar beradigan qimmat SI-baholovchi bo'lishi mumkin. Bu xarajatlarni me'yorida ushlab turgan holda, ilovangizga ma'lum darajada ishonch hosil qilish imkonini beradi.

Qachonki logprobs mavjud bo'lsa, ulardan foydalaning. Logprobs modelning yaratilgan token bo'yicha qanchalik "ishonchi komil" ekanligini o'lchash uchun ishlatilishi mumkin. Bu ayniqsa klassifikatsiya uchun foydalidir. Masalan, agar siz modeldan uchta klassdan birini chiqarishni so'rasangiz va modelning bu uch klass uchun logprobs'i 30 dan 40% gacha oraliqda bo'lsa, bu model o'z prognozi haqida ishonchi komil emasligini anglatadi. Biroq, agar modelning bir klass uchun ehtimolligi 95% bo'lsa, bu model o'z prognoziga juda ishonayotganini bildiradi. Logprobs'dan, shuningdek, modelning yaratilgan matn uchun perplexity'sini baholashda ham foydalanish mumkin, bu esa o'z navbatida ravonlik va faktik izchillik kabi ko'rsatkichlarni o'lchash uchun ishlatiladi.

Avtomatik metrikalardan imkon qadar ko'proq foydalaning, lekin hatto real amaliyotda ham insoniy baholashga murojaat qilishdan qo'rqmang. Inson-ekspertlar tomonidan model sifatini qo'lda baholash — SI sohasida uzoq vaqtdan beri mavjud bo'lgan amaliyotdir. Ochiq turdagi javoblarni baholashdagi qiyinchiliklarni hisobga olgan holda, ko'plab jamoalar o'z ilovalarini rivojlantirishda yo'l ko'rsatuvchi "Qutb yulduzi" metrikasi sifatida inson tomonidan baholashga qaramoqda. Har kuni siz inson-ekspertlar yordamida ilovangizning o'sha kundagi natijalarining bir qismini baholab, uning samaradorligidagi har qanday o'zgarishlarni yoki foydalanishdagi g'ayrioddiy holatlarni aniqlashingiz mumkin. Masalan, LinkedIn o'zining SI tizimlari bilan bo'ladigan kunlik 500 tagacha suhbatni qo'lda baholash jarayonini ishlab chiqqan.

Baholash usullarini nafaqat tajriba bosqichida, balki real amaliyotda ham qo'llashni ko'rib chiqing. Tajriba paytida sizda ilovangiz natijalarini solishtirish uchun etalon ma'lumotlar bo'lishi mumkin, real amaliyotda esa etalon ma'lumotlar darhol mavjud bo'lmasligi mumkin. Biroq, real amaliyotda sizda haqiqiy foydalanuvchilar bor. Foydalanuvchilardan qanday turdagi fikr-mulohazalar olishni xohlashingiz, foydalanuvchi fikr-mulohazalari boshqa baholash metrikalari bilan qanday bog'liqligi va ilovangizni yaxshilash uchun foydalanuvchi fikr-mulohazalaridan qanday foydalanish haqida o'ylab ko'ring. Foydalanuvchi fikr-mulohazalarini qanday yig'ish 10-bobda muhokama qilinadi.

Baholash ma'lumotlariga izoh berish

Ilovangizni baholash uchun izohlangan misollar to'plamini saralab, shakllantiring. Sizga ham muloqot aylanishiga, ham vazifaga asoslangan baholash uchun tizimingizning har bir komponentini va har bir mezonni baholash uchun izohlangan ma'lumotlar kerak bo'ladi. Iloji bo'lsa, amaldagi, real ma'lumotlardan (production data) foydalaning. Agar ilovangizda siz foydalanishingiz mumkin bo'lgan tabiiy izohlar mavjud bo'lsa, bu a'lo. Agar bo'lmasa, ma'lumotlaringizga izoh berish uchun insonlardan yoki SI'dan foydalanishingiz mumkin. 8-bobda SI tomonidan yaratilgan ma'lumotlar muhokama qilinadi. Bu bosqichning muvaffaqiyati, shuningdek, baholash mezonlari jadvalining aniqligiga ham bog'liq. Agar keyinchalik finetuning qilishni tanlasangiz, baholash uchun yaratilgan izoh berish yo'riqnomasidan finetuning uchun o'rgatuvchi ma'lumotlarni yaratishda qayta foydalanish mumkin.

Ma'lumotlarni qismlarga ajratish (slicing)

Tizimingiz haqida yanada batafsilroq tushunchaga ega bo'lish uchun ma'lumotlaringizni qismlarga ajrating. Slicing — bu ma'lumotlaringizni qism-to'plamlarga ajratish va tizimingizning har bir qism-to'plamdagi samaradorligini alohida ko'rib chiqish demakdir. Men qism-to'plamlarga asoslangan baholash haqida Designing Machine Learning Systems (O'Reilly) kitobida batafsil yozganman, shuning uchun bu yerda faqat asosiy fikrlarni keltirib o'taman. Tizimingizni yanada chuqurroq tushunish ko'p maqsadlarga xizmat qilishi mumkin:

  • Potensial noxolisliklarning oldini olish, masalan, ozchilikni tashkil etuvchi foydalanuvchi guruhlariga nisbatan noxolisliklar.
  • Xatolik sababini aniqlash: agar ilovangiz ma'lumotlarning biror qism-to'plamida ayniqsa yomon ishlayotgan bo'lsa, bunga o'sha qism-to'plamning uzunligi, mavzusi yoki formati kabi xususiyatlari sabab bo'lishi mumkinmi?
  • Ilovani takomillashtirish uchun yo'nalishlarni topish: agar ilovangiz uzun kiritilgan ma'lumotlarda yomon ishlasa, ehtimol siz boshqacha ishlov berish usulini sinab ko'rishingiz yoki uzun kiritilgan ma'lumotlarda yaxshiroq ishlaydigan yangi modellardan foydalanishingiz mumkin.
  • Simpson's paradox tuzog'iga tushib qolishdan saqlanish — bu shunday hodisaki, unda A model umumlashtirilgan ma'lumotlarda B modeldan yaxshiroq, lekin ma'lumotlarning har bir qism-to'plamida B modeldan yomonroq natija ko'rsatadi. 4-6-jadvalda A model har bir kichik guruhda B modeldan ustun keladigan, lekin umumiy hisobda B modeldan past natija ko'rsatadigan holat tasvirlangan.
1-guruh2-guruhUmumiy
A model93% (81/87)73% (192/263)78% (273/350)
B model87% (234/270)69% (55/80)83% (289/350)
4-6-jadval. Simpson's paradox'iga misol.1

Turli ma'lumot qismlarini aks ettirish uchun sizda bir nechta baholash to'plamlari bo'lishi kerak. Tizimning umumiy samaradorligini baholash uchun sizda amaldagi, real ma'lumotlar taqsimotini aks ettiruvchi bitta to'plam bo'lishi lozim. Siz ma'lumotlaringizni foydalanuvchi toifalari (pullik va bepul foydalanuvchilar), trafik manbalari (mobil va veb), foydalanish darajasi va boshqa mezonlar asosida qismlarga ajratishingiz mumkin. Sizda tizim tez-tez xato qilishi ma'lum bo'lgan misollardan iborat to'plam bo'lishi mumkin. Yana bir to'plam esa foydalanuvchilar tez-tez xato qiladigan misollardan iborat bo'lishi mumkin — agar amaliyotda imloviy xatolar ko'p uchrasa, sizning baholash misollaringizda ham imloviy xatolar bo'lishi kerak. Shuningdek, ilovangiz javob bermasligi kerak bo'lgan, ya'ni vazifalar doirasidan tashqaridagi kiritilgan ma'lumotlardan iborat baholash to'plamiga ham ega bo'lishni xohlashingiz mumkin, bu ilovangiz bunday holatlarni to'g'ri boshqarayotganiga ishonch hosil qilish uchun kerak.

Agar biror narsa siz uchun muhim bo'lsa, uni alohida test to'plami bilan sinab ko'ring. Baholash uchun saralangan va izohlangan ma'lumotlardan keyinchalik, 8-bobda muhokama qilinganidek, o'qitish uchun ko'proq ma'lumot sintez qilishda foydalanish mumkin.

Har bir baholash to'plami uchun qancha ma'lumot kerakligi siz foydalanadigan ilova va baholash usullariga bog'liq. Umuman olganda, baholash to'plamidagi misollar soni baholash natijasi ishonchli bo'lishi uchun yetarlicha katta, ammo uni ishga tushirish haddan tashqari qimmat bo'lib ketmasligi uchun yetarlicha kichik bo'lishi kerak.

Baholash to'plamining ishonchliligini va hajmini aniqlash

Aytaylik, sizda 100 ta misoldan iborat baholash to'plami bor. 100 ta misol natijaning ishonchliligi uchun yetarli ekanligini bilish uchun, siz ushbu 100 ta misoldan bir nechta bootstrap (mavjud ma'lumotlardan tasodifiy tanlab olish orqali yangi to'plamlar yaratish usuli) yaratib, ularning o'xshash baholash natijalarini berish-bermasligini tekshirib ko'rishingiz mumkin. Asosan, siz shuni bilmoqchisiz: agar modelni 100 ta misoldan iborat boshqa bir baholash to'plamida baholasangiz, boshqacha natija olasizmi? Agar bir bootstrap'da 90% natija olsangiz-u, boshqasida 70% olsangiz, demak, sizning baholash jarayonlar zanjiringiz unchalik ishonchli emas.

Aniqroq aytganda, har bir bootstrap quyidagicha ishlaydi:

  1. Dastlabki 100 ta baholash namunasidan qaytarish sharti bilan 100 ta namuna tanlab olinadi.
  2. Modelingiz ushbu 100 ta bootstrap namunasida baholanadi va baholash natijalari olinadi.

Bu jarayon bir necha marta takrorlanadi. Agar turli bootstrap'lar uchun baholash natijalari keskin farq qilsa, bu sizga kattaroq baholash to'plami kerakligini anglatadi.

Baholash natijalari nafaqat tizimni alohida baholash, balki tizimlarni o'zaro solishtirish uchun ham ishlatiladi. Ular sizga qaysi model, prompt yoki boshqa komponent yaxshiroq ekanligi haqida qaror qabul qilishga yordam berishi kerak. Aytaylik, yangi prompt eski promptdan 10% yuqoriroq natijaga erishdi — yangi prompt haqiqatan ham yaxshiroq ekanligiga ishonch hosil qilishimiz uchun baholash to'plami qanchalik katta bo'lishi kerak? Nazariy jihatdan, agar siz natijalar taqsimotini bilsangiz, ma'lum bir ishonch darajasi (masalan, 95% ishonch) uchun zarur bo'lgan namunalar hajmini hisoblash uchun statistik ahamiyatlilik testidan foydalanish mumkin. Biroq, amalda, haqiqiy natijalar taqsimotini bilish qiyin.

Maslahat

OpenAI bir tizimning yaxshiroq ekanligiga ishonch hosil qilish uchun, natijalar farqiga qarab, zarur bo'lgan baholash namunalari sonining taxminiy hisob-kitobini taklif qilgan (4-7-jadvalga qarang). Foydali qoida shuki, ballar farqining har 3 baravar kamayishi uchun kerakli namunalar soni 10 baravar ortadi.2

Natijalardagi farq95% ishonch uchun zarur bo'lgan namunalar soni
30%~10
10%~100
3%~1,000
1%~10,000
4-7-jadval. Bir tizimning yaxshiroq ekanligiga 95% ishonch hosil qilish uchun zarur bo'lgan baholash namunalari sonining taxminiy hisob-kitobi. Qiymatlar OpenAI'dan olingan.

Ma'lumot uchun, Eleuther'ning lm-evaluation-harness vositasidagi baholash benchmarklari orasida namunalarning mediana soni 1,000 tani, o'rtacha soni esa 2,159 tani tashkil etadi. "Inverse Scaling" mukofoti tashkilotchilari 300 ta namuna mutlaq minimum ekanligini va ular kamida 1,000 ta namunani afzal ko'rishlarini ta'kidlashgan, ayniqsa, agar namunalar sintez qilinayotgan bo'lsa (McKenzie va boshq., 2023).

Baholash jarayonlar zanjiringizni baholash

Baholash jarayonlar zanjiringizni baholash ham uning ishonchliligini oshirishga, ham uni yanada samaraliroq qilish yo'llarini topishga yordam beradi. Ishonchlilik, ayniqsa, SI-baholovchi kabi subyektiv baholash usullarida juda muhimdir.

Baholash jarayonlar zanjiringizning sifati haqida o'zingizga berishingiz kerak bo'lgan ba'zi savollar:

  • Baholash jarayonlar zanjiringiz sizga to'g'ri signallarni beryaptimi? Yaxshiroq javoblar haqiqatan ham yuqoriroq ball olyaptimi? Yaxshiroq baholash metrikalari yaxshiroq biznes natijalariga olib kelyaptimi?

  • Baholash jarayonlar zanjiringiz qanchalik ishonchli? Agar bir xil jarayonlar zanjirini ikki marta ishga tushirsangiz, har xil natijalar olasizmi? Agar jarayonlar zanjirini turli baholash ma'lumotlar to'plamlari bilan bir necha marta ishga tushirsangiz, baholash natijalaridagi o'zgaruvchanlik (variance) qanday bo'ladi? Siz baholash jarayonlar zanjiringizda takrorlanuvchanlikni oshirish va o'zgaruvchanlikni kamaytirishni maqsad qilishingiz kerak. Baholash konfiguratsiyalaringizda izchil bo'ling. Masalan, agar SI-baholovchidan foydalansangiz, uning temperature (tasodifiylik darajasi) parametrini 0 ga o'rnatganingizga ishonch hosil qiling.

  • Metrikalaringiz o'zaro qanchalik bog'liq (korrelyatsiyada)? "Benchmarklarni tanlash va natijalarni umumlashtirish" bo'limida muhokama qilinganidek, agar ikkita metrika bir-biri bilan to'liq bog'liq bo'lsa, sizga ularning ikkalasi ham kerak emas. Boshqa tomondan, agar ikkita metrika umuman bog'liq bo'lmasa, bu yo modelingiz haqida qiziqarli bir tushunchani anglatadi yoki metrikalaringiz shunchaki ishonchli emasligini bildiradi.3

  • Baholash jarayonlar zanjiringiz ilovangizga qancha xarajat va kechikish qo'shmoqda? Agar ehtiyotkorlik bilan amalga oshirilmasa, baholash ilovangizga sezilarli darajada kechikish va xarajat qo'shishi mumkin. Ba'zi jamoalar kechikishni kamaytirish umidida baholashdan voz kechishga qaror qilishadi. Bu xavfli tavakkaldir.

Takomillashtirib borish

Sizning ehtiyojlaringiz va foydalanuvchilar xatti-harakatlari o'zgargani sari, baholash mezonlaringiz ham o'zgarib boradi va siz o'z baholash jarayonlar zanjiringizni doimiy takomillashtirib borishingiz kerak bo'ladi. Sizga baholash mezonlarini yangilash, baholash mezonlari jadvalini o'zgartirish hamda misollarni qo'shish yoki olib tashlash kerak bo'lishi mumkin. Takomillashtirib borish zarur bo'lsa-da, siz o'z baholash jarayonlar zanjiringizdan ma'lum darajadagi barqarorlikni kutishingiz kerak. Agar baholash jarayoni doimiy o'zgarib tursa, siz baholash natijalaridan ilovangizni rivojlantirishda yo'naltiruvchi vosita sifatida foydalana olmaysiz.

Baholash jarayonlar zanjiringizni takomillashtirib borar ekansiz, tajribalarni to'g'ri kuzatib borishga ishonch hosil qiling: baholash jarayonida o'zgarishi mumkin bo'lgan barcha o'zgaruvchilarni, jumladan, baholash ma'lumotlari, mezonlar jadvali hamda SI-baholovchilar uchun ishlatiladigan prompt va sampling (namuna olish) konfiguratsiyalarini qayd etib boring.

Izohlar

  1. Men bu misoldan "Designing Machine Learning Systems" kitobida ham foydalanganman. Raqamlar Charig va boshqalarning "Comparison of Treatment of Renal Calculi by Open Surgery, Percutaneous Nephrolithotomy, and Extracorporeal Shockwave Lithotripsy" maqolasidan olingan, British Medical Journal (Clinical Research Edition) 292, no. 6524 (Mart 1986): 879–82.

  2. Buning sababi, 10 ning kvadrat ildizi taxminan 3.3 ga teng.

  3. Masalan, agar tarjima bo'yicha benchmark va matematika bo'yicha benchmark o'rtasida hech qanday bog'liqlik bo'lmasa, siz modelning tarjima qobiliyatini yaxshilash uning matematika qobiliyatiga hech qanday ta'sir qilmaydi, deb xulosa qilishingiz mumkin.