MLOps: DevOps no mundo da aprendizaxe automática

En 2018, o concepto de MLOps apareceu en círculos profesionais e en conferencias temáticas dedicadas á IA, que axiña se implantou na industria e que agora se desenvolve como unha dirección independente. No futuro, os MLOps poden converterse nunha das áreas máis populares das TI. Que é e con que se come? Descubrímolo a continuación.

MLOps: DevOps no mundo da aprendizaxe automática

Que é MLOps

MLOps (combinación de tecnoloxías de aprendizaxe automática e procesos e enfoques para implementar modelos desenvolvidos en procesos empresariais) é unha nova forma de colaboración entre representantes empresariais, científicos, matemáticos, especialistas en aprendizaxe automática e enxeñeiros informáticos á hora de crear sistemas de intelixencia artificial.

Noutras palabras, é unha forma de converter os métodos e tecnoloxías de aprendizaxe automática nunha ferramenta útil para resolver problemas empresariais. 

É necesario entender que a cadea de produtividade comeza moito antes do desenvolvemento do modelo. O seu primeiro paso é definir un problema empresarial, unha hipótese sobre o valor que se pode extraer dos datos e unha idea de negocio para aplicalo. 

O propio concepto de MLOps xurdiu como unha analoxía co concepto de DevOps en relación cos modelos e tecnoloxías de aprendizaxe automática. DevOps é un enfoque para o desenvolvemento de software que permite aumentar a velocidade de implementación de cambios individuais mantendo a flexibilidade e a fiabilidade mediante unha serie de enfoques, incluíndo o desenvolvemento continuo, a división de funcións en varios microservizos independentes, as probas automatizadas e a implantación de cambios, vixilancia da saúde global, sistema de resposta rápida ante fallos detectados, etc. 

DevOps definiu o ciclo de vida do software e a comunidade tivo a idea de aplicar a mesma metodoloxía ao big data. DataOps é un intento de adaptar e ampliar a metodoloxía tendo en conta as características de almacenamento, transmisión e procesamento de grandes cantidades de datos en plataformas diversas e interoperables.
  
Coa chegada dunha certa masa crítica de modelos de aprendizaxe automática implementados nos procesos de negocio das empresas, notouse unha forte semellanza entre o ciclo de vida dos modelos matemáticos de aprendizaxe automática e o ciclo de vida do software. A única diferenza é que os algoritmos do modelo créanse utilizando ferramentas e métodos de aprendizaxe automática. Polo tanto, xurdiu naturalmente a idea de aplicar e adaptar enfoques xa coñecidos ao desenvolvemento de software para modelos de aprendizaxe automática. Así, pódense distinguir as seguintes etapas clave no ciclo de vida dos modelos de aprendizaxe automática:

  • definir unha idea de negocio;
  • adestramento modelo;
  • proba e implementación do modelo no proceso empresarial;
  • funcionamento do modelo.

Cando durante o funcionamento hai que cambiar ou volver adestrar o modelo en novos datos, o ciclo comeza de novo: o modelo perfínase, probárase e desprázase unha nova versión.

Retirada. Por que reciclar e non reciclar? O termo "readaptación do modelo" ten un dobre significado: entre os expertos significa un defecto do modelo, cando o modelo prevé ben, en realidade repite o parámetro previsto no conxunto de adestramento, pero ten un rendemento moito peor na mostra de datos externos. Por suposto, tal modelo é un defecto, xa que este defecto non permite o seu uso.

Neste ciclo de vida, parece lóxico empregar ferramentas DevOps: probas automatizadas, despregamento e seguimento, deseño de cálculos de modelos en forma de microservizos separados. Pero tamén hai unha serie de funcións que impiden o uso directo destas ferramentas sen vinculación adicional de ML.

MLOps: DevOps no mundo da aprendizaxe automática

Como facer que os modelos funcionen e sexan rendibles

Como exemplo no que demostraremos o uso do enfoque MLOps, tomaremos a clásica tarefa de robotizar un soporte de chat para un produto bancario (ou calquera outro). Normalmente, un proceso empresarial de soporte de chat ten o seguinte aspecto: un cliente introduce unha mensaxe cunha pregunta nun chat e recibe unha resposta dun especialista dentro dunha árbore de diálogo predefinida. A tarefa de automatizar un chat deste tipo adoita resolverse mediante conxuntos de regras definidas por expertos, que son moi laboriosas para desenvolver e manter. A eficiencia desta automatización, dependendo do nivel de complexidade da tarefa, pode ser do 20-30%. Por suposto, xorde a idea de que é máis rendible introducir un módulo de intelixencia artificial, un modelo desenvolvido mediante a aprendizaxe automática, que:

  • é capaz de procesar un maior número de solicitudes sen a participación do operador (dependendo do tema, nalgúns casos a eficiencia pode chegar ao 70-80%);
  • adáptase mellor á redacción non estándar no diálogo - é capaz de determinar a intención, o desexo real do usuario en base a unha solicitude non claramente formulada;
  • sabe determinar cando a resposta do modelo é adecuada e cando hai dúbidas sobre a "coñecemento" desta resposta e precisa facer unha pregunta aclaratoria adicional ou cambiar ao operador;
  • pódese adestrar adicionalmente automaticamente (en lugar de que un grupo de desenvolvedores adapte e corrixa constantemente os scripts de resposta, o modelo é adestrado adicionalmente por un especialista en Data Science usando as bibliotecas de aprendizaxe automática adecuadas). 

MLOps: DevOps no mundo da aprendizaxe automática

Como facer funcionar un modelo tan avanzado? 

Como para resolver calquera outro problema, antes de desenvolver un módulo deste tipo, é necesario definir un proceso de negocio e describir formalmente a tarefa específica que imos resolver mediante o método de aprendizaxe automática. Neste punto, comeza o proceso de operacionalización, designado polas siglas Ops. 

O seguinte paso é que o Data Scientist, en colaboración co Data Engineer, comprobe a dispoñibilidade e suficiencia dos datos e a hipótese de negocio sobre a viabilidade da idea de negocio, desenvolvendo un modelo prototipo e probando a súa efectividade real. Só despois da confirmación por parte da empresa pode comezar a transición desde o desenvolvemento dun modelo ata a súa integración en sistemas que realizan un proceso de negocio específico. A planificación da implantación de extremo a extremo, un profundo coñecemento en cada etapa de como se utilizará o modelo e que efecto económico traerá, é un punto fundamental nos procesos de introdución de enfoques MLOps no panorama tecnolóxico da empresa.

Co desenvolvemento das tecnoloxías de IA, o número e a variedade de problemas que se poden resolver mediante a aprendizaxe automática están aumentando exponencialmente. Cada un destes procesos de negocio supón un aforro para a empresa debido á automatización do traballo dos empregados en postos masivos (call center, comprobación e clasificación de documentos, etc.), é unha expansión da base de clientes engadindo novas funcións atractivas e cómodas. , é aforrar diñeiro debido ao seu uso óptimo e redistribución de recursos e moito máis. En definitiva, calquera proceso está enfocado á creación de valor e, en consecuencia, debe traer un certo efecto económico. Aquí é moi importante formular claramente a idea de negocio e calcular o beneficio esperado da implantación do modelo na estrutura global de creación de valor da empresa. Hai situacións nas que a implementación dun modelo non se xustifica, e o tempo que dedican os especialistas en aprendizaxe automática é moito máis caro que o lugar de traballo do operador que realiza esta tarefa. Por iso é necesario tratar de identificar este tipo de casos nas primeiras fases da creación de sistemas de IA.

En consecuencia, os modelos comezan a xerar beneficios só cando o problema empresarial foi formulado correctamente no proceso MLOps, se estableceron prioridades e se formulou o proceso de introducción do modelo no sistema nas primeiras fases de desenvolvemento.

Novo proceso - novos retos

Unha resposta completa á pregunta empresarial fundamental sobre como son aplicables os modelos de ML para resolver problemas, a cuestión xeral da confianza na IA é un dos retos fundamentais no proceso de desenvolvemento e implementación de enfoques MLOps. Inicialmente, as empresas son escépticas sobre a introdución da aprendizaxe automática nos procesos: é difícil confiar en modelos en lugares onde antes, por regra xeral, a xente traballaba. Para as empresas, os programas parecen ser unha "caixa negra", cuxa relevancia aínda debe ser demostrada. Ademais, na banca, no negocio dos operadores de telecomunicacións e outros, existen requisitos estritos dos reguladores gobernamentais. Todos os sistemas e algoritmos que se implementan nos procesos bancarios están suxeitos a auditoría. Para resolver este problema, para demostrar ás empresas e aos reguladores a validez e corrección das respostas de intelixencia artificial, estanse introducindo ferramentas de monitorización xunto co modelo. Ademais, existe un procedemento de validación independente, obrigatorio para os modelos normativos, que cumpre cos requisitos do Banco Central. Un grupo de expertos independente audita os resultados obtidos polo modelo tendo en conta os datos de entrada.

O segundo reto é avaliar e ter en conta os riscos do modelo ao implementar un modelo de aprendizaxe automática. Aínda que unha persoa non poida responder á pregunta cun cen por cento de certeza se ese mesmo vestido era branco ou azul, entón a intelixencia artificial tamén ten dereito a cometer un erro. Tamén convén ter en conta que os datos poden cambiar co paso do tempo e que os modelos deben ser reciclados para producir un resultado suficientemente preciso. Para garantir que o proceso de negocio non se vexa afectado, é necesario xestionar os riscos do modelo e supervisar o rendemento do modelo, capacitándoo regularmente en novos datos.

MLOps: DevOps no mundo da aprendizaxe automática

Pero despois da primeira etapa de desconfianza, comeza a aparecer o efecto contrario. Cantos máis modelos se implementen con éxito nos procesos, máis crece o apetito das empresas polo uso da intelixencia artificial: atópanse problemas novos e novos que se poden resolver mediante métodos de aprendizaxe automática. Cada tarefa desencadea todo un proceso que require certas competencias:

  • os enxeñeiros de datos preparan e procesan datos;
  • os científicos de datos usan ferramentas de aprendizaxe automática e desenvolven un modelo;
  • TI implementa o modelo no sistema;
  • O enxeñeiro de ML determina como integrar correctamente este modelo no proceso, que ferramentas informáticas utilizar, dependendo dos requisitos para o modo de aplicación do modelo, tendo en conta o fluxo de solicitudes, o tempo de resposta, etc. 
  • Un arquitecto de ML deseña como se pode implementar fisicamente un produto de software nun sistema industrial.

Todo o ciclo require un gran número de especialistas altamente cualificados. Nun determinado momento do desenvolvemento e grao de penetración dos modelos de ML nos procesos de negocio, resulta que escalar linealmente o número de especialistas en proporción ao aumento do número de tarefas tórnase caro e ineficaz. Polo tanto, xorde a cuestión de automatizar o proceso MLOps: definir varias clases estándar de problemas de aprendizaxe automática, desenvolver canalizacións estándar de procesamento de datos e adestramento adicional de modelos. Nunha imaxe ideal, a resolución deste tipo de problemas require profesionais que sexan igualmente competentes en competencias na intersección de Big Data, Data Science, DevOps e TI. Polo tanto, o maior problema na industria de Data Science e o maior desafío na organización dos procesos MLOps é a falta de tal competencia no mercado de formación existente. Os especialistas que cumpren estes requisitos son actualmente escasos no mercado laboral e valen o seu peso en ouro.

No tema das competencias

En teoría, todas as tarefas MLOps pódense resolver utilizando ferramentas clásicas de DevOps e sen recorrer a unha extensión especializada do modelo a seguir. Entón, como sinalamos anteriormente, un científico de datos debe ser non só un matemático e analista de datos, senón tamén un gurú de todo o pipeline: é responsable de desenvolver a arquitectura, programar modelos en varias linguaxes dependendo da arquitectura, preparar un data mart e implantación da propia aplicación. Non obstante, a creación do marco tecnolóxico implementado no proceso MLOps end-to-end leva ata o 80% dos custos laborais, o que significa que un matemático cualificado, que é un Data Scientist de calidade, dedicará só o 20% do seu tempo á súa especialidade. . Polo tanto, delimitar os roles dos especialistas implicados no proceso de implementación de modelos de aprendizaxe automática faise vital. 

O detalle que deben delinearse os roles depende do tamaño da empresa. Unha cousa é cando unha startup ten un especialista, un traballador arduo na reserva de enerxía, que é o seu propio enxeñeiro, arquitecto e DevOps. É unha cuestión completamente diferente cando, nunha gran empresa, todos os procesos de desenvolvemento de modelos se concentran nuns poucos especialistas de alto nivel en Data Science, mentres que un programador ou especialista en bases de datos -unha competencia máis común e menos custosa no mercado laboral- pode levar a cabo. na maior parte do traballo.tarefas rutineiras.

Así, a velocidade e calidade dos modelos desenvolvidos, a produtividade do equipo e o microclima nel dependen directamente de onde se atopa o límite na selección de especialistas para apoiar o proceso MLOps e como se organiza o proceso de operatividade dos modelos desenvolvidos. .

O que xa fixo o noso equipo

Recentemente comezamos a construír unha estrutura de competencias e procesos MLOps. Pero os nosos proxectos sobre a xestión do ciclo de vida dos modelos e sobre o uso de modelos como servizo xa están en fase de proba de MVP.

Tamén determinamos a estrutura de competencias óptima para unha gran empresa e a estrutura organizativa de interacción entre todos os participantes no proceso. Organizáronse equipos áxiles para resolver problemas para toda a gama de clientes empresariais, e estableceuse un proceso de interacción cos equipos do proxecto para crear plataformas e infraestruturas, que é a base do edificio MLOps en construción.

Preguntas para o futuro

MLOps é unha área en crecemento que está experimentando unha escaseza de competencias e que cobrará impulso no futuro. Mentres tanto, o mellor é aproveitar os desenvolvementos e prácticas de DevOps. O obxectivo principal dos MLOps é utilizar de forma máis eficaz os modelos de ML para resolver problemas empresariais. Pero isto suscita moitas preguntas:

  • Como reducir o tempo para lanzar modelos en produción?
  • Como reducir a fricción burocrática entre equipos de diferentes competencias e aumentar o foco na cooperación?
  • Como rastrexar modelos, xestionar versións e organizar un seguimento eficaz?
  • Como crear un ciclo de vida verdadeiramente circular para un modelo de ML moderno?
  • Como estandarizar o proceso de aprendizaxe automática?

As respostas a estas preguntas determinarán en gran medida a rapidez con que os MLOps alcanzarán todo o seu potencial.

Fonte: www.habr.com

Engadir un comentario