Naúrar 7 / 11

MLOps da Aiwatarwa: Matsar da Samfurin daga Lab zuwa samarwa

Riba:

  • Ikon gane ƙalubale na musamman na ML masu alaƙa da lambar-bayanai-samfurin uku da fakitin da gabatar da ƙirar akan layi ko cikin tsari gwargwadon buƙatun kasuwanci.
  • Ikon aiwatar da tsarin turawa a hankali da jujjuyawa (inuwa, canary, A/B, jujjuyawar) da ƙara tsarin jujjuyawar da aka gwada zuwa kowane turawa.
  • Ikon kiyaye hanyar haɗin bayanan-code-metric na ƙirar da aka sanya a cikin samarwa tare da CI/CD mai sarrafa matakin ƙima da rajistar ƙima.

Samun samfurin don cimma daidaito na 95% a cikin littafin rubutu shine rabin labarin kawai. Sauran rabin-sau da yawa mawuyacin bangare-yana samun wannan ƙirar ga masu amfani na gaske a cikin amintacciyar hanya, daidaitacce, da kiyayewa. MLOps (Ayyukan Koyon Na'ura: horo na sanyawa, aiki, da kiyaye samfuran ML cikin samarwa) yana haɗa ayyukan DevOps na injiniyan software tare da ƙalubale na musamman na ML. A cikin wannan rukunin, mun rufe matakan motsi samfurin zuwa samarwa da kuma yadda basirar wucin gadi ke taimakawa a cikin wannan tsari.

Me yasa ML ya bambanta da software na yau da kullun?

A cikin software na yau da kullun, halin yana cikin lambar; Idan lambar ba ta canza ba, halin ba zai canza ba. A cikin ML, hali ya dogara da lambar, bayanai da samfuri. Waɗannan matakan uku suna haifar da ƙarin ƙalubalen MLOps:

  • Ragewar bayanai: Bayanan da ke cikin samarwa suna motsawa daga bayanan a cikin horo akan lokaci; samfurin ya zama mara amfani.
  • Kuna buƙatar sigar abubuwa uku: Code, data, da model—duk ukun.
  • Rashin gazawar shiru: Samfurin na iya gazawa ba tare da faɗuwa ba, ba tare da bayar da kurakurai ba, ta hanyar samar da hasashen da ba daidai ba. Kama wannan yana buƙatar sa ido.

Shi ya sa akwai babban bambanci tsakanin “samfurin aiki” da “samfurin shirye-shiryen samarwa”.

Samfurin marufi da gabatarwa

Mataki na farko na sanya samfurin a cikin samarwa shine tattara shi: fayil ɗin ƙirar, dakunan karatu masu mahimmanci, lambar da aka rigaya, da bayanin sigar tare a matsayin gaba ɗaya. Kwantena (misali Docker: sanya aikace-aikacen a cikin keɓaɓɓen akwati tare da duk abin dogaronsa) daidai yake a nan; Yana kawar da matsalar "yana aiki akan injina".

Biyu asali alamu na bautar da model:

  • Kan layi/ainihin-lokaci (kan layi): Samfurin yana zaune a bayan API, yana dawo da hasashen nan take ga kowane buƙatu mai shigowa. Low latency yana da mahimmanci.
  • Batch: Samfurin yana aiwatar da manyan bayanai na lokaci-lokaci (misali yana samar da maki ga duk abokan ciniki da dare). Latency ba shi da mahimmanci, inganci yana da mahimmanci.

Wanne ya dace ya dogara da buƙatun kasuwanci: shawarwarin nan take kan layi, ƙimar haɗari kowane wata a cikin tsari.

Tukwici: "Real-time" farashi ne, ba tsoho ba. Batch ya fi arha kuma mafi sauƙi idan za a yi amfani da sakamakon cikin sa'o'i. Kuna buƙatar amsa nan take? Tambaya da farko.

Amintattun dabarun rarrabawa

Bude sabon samfurin kai tsaye ga duk zirga-zirga yana da haɗari; Idan ba daidai ba, kowa yana shafa. Amintattun tsarin rarrabawa:

  • Aiwatar da inuwa: Sabon samfurin yana karɓar zirga-zirgar samarwa, amma ba a nuna hasashen sa ga mai amfani ba, shiga kawai. An kwatanta shi da tsohon samfurin don ganin ko yana da lafiya a cikin bayanan gaske.
  • Aiwatar da Canary: An fara fitar da sabon samfurin zuwa ƙaramin adadin zirga-zirga (misali 5%); Idan babu matsala, ana karuwa a hankali.
  • Gwajin A/B: Ana gabatar da samfura guda biyu ga mai amfani na ainihi a layi daya kuma ana kwatanta ma'aunin kasuwanci (canzawa, dannawa).
  • Rollback: Ikon komawa da sauri zuwa tsohon sigar idan sabon samfurin ya zama mara kyau. Kowane turawa ya kamata ya kasance yana da tsarin juyawa.
Tsanaki: Ba a kammala aikin turawa ba tare da shirin juyowa ba. Samun damar komawa tsohon sigar a cikin mintuna yana kare mai amfani lokacin da sabon ƙirar ke nuna hali ba zato ba tsammani a samarwa. Gwada wannan kafin turawa.

Hanya mai rauni / Ƙarfi mai ƙarfi

Rauni: "Tsarin yana da kyau a gwaji, mun rayu, mun buɗe shi ga kowa."

Güçlü: "Mun yi jigilar samfurin, mun lakafta shi a matsayin sigar. Da farko, mun gudanar da shi a cikin yanayin inuwa tare da samar da zirga-zirga na tsawon kwanaki 3, kwatanta tsinkaya tare da tsohon samfurin - ƙetare ya yarda. Sa'an nan kuma mun bude shi tare da 5% Canary, kula da ma'auni na kayan aiki da latency. Lokacin da babu matsaloli, mun kara girma a hankali zuwa 100%.

Bambanci: hanya mai karfi tana sannu a hankali, aunawa kuma mai juyawa. Hadarin yana iyakance a kowane mataki.

CI / CD da aiki da kai

CI/CD (Ci gaba da Haɗuwa / Ci gaba da Ƙaddamarwa: bututun gwaji ta atomatik da sakewa canje-canjen lambar) a cikin ML ya rufe ba kawai lambar ba har ma da bayanai da matakan ƙirar. Kyakkyawan bututun ML CI/CD: yana gudanar da gwaje-gwaje lokacin da lambar ta canza, tana yin ingantattun bayanai, sake horar da ƙima (idan ya cancanta), bincika ƙofofin ƙima, kuma kawai ci gaba da turawa idan ƙofofin suna riƙe. Ka'idar "horarwa ta atomatik ne, ƙaddamarwa yana dogara ne akan kofa" yana hana mummunan samfurin yin shuru cikin samarwa.

AI yana da taimako sosai lokacin kafa waɗannan bututun: rubutaccen fayil ɗin daidaitawa (YAML), takaddun gwaji, rubutun turawa. Amma kuna ƙayyade iyakokin rarraba (kowane awoyi ya wuce abin da aka buga) da manufofin juyawa; waɗannan yanke shawara ne na haɗarin kasuwanci.

Kayan aikin sake haɓakawa

Domin sake haifar da halayyar samfuri a samarwa, ƙirar ƙira: rikodin rikodi wanda ke kiyaye wane samfurin da aka horar da waɗanne bayanai da lambar, da kuma waɗanne ma'auni da aka karɓa. Ga kowane samfurin samarwa, waɗannan yakamata su zama masu bin diddigi: sigar bayanan horo, sigar lambar (git commitment), hyperparameters, ƙimar kimantawa, da ranar turawa. Lokacin da matsala ta taso, ya kamata ku iya amsa tambayar "wane samfurin ya samar da wannan tsinkaya, da wace bayanai?" cikin mintuna. Za mu zurfafa wannan a cikin raka'a 11.

uku mini lokuta

Hali na 1 - Matsala da aka kama ta hanyar rarraba inuwa. Samfurin shawarwarin ya doke tsohuwar a gwaji. Ana gudanar da shi tare da zirga-zirgar samarwa a cikin yanayin inuwa don samar da shawarwari mara kyau ga wani yanki na masu amfani (sabbin masu amfani) - bayanan gwajin ba su da wakilci na wannan sashin. An gyara ƙirar ba tare da taɓa nunawa ga mai amfani ba. Idan an buɗe shi kai tsaye, sabon ƙwarewar mai amfani zai lalace.

Case na 2 - Rarraba mara sakewa. Ƙungiya ta fitar da sabon samfurin farashi ga duk zirga-zirga, ba tare da shirye-shiryen koma baya ba. Samfurin ba zato ba tsammani ya sanya farashin wasu samfuran cikin rahusa. Komawa tsohon sigar ya ɗauki sa'o'i saboda tsarin bai shirya ba. An yi mummunar asarar kuɗin shiga. Bayan haka, an ƙara gwajin juzu'i na tilas a kowane turawa.

Case na 3 - Gudun bayanan shiru. Wani tsarin zamba ya bayyana tsawon watanni ba tare da kurakurai ba. Amma dabarar 'yan damfara sun canza (bayanan bayanai) kuma abin tunawa da ƙirar ya faɗi cikin shiru. Babu wanda ya lura saboda babu sa ido. Da zarar an kafa kwamitin sa ido akan rarraba hasashen, zazzagewar ya zama bayyane da wuri. Za mu rufe saka idanu a cikin naúrar 8.

Samfura masu kwafi

Rubuta daftarin tsarin turawa don wannan ƙirar. Model: [abin da yake yi], amfani: [kan layi ko tsari?] Ya kamata ya haɗa da: 1) Marufi (kwantena, sigar) 2) Dabarun ƙaddamar da haɓakawa (inuwa / canary / AB) da kuma dalilin da ya sa3) Ma'auni don waƙa (kasuwanci + fasaha + latency) 4) Tsarin juyawa da yadda za a gwada5) Matsakaicin ƙaddamarwa ya kamata ya wuce abin da ƙima

Duba wannan bututun ML CI/CD:1) Shin ingantaccen bayanai a cikin layi?2) Shin ƙaddamarwar zata iya ci gaba ba tare da riƙe ƙimar ƙimar ba?

Taimaka min yanke shawarar ko gabatar da kan layi ko tsari ya dace da wannan ƙirar. Har yaushe za a yi amfani da sakamakon: [nan take / minti / awa / rana] Ƙarar buƙata da ake tsammani: [lamba] Akwai ƙuntatawa na jinkiri: [ms] Wanne za ku ba da shawarar dangane da farashi da rikitarwa kuma me yasa?

Rubuta tsarin jujjuyawa don wannan samfurin.- Menene ma'auni/kofa ke haifar da rashin aiki? - Menene matakan juyawa? - Yaya tsawon lokacin jujjuyawa zai ɗauki (manufa)? - Yaya zan gwada wannan hanya kafin samarwa?

Teburin gabatarwa

ma'auni

Kan layi (ainihin lokaci)

Batch

jinkiri

Mahimmanci (ms)

maras muhimmanci

Amfani

Ana buƙatar amsa nan take

Maki na lokaci-lokaci

Farashin

babba

ƙananan

hadaddun

babba

ƙananan

misali

Shawarwari kai tsaye, zamba

Makin haɗari na wata-wata

Kuskuren gama gari

  • Rarraba ba tare da shirin dawowa ba. Samfurin da ba daidai ba ya shafi dukan mai amfani.
  • Yana buɗewa kai tsaye zuwa zirga-zirga 100%. Ƙayyade haɗari tare da rarrabawa mai tsauri.
  • Ba kafa sa ido ba. Samfurin yana samar da kurakurai a shiru, ba tare da kuskure ba.
  • Mai yawan gabatarwa na ainihin lokaci. Yayin da batching ya isa, farashi da rikitarwa sun kumbura.
  • Ba haɗa nau'ikan samfurin-data-code ba. Ba za ku iya sake haifar da matsalar ba.
  • Saki ta atomatik ba tare da iyakar rarraba ba. Mummunan samfurin yana sneaks a cikin shiru.

A takaice

Motsa samfurin zuwa samarwa wani aiki ne na daban kuma galibi ya fi wahalar aikin injiniya fiye da horar da shi. ML yana buƙatar ƙarin horo saboda ya dogara da nau'in nau'in code-data-model: marufi da sigar, tsarin isarwa (kan layi/ tsari) wanda ya dace da buƙatun kasuwanci, turawa a hankali da juyawa, CI/CD mai sarrafa kofa da rajistar ƙira. Hankali na wucin gadi babban taimako ne wajen samar da lamba da daidaita wannan kayan aikin; amma ƙofofin rarrabawa, manufofin clawback, da yanke shawara na haɗari naku ne. Rarraba ba tare da shirin juyowa bai cika ba.

Aikin aikace-aikace

Ajiye (Docker) samfurin kuma yi masa lakabin sigar. Yanke shawarar ko zaku bayar akan layi ko tsari bisa buƙatun kasuwancin ku kuma rubuta hujjarku. Yi lissafin tsarin tura lokaci (inuwa ko canary) da tsarin jujjuyawar da aka gwada. Tabbatar da yin rikodin sigar bayanai, ƙaddamar da lambar, da ƙimar ƙima a cikin rijistar ƙira.

jerin abubuwan dubawa

  • [ ] Samfurin yana kunshe ne kuma an tsara shi (lambar kwantena +).
  • [] An zaɓi tsarin gabatarwa (kan layi/ tsari) bisa ga buƙatun kasuwanci.
  • [ ] An aiwatar da dabarun tura kayan aiki (inuwa/canary).
  • [] An rubuta da gwada tsarin jujjuyawar.
  • [] CI/CD baya ci gaba da turawa kafin a cika iyakar kimantawa.
  • [ ] Rijistar samfurin tana riƙe da hanyar haɗin bayanan+code+metric.