Bilan: Google Cloud AutoML est un véritable apprentissage automatique automatisé

Lorsque vous essayez de former automatiquement le meilleur modèle d'apprentissage automatique pour vos données, il y a AutoML, ou apprentissage automatique automatisé, puis il y a Google Cloud AutoML. Google Cloud AutoML est un cran au-dessus. 

Dans le passé, j'ai examiné H2O Driverless AI, Amazon SageMaker et Azure Machine Learning AutoML. L'IA sans pilote effectue automatiquement l'ingénierie des fonctionnalités et le réglage des hyperparamètres, et prétend être aussi performante que les maîtres Kaggle. Amazon SageMaker prend en charge l'optimisation des hyperparamètres. Azure Machine Learning AutoML balaie automatiquement les fonctionnalités, les algorithmes et les hyperparamètres pour les algorithmes d'apprentissage automatique de base; une fonction de réglage d'hyperparamètres Azure Machine Learning distincte vous permet de balayer des hyperparamètres spécifiques pour une expérience existante.

Celles-ci sont bonnes, mais Google Cloud AutoML passe à un tout autre niveau et personnalise les réseaux neuronaux profonds de haute précision testés au combat de Google pour vos données marquées. Plutôt que de partir de zéro lors de la formation de modèles à partir de vos données, Google Cloud AutoML met en œuvre un apprentissage automatique par transfert profond (ce qui signifie qu'il commence à partir d'un réseau neuronal profond existant formé sur d'autres données) et une recherche d'architecture neuronale (ce qui signifie qu'il trouve la bonne combinaison d'extra couches réseau) pour la traduction des paires de langues, la classification des langues naturelles et la classification des images.

Dans chaque domaine, Google dispose déjà d'un ou plusieurs services pré-formés basés sur des réseaux de neurones profonds et d'énormes ensembles de données étiquetées. Ceux-ci peuvent très bien fonctionner pour vos données non modifiées, et vous devriez le tester pour gagner du temps et de l'argent. Si ces services ne font pas ce dont vous avez besoin, Google Cloud AutoML vous aide à créer un modèle qui le fait, sans que vous sachiez comment effectuer un apprentissage par transfert ou même comment créer des réseaux de neurones.

L'apprentissage par transfert offre deux grands avantages par rapport à la formation d'un réseau neuronal à partir de zéro. Premièrement, il nécessite beaucoup moins de données pour la formation, car la plupart des couches du réseau sont déjà bien entraînées. Deuxièmement, il fonctionne beaucoup plus rapidement, car il n'optimise que les couches finales.

Traduction Google Cloud AutoML

Ainsi, par exemple, vous pouvez vous entraîner contre 1 000 paires de phrases bilingues en une heure ou deux avec l'apprentissage par transfert Google Cloud AutoML Translation. Le réseau neuronal de base en cours de personnalisation, NMT, a pris des centaines à des milliers d'heures pour s'entraîner à partir de zéro pour chaque paire de langues, sur un grand nombre de processeurs et de GPU. Notez que le tarif horaire pour la formation d'un modèle de traduction personnalisé est actuellement de 76 $.

Le guide du débutant d'AutoML Translation explique les principes de base de ce que Google Cloud AutoML Translation peut faire et pourquoi vous l'utiliseriez. Essentiellement, il affine un modèle de traduction général existant dans un but de niche. Vous n'avez pas besoin de suivre une formation pour la traduction générale de la centaine de langues déjà prises en charge par Google, mais vous devrez exécuter l'apprentissage par transfert si vous souhaitez créer un réseau de traduction pour un vocabulaire ou un usage spécialisé . Un exemple mentionné par Google est la traduction en temps réel de documents financiers urgents. La traduction à usage général n'utilisera pas toujours les bons termes de l'art pour la finance.

 La configuration de la formation pour Google Cloud AutoML Translation est un processus en cinq étapes, comme indiqué dans les captures d'écran ci-dessous, une fois que vous avez préparé un fichier avec des paires de phrases. J'ai utilisé les 8720 paires anglais-espagnol pour les invites d'application fournies par Google dans le démarrage rapide d'AutoML Translation, formatées sous forme de fichier de valeurs séparées par des tabulations. Google Cloud AutoML Translation prend également en charge le format XML Translation Memory eXchange (TMX) pour les paires de phrases.

Vous noterez qu'il n'y a pas d'option pour contrôler le matériel (CPU, GPU, TPU et mémoire) utilisé pour effectuer la formation. C'est délibéré: la formation utilisera ce dont elle a besoin. Il n'y a pas non plus d'options pour contrôler les couches de réseau neuronal ajoutées au modèle, le nombre d'époques à exécuter ou les critères d'arrêt.

Une fois la formation du modèle terminée, vous pouvez visualiser l'amélioration (si tout se passe bien) dans le score BLEU sur le modèle de base et essayer de faire des prédictions avec le modèle. Cette formation a duré 0,9 heure (moins que prévu) et a coûté 68,34 $.

Google Cloud AutoML Natural Language

L'API Google Natural Language prend du texte et prédit les entités, les sentiments, la syntaxe et les catégories (à partir d'une liste prédéfinie). Si votre problème de classification de texte ne correspond à aucun de ceux-ci, vous pouvez fournir un ensemble d'instructions étiquetées et utiliser Google Cloud AutoML Natural Language pour créer un classificateur personnalisé.

Pour configurer AutoML Natural Language pour l'entraînement, vous devez rechercher vos données, les étiqueter, les préparer sous forme de fichier CSV et exécuter l'entraînement. Vous pouvez également utiliser l'interface utilisateur d'AutoML Natural Language pour télécharger et étiqueter les données si vous préférez.

Une fois l'apprentissage du modèle terminé, vous pouvez afficher la matrice de précision, de rappel et de confusion du modèle. Vous pouvez également ajuster le seuil de score pour le compromis précision / rappel souhaité. Pour minimiser les faux négatifs, optimisez le rappel. Pour minimiser les faux positifs, optimisez la précision.

Cette formation a duré 3,63 heures (à peu près comme prévu) et a coûté 10,88 $.

Google Cloud AutoML Vision

L'API Google Cloud Vision classe les images dans des milliers de catégories prédéfinies, détecte les objets et les visages individuels dans les images, et trouve et lit les mots imprimés contenus dans les images. Google Cloud AutoML Vision vous permet de définir et de former votre propre liste de catégories. Certaines applications réelles incluent la détection des dommages sur les éoliennes à partir de photos de drones et la classification des matières recyclables pour la gestion des déchets.

Pour configurer un ensemble de données Google Cloud AutoML Vision, vous devez rechercher au moins 100 images pour chaque catégorie et les étiqueter dans un fichier CSV. Toutes les images et le fichier CSV doivent résider dans un bucket Google Cloud Storage.

J'ai configuré cette formation pour une durée maximale d'une heure, ce qui est gratuit jusqu'à 10 modèles par mois. J'ai été agréablement surpris de voir de bons résultats de l'entraînement gratuit et je n'ai pas pris la peine de continuer l'entraînement pour améliorer la précision et le rappel.

Google Cloud AutoML propose des options pratiques pour effectuer des traductions ciblées, une classification de texte personnalisée et une classification d'image personnalisée. Chacune de ces API fonctionne bien si vous lui donnez des données étiquetées avec suffisamment de précision, et prend beaucoup moins de temps et de compétences que la création de votre propre modèle de réseau neuronal ou même de votre propre modèle d'apprentissage par transfert. Avec Google Cloud AutoML, vous créez en fait des modèles TensorFlow, sans nécessairement rien savoir sur TensorFlow, Python, les architectures de réseau neuronal ou le matériel de formation.

Il existe de nombreuses façons de se tromper dans la préparation des données, mais heureusement, les trois API vérifient toutes les erreurs les plus courantes, telles que le fait d'avoir trop peu ou trop d'exemplaires pour une catégorie. Les diagnostics affichés après l'entraînement vous donnent une bonne idée du fonctionnement de votre modèle et vous pouvez facilement modifier les modèles en ajoutant des données d'entraînement plus étiquetées et en relançant l'entraînement.

-

Coût: Google Cloud AutoML Translation: la formation coûte 76,00 USD par heure, la traduction 80 USD par million de caractères après les premiers 500K. Google Cloud AutoML Natural Language: la formation coûte 3,00 USD par heure, la classification est de 5 USD pour mille enregistrements de texte après les 30 premiers kilomètres. Google Cloud AutoML Vision: la formation coûte 20 USD de l'heure après la première heure, classification de 3 USD pour mille images après les mille premières 

Plateforme: Google Cloud Platform