Qazanclar:
- Kod-data-model üçlüyü və paketi ilə bağlı ML-nin xüsusi çətinliklərini tanımaq və biznes ehtiyaclarına uyğun olaraq modeli onlayn və ya toplu şəkildə təqdim etmək bacarığı.
- Tədricən və geri çəkilmə yerləşdirmə nümunələrini (kölgə, kanareyka, A/B, geri qaytarma) həyata keçirmək və hər bir yerləşdirməyə sınaqdan keçirilmiş geri qaytarma planını əlavə etmək bacarığı
- Qiymətləndirmə həddi ilə idarə olunan CI/CD və model reyestri ilə istehsala qoyulan modelin məlumat kodu-metrik əlaqəsini izlənilə bilən saxlamaq imkanı
Noutbukda 95% dəqiqliyə nail olmaq üçün bir model əldə etmək hekayənin yalnız yarısıdır. Digər yarısı - çox vaxt çətin hissə - bu modeli real istifadəçilərə etibarlı, genişlənə bilən və davamlı şəkildə çatdırmaqdır. MLOps (Maşın Öyrənmə Əməliyyatları: ML modellərinin istehsala qoyulması, istismarı və saxlanması intizamı) proqram mühəndisliyinin DevOps təcrübələrini ML-nin unikal problemləri ilə birləşdirir. Bu bölmədə modeli istehsala köçürməyin addımlarını və süni intellektin bu prosesdə necə kömək etdiyini əhatə edirik.
Niyə ML adi proqram təminatından fərqlidir?
Adi proqram təminatında davranış koddadır; Kod dəyişməzsə, davranış dəyişmir. ML-də davranış həm koddan, həm verilənlərdən, həm də modeldən asılıdır. Bu üç ölçü MLOp üçün əlavə çətinliklər yaradır:
- Data drift: İstehsaldakı məlumatlar zamanla təlimdəki məlumatlardan uzaqlaşır; model köhnəlir.
- Siz üç şeyi versiya etməlisiniz: Kod, məlumat və model - hər üçü.
- Səssiz uğursuzluq: Bir model çökmədən, səhvlər vermədən, sadəcə olaraq yanlış proqnozlar verməklə uğursuz ola bilər. Bunu tutmaq monitorinq tələb edir.
Ona görə də “işləyən model”lə “istehsala hazır model” arasında böyük fərq var.
Modelin qablaşdırılması və təqdimatı
Modelin istehsala verilməsində ilk addım onun qablaşdırılmasıdır: model faylı, lazımi kitabxanalar, ilkin emal kodu və versiya məlumatı birlikdə təkrarlana bilən bütövlükdə. Konteynerləşdirmə (məsələn, Docker: tətbiqin bütün asılılıqları ilə birlikdə təcrid olunmuş qutuya qoyulması) burada standartdır; Bu, "bu, mənim maşınımda işləyirdi" problemini aradan qaldırır.
Modelə xidmət etməyin iki əsas nümunəsi:
- Onlayn/real vaxt (onlayn): Model API-nin arxasında oturur və hər gələn sorğu üçün ani proqnoz verir. Aşağı gecikmə kritikdir.
- Toplu: Model böyük məlumat dəstlərini vaxtaşırı emal edir (məsələn, gecə bütün müştərilər üçün xal yaradır). Gecikmə əhəmiyyətsizdir, səmərəlilik vacibdir.
Hansının düzgün olması biznesin ehtiyacından asılıdır: ani onlayn tövsiyə, toplu olaraq aylıq risk balı.
İpucu: "Real vaxt" standart deyil, xərcdir. Nəticə bir neçə saat ərzində istifadə olunarsa, toplu çox daha ucuz və sadədir. Həqiqətən ani cavaba ehtiyacınız varmı? Əvvəlcə bunu soruş.
Təhlükəsiz paylama strategiyaları
Birbaşa bütün trafikə yeni bir model açmaq risklidir; Səhvdirsə, hər kəs təsirlənir. Təhlükəsiz paylama nümunələri:
- Kölgə yerləşdirmə: Yeni model istehsal trafikini alır, lakin onun proqnozları istifadəçiyə göstərilmir, yalnız daxil olur. Real datada təhlükəsiz olub-olmadığını görmək üçün köhnə modellə müqayisə edilir.
- Kanareyka yerləşdirilməsi: Yeni model əvvəlcə trafikin kiçik bir hissəsinə (məsələn, 5%) yayılır; Problem yoxdursa, tədricən artırılır.
- A/B testi: İki model paralel olaraq real istifadəçiyə təqdim edilir və biznes ölçüləri (çevirmə, kliklər) müqayisə edilir.
- Geri qaytarma: Yeni modelin pis olduğu ortaya çıxarsa, tez köhnə versiyaya qayıtmaq imkanı. Hər yerləşdirmənin geri qaytarma planı olmalıdır.
Diqqət: Geri qaytarma planı olmayan yerləşdirmə tamamlanmayıb. Bir neçə dəqiqə ərzində köhnə versiyaya qayıda bilmək, yeni model istehsalda gözlənilmədən davrandıqda istifadəçini qoruyur. Yerləşdirmədən əvvəl bunu sınaqdan keçirin.
Zəif yanaşma / Güclü yanaşma
Zəif: “Model sınaqda yaxşı idi, canlı yayıma çıxdıq, hamıya açdıq”.
Güçlü: "Modeli konteynerləşdirdik, versiya olaraq etiketlədik. Əvvəlcə onu 3 gün ərzində istehsal trafiki ilə kölgə rejimində işlətdik, proqnozları köhnə modellə müqayisə etdik — sapma məqbul idi. Sonra onu 5% kanarya ilə açdıq, ötürmə ölçülərini və gecikmə müddətinə nəzarət etdik. Heç bir problem olmadıqda, onu tədricən 100% geri sınaqdan keçirdik."
Fərq: güclü yanaşma tədricən, ölçülüb-biçilmiş və geri çevrilə biləndir. Risk hər addımda məhduddur.
CI/CD və avtomatlaşdırma
ML-də CI/CD (Davamlı İnteqrasiya / Davamlı Yerləşdirmə: kod dəyişikliklərinin avtomatik sınaqdan keçirilməsi və buraxılması boru xətti) təkcə kodu deyil, həm də məlumatları və model addımlarını əhatə edir. Yaxşı ML CI/CD boru kəməri: kod dəyişdikdə testlər aparır, məlumatların yoxlanılmasını həyata keçirir, modeli yenidən hazırlayır (lazım olduqda), qiymətləndirmə hədlərini yoxlayır və yalnız hədlər saxlandıqda yerləşdirməni irəliləyir. “Təlim avtomatikdir, yerləşdirmə hədd əsaslıdır” prinsipi pis modelin səssizcə istehsala sızmasının qarşısını alır.
Bu boru kəmərlərini qurarkən süni intellekt çox faydalıdır: konfiqurasiya faylı (YAML) qaralamaları, sınaq nümunələri, yerləşdirmə skriptlərinin yazılması. Lakin siz paylama hədlərini (hansı metrikanın dərc edildiyi dəyəri aşmasından asılı olmayaraq) və geri qaytarma siyasətini təyin edirsiniz; bunlar biznes riski ilə bağlı qərarlardır.
Təkrar istehsal infrastrukturu
İstehsalda bir modelin davranışını təkrar etmək üçün model reyestrində: hansı modelin hansı məlumat və kodla öyrədildiyini və hansı ölçüləri aldığını saxlayan qeyd. Hər bir istehsal modeli üçün aşağıdakılar izlənilə bilən olmalıdır: təlim məlumatı versiyası, kod versiyası (git commit), hiperparametrlər, qiymətləndirmə balları və yerləşdirmə tarixi. Problem yarandıqda siz “hansı model bu proqnozu, hansı məlumatla hazırlayıb?” sualına cavab verə bilməlisiniz. dəqiqə ərzində. Bunu 11-ci bölmədə dərinləşdirəcəyik.
üç mini qutu
1-ci hal - kölgə paylanması ilə bağlı problem. Tövsiyə modeli sınaqda köhnəsini məğlub etdi. Kölgə rejimində istehsal trafiki ilə işləmək istifadəçilərin müəyyən bir seqmenti (yeni istifadəçilər) üçün çox zəif tövsiyələr verdiyi aşkar edildi - test məlumatları bu seqmenti kifayət qədər təmsil etmirdi. Model heç vaxt istifadəçiyə göstərilmədən düzəldildi. Birbaşa açılsaydı, yeni istifadəçi təcrübəsi pozulacaqdı.
2-ci hal - Geri dönməz paylanma. Komanda heç bir geri alma planı olmadan bütün trafikə yeni qiymət modelini təqdim etdi. Model gözlənilmədən bəzi məhsulları çox ucuz qiymətə qoyub. Köhnə versiyaya qayıtmaq saatlar çəkdi, çünki proses hazır deyildi. Ciddi gəlir itkisi oldu. Daha sonra hər yerləşdirməyə məcburi geri çəkilmə testi əlavə edildi.
Case 3 - Səssiz məlumat sürüşməsi. Heç bir səhv olmadan aylar ərzində bir fırıldaq nümunəsi ortaya çıxdı. Lakin fırıldaqçıların taktikası dəyişdi (məlumatların sürüşməsi) və modelin geri çağırılması səssizcə azaldı. Monitorinq olmadığı üçün heç kim fikir vermədi. Proqnoz paylama monitorinq paneli qurulduqdan sonra sürüşmə erkən görünməyə başladı. Biz 8-ci bölmədə monitorinqi əhatə edəcəyik.
Kopyalana bilən şablonlar
Bu model üçün yerləşdirmə planının layihəsini yazın. Model: [nə edir], istifadə: [onlayn və ya toplu?] Daxil olmalıdır: 1) Qablaşdırma (konteyner, versiya)2) Artan yerləşdirmə strategiyası (kölgə/kanar/A-B) və niyə 3) İzləmək üçün ölçülər (biznes + texniki + gecikmə)4) Geri qaytarma planı və necə sınaqdan keçirilməlidir5) Yerləşdirmə dəyəri (metri) nədən çox olmalıdır?
Bu ML CI/CD boru xəttini yoxlayın:1) Verilənlərin təsdiqi xəttdədirmi?2) Yerləşdirmə qiymətləndirmə həddini saxlamadan davam edə bilərmi (bu olmamalıdır)?3) Geri qaytarma avtomatikdir?4) Model reyestrində data+kod+metrikalar izlənir?Pline konfiqurasiyası: [konfiqurasiya]
Onlayn və ya toplu təqdimatın bu model üçün uyğun olub-olmaması barədə qərar verməkdə mənə kömək edin. Nəticə nə qədər istifadə olunacaq: [ani / dəqiqə / saat / gün]Gözlənilən sorğu həcmi: [nömrə]Gecikmə məhdudiyyəti varmı: [ms]Xərc və mürəkkəblik baxımından hansını tövsiyə edərdiniz və niyə?
Bu model üçün geri qaytarma prosedurunu yazın.- Hansı metrik/həddi zəif performansa səbəb olur?- Geri qaytarma addımları hansılardır?- Geri qaytarma nə qədər vaxt aparmalıdır (hədəf)?- İstehsaldan əvvəl bu proseduru necə sınayım?
Təqdimat nümunəsi cədvəli
meyar
Onlayn (real vaxt)
Dəstə
gecikmə
Kritik (ms)
əhəmiyyətsiz
İstifadəsi
Ani cavab tələb olunur
Dövri hesab
Xərc
yüksək
aşağı
mürəkkəblik
yüksək
aşağı
misal
Canlı tövsiyə, fırıldaqçılıq
Aylıq risk balı
Ümumi səhvlər
- Axtarış planı olmadan paylayın. Yanlış model bütün istifadəçini vurur.
- Birbaşa 100% trafikə açılır. Mərhələli paylama ilə riski məhdudlaşdırın.
- Monitorinqin qurulması. Model səhvsiz, səssizcə səhvlər yaradır.
- Lazımsız real vaxt təqdimatı. Partiya kifayət qədər olsa da, xərc və mürəkkəblik artır.
- Model-data-kod versiyaları əlaqələndirilmir. Problemi təkrarlaya bilməzsiniz.
- Paylanma həddi olmayan avtomatik buraxılış. Pis model səssizcə içəri girir.
Xülasə
Modelin istehsala keçirilməsi onu öyrətməkdən fərqli və çox vaxt daha çətin mühəndislik işidir. ML əlavə nizam-intizam tələb edir, çünki o, kod-data-model üçlüyündən asılıdır: qablaşdırma və versiya, biznes ehtiyaclarına uyğun çatdırılma nümunəsi (onlayn/top), tədricən və geri çevrilə bilən yerləşdirmə, həddi idarə olunan CI/CD və model qeydiyyatı. Süni intellekt bu infrastrukturun kodunu və konfiqurasiyasını yaratmaqda güclü köməkçidir; lakin paylama hədləri, geri çəkilmə siyasəti və risk qərarları sizindir. Geri qaytarma planı olmayan paylama tamamlanmayıb.
Tətbiq tapşırığı
Modeli konteynerləşdirin (Docker) və versiyasını etiketləyin. Biznes ehtiyaclarınıza əsasən onlayn və ya toplu təklif edib-etmədiyinizə qərar verin və əsaslandırmanızı yazın. Mərhələli yerləşdirmə planını (kölgə və ya kanareyka) və sınaqdan keçirilmiş geri qaytarma prosedurunu sənədləşdirin. Model reyestrində məlumat versiyasını, kod öhdəliyini və qiymətləndirmə ballarını qeyd etdiyinizə əmin olun.
yoxlama siyahısı
- [ ] Model qablaşdırılıb və versiyaya salınıb (qab + etiket).
- [ ] Təqdimat nümunəsi (onlayn/toplu) biznes ehtiyaclarına uyğun olaraq seçilmişdir.
- [ ] Mərhələli yerləşdirmə strategiyası (kölgə/kanariya) həyata keçirilib.
- [ ] Geri qaytarma proseduru yazılmış və sınaqdan keçirilmişdir.
- [ ] CI/CD qiymətləndirmə həddi yerinə yetirilməmiş yerləşdirməni irəli sürmür.
- [ ] Model reyestrində data+kod+metrik keçid var.