MLOps: DevOps al món de l'aprenentatge automàtic

El 2018, el concepte de MLOps va aparèixer en cercles professionals i en conferències temàtiques dedicades a la IA, que ràpidament es va implantar en el sector i que ara es desenvolupa com a direcció independent. En el futur, els MLOps poden convertir-se en una de les àrees més populars de les TI. Què és i amb què es menja?, ho descobrim a continuació.

MLOps: DevOps al món de l'aprenentatge automàtic

Què és MLOps

MLOps (combinant tecnologies i processos d'aprenentatge automàtic i enfocaments per implementar models desenvolupats en processos empresarials) és una nova forma de col·laboració entre representants empresarials, científics, matemàtics, especialistes en aprenentatge automàtic i enginyers informàtics a l'hora de crear sistemes d'intel·ligència artificial.

En altres paraules, és una manera de convertir els mètodes i tecnologies d'aprenentatge automàtic en una eina útil per resoldre problemes empresarials. 

Cal entendre que la cadena de productivitat comença molt abans del desenvolupament del model. El seu primer pas és definir un problema empresarial, una hipòtesi sobre el valor que es pot extreure de les dades i una idea de negoci per aplicar-lo. 

El concepte mateix de MLOps va sorgir com una analogia amb el concepte de DevOps en relació als models i tecnologies d'aprenentatge automàtic. DevOps és un enfocament del desenvolupament de programari que us permet augmentar la velocitat d'implementació de canvis individuals, mantenint la flexibilitat i la fiabilitat mitjançant una sèrie d'enfocaments, inclòs el desenvolupament continu, la divisió de funcions en diversos microserveis independents, les proves automatitzades i el desplegament de canvis, vigilància de la salut global, sistema de resposta ràpida per a fallades detectades, etc. 

DevOps ha definit el cicle de vida del programari i la comunitat ha tingut la idea d'aplicar la mateixa metodologia al big data. DataOps és un intent d'adaptar i ampliar la metodologia tenint en compte les característiques d'emmagatzemar, transmetre i processar grans quantitats de dades en plataformes diverses i interoperables.
  
Amb l'arribada d'una certa massa crítica de models d'aprenentatge automàtic implementats en els processos de negoci de les empreses, es va notar una gran similitud entre el cicle de vida dels models matemàtics d'aprenentatge automàtic i el cicle de vida del programari. L'única diferència és que els algorismes del model es creen mitjançant eines i mètodes d'aprenentatge automàtic. Per tant, va sorgir naturalment la idea d'aplicar i adaptar enfocaments ja coneguts al desenvolupament de programari per a models d'aprenentatge automàtic. Així, es poden distingir les següents etapes clau en el cicle de vida dels models d'aprenentatge automàtic:

  • definir una idea de negoci;
  • model de formació;
  • prova i implementació del model al procés de negoci;
  • funcionament del model.

Quan durant el funcionament cal canviar o entrenar el model amb dades noves, el cicle comença de nou: el model es perfecciona, es prova i es desplega una nova versió.

Retirada. Per què reciclar-se i no reciclar-se? El terme "reformació del model" té un doble significat: entre els experts significa un defecte del model, quan el model prediu bé, en realitat repeteix el paràmetre previst al conjunt d'entrenament, però funciona molt pitjor en la mostra de dades externa. Naturalment, aquest model és un defecte, ja que aquest defecte no permet el seu ús.

En aquest cicle de vida, sembla lògic utilitzar eines DevOps: proves automatitzades, desplegament i supervisió, dissenyant càlculs de models en forma de microserveis separats. Però també hi ha una sèrie de funcions que impedeixen l'ús directe d'aquestes eines sense vinculació ML addicional.

MLOps: DevOps al món de l'aprenentatge automàtic

Com fer que els models funcionin i siguin rendibles

Com a exemple en el qual demostrarem l'ús de l'enfocament MLOps, prendrem la tasca clàssica de robotitzar un suport de xat per a un producte bancari (o qualsevol altre). Normalment, un procés empresarial de suport de xat té aquest aspecte: un client introdueix un missatge amb una pregunta en un xat i rep una resposta d'un especialista dins d'un arbre de diàleg predefinit. La tasca d'automatitzar un xat d'aquest tipus se sol resoldre mitjançant uns conjunts de regles definides per experts, que requereixen molta mà d'obra per desenvolupar i mantenir. L'eficiència d'aquesta automatització, depenent del nivell de complexitat de la tasca, pot ser del 20 al 30%. Naturalment, sorgeix la idea que és més rendible implementar un mòdul d'intel·ligència artificial, un model desenvolupat mitjançant l'aprenentatge automàtic, que:

  • és capaç de processar un nombre més gran de peticions sense la participació de l'operador (segons el tema, en alguns casos l'eficiència pot arribar al 70-80%);
  • s'adapta millor a la redacció no estàndard en el diàleg - és capaç de determinar la intenció, el desig real de l'usuari a partir d'una sol·licitud no formulada clarament;
  • sap determinar quan la resposta del model és l'adequada, i quan hi ha dubtes sobre la "consciència" d'aquesta resposta i cal fer una pregunta aclaridora addicional o canviar a l'operador;
  • També es pot entrenar automàticament (en lloc d'un grup de desenvolupadors que s'adapten i corregeixen constantment els scripts de resposta, un especialista en ciències de dades també entrena el model mitjançant les biblioteques d'aprenentatge automàtic adequades). 

MLOps: DevOps al món de l'aprenentatge automàtic

Com fer que un model tan avançat funcioni? 

Com amb la resolució de qualsevol altre problema, abans de desenvolupar aquest mòdul, cal definir un procés de negoci i descriure formalment la tasca concreta que resoldrem mitjançant el mètode d'aprenentatge automàtic. En aquest punt s'inicia el procés d'operacionalització, designat per les sigles Ops. 

El següent pas és que el Data Scientist, en col·laboració amb l'Enginyer de Dades, comprovi la disponibilitat i suficiència de les dades i la hipòtesi de negoci sobre la viabilitat de la idea de negoci, desenvolupant un model prototip i provant la seva efectivitat real. Només després de la confirmació per part de l'empresa es pot començar la transició del desenvolupament d'un model a la seva integració en sistemes que realitzen un procés de negoci específic. La planificació de la implementació d'extrem a extrem, una comprensió profunda en cada etapa de com s'utilitzarà el model i quin efecte econòmic tindrà, és un punt fonamental en els processos d'introducció dels enfocaments MLOps al panorama tecnològic de l'empresa.

Amb el desenvolupament de les tecnologies d'IA, el nombre i la varietat de problemes que es poden resoldre mitjançant l'aprenentatge automàtic augmenta de manera exponencial. Cada procés empresarial d'aquest tipus suposa un estalvi per a l'empresa a causa de l'automatització de la mà d'obra dels empleats massius (centre de trucades, comprovació i classificació de documents, etc.), és una ampliació de la base de clients afegint noves funcions atractives i còmodes, està estalviant diners gràcies al seu ús òptim i redistribució dels recursos i molt més. En definitiva, qualsevol procés està enfocat a la creació de valor i, en conseqüència, ha d'aportar un cert efecte econòmic. Aquí és molt important formular clarament la idea de negoci i calcular el benefici esperat de la implementació del model en l'estructura global de creació de valor de l'empresa. Hi ha situacions en què la implementació d'un model no es justifica, i el temps que dediquen els especialistes en aprenentatge automàtic és molt més car que el lloc de treball de l'operador que realitza aquesta tasca. És per això que cal intentar identificar aquests casos en les primeres etapes de creació de sistemes d'IA.

En conseqüència, els models comencen a generar beneficis només quan el problema empresarial s'ha formulat correctament en el procés MLOps, s'han establert les prioritats i s'ha formulat el procés d'introducció del model al sistema en les primeres etapes de desenvolupament.

Nou procés - nous reptes

Una resposta integral a la pregunta empresarial fonamental sobre com són aplicables els models d'ML per resoldre problemes, la qüestió general de la confiança en la IA és un dels reptes clau en el procés de desenvolupament i implementació d'enfocaments MLOps. Inicialment, les empreses es mostren escèptiques sobre la introducció de l'aprenentatge automàtic als processos: és difícil confiar en models en llocs on abans, per regla general, treballava la gent. Per a les empreses, els programes semblen una "caixa negra", la rellevància de la qual encara s'ha de demostrar. A més, a la banca, en el negoci dels operadors de telecomunicacions i altres, hi ha requisits estrictes dels reguladors governamentals. Tots els sistemes i algorismes que s'implementen en els processos bancaris estan subjectes a auditoria. Per resoldre aquest problema, per demostrar a les empreses i els reguladors la validesa i la correcció de les respostes d'intel·ligència artificial, s'estan introduint eines de monitorització juntament amb el model. A més, hi ha un procediment de validació independent, obligatori per als models normatius, que compleix els requisits del Banc Central. Un grup d'experts independent audita els resultats obtinguts pel model tenint en compte les dades d'entrada.

El segon repte és avaluar i tenir en compte els riscos del model a l'hora d'implementar un model d'aprenentatge automàtic. Fins i tot si una persona no pot respondre la pregunta amb el cent per cent de certesa si el mateix vestit era blanc o blau, llavors la intel·ligència artificial també té dret a equivocar-se. També val la pena tenir en compte que les dades poden canviar amb el temps, i els models s'han de tornar a entrenar per tal de produir un resultat prou precís. Per garantir que el procés de negoci no es ressenteixi, cal gestionar els riscos del model i supervisar el rendiment del model, reciclant-lo regularment amb noves dades.

MLOps: DevOps al món de l'aprenentatge automàtic

Però després de la primera etapa de desconfiança, comença a aparèixer l'efecte contrari. Com més models s'implementen amb èxit als processos, més creix l'apetit de les empreses per l'ús de la intel·ligència artificial: s'estan trobant problemes nous i nous que es poden resoldre mitjançant mètodes d'aprenentatge automàtic. Cada tasca desencadena un procés sencer que requereix certes competències:

  • els enginyers de dades preparen i processen dades;
  • els científics de dades utilitzen eines d'aprenentatge automàtic i desenvolupen un model;
  • IT implementa el model al sistema;
  • L'enginyer de ML determina com integrar correctament aquest model en el procés, quines eines informàtiques utilitzar, en funció dels requisits de la modalitat d'aplicació del model, tenint en compte el flux de peticions, el temps de resposta, etc. 
  • Un arquitecte ML dissenya com un producte de programari es pot implementar físicament en un sistema industrial.

Tot el cicle requereix un gran nombre d'especialistes altament qualificats. En un moment determinat del desenvolupament i el grau de penetració dels models ML en els processos empresarials, resulta que escalar linealment el nombre d'especialistes en proporció a l'augment del nombre de tasques esdevé car i ineficaç. Per tant, sorgeix la qüestió d'automatitzar el procés MLOps: definir diverses classes estàndard de problemes d'aprenentatge automàtic, desenvolupar canalitzacions estàndard de processament de dades i formació addicional de models. En una imatge ideal, resoldre aquests problemes requereix professionals igualment competents en competències a la intersecció de Big Data, Data Science, DevOps i IT. Per tant, el problema més gran de la indústria de la ciència de dades i el repte més gran en l'organització dels processos MLOps és la manca d'aquesta competència en el mercat de formació existent. Els especialistes que compleixen aquests requisits són actualment rars al mercat laboral i valen el seu pes en or.

Sobre el tema de les competències

En teoria, totes les tasques MLOps es poden resoldre mitjançant eines clàssiques de DevOps i sense recórrer a una extensió especialitzada del model a seguir. Llavors, com hem assenyalat anteriorment, un científic de dades ha de ser no només un matemàtic i analista de dades, sinó també un guru de tot el pipeline: és responsable de desenvolupar l'arquitectura, programar models en diversos idiomes depenent de l'arquitectura, preparar un data mart i desplegament de la pròpia aplicació. No obstant això, crear el marc tecnològic implementat en el procés MLOps d'extrem a extrem suposa fins a un 80% dels costos laborals, la qual cosa significa que un matemàtic qualificat, que és un Data Scientist de qualitat, dedicarà només el 20% del seu temps a la seva especialitat. . Per tant, delimitar els rols dels especialistes implicats en el procés d'implementació de models d'aprenentatge automàtic esdevé vital. 

El detall que s'han de definir els rols depèn de la mida de l'empresa. Una cosa és quan una startup té un especialista, un gran treballador a la reserva d'energia, que és el seu propi enginyer, arquitecte i DevOps. És una qüestió completament diferent quan, en una gran empresa, tots els processos de desenvolupament de models es concentren en uns quants especialistes de ciència de dades d'alt nivell, mentre que un programador o especialista en bases de dades -una competència més comuna i menys costosa al mercat laboral- pot tenir en la majoria de la feina.tasques rutinàries.

Així, la velocitat i la qualitat dels models desenvolupats, la productivitat de l'equip i el microclima en ell depenen directament d'on es troba la frontera en la selecció d'especialistes per donar suport al procés MLOps i com s'organitza el procés d'operació dels models desenvolupats. .

El que el nostre equip ja ha fet

Recentment hem començat a construir una estructura de competències i processos MLOps. Però els nostres projectes sobre la gestió del cicle de vida dels models i sobre l'ús de models com a servei ja estan en fase de proves de MVP.

També vam determinar l'estructura de competències òptima per a una gran empresa i l'estructura organitzativa d'interacció entre tots els participants en el procés. Es van organitzar equips àgils per resoldre problemes per a tota la gamma de clients empresarials i es va establir un procés d'interacció amb els equips de projecte per crear plataformes i infraestructures, que és la base de l'edifici MLOps en construcció.

Preguntes per al futur

MLOps és una àrea en creixement que està experimentant una escassetat de competències i guanyarà impuls en el futur. Mentrestant, el millor és basar-se en els desenvolupaments i pràctiques de DevOps. L'objectiu principal dels MLOps és utilitzar de manera més eficaç els models de ML per resoldre problemes empresarials. Però això planteja moltes preguntes:

  • Com reduir el temps per llançar models a producció?
  • Com reduir la fricció burocràtica entre equips de diferents competències i augmentar l'atenció a la cooperació?
  • Com fer el seguiment dels models, gestionar versions i organitzar un seguiment efectiu?
  • Com crear un cicle de vida realment circular per a un model de ML modern?
  • Com estandarditzar el procés d'aprenentatge automàtic?

Les respostes a aquestes preguntes determinaran en gran mesura la rapidesa amb què els MLOps assoleixen tot el seu potencial.

Font: www.habr.com

Afegeix comentari