Il s’agit d’une liste complète des pratiques à suivre afin d’éviter les pièges courants lorsque vous travaillez avec l’apprentissage automatique. L’objectif est de vous donner une compréhension des meilleures pratiques pour chaque domaine dans le paysage de l’apprentissage automatique.

While machine learning models help solve various business challenges, choosing the right one based on the use case of a specific business is not easy. More than 43% of business organizations have reported that ML models are hard to produce and integrate. Best Machine learning practices have to be followed right from the first step of the ML lifecycle to ensure that the model has the ability for better production.

With that said, I’ve decided to put together a post covering the best practices for: Objective & Metric, Infrastructure, Data, Model, and Code Best Practices in an effort to help organizations to take full advantage of machine learning.

These Machine Learning Best Practices are a collection of ideas, suggestions, tips and tricks shared by practitioners in the industry. They are not written as a single document but instead are described on a per objective/metric, infrastructure, data/model and code basis. And will be updated frequently.

This is the Ultimate Guide to Machine Learning Best Practices in 2022.

So if you want to learn:

Then you are in the right place.

Let’s get started.

Meilleures pratiques en matière d’objectifs et de mesures

Définir l’objectif commercial avant de commencer la conception du modèle ML est la première étape évidente. Cependant, souvent, les modèles ML sont lancés sans objectifs clairement définis. De tels modèles sont voués à l’échec car les modèles ML ont besoin d’objectifs, de paramètres et de métriques clairement définis. Les organisations peuvent ne pas être conscientes de la définition d’objectifs spécifiques pour les modèles de ML . Ils peuvent vouloir trouver des informations basées sur les données disponibles, mais un objectif vague est insuffisant pour développer un modèle de ML efficace .

Vous devez être clair sur votre objectif et la métrique que vous utiliserez pour mesurer le succès. Sinon, vous perdrez beaucoup de temps sur la mauvaise chose ou poursuivrez un objectif impossible.

Voici quelques bonnes pratiques objectives à garder à l’esprit lors de la conception des objectifs de vos solutions d’apprentissage automatique :

Meilleures pratiques en matière d'objectifs et de métriques d'apprentissage automatique

1. Ensure The ML Model Is Necessary

While many organizations want to follow the ML trend, the machine learning model may not be profitable. Before investing time and resources into developing an ML model, you need to identify the problem and evaluable whether machine learning and MLOps will be helpful in the specific use case. Small scale businesses must be even more careful because ML models cost resources that may not be available. Identifying areas of difficulty and having relevant data to implement machine learning solutions is the first step to developing a successful model. It is the only way to improve the profitability of the organization. 

 

2. Collect Data For The Chosen Objective

Even though use cases are identified, data availability is the crucial driving factor to determine the successful implementation of the ML model. The first ML model for an organization should be simple but choose objectives supported by a large amount of data.

3. Développer des métriques simples et évolutives

Tout d’abord, commencez par construire des cas d’utilisation pour lesquels le modèle ML doit être créé. Des mesures techniques et commerciales doivent être développées en fonction des cas d’utilisation. Le modèle ML peut mieux fonctionner lorsqu’il existe un objectif clair et des mesures pour mesurer ces objectifs. Le processus actuel pour atteindre l’objectif commercial doit être revu en profondeur. Comprendre où le processus actuel est confronté à des défis est la clé de l’automatisation. Identifier les techniques d’apprentissage en profondeur qui peuvent résoudre les défis actuels est crucial.

Systèmes basés sur des règles vs systèmes d'apprentissage automatique

Meilleures pratiques d’infrastructure

Avant d’investir du temps et des efforts dans la création d’un modèle ML , vous devez vous assurer que l’infrastructure est en place pour prendre en charge le modèle nécessaire. Construire, former et produire un apprentissage automatique dépendent fortement de l’infrastructure disponible. La meilleure pratique consiste à créer un encapsulé ML modèle qui se suffit à lui-même. L’infrastructure ne doit pas dépendre de la ML modèle . Cela permet la construction de plusieurs fonctionnalités ultérieurement. Des tests et des vérifications d’intégrité sur les modèles sont nécessaires avant le déploiement.

Here are some infrastructure best practices to keep in mind when designing your machine learning solutions:

4. Bons composants d’infrastructure

L’infrastructure ML comprend divers composants, processus associés et solutions proposées pour les modèles ML . L’intégration de l’apprentissage automatique dans les pratiques commerciales implique la croissance de l’infrastructure avec la technologie de l’IA. Les entreprises ne doivent pas dépenser pour construire l’infrastructure complète avant le développement du modèle ML . Plusieurs aspects tels que les conteneurs, les outils d’orchestration, les environnements hybrides, les environnements multi-cloud et l’architecture agile doivent être mis en œuvre par étapes, permettant une évolutivité maximale.

5. Infrastructure basée sur le cloud ou sur site

Lorsque les entreprises commencent avec une architecture d’apprentissage automatique, il est préférable d’exploiter initialement l’infrastructure cloud. L’infrastructure basée sur le cloud est rentable, nécessite peu de maintenance et est facilement évolutive. Certains géants de l’industrie fournissent un excellent support pour l’infrastructure basée sur le cloud. Les plates-formes ML basées sur le cloud avec des fonctionnalités complètes sont déjà disponibles pour la personnalisation. Des géants tels que GCP, AWS, Microsoft Azure, etc., disposent d’éléments d’infrastructure spécifiques au ML prêts à l’emploi. L’infrastructure basée sur le cloud a des coûts de configuration inférieurs avec un meilleur support de la part de fournisseurs spécifiques au ML. Il permet également l’évolutivité avec des clusters informatiques de différentes tailles.

L’infrastructure sur site peut intégrer des serveurs d’apprentissage facilement disponibles tels que Lambda Labs, Nvidia Workstations, etc. Les postes de travail d’apprentissage en profondeur peuvent être créés à partir de rien. Le modèle d’infrastructure interne nécessite un investissement initial important. Cependant, les systèmes sur site offrent plus d’avantages en matière de sécurité lorsque plusieurs modèles ML sont mis en œuvre pour l’automatisation au niveau de l’entreprise. Idéalement, les modèles ML doivent utiliser une combinaison d’infrastructure basée sur le cloud et d’infrastructure interne à différents niveaux.

6. Rendre l’infrastructure évolutive

L’ infrastructure appropriée pour le modèle ML dépend des pratiques commerciales et des objectifs futurs. L’infrastructure doit prendre en charge des modèles de formation et des modèles de service distincts. Cela vous permet de continuer à tester votre modèle avec des fonctionnalités avancées sans affecter le modèle de service déployé. L’architecture des microservices joue un rôle déterminant dans la réalisation de modèles encapsulés.

Meilleures pratiques en matière de données

Pour développer des modèles ML performants , un traitement exhaustif des données est essentiel. Les données déterminent l’objectif du système et jouent un rôle majeur dans la formation des algorithmes de ML . La performance du modèle et l’évaluation du modèle ne peuvent être complétées sans données appropriées.

Voici quelques directives générales à garder à l’esprit lors de la préparation de vos données :

Meilleures pratiques en matière de données d'apprentissage automatique

7. Understand Data Quantity Significance

Building ML models is possible when there is a massive volume of data. Raw data is crude, but before proceeding with ML model building, you have to extract usable information from the data. Data gathering should begin with the existing system in the organization. This will give you the data metrics needed to build the ML model. When the data availability is minimal, you can use transfer learning to gather as much data as possible. Once raw data is available, you must deploy feature engineering to pre-process the data. Collected data must undergo necessary transformations to be valuable as training data. Raw inputs converted into features will be helpful in the design phase of the ML data modeling.

8. Data Processing Is Crucial

The first step in data processing is data collection and preparation. Feature engineering should be applied during data pre-processing to correlate essential features with available data. Data wrangling metrics must be used during the interactive data analysis phase. Exploratory data analysis exploits data visualization to understand data, perform sanity checks, and validate the data. When the data process matures, data engineers incorporate continuous data ingestions and appropriate data transformations to multiple data analytics entities. Data validation is required at every iteration of the ML pipeline or data pipeline for model training. When data drift is identified, the ML model requires retraining. If data anomalies are detected, the pipeline execution must be stopped until the anomalies are addressed.

9. Prepare Data For Use Throughout ML Lifecycle 

Understanding and implementing data science best practices play a significant role in preparing the data for use in machine learning solutions. The datasets must be categorized based on features, and they must be documented for use throughout the ML lifecycle.

L'avenir des MLOps : une lecture incontournable pour les professionnels de la science des données

Modèle de bonnes pratiques

Lorsque les données et l’infrastructure sont prêtes, il est temps de choisir le modèle ML parfait. Plusieurs équipes travaillent avec plusieurs technologies, qui peuvent ou non se chevaucher. Vous devez sélectionner un modèle ML qui peut prendre en charge les technologies existantes. Les experts en science des données n’ont pas d’expertise en programmation et peuvent utiliser des piles technologiques obsolètes. D’autre part, les ingénieurs en logiciel peuvent utiliser les technologies les plus récentes et expérimentales pour obtenir les meilleurs résultats. Le modèle ML doit prendre en charge les anciens modèles tout en laissant de la place aux nouvelles technologies. Les piles technologiques sélectionnées doivent être prêtes pour le cloud, même si des serveurs internes sont actuellement utilisés.

Voici les meilleures pratiques de modèle les plus importantes :

Meilleures pratiques du modèle d'apprentissage automatique

10. Développer un modèle robuste

Dans le pipeline de modèles ML, la validation, le test et la surveillance des modèles ML sont cruciaux. La validation du modèle devrait idéalement être terminée avant que le modèle ne passe en production. La métrique de robustesse devrait devenir une référence importante pour la validation du modèle. La sélection du modèle doit être faite sur la base des métriques de robustesse. Si la robustesse du modèle choisi ne peut pas être améliorée pour répondre aux normes de référence, le modèle doit être abandonné et un autre modèle ML doit être choisi. La définition et la création de cas de test utilisables sont cruciales pour la formation continue du modèle ML.

11. Développer et documenter les métriques de formation du modèle

La création de modèles incrémentiels avec des points de contrôle rendra votre infrastructure d’apprentissage automatique résiliente. La science des données implique de nombreuses métriques, ce qui peut prêter à confusion. Les métriques de performance doivent toujours avoir la priorité sur les métriques fantaisistes. Le modèle ML nécessite une formation continue et, à chaque itération, les données du modèle de service doivent être utilisées. Les données de production sont utiles au début. L’utilisation des données du modèle de service pour la formation des modèles ML facilitera le déploiement du modèle en temps réel.

12. Affiner le modèle de service ML

Les modèles de diffusion nécessitent une surveillance continue pour détecter les erreurs dans la phase initiale. Cela nécessite un humain dans la boucle car les incidents acceptables doivent être identifiés et autorisés. Une surveillance périodique doit être planifiée dans la phase de diffusion du modèle ML pour garantir que le modèle se comporte exactement comme prévu. La boucle de rétroaction des utilisateurs doit être intégrée dans la maintenance du modèle pour développer un plan de réponse aux incidents solide.

13. Surveiller et optimiser la stratégie de formation des modèles

Afin de réussir la production de modèles, une formation approfondie est nécessaire. La formation et l’intégration continues garantiront que le modèle ML est rentable pour résoudre les problèmes de l’entreprise. La précision du modèle peut fluctuer avec le lot de formation initial, mais les lots suivants qui utilisent les données du modèle de service fourniront une plus grande précision. Toutes les instances d’objet doivent être complètes et cohérentes pour optimiser la stratégie de formation.

Coder les bonnes pratiques

Le développement de MLOps implique une quantité massive d’écriture de codes dans plusieurs langues. Le code écrit doit s’exécuter efficacement à différentes étapes du pipeline ML . Les data scientists et les ingénieurs logiciels doivent travailler ensemble pour lire, écrire et exécuter des codes de modèle ML. Les tests unitaires de la base de code testeront les fonctionnalités individuelles. L’intégration continue permettra de tester le pipeline, ce qui garantit que les changements de codage ne casseront pas le modèle.

Découvrez quelques-unes des meilleures pratiques à suivre lors de l’écriture de code d’apprentissage automatique.

Meilleures pratiques en matière de code d'apprentissage automatique

14. Suivez les conventions de dénomination

Les conventions de nommage sont souvent ignorées par les ingénieurs de développement désireux de faire fonctionner leur code. Comme les modèles ML nécessitent des modifications continues du codage, changer quoi que ce soit n’importe où entraîne tout changer partout. Les conventions de dénomination aideront l’ensemble de l’équipe d’ingénierie de développement à comprendre et à identifier plusieurs variables et leurs rôles dans le développement du modèle.

15. Garantir une qualité de code optimale

Les contrôles de qualité du code sont obligatoires pour s’assurer que le code écrit fait ce qu’il est censé faire. Le code ne doit pas introduire d’erreurs ou de bogues dans le système existant. Le code écrit doit être facile à lire, à maintenir et à étendre en fonction des exigences du modèle ML . Tout au long du pipeline ML , un style de codage uniforme aidera à détecter et à éliminer les bogues avant l’étape de production. Le code mort et le code en double sont facilement identifiables lorsque les ingénieurs suivent un style de codage standard. Une expérimentation constante avec différentes combinaisons de codes est inévitable pour améliorer le modèle ML. Un système de suivi de code approprié doit être en place pour corréler les expériences et leurs résultats.

16. Écrire un code prêt pour la production

Le modèle ML nécessite un codage complexe, mais vous devez écrire un code prêt pour la production pour rendre le modèle compétent. Le code reproductible avec contrôle de version est plus facile à déployer et à tester. L’adaptation du framework de pipeline est cruciale pour créer un code modulaire qui permet une intégration continue. Le meilleur code de modèle ML utilise une structure standard et une convention de style de codage. Chaque aspect du codage doit être documenté à l’aide d’outils de documentation appropriés. L’approche de codage systématique doit stocker le code de formation, les paramètres du modèle, les ensembles de données, le matériel et l’environnement pour identifier facilement les versions de code.

17. Déployer des modèles dans des conteneurs pour une intégration plus facile

Une compréhension claire du modèle de travail réel est cruciale pour intégrer le ML modèle dans les opérations de l’entreprise. Une fois le prototype terminé, il ne devrait y avoir aucun retard dans le déploiement du modèle. La meilleure pratique consiste à utiliser des plates-formes de conteneurisation pour créer plusieurs services dans des conteneurs isolés. Les instances de conteneurs sont déployées à la demande et formées à l’aide de données en temps réel. Limitez une application par conteneur pour faciliter le débogage. L’approche conteneurisée rend le Modèles de ML reproductible et évolutif dans divers environnements. Les équipes d’ingénierie peuvent facilement démarrer la production de modèles si les fonctionnalités sont encapsulées. Il permet également une formation individualisée sans affecter la production existante.

18. Incorporate Automation Wherever Possible

The ML models require consistent testing and integration when new features are included, or new data becomes available. Multiple unit tests with varying test cases are essential to ensure that the machine learning application works as intended. Automated testing dramatically helps in reducing the manual labor required to complete the coding. Integration testing automation helps in ensuring that a single change is reflected all through the ML model code.

19. Low Code/ No-Code Platform

The low code and no code machine learning platforms reduce the amount of coding involved, enabling data scientists to introduce new features without affecting development engineers. While these platforms provide flexibility and quick deployment, the level of customization achieved is still low compared to handwritten code. As the complexity of ML models increases, development engineers become more involved in writing machine learning code.

Conclusion

Nous espérons que ce blog fournira de bonnes informations sur les meilleures pratiques d’apprentissage automatique.

En suivant les meilleures pratiques, vous pouvez créer un modèle ML évolutif, personnalisable et résilient qui nécessite un minimum de modifications. Idéal Modèles de ML s’intègre parfaitement aux systèmes existants. Le modèle ML doit toujours pouvoir être amélioré car les exigences commerciales et les données changent en permanence.

If you still think machine learning systems are complicated? We will help you get the results you want without all the frustration. Book a discovery service with our data architects today and get ahead of the competition. Make it simple & make it fast.