Diversos sectors globals estan començant a invertir més substancialment en aprenentatge automàtic (ML).
Els models de ML poden ser inicialment llançats i operats per equips d'especialistes, però un dels majors obstacles és transferir el coneixement adquirit al següent model perquè els processos es puguin ampliar.
Per millorar i estandarditzar els processos implicats en la gestió del cicle de vida dels models, les tècniques MLOps són cada cop més utilitzades pels equips que creen models d'aprenentatge automàtic.
Continueu llegint per obtenir més informació sobre algunes de les millors eines i plataformes MLOps disponibles avui dia i com poden facilitar l'aprenentatge automàtic des del punt de vista de l'eina, el desenvolupador i el procediment.
Què és MLOps?
Una tècnica per crear polítiques, normes i bones pràctiques per als models d'aprenentatge automàtic es coneix com a "operacions d'aprenentatge automàtic" o "MLOps".
MLOps té com a objectiu garantir que tot el cicle de vida del desenvolupament d'ML, des de la concepció fins al desplegament, estigui meticulosament documentat i gestionat per obtenir els millors resultats en lloc d'invertir-hi molt de temps i recursos sense una estratègia.
L'objectiu de MLOps és codificar les millors pràctiques de manera que el desenvolupament d'aprenentatge automàtic sigui més escalable per als operadors i desenvolupadors d'ML, així com per millorar la qualitat i la seguretat dels models d'ML.
Alguns es refereixen a MLOps com a "DevOps per a l'aprenentatge automàtic", ja que aplica amb èxit els principis de DevOps a un camp més especialitzat del desenvolupament tecnològic.
Aquesta és una manera útil de pensar en MLOps perquè, com DevOps, posa èmfasi en l'intercanvi de coneixement, la col·laboració i les millors pràctiques entre equips i eines.
MLOps ofereix als desenvolupadors, científics de dades i equips d'operacions un marc per cooperar i, com a resultat, produir els models ML més potents.
Per què utilitzar les eines MLOps?
Les eines MLOps poden realitzar una àmplia gamma de tasques per a un equip de ML, però sovint es divideixen en dos grups: administració de plataforma i gestió de components individuals.
Tot i que alguns productes MLOps se centren només en una única funció bàsica, com ara la gestió de dades o metadades, altres eines adopten una estratègia més global i proporcionen una plataforma MLOps per controlar diversos aspectes del cicle de vida de ML.
Busqueu solucions MLOps que ajudin el vostre equip a gestionar aquestes àrees de desenvolupament de ML, tant si busqueu un especialista com una eina més àmplia:
- Tractament de dades
- Disseny i modelatge
- Gestió de projectes i llocs de treball
- Desplegament del model ML i manteniment continu
- Gestió del cicle de vida des del principi fins al final, que normalment ofereixen les plataformes MLOps de servei complet.
Eines MLOps
1. MLFlow
El cicle de vida de l'aprenentatge automàtic està controlat per la plataforma de codi obert MLflow i inclou un registre, desplegament i experimentació de models centrals.
MLflow pot ser utilitzat per qualsevol equip de mida, tant individualment com col·lectivament. Les biblioteques no tenen cap relació amb l'eina.
Qualsevol llenguatge de programació i biblioteca d'aprenentatge automàtic pot utilitzar-lo.
Per facilitar la formació, la implementació i la gestió d'aplicacions d'aprenentatge automàtic, MLFlow interactua amb diversos marcs d'aprenentatge automàtic, inclosos TensorFlow i Pytorch.
A més, MLflow ofereix API fàcils d'utilitzar que es poden incloure a qualsevol programa o biblioteca existents d'aprenentatge automàtic.
MLflow té quatre funcions clau que faciliten el seguiment i la planificació dels experiments:
- Seguiment de MLflow: una API i una IU per registrar paràmetres, versions, mètriques i artefactes del codi d'aprenentatge automàtic, així com per mostrar i contrastar els resultats posteriorment
- Projectes MLflow: embalatge de codi d'aprenentatge automàtic en un format reutilitzable i reproduïble per transferir-lo a la producció o compartir amb altres científics de dades
- Models MLflow: manteniment i desplegament de models a una varietat de sistemes de servei i inferència de models de diverses biblioteques de ML
- Registre de models MLflow: un magatzem central de models que permet la gestió cooperativa de tota la vida útil d'un model MLflow, inclòs la versió del model, les transicions d'etapa i les anotacions.
2. Kubeflow
La caixa d'eines ML per a Kubernetes s'anomena Kubeflow. Embalatge i gestió de contenidors Docker, ajuda en el manteniment de sistemes d'aprenentatge automàtic.
En simplificar l'orquestració d'execució i el desplegament dels fluxos de treball d'aprenentatge automàtic, promou l'escalabilitat dels models d'aprenentatge automàtic.
És un projecte de codi obert que inclou un grup escollit acuradament d'eines i marcs complementaris adaptats a les diferents necessitats de ML.
Les tasques llargues d'entrenament de ML, l'experimentació manual, la repetibilitat i els reptes de DevOps es poden gestionar amb Kubeflow Pipelines.
Per a diverses etapes d'aprenentatge automàtic, inclosa la formació, el desenvolupament de pipelines i el manteniment Quaderns Jupyter, Kubeflow ofereix serveis especialitzats i integració.
Facilita la gestió i el seguiment de la vida útil de les vostres càrregues de treball d'IA, així com la implementació de models d'aprenentatge automàtic (ML) i canalitzacions de dades als clústers de Kubernetes.
Ofereix:
- Llibretes per utilitzar l'SDK per interactuar amb el sistema
- una interfície d'usuari (UI) per controlar i supervisar execucions, treballs i experiments
- Per dissenyar ràpidament solucions d'extrem a extrem sense haver de reconstruir cada cop i reutilitzar components i canonades.
- Com a component clau de Kubeflow o com a instal·lació autònoma, s'ofereix Kubeflow Pipelines.
3. Control de versions de dades
Una solució de control de versions de codi obert per a projectes d'aprenentatge automàtic s'anomena DVC o Data Version Control.
Sigui quin sigui el llenguatge que trieu, és una eina experimental que us ajuda a definir el pipeline.
DVC utilitza codi, versions de dades i reproductibilitat per ajudar-vos a estalviar temps quan descobriu un problema amb una versió anterior del vostre model ML.
A més, podeu utilitzar canalitzacions DVC per entrenar el vostre model i distribuir-lo als membres del vostre equip. DVC pot gestionar l'organització i el control de versions de grans dades i les dades es poden emmagatzemar d'una manera fàcilment accessible.
Tot i que inclou algunes funcions de seguiment d'experiments (limitades), se centra principalment en la gestió i gestió de versions de dades i pipelines.
Ofereix:
- És independent de l'emmagatzematge, per tant, és possible utilitzar una varietat de tipus d'emmagatzematge.
- També proporciona estadístiques de seguiment.
- un mitjà preconstruït per unir les etapes de ML en un DAG i executar tot el pipeline des del principi fins al final
- Es pot seguir tot el desenvolupament de cada model ML utilitzant tot el seu codi i la procedència de les dades.
- Reproductibilitat conservant fidelment la configuració inicial, les dades d'entrada i el codi del programa per a un experiment.
4. Paquiderm
Pachyderm és un programa de control de versions per a aprenentatge automàtic i ciència de dades, similar a DVC.
A més, perquè es va crear amb Docker i Kubernetes, pot executar i desplegar aplicacions d'aprenentatge automàtic a qualsevol plataforma al núvol.
Pachyderm garanteix que cada peça de dades que es consumeix en un model d'aprenentatge automàtic es pot fer un seguiment i versionar.
S'utilitza per crear, distribuir, gestionar i vigilar els models d'aprenentatge automàtic. S'inclouen un registre de models, un sistema de gestió de models i una caixa d'eines CLI.
Els desenvolupadors poden automatitzar i ampliar el seu cicle de vida d'aprenentatge automàtic mitjançant la base de dades de Pachyderm, que també garanteix la repetibilitat.
Admet estàndards estrictes de governança de dades, redueix els costos de processament i emmagatzematge de dades i ajuda les empreses a portar les seves iniciatives de ciència de dades al mercat més ràpidament.
5. Poliaxó
Mitjançant la plataforma Polyaxon, els projectes d'aprenentatge automàtic i les aplicacions d'aprenentatge profund es poden replicar i gestionar durant tot el seu cicle de vida.
Polyaxon és capaç d'allotjar i administrar l'eina i es pot col·locar a qualsevol centre de dades o proveïdor de núvol. Com Torch, Tensorflow i MXNet, que admeten tots els marcs d'aprenentatge profund més populars.
Pel que fa a l'orquestració, Polyaxon us permet aprofitar al màxim el vostre clúster programant tasques i proves mitjançant la seva CLI, tauler, SDK o API REST.
Ofereix:
- Podeu utilitzar la versió de codi obert ara mateix, però també inclou opcions per a l'empresa.
- Tot i que cobreix el cicle de vida complet, inclosa l'orquestració d'execució, és capaç de molt més.
- Amb documents de referència tècnica, directrius per començar, materials d'aprenentatge, manuals, tutorials, registres de canvis i molt més, és una plataforma molt ben documentada.
- Amb el tauler d'informació de l'experiment, és possible vigilar, fer un seguiment i avaluar cada experiment d'optimització.
6. cometi
Comet és una plataforma per a l'aprenentatge metamàquina que rastreja, contrasta, explica i millora experiments i models.
Tots els vostres experiments es poden veure i comparar en un sol lloc.
Funciona per a qualsevol tasca d'aprenentatge automàtic, a qualsevol lloc on es realitzi el codi i amb qualsevol biblioteca d'aprenentatge automàtic.
Comet és adequat per a grups, individus, institucions acadèmiques, empreses i qualsevol altra persona que vulgui visualitzar ràpidament experiments, agilitzar el treball i realitzar experiments.
Els científics de dades i els equips poden fer un seguiment, aclarir, millorar i comparar experiments i models mitjançant la plataforma d'aprenentatge metamàquina autoallotjada i basada en núvol Comet.
Ofereix:
- Hi ha moltes capacitats perquè els membres de l'equip comparteixin tasques.
- Té diverses integracions que faciliten la vinculació amb altres tecnologies
- Funciona bé amb les biblioteques ML actuals
- S'ocupa de la gestió dels usuaris
- La comparació d'experiments està activada, inclosa una comparació de codi, hiperparàmetres, mètriques, prediccions, dependències i mètriques del sistema.
- Proporciona mòduls diferents per a dades de visió, àudio, text i taules que us permeten visualitzar mostres.
7. Optuna
Optuna és un sistema d'optimització autònoma d'hiperparàmetres que es pot aplicar tant a l'aprenentatge automàtic com a l'aprenentatge profund, així com a altres camps.
Conté una varietat d'algoritmes d'avantguarda dels quals podeu seleccionar (o enllaçar), fa que sigui molt senzill distribuir la formació en nombrosos ordinadors i ofereix una visualització de resultats atractiva.
S'hi integren biblioteques populars d'aprenentatge automàtic com PyTorch, TensorFlow, Keras, FastAI, sci-kit-learn, LightGBM i XGBoost.
Proporciona algorismes d'avantguarda que permeten als clients obtenir resultats més ràpidament reduint ràpidament les mostres que no semblen prometedores.
Utilitzant algorismes basats en Python, cerca automàticament els hiperparàmetres ideals. Optuna fomenta les cerques d'hiperparàmetres paral·lelisades en molts fils sense alterar el codi original.
Ofereix:
- Admet formació distribuïda en un clúster així com en un únic ordinador (multiprocés) (multi-node)
- Admet diverses tècniques de retall per accelerar la convergència (i utilitzar menys càlcul)
- Té una varietat de visualitzacions potents, com ara la trama de talls, la trama de contorns i les coordenades paral·leles.
8. Kedro
Kedro és un marc de Python gratuït per escriure codi que es pot actualitzar i mantenir per a projectes de ciència de dades.
Aporta idees des de les millors pràctiques en enginyeria de programari fins al codi d'aprenentatge automàtic. Python és la base d'aquesta eina d'orquestració de flux de treball.
Per fer que els vostres processos de ML siguin més senzills i precisos, podeu desenvolupar fluxos de treball reproductibles, mantenibles i modulars.
Kedro incorpora principis d'enginyeria de programari com la modularitat, la separació de responsabilitats i la versió en un entorn d'aprenentatge automàtic.
Sobre la base de Cookiecutter Data Science, proporciona un marc de projecte comú i adaptable.
El catàleg de dades gestiona una sèrie de connectors de dades senzills que s'utilitzen per emmagatzemar i carregar dades en diversos sistemes de fitxers i formats de fitxers. Fa que els projectes d'aprenentatge automàtic siguin més efectius i fa que sigui més senzill la creació d'una canalització de dades.
Ofereix:
- Kedro permet el desplegament de màquines disperses o solitàries.
- Podeu automatitzar les dependències entre el codi Python i la visualització del flux de treball mitjançant l'abstracció de pipeline.
- Mitjançant l'ús de codi modular i reutilitzable, aquesta tecnologia facilita la col·laboració en equip a diversos nivells i millora la productivitat en l'entorn de codificació.
- L'objectiu principal és superar els inconvenients dels quaderns Jupyter, els scripts puntuals i el codi cola mitjançant l'escriptura de programació de ciència de dades que es pugui mantenir.
9. BentoML
La creació de punts finals de l'API d'aprenentatge automàtic es facilita amb BentoML.
Proporciona una infraestructura típica però condensada per traslladar els models d'aprenentatge automàtic apresos a la producció.
Us permet empaquetar models apresos per utilitzar-los en un entorn de producció, interpretant-los mitjançant qualsevol marc ML. S'admeten tant la publicació per lots fora de línia com la publicació d'API en línia.
Un servidor de models d'alt rendiment i un flux de treball flexible són les característiques de BentoML.
A més, el servidor ofereix micro-lots adaptatius. El tauler d'interfície d'usuari proporciona un enfocament unificat per organitzar models i fer un seguiment dels procediments de desplegament.
No hi haurà temps d'inactivitat del servidor perquè el mecanisme de funcionament és modular i la configuració és reutilitzable. És una plataforma flexible per proporcionar, organitzar i desplegar models de ML.
Ofereix:
- Té un disseny modular que és adaptable.
- Permet el desplegament en diverses plataformes.
- No pot gestionar automàticament l'escala horitzontal.
- Permet un format de model únic, gestió de models, empaquetat de models i servei de models d'alt rendiment.
10. Seldon
Els científics de dades poden crear, desplegar i gestionar models i experiments d'aprenentatge automàtic a escala a Kubernetes mitjançant el marc Seldon Core de codi obert.
TensorFlow, sci-kit-learn, Spark, R, Java i H2O són només alguns dels conjunts d'eines que s'admeten.
També connecta amb Kubeflow i l'OpenShift de RedHat. El nucli de Seldon transforma models d'aprenentatge automàtic (models ML) o embolcalls de llenguatge (idiomes com Python, Java, etc.) en microserveis REST/GRPC de producció.
Una de les millors eines MLOps per millorar els processos d'aprenentatge automàtic és aquesta.
És senzill contener models ML i provar la usabilitat i la seguretat amb Seldon Core.
Ofereix:
- El desplegament del model es pot simplificar amb diverses alternatives, com ara el desplegament canari.
- Per entendre per què es van fer prediccions específiques, utilitzeu explicadors de models.
- Quan sorgeixin problemes, vigileu els models de producció mitjançant el sistema d'alertes.
Conclusió
Els MLOps poden ajudar a millorar les operacions d'aprenentatge automàtic. Els MLOps poden accelerar el desplegament, simplificar la recollida de dades i la depuració i millorar la col·laboració entre enginyers i científics de dades.
Perquè trieu l'eina MLOps que millor s'adapti a les vostres necessitats, aquesta publicació va examinar 10 solucions MLOps populars, la majoria de les quals són de codi obert.
Deixa un comentari