Former un modèle Vowpal Wabbit Version 8
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.
- Consultez les informations sur le déplacement des projets de machine learning de ML Studio (classique) à Azure Machine Learning.
- En savoir plus sur Azure Machine Learning.
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 8 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 8 dans Machine Learning Studio (classic) pour créer un modèle de Machine Learning à l’aide de Vowpal Wabbit (Version 8).
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 dernière version de vowpal Wabbit Framework, qui est la version 8. Pour noter les nouvelles données d’entrée, vous devez utiliser le modèle score vowpal Wabbit version 8.
Vowpal Wabbit versions 7-4 ou 7-6 : train vowpal Wabbit 7-4 Model and Score vowpal Wabbit 7-4 Model.
Vowpal Wabbit version 7-10 : former vowpal Wabbit 7-10 Model et Score vowpal Wabbit 7-10 Model.
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 sont les scientifiques des données qui ont utilisé le framework pour des tâches de machine learning telles que la classification, la régression, la modélisation de thèmes ou la factorisation de matrices. Le wrapper Azure pour Vowpal Wabbit a des caractéristiques de performances très similaires à la version locale. Ainsi, vous pouvez non seulement utiliser les puissantes fonctionnalités de Vowpal Wabbit et ses performances natives, mais vous pouvez également publier facilement le modèle entraîné 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.
- Préparer les données d’entrée dans l’un des formats nécessaires
- Entraîner un nouveau modèle
- Entraîner un modèle existant 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
Ajoutez le module train vowpal Wabbit version 8 à votre expérience.
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
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 justevwmodels
. 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.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 Vowpal Wabbit.
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.
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.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.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. Pour plus d’informations, consultez la page wiki de Vowpal Wabbit.
SVMLight est un format utilisé par d’autres outils de machine learning.
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.
Exécutez l’expérience.
Une fois l’apprentissage terminé, cliquez avec le bouton droit sur la sortie et sélectionnez enregistrer en tant que modèle formé pour enregistrer le modèle dans votre espace de travail Studio (classique).
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 8 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.
Ajoutez le module train vowpal Wabbit version 8 à votre expérience.
Connecter le modèle précédemment formé au port d’entrée de Train Vowpal Wabbit Version 8.
Dans le volet Propriétés de train vowpal Wabbit version 8, spécifiez l’emplacement et le format des nouvelles données d’apprentissage.
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.
Exécutez l’expérience.
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:
-
Cette expérience illustre la Prepration de données, la formation et la configuration d’un modèle VW.
Consultez également les ressources suivantes :
Blog décrivant l’implémentation et la feuille de route vowpal Wabbit
https://blogs.technet.com/b/machinelearning/archive/2014/10/02/vowpal-wabbit-modules-in-azureml.aspx
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
cette section décrit la prise en charge des paramètres de ligne de commande Vowpal Wabbit dans Machine Learning Studio (classic).
En règle générale, tous les arguments, à l’exception d’un ensemble limité, sont pris en charge. Pour obtenir la liste complète des arguments, consultez la page wiki Vowpal Wabbit.
Les paramètres suivants ne sont pas pris en charge :
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. Par conséquent, ces options ne sont pas prises en charge :
–active
,--rank
,--search
etc. # # # restrictions
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 | Facultatif | Default | Description |
---|---|---|---|---|---|
Spécifiez le type de fichier | VW SVMLight |
DataType | Obligatoire | VW | Indiquez si le type de fichier est SVMLight ou vowpal Wabbit. |
Nom du compte de stockage Azure | n'importe laquelle | String | Obligatoire | Tapez le nom du compte de stockage Azure | |
Clé de stockage Azure | n'importe laquelle | SecureString | Obligatoire | Indiquez la clé de stockage Azure | |
Nom du conteneur Azure | n'importe laquelle | String | Obligatoire | Tapez le nom du conteneur Azure | |
Arguments VW | n'importe laquelle | String | Facultatif | Spécifiez les arguments Vowpal Wabbit N’incluez pas-f. | |
Nom du fichier VW d'entrée | n'importe laquelle | String | Obligatoire | 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 | Facultatif | Si spécifié, génère un modèle lisible pour le conteneur Azure. | |
Nom du fichier de hachage inversé en sortie (--invert_hash) | String | String | Facultatif | Si spécifié, génère un fichier contenant la fonction de hachage inversé pour le conteneur Azure. |
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
Modèle score vowpal Wabbit version 8.
Entraîner le modèle Vowpal Wabbit 7-4
Liste alphabétique des modules