Varios sectores mundiais están empezando a investir de forma máis substancial en aprendizaxe automática (ML).
Os modelos de ML poden ser inicialmente lanzados e operados por equipos de especialistas, pero un dos maiores obstáculos é a transferencia do coñecemento adquirido ao seguinte modelo para que os procesos poidan ampliarse.
Para mellorar e estandarizar os procesos implicados na xestión do ciclo de vida dos modelos, as técnicas MLOps están sendo cada vez máis utilizadas polos equipos que crean modelos de aprendizaxe automática.
Continúa lendo para obter máis información sobre algunhas das mellores ferramentas e plataformas MLOps dispoñibles na actualidade e como poden facilitar a aprendizaxe automática desde o punto de vista das ferramentas, dos desenvolvedores e dos procedementos.
Que é MLOps?
Unha técnica para crear políticas, normas e mellores prácticas para modelos de aprendizaxe automática coñécese como "operacións de aprendizaxe automática" ou "MLOps".
MLOps ten como obxectivo garantir que todo o ciclo de vida do desenvolvemento de ML (desde a concepción ata a implantación) estea meticulosamente documentado e xestionado para obter os mellores resultados en lugar de investir moito tempo e recursos nel sen unha estratexia.
O obxectivo dos MLOps é codificar as mellores prácticas de forma que o desenvolvemento de aprendizaxe automática sexa máis escalable para os operadores e desenvolvedores de ML, así como para mellorar a calidade e a seguridade dos modelos de ML.
Algúns fan referencia a MLOps como "DevOps para a aprendizaxe automática" xa que aplica con éxito os principios de DevOps a un campo máis especializado do desenvolvemento tecnolóxico.
Esta é unha forma útil de pensar nos MLOps porque, como DevOps, fai fincapé no intercambio de coñecemento, a colaboración e as mellores prácticas entre equipos e ferramentas.
MLOps ofrece aos desenvolvedores, científicos de datos e equipos de operacións un marco para cooperar e, como resultado, producir os modelos de ML máis potentes.
Por que usar as ferramentas MLOps?
As ferramentas MLOps poden realizar unha ampla gama de funcións para un equipo de ML, pero a miúdo divídense en dous grupos: administración de plataformas e xestión de compoñentes individuais.
Aínda que algúns produtos MLOps céntranse só nunha única función básica, como a xestión de datos ou metadatos, outras ferramentas adoptan unha estratexia máis global e proporcionan unha plataforma MLOps para controlar varios aspectos do ciclo de vida de ML.
Busca solucións MLOps que axuden ao teu equipo a xestionar estas áreas de desenvolvemento de ML, tanto se buscas un especialista como unha ferramenta máis ampla:
- Manexo de datos
- Deseño e modelado
- Xestión de proxectos e postos de traballo
- Implantación do modelo de ML e mantemento continuo
- Xestión do ciclo de vida de principio a fin, que normalmente ofrecen plataformas MLOps de servizo completo.
Ferramentas MLOps
1. MLFlow
O ciclo de vida da aprendizaxe automática está controlado pola plataforma de código aberto MLflow e inclúe un rexistro, implementación e experimentación de modelos centralizados.
MLflow pode ser usado por equipos de calquera tamaño, tanto individualmente como colectivamente. As bibliotecas non teñen relación coa ferramenta.
Calquera linguaxe de programación e biblioteca de aprendizaxe automática pode utilizalo.
Para que sexa máis sinxelo adestrar, implantar e xestionar aplicacións de aprendizaxe automática, MLFlow interactúa con varios marcos de aprendizaxe automática, incluíndo TensorFlow e Pytorch.
Ademais, MLflow ofrece API fáciles de usar que se poden incluír en calquera programa ou biblioteca de aprendizaxe automática existente.
MLflow ten catro funcións clave que facilitan o seguimento e a planificación de experimentos:
- Seguimento de MLflow: unha API e unha IU para rexistrar parámetros, versións, métricas e artefactos do código de aprendizaxe automática, así como para mostrar e contrastar os resultados posteriormente
- MLflow Projects: envasado de código de aprendizaxe automática nun formato reutilizable e reproducible para transferir á produción ou compartir con outros científicos de datos
- Modelos de MLflow: mantemento e implantación de modelos nunha serie de sistemas de servizo e inferencia de modelos de varias bibliotecas de ML
- Rexistro de modelos MLflow: unha tenda de modelos central que permite a xestión cooperativa de toda a vida útil dun modelo MLflow, incluíndo a versión do modelo, as transicións de fase e as anotacións.
2. KubeFlow
A caixa de ferramentas de ML para Kubernetes chámase Kubeflow. Embalaxe e xestión de contedores Docker, axuda no mantemento de sistemas de aprendizaxe automática.
Ao simplificar a orquestración da execución e as implantacións de fluxos de traballo de aprendizaxe automática, promove a escalabilidade dos modelos de aprendizaxe automática.
É un proxecto de código aberto que inclúe un grupo coidadosamente escollido de ferramentas e marcos complementarios adaptados ás diferentes necesidades de ML.
As tarefas longas de adestramento de ML, a experimentación manual, a repetibilidade e os desafíos de DevOps pódense xestionar con Kubeflow Pipelines.
Para varias etapas de aprendizaxe automática, incluíndo formación, desenvolvemento de pipeline e mantemento de Cadernos Jupyter, Kubeflow ofrece servizos especializados e integración.
Facilita a xestión e o seguimento da vida útil das túas cargas de traballo de IA, así como a implantación de modelos de aprendizaxe automática (ML) e canalizacións de datos nos clústeres de Kubernetes.
Ofrece:
- Cadernos para utilizar o SDK para interactuar co sistema
- unha interface de usuario (UI) para controlar e supervisar execucións, traballos e experimentos
- Para deseñar rapidamente solucións de extremo a extremo sen ter que reconstruír cada vez e reutilizar compoñentes e canalizacións.
- Como compoñente clave de Kubeflow ou como instalación autónoma, ofrécese Kubeflow Pipelines.
3. Control de versión de datos
Unha solución de control de versións de código aberto para proxectos de aprendizaxe automática chámase DVC ou Data Version Control.
Sexa cal sexa o idioma que elixas, é unha ferramenta experimental que axuda na definición do pipeline.
DVC utiliza código, versións de datos e reproducibilidade para axudarche a aforrar tempo cando descubres un problema cunha versión anterior do teu modelo ML.
Ademais, podes usar canalizacións DVC para adestrar o teu modelo e distribuílo aos membros do teu equipo. DVC pode xestionar a organización e o control de versións de big data, e os datos pódense almacenar dun xeito facilmente accesible.
Aínda que inclúe algunhas funcións de seguimento de experimentos (limitadas), céntrase principalmente no control e xestión de versións de datos e pipeline.
Ofrece:
- É independente do almacenamento, polo que é posible empregar unha variedade de tipos de almacenamento.
- Tamén ofrece estatísticas de seguimento.
- un medio preconstruído para unir etapas de ML nun DAG e executar toda a canalización de principio a fin
- O desenvolvemento completo de cada modelo de ML pódese seguir usando todo o seu código e a procedencia dos datos.
- Reproducibilidade conservando fielmente a configuración inicial, os datos de entrada e o código do programa para un experimento.
4. Paquidermo
Pachyderm é un programa de control de versións para aprendizaxe automática e ciencia de datos, similar ao DVC.
Ademais, porque foi creado usando Docker e Kubernetes, pode executar e despregar aplicacións de Machine Learning en calquera plataforma na nube.
Pachyderm garante que cada dato que se consome nun modelo de aprendizaxe automática pode ser rastrexado e versionado.
Utilízase para crear, distribuír, xestionar e manter un ollo nos modelos de aprendizaxe automática. Inclúense un rexistro de modelos, un sistema de xestión de modelos e unha caixa de ferramentas CLI.
Os desenvolvedores poden automatizar e ampliar o seu ciclo de vida de aprendizaxe automática usando a base de datos de Pachyderm, que tamén garante a repetibilidade.
Soporta estándares estritos de goberno de datos, reduce os custos de procesamento e almacenamento de datos e axuda ás empresas a levar ao mercado as súas iniciativas de ciencia de datos máis rapidamente.
5. Poliaxón
Usando a plataforma Polyaxon, os proxectos de aprendizaxe automática e as aplicacións de aprendizaxe profunda pódense replicar e xestionar durante todo o seu ciclo de vida.
Polyaxon é capaz de aloxar e administrar a ferramenta, e pódese colocar en calquera centro de datos ou provedor de nube. Como Torch, Tensorflow e MXNet, que admiten todos os marcos de aprendizaxe profunda máis populares.
Cando se trata de orquestración, Polyaxon permítelle sacar o máximo partido ao seu clúster programando tarefas e probas a través da súa CLI, panel, SDK ou API REST.
Ofrece:
- Podes usar a versión de código aberto agora mesmo, pero tamén inclúe opcións para a empresa.
- Aínda que abrangue o ciclo de vida completo, incluída a orquestración da execución, é capaz de moito máis.
- Con documentos de referencia técnica, pautas de inicio, materiais de aprendizaxe, manuais, tutoriais, rexistros de cambios e moito máis, é unha plataforma moi ben documentada.
- Co panel de insights do experimento, é posible manter un ollo, rastrexar e avaliar cada experimento de optimización.
6. cometa
Comet é unha plataforma de meta-aprendizaxe automática que rastrexa, contrasta, explica e mellora experimentos e modelos.
Pódense ver e comparar todos os teus experimentos nunha mesma localización.
Funciona para calquera tarefa de aprendizaxe automática, en calquera lugar onde se realice o código e con calquera biblioteca de aprendizaxe automática.
Comet é apropiado para grupos, individuos, institucións académicas, empresas e calquera outra persoa que desexe visualizar experimentos rapidamente, axilizar o traballo e realizar experimentos.
Os científicos de datos e os equipos poden rastrexar, aclarar, mellorar e comparar experimentos e modelos utilizando a plataforma de aprendizaxe meta-máquina autoaloxada e baseada na nube Comet.
Ofrece:
- Existen moitas capacidades para que os membros do equipo compartan tarefas.
- Ten varias integracións que facilitan a súa vinculación a outras tecnoloxías
- Funciona ben coas bibliotecas ML actuais
- Ocúpase da xestión dos usuarios
- A comparación de experimentos está habilitada, incluíndo unha comparación de código, hiperparámetros, métricas, predicións, dependencias e métricas do sistema.
- Ofrece módulos distintos para visión, audio, texto e datos tabulares que che permiten visualizar mostras.
7. Optuna
Optuna é un sistema de optimización de hiperparámetros autónomo que se pode aplicar tanto á aprendizaxe automática como á aprendizaxe profunda, así como a outros campos.
Contén unha variedade de algoritmos de vangarda entre os que pode seleccionar (ou enlazar), facilita a distribución da formación en numerosos ordenadores e ofrece unha atractiva visualización de resultados.
As bibliotecas populares de aprendizaxe automática como PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM e XGBoost están integradas con el.
Ofrece algoritmos de vangarda que permiten aos clientes obter resultados máis rápido reducindo rapidamente as mostras que non parecen prometedoras.
Usando algoritmos baseados en Python, busca automaticamente os hiperparámetros ideais. Optuna fomenta buscas paralelas de hiperparámetros en moitos fíos sen alterar o código orixinal.
Ofrece:
- Soporta formación distribuída nun clúster así como nun único ordenador (multiproceso) (multinodo)
- Admite varias técnicas de recorte para acelerar a converxencia (e usar menos computación)
- Ten unha variedade de visualizacións potentes, como diagrama de cortes, diagrama de contorno e coordenadas paralelas.
8. Kedro
Kedro é un marco de Python gratuíto para escribir código que se pode actualizar e manter para proxectos de ciencia de datos.
Aporta ideas desde as mellores prácticas en enxeñaría de software ata o código de aprendizaxe automática. Python é a base desta ferramenta de orquestración de fluxos de traballo.
Para facer que os seus procesos de ML sexan máis sinxelos e precisos, pode desenvolver fluxos de traballo reproducibles, mantibles e modulares.
Kedro incorpora principios de enxeñaría de software como modularidade, separación de responsabilidades e versións nun ambiente de aprendizaxe automática.
Baseándose en Cookiecutter Data Science, ofrece un marco de proxecto común e adaptable.
O catálogo de datos xestiona unha serie de conectores de datos sinxelos utilizados para almacenar e cargar datos en varios sistemas de ficheiros e formatos de ficheiros. Fai que os proxectos de aprendizaxe automática sexan máis eficaces e facilita a creación dunha canalización de datos.
Ofrece:
- Kedro permite a implantación de máquinas dispersas ou solitarias.
- Pode automatizar as dependencias entre o código de Python e a visualización do fluxo de traballo mediante a abstracción de pipeline.
- Mediante o uso de código modular e reutilizable, esta tecnoloxía facilita a colaboración do equipo en varios niveis e mellora a produtividade no entorno de codificación.
- O obxectivo principal é superar os inconvenientes dos cadernos Jupyter, dos scripts únicos e do código adhesivo escribindo programacións de ciencia de datos que se poden manter.
9. BentoML
A creación de puntos finais da API de aprendizaxe automática faise máis fácil con BentoML.
Ofrece unha infraestrutura típica aínda que condensada para mover modelos de aprendizaxe automática aprendidos á produción.
Permítelle empaquetar modelos aprendidos para o seu uso nunha configuración de produción, interpretándoos mediante calquera marco de ML. Admítense tanto o servizo por lotes fóra de liña como o servizo de API en liña.
Un servidor de modelos de alto rendemento e un fluxo de traballo flexible son características de BentoML.
Ademais, o servidor ofrece micro-lotes adaptativos. O panel da IU ofrece un enfoque unificado para organizar modelos e facer un seguimento dos procedementos de implantación.
Non haberá tempo de inactividade do servidor porque o mecanismo operativo é modular e a configuración é reutilizable. É unha plataforma flexible para proporcionar, organizar e implementar modelos de ML.
Ofrece:
- Ten un deseño modular que é adaptable.
- Permite a implantación en varias plataformas.
- Non pode xestionar automaticamente a escala horizontal.
- Permite un único formato de modelo, xestión de modelos, empaquetado de modelos e servizo de modelos de alto rendemento.
10. seldon
Os científicos de datos poden crear, implantar e xestionar modelos e experimentos de aprendizaxe automática a escala en Kubernetes usando o marco Seldon Core de código aberto.
TensorFlow, sci-kit-learn, Spark, R, Java e H2O son só algúns dos kits de ferramentas compatibles con el.
Tamén interactúa con Kubeflow e OpenShift de RedHat. O núcleo de Seldon transforma modelos de aprendizaxe automática (modelos ML) ou envoltorios de linguaxe (idiomas como Python, Java, etc.) en microservizos REST/GRPC de produción.
Unha das mellores ferramentas MLOps para mellorar os procesos de aprendizaxe automática é esta.
É sinxelo contener modelos de ML e probar a usabilidade e a seguridade usando Seldon Core.
Ofrece:
- O despregamento do modelo pódese simplificar con varias alternativas, como o despregamento canario.
- Para comprender por que se fixeron predicións específicas, use explicadores de modelos.
- Cando xurdan problemas, manteña un ollo nos modelos de produción mediante o sistema de alerta.
Conclusión
Os MLOps poden axudar a mellorar as operacións de aprendizaxe automática. Os MLOps poden acelerar a implantación, simplificar a recollida e depuración de datos e mellorar a colaboración entre enxeñeiros e científicos de datos.
Para que elixas a ferramenta MLOps que mellor se adapte ás túas necesidades, esta publicación examinou 10 solucións MLOps populares, a maioría delas de código aberto.
Deixe unha resposta