Former un modèle Vowpal Wabbit Version 7-4

Important

Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.

À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.

La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.

Forme un modèle à l’aide de la version 7-4 du système vowpal Wabbit Machine Learning

catégorie : Analyse de texte

Notes

s’applique à: Machine Learning Studio (classic) uniquement

Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.

Vue d’ensemble du module

cet article explique comment utiliser le module Train Vowpal Wabbit Version 7-4 dans Machine Learning Studio (classic) pour créer un modèle de Machine Learning à l’aide d’une instance de Vowpal Wabbit (Version 7-4).

Pour utiliser vowpal Wabbit pour Machine Learning, mettez en forme votre entrée en fonction des exigences vowpal Wabbit et enregistrez les données dans un objet BLOB Azure. Utilisez ce module pour spécifier les arguments de ligne de commande de Vowpal Wabbit.

Lorsque l’expérimentation est exécutée, une instance de vowpal Wabbit est chargée dans l’exécution de l’expérimentation, ainsi que les données spécifiées. Une fois l’entraînement effectué, le modèle est resérialisé dans l’espace de travail. Vous pouvez utiliser le modèle immédiatement pour scorer les données. Le modèle formé est également conservé dans le stockage Azure afin que vous puissiez l’utiliser ultérieurement sans avoir à retraiter les données d’apprentissage.

Pour effectuer une formation incrémentielle d’un modèle existant sur de nouvelles données, connectez un modèle enregistré à l’entrée de modèle pré-formée et ajoutez les nouvelles données à l’autre entrée.

Notes

Machine Learning Studio (classic) héberge plusieurs versions de l’infrastructure Vowpal Wabbit. Ce module utilise la version 7-4 de vowpal Wabbit. Si vous créez un modèle à l’aide de ce module, vous devez utiliser le modèle de score correspondant : score vowpal Wabbit 7-4.

Pour obtenir la version la plus récente, utilisez le modèle train vowpal Wabbit version 8, ainsi que son module score, score vowpal Wabbit 8.

Qu’est-ce que Vowpal Wabbit ?

VW (Vowpal Wabbit) est un framework de machine learning parallèle rapide qui a été développé pour l’informatique distribuée par Yahoo! Research. Il a été porté plus tard sur Windows, puis adapté par John Langford (Microsoft Research) pour l’informatique scientifique dans les architectures parallèles.

Les fonctionnalités de Vowpal Wabbit qui sont importantes pour le machine learning sont le continuous learning (online learning), la réduction de dimensionnalité et l’interactive learning. Vowpal Wabbit représente également une solution aux problèmes quand vous ne pouvez pas placer les données du modèle en mémoire.

les principaux utilisateurs de Vowpal Wabbit dans Machine Learning sont des scientifiques de données qui ont déjà utilisé l’infrastructure pour Machine Learning des tâches telles que la classification, la régression, la modélisation de sujets ou la factorisation de matrice. Le wrapper Azure pour vowpal Wabbit présente des caractéristiques de performances très similaires à la version locale, ce qui signifie que les utilisateurs peuvent continuer à créer des modèles, les reformer et noter à l’aide des puissantes fonctionnalités et des performances natives de vowpal Wabbit, tout en obtenant la possibilité de publier facilement le modèle formé en tant que service opérationnel.

Le module Hachage des caractéristiques comprend également des fonctionnalités fournies par Vowpal Wabbit, qui vous permettent de transformer des jeux de données de texte en caractéristiques binaires à l’aide d’un algorithme de hachage.

Comment configurer le modèle vowpal Wabbit version 8

Cette section explique comment entraîner un nouveau modèle et ajouter de nouvelles données à un modèle existant.

Contrairement à d’autres modules de Studio (Classic), ce module spécifie les paramètres du module et effectue l’apprentissage du modèle. Si vous disposez d’un modèle existant, vous pouvez l’ajouter en tant qu’entrée facultative pour entraîner le modèle de manière incrémentielle.

L’utilisation de ce module nécessite l’authentification auprès d’un compte de stockage Azure.

Préparer les données d’entrée

Pour effectuer l’apprentissage d’un modèle à l’aide de ce module, le jeu de données d’entrée doit être composé d’une seule colonne de texte dans l’un des deux formats pris en charge : LibSVM ou VW. Cela ne signifie pas que Vowpal Wabbit analyse uniquement les données de texte, mais seulement que les caractéristiques et les valeurs doivent être préparées dans le format de fichier texte nécessaire.

Les données doivent être lues à partir du stockage Azure. Il n’est pas possible d’utiliser des données d’exportation pour enregistrer directement le fichier d’entrée dans Azure en vue de son utilisation avec vowpal Wabbit, car le format nécessite une modification supplémentaire. Vous devez vous assurer que les données sont au format correct, puis charger les données dans le stockage d’objets BLOB Azure.

Toutefois, en tant que raccourci, vous pouvez utiliser le module Convert to SVMLight pour générer un fichier de format SVMLight. Ensuite, vous pouvez télécharger le fichier de format SVMLight dans le stockage d’objets BLOB Azure et l’utiliser comme entrée, ou vous pouvez modifier légèrement le fichier pour qu’il soit conforme à la configuration requise du fichier d’entrée vowpal Wabbit.

Le format de données Vowpal Wabbit présente l’avantage de ne pas nécessiter un format en colonnes, ce qui permet de gagner de l’espace pour le traitement de données éparses. Pour plus d’informations sur ce format, consultez la page wiki Vowpal Wabbit.

Créer et entraîner un modèle Vowpal Wabbit

  1. Ajoutez le module train vowpal Wabbit Version 7-4 à votre expérience.

  2. Spécifiez le compte dans lequel les données d’apprentissage sont stockées. Le modèle formé et le fichier de hachage sont stockés dans le même emplacement.

    • Pour nom du compte de stockage Azure, tapez le nom du compte de stockage Azure.

    • Pour la clé de stockage Azure, copiez et collez la clé fournie pour accéder au compte de stockage.

    Si vous n’avez pas de clé, consultez Comment régénérer des clés d’accès de stockage

  3. Pour Azure Container Name, tapez le nom d’un conteneur unique dans le compte de stockage Azure spécifié dans lequel sont stockées les données d’apprentissage du modèle. Ne tapez pas le nom du compte ou un préfixe de protocole.

    Par exemple, si le chemin d’accès et le nom du conteneur complet sont https://myaccount.blob.core.windows.net/vwmodels , vous devez taper juste vwmodels . Pour plus d’informations sur les noms de conteneurs, consultez affectation de noms et références aux conteneurs, objets BLOB et métadonnées.

  4. Dans la zone de texte VW arguments (Arguments VW), tapez les arguments de ligne de commande pour l’exécutable Vowpal Wabbit.

    Par exemple, vous pouvez ajouter –l pour spécifier le taux d’apprentissage, ou -b pour indiquer le nombre de bits de hachage.

    Pour plus d’informations, consultez la section paramètres .

  5. Nom du fichier VW d’entrée: tapez le nom du fichier qui contient les données d’entrée. Le fichier doit être un fichier existant dans le stockage d’objets BLOB Azure, situé dans le compte de stockage et le conteneur spécifiés précédemment. Le fichier doit avoir été préparé à l’aide de l’un des formats pris en charge.

  6. Nom du modèle lisible en sortie (--readable_model) file: tapez le nom d’un fichier dans lequel le modèle formé doit être enregistré. Le fichier doit être enregistré dans le même compte de stockage et le même conteneur que le fichier d’entrée.

    Cet argument correspond au paramètre --readable_model dans la ligne de commande VW.

  7. Nom du fichier de hachage inversé de sortie (--invert_hash): tapez le nom du fichier dans lequel la fonction de hachage inversé doit être enregistrée. Le fichier doit être enregistré dans le même compte de stockage et le même conteneur que le fichier d’entrée.

    Cet argument correspond au paramètre --invert_hash dans la ligne de commande VW.

  8. Spécifiez le type de fichier: indiquez le format utilisé par vos données d’apprentissage. Vowpal Wabbit prend en charge les deux formats de fichiers d’entrée suivants :

    • VW représente le format interne utilisé par vowpal Wabbit.

    • SVMLight est un format utilisé par d’autres outils de machine learning.

  9. Sélectionnez l’option utiliser les résultats mis en cachesi vous ne souhaitez pas charger les données à partir du stockage chaque fois que l’expérience est de nouveau Reun. Si aucun autre paramètre n’a été modifié et qu’un cache valide peut être trouvé, Studio (Classic) utilise une version mise en cache des données.

    Si cette option est désélectionnée, le module lit toujours les données à partir du stockage.

  10. Exécutez l’expérience.

  11. Une fois le modèle généré, cliquez avec le bouton droit sur la sortie de train vowpal Wabbit Version 7-4 et sélectionnez enregistrer en tant que modèle formé, afin de pouvoir réutiliser et reformer le modèle ultérieurement.

Réentraîner un modèle Vowpal Wabbit existant

Vowpal Wabbit prend en charge l’entraînement incrémentiel via l’ajout de nouvelles données à un modèle existant. Il existe deux façons d’obtenir un modèle existant pour un réentraînement :

  • Utilisez la sortie d’un autre module train vowpal Wabbit Version 7-4 dans la même expérience.

  • Localisez un modèle enregistré dans le volet de navigation gauche du groupe modèles formés du panneau de navigation de Studio (classique), puis faites-le glisser vers votre expérience.

  1. Ajoutez le module train vowpal Wabbit Version 7-4 à votre expérience.

  2. Connecter le modèle précédemment formé au port d’entrée de Train Vowpal Wabbit Version 7-4.

  3. Dans le volet Propriétés de train Vowpal Wabbit version 7-4, spécifiez l’emplacement et le format des nouvelles données d’apprentissage.

  4. Spécifiez un nom pour le fichier de sortie de modèle lisible par l’utilisateur, et un autre nom pour le fichier de hachage associé au modèle mis à jour.

    Notes

    Si un fichier de hachage ou un modèle vowpal Wabbit existant se trouve à l’emplacement spécifié, les fichiers sont remplacés en mode silencieux par le nouveau modèle formé. Pour conserver les modèles intermédiaires lors de la reformation, vous devez modifier l’emplacement de stockage ou effectuer une copie locale des fichiers de modèle.

  5. Exécutez l’expérience.

  6. cliquez avec le bouton droit sur le module et sélectionnez enregistrer en tant que modèle formé pour conserver le modèle mis à jour dans votre espace de travail Machine Learning. Si vous ne spécifiez pas de nouveau nom, le modèle mis à jour remplace le modèle enregistré existant.

Exemples

Pour obtenir des exemples de la façon dont vowpal Wabbit peut être utilisé dans Machine Learning, consultez la Azure ai Gallery:

  • Exemple vowpal Wabbit

    Cette expérience illustre la Prepration de données, la formation et la configuration d’un modèle VW.

Consultez également les ressources suivantes :

Notes techniques

Cette section contient des détails, des conseils et des réponses aux questions fréquentes concernant l’implémentation.

Avantages de Vowpal Wabbit

Vowpal Wabbit fournit un machine learning extrêmement rapide pour les caractéristiques non linéaires telles que les n-grammes.

Vowpal Wabbit utilise des techniques d’online learning telles que le SGD (descente du gradient stochastique) pour insérer, un par un, des enregistrements dans un modèle. Ainsi, il itère très vite sur les données brutes et peut développer un bon prédicteur plus rapidement que la plupart des autres modèles. Cette approche évite également d’avoir à lire toutes les données d’entraînement en mémoire.

Vowpal Wabbit convertit toutes les données en codes de hachage, notamment les données de texte mais également les autres variables catégorielles. L’utilisation de codes de hachage rend la recherche de pondérations de régression plus efficace, qui est essentiel pour une descente de gradient stochastique efficace.

Pendant la formation, le module effectue des appels dans un wrapper vowpal Wabbit développé pour Azure. Les données d’apprentissage sont téléchargées dans des blocs à partir d’Azure, à l’aide de la bande passante élevée entre les rôles de travail exécutant les calculs et le magasin, et sont diffusées vers les apprenants VW. Le modèle résultant est généralement très compact en raison de la compression interne effectuée par VW. Le modèle est recopié dans l’espace de travail de l’expérience où il peut être utilisé comme d’autres modèles dans Machine Learning.

Paramètres pris en charge et non pris en charge

vous ne pouvez pas utiliser les arguments de ligne de commande suivants dans Machine Learning Studio (classic).

  • Les options d’entrée/de sortie spécifiées dans https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    Ces propriétés sont déjà configurées automatiquement par le module.

  • En outre, toute option qui génère plusieurs sorties ou accepte plusieurs entrées est interdite. Il s’agit notamment de --cbt , --lda et --wap .

  • Seuls les algorithmes de machine learning supervisé sont pris en charge. Les options suivantes ne sont donc pas prises en charge : –active, --rank, --search etc.

Tous les arguments autres que ceux décrits ci-dessus sont autorisés.

Pour obtenir la liste complète des arguments, consultez la page wiki Vowpal Wabbit.

Restrictions

L’objectif du service étant de prendre en charge les utilisateurs expérimentés de Vowpal Wabbit, les données d’entrée doivent être préparées à l’avance à l’aide du format de texte natif Vowpal Wabbit, au lieu du format de jeu de données utilisé par d’autres modules.

au lieu d’utiliser des données dans l’espace de travail azure ML, les données d’apprentissage sont directement diffusées à partir d’azure, pour des performances maximales et une surcharge d’analyse minimale. C’est la raison pour laquelle il n’existe qu’une interopérabilité limitée entre les modules VW et d’autres modules dans Azure ML.

Paramètres du module

Nom Plage Type Default Description
Nom du compte de stockage Azure n'importe laquelle String aucun Tapez le nom du compte de stockage Azure
Clé de stockage Azure n'importe laquelle SecureString aucun Indiquez la clé de stockage Azure
Nom du conteneur Azure n'importe laquelle String aucun Tapez le nom du conteneur Azure
Arguments VW n'importe laquelle String aucun Spécifiez les arguments Vowpal Wabbit

L'argument –f n'est pas pris en charge.
Nom du fichier VW d'entrée n'importe laquelle String aucun Spécifiez le nom d'un fichier d'entrée au format Vowpal Wabbit
Nom du fichier de modèle lisible en sortie (--readable_model) n'importe laquelle String Si spécifié, génère un modèle lisible pour le conteneur Azure.

Cet argument est facultatif.
Nom du fichier de hachage inversé en sortie (--invert_hash) n'importe laquelle String Si spécifié, génère un fichier contenant la fonction de hachage inversé pour le conteneur Azure.

Cet argument est facultatif.
Spécifiez le type de fichier VW

SVMLight
DataType VW Indiquez si le type de fichier utilise le format SVMLight ou le format vowpal Wabbit.

Sorties

Nom Type Description
Modèle entraîné Interface ILearner Apprenant formé

Exceptions

Exception Description
Erreur 0001 Une exception se produit si une ou plusieurs colonnes spécifiées du jeu de données sont introuvables.
Erreur 0003 Cette exception se produit si une ou plusieurs entrées sont null ou vide.
Erreur 0004 Une exception se produit si le paramètre est inférieur ou égal à une valeur spécifique.
Erreur 0017 Une exception se produit si une ou plusieurs colonnes spécifiées présentent un type non pris en charge par le module actuel.

pour obtenir la liste des erreurs spécifiques aux modules Studio (classiques), consultez Machine Learning codes d’erreur.

pour obtenir la liste des exceptions d’api, consultez Machine Learning les Codes d’erreur de l' api REST.

Voir aussi

Analyse de texte
Hachage des caractéristiques
Reconnaissance d’entité nommée
Scorer le modèle Vowpal Wabbit 7-4
Vowpal Wabbit Train
Liste alphabétique des modules