Train Vowpal Wabbit Version 7-4 Model (entrenar un modelo de Vowpal Wabbit versión 7-4)

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

Entrena un modelo con la versión 7-4 del sistema de aprendizaje automático Vowpal Wabbit.

Categoría: Text Analytics

Nota:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo Train Vowpal Wabbit Version 7-4 (Entrenar Vowpal Wabbit versión 7-4) en Machine Learning Studio (clásico) para crear un modelo de aprendizaje automático mediante una instancia de Vowpal Wabbit (versión 7-4).

Para usar Vowpal Wabbit para el aprendizaje automático, formatee la entrada según los requisitos de Vowpal Wabbit y guarde los datos en un blob de Azure. Use este módulo para especificar los argumentos de la línea de comandos de Vowpal Wabbit.

Cuando se ejecuta el experimento, se carga una instancia de Vowpal Wabbit en el tiempo de ejecución del experimento, junto con los datos especificados. Una vez que se completa el entrenamiento, el modelo se vuelve a serializar en el área de trabajo. Puede usar el modelo de inmediato para puntuar los datos. El modelo entrenado también se conserva en Azure Storage para que pueda usarlo más adelante sin tener que volver a procesar los datos de entrenamiento.

Para entrenar incrementalmente un modelo existente en datos nuevos, conecte un modelo guardado a la entrada del modelo entrenado previamente y agregue los nuevos datos a la otra entrada.

Nota:

Machine Learning Studio (clásico) hospeda varias versiones del marco vowpal Wabbit. En este módulo se usa la versión 7-4 de Vowpal Wabbit. Si crea un modelo con este módulo, debe usar el módulo de puntuación correspondiente: Score Vowpal Wabbit 7-4 Model (Puntuar modelo de Vowpal Wabbit 7-4).

Para la versión más reciente, use Train Vowpal Wabbit Version 8 Model (Entrenar modelo de Vowpal Wabbit versión 8) junto con su módulo de puntuación Score Vowpal Wabbit 8 Model (Puntuar modelo de Vowpal Wabbit 8).

¿Qué es Vowpal Wabbit?

Vowpal Wabbit (VW) es un marco de aprendizaje automático rápido y en paralelo que desarrolló Yahoo! Research para la computación distribuida. Más adelante, John Langford (Microsoft Research) lo llevó a Windows y lo adaptó para la informática científica en arquitecturas paralelas.

Las características de Vowpal Wabbit que son importantes para el aprendizaje automático incluyen el aprendizaje continuo (aprendizaje en línea), la reducción de dimensiones y el aprendizaje interactivo. Vowpal Wabbit también es una solución de problemas cuando no puede ajustar los datos del modelo en la memoria.

Los usuarios principales de Vowpal Wabbit en Machine Learning son científicos de datos que previamente han usado el marco para tareas de aprendizaje automático como clasificación, regresión, modelado de temas o factorización de matriz. El contenedor de Azure para Vowpal Wabbit tiene características de rendimiento muy similares a la versión local, lo que significa que los usuarios pueden seguir compilando modelos, reentrenándose y puntuando con las eficaces características y el rendimiento nativo de Vowpal Wabbit, a la vez que obtienen la capacidad de publicar fácilmente el modelo entrenado como un servicio operacionalizado.

El módulo hash de características también incluye la funcionalidad proporcionada por Vowpal Wabbit que permite transformar los conjuntos de datos de texto en características binarias mediante un algoritmo hash.

Configuración del modelo de Vowpal Wabbit versión 8

En esta sección se describe cómo entrenar un modelo nuevo y cómo agregar datos nuevos a un modelo existente.

A diferencia de otros módulos de Studio (clásico), este módulo especifica los parámetros del módulo y entrena el modelo. Si tiene un modelo existente, puede agregarlo como entrada opcional para entrenar el modelo de forma incremental.

El uso de este módulo requiere autenticación en una cuenta de Almacenamiento de Azure.

Preparación de los datos de entrada

Para entrenar un modelo con este módulo, el conjunto de datos de entrada debe constar de una sola columna de texto en uno de los dos formatos admitidos: LibSVM o VW. Esto no significa que Vowpal Wabbit solo analice datos de texto, sino que solo que las características y los valores deben estar preparados en el formato de archivo de texto requerido.

Los datos deben leerse desde Azure Storage. No es posible usar Exportar datos para guardar directamente el archivo de entrada en Azure para usarlo con Vowpal Wabbit, ya que el formato requiere alguna modificación adicional. Debe asegurarse de que los datos están en el formato correcto y, a continuación, cargarlos en Azure Blob Storage.

Sin embargo, como acceso directo, puede usar el módulo Convertir en SVMLight para generar un archivo de formato SVMLight. A continuación, puede cargar el archivo de formato SVMLight en Azure Blob Storage y usarlo como entrada, o puede modificar el archivo ligeramente para que se ajuste a los requisitos del archivo de entrada de Vowpal Wabbit.

El formato de datos de Vowpal Wabbit tiene la ventaja de que no requiere un formato de columnas, que ahorra espacio al tratar con datos dispersos. Para más información sobre este formato, consulte la página wiki de Vowpal Wabbit.

Creación y entrenamiento de un modelo de Vowpal Wabbit

  1. Agregue el módulo Train Vowpal Wabbit Version 7-4 (Entrenar Vowpal Wabbit versión 7-4 ) al experimento.

  2. Especifique la cuenta donde se almacenan los datos de entrenamiento. El modelo entrenado y el archivo hash se almacenan en la misma ubicación.

    • En Nombre de la cuenta de almacenamiento de Azure, escriba el nombre de la cuenta de almacenamiento de Azure.

    • Para la clave de almacenamiento de Azure, copie y pegue la clave que se proporciona para acceder a la cuenta de almacenamiento.

    Si no tiene una clave, consulte Regeneración de claves de acceso de almacenamiento.

  3. En Nombre del contenedor de Azure, escriba el nombre de un único contenedor en la cuenta de Azure Storage especificada donde se almacenan los datos de entrenamiento del modelo. No escriba el nombre de la cuenta ni ningún prefijo de protocolo.

    Por ejemplo, si la ruta de acceso y el nombre completos del contenedor son https://myaccount.blob.core.windows.net/vwmodels, solo debe escribir vwmodels. Para más información sobre los nombres de contenedor, consulte Asignación de nombres y referencia a contenedores, blobs y metadatos.

  4. En el cuadro de texto Argumentos de VW, escriba los argumentos de la línea de comandos para el ejecutable de Vowpal Wabbit.

    Por ejemplo, puede agregar –l para especificar la velocidad de aprendizaje o -b para indicar el número de bits de hash.

    Para más información, consulte la sección de parámetros.

  5. Nombre del archivo VW de entrada: escriba el nombre del archivo que contiene los datos de entrada. El archivo debe ser un archivo existente en Azure Blob Storage, ubicado en la cuenta de almacenamiento y el contenedor especificados anteriormente. El archivo debe estar preparado con uno de los formatos admitidos.

  6. Nombre del archivo de modelo legible de salida (--readable_model): escriba el nombre de un archivo donde se debe guardar el modelo entrenado. El archivo debe guardarse en la misma cuenta de almacenamiento y contenedor que el archivo de entrada.

    Este argumento corresponde al parámetro --readable_model en la línea de comandos de VW.

  7. Nombre del archivo hash invertido de salida (--invert_hash): escriba el nombre del archivo en el que se debe guardar la función hash invertida. El archivo debe guardarse en la misma cuenta de almacenamiento y contenedor que el archivo de entrada.

    Este argumento corresponde al parámetro --invert_hash en la línea de comandos de VW.

  8. Especifique el tipo de archivo: indique qué formato usan los datos de entrenamiento. Vowpal Wabbit admite estos dos formatos de archivo de entrada:

    • VW representa el formato interno usado por Vowpal Wabbit.

    • SVMLight es un formato que usan algunas de las otras herramientas de aprendizaje automático.

  9. Seleccione la opción Usar resultados almacenados en caché si no desea cargar los datos del almacenamiento cada vez que se vuelva a mostrar el experimento. Suponiendo que no haya cambiado ningún otro parámetro y se pueda encontrar una caché válida, Studio (clásico) usa una versión almacenada en caché de los datos.

    Si se deselecciona esta opción, el módulo siempre lee los datos del almacenamiento.

  10. Ejecute el experimento.

  11. Una vez generado el modelo, haga clic con el botón derecho en la salida de Train Vowpal Wabbit Version 7-4 (Entrenar Vowpal Wabbit versión 7-4 ) y seleccione Save as trained model (Guardar como modelo entrenado), para poder volver a usar y volver a entrenar el modelo más adelante.

Reentrenamiento de un modelo de Vowpal Wabbit existente

Vowpal Wabbit admite el entrenamiento incremental al agregar datos nuevos a un modelo existente. Hay dos maneras de obtener un modelo existente para el reentrenamiento:

  • Use la salida de otro módulo Train Vowpal Wabbit Version 7-4 (Entrenar Vowpal Wabbit versión 7-4 ) en el mismo experimento.

  • Busque un modelo guardado en el grupo Modelos entrenados del panel de navegación izquierdo de Studio (clásico) y arrástrelo al experimento.

  1. Agregue el módulo Train Vowpal Wabbit Version 7-4 (Entrenar Vowpal Wabbit versión 7-4 ) al experimento.

  2. Conectar el modelo entrenado previamente en el puerto de entrada de Train Vowpal Wabbit Version 7-4.

  3. En el panel Propiedades de Train Vowpal Wabbit Version 7-4 (Entrenar Vowpal Wabbit versión 7-4), especifique la ubicación y el formato de los nuevos datos de entrenamiento.

  4. Especifique un nombre para el archivo de salida del modelo legible y otro nombre para el archivo hash asociado al modelo actualizado.

    Nota:

    Si hay un modelo de Vowpal Wabbit existente o un archivo hash en la ubicación especificada, el nuevo modelo entrenado sobrescribe los archivos de forma silenciosa. Para conservar los modelos intermedios al volver a entrenar, debe cambiar la ubicación de almacenamiento o realizar una copia local de los archivos del modelo.

  5. Ejecute el experimento.

  6. Haga clic con el botón derecho en el módulo y seleccione Guardar como modelo entrenado para conservar el modelo actualizado en el área Machine Learning trabajo. Si no especifica un nombre nuevo, el modelo actualizado sobrescribe el modelo guardado existente.

Ejemplos

Para obtener ejemplos de cómo se puede usar Vowpal Wabbit en el aprendizaje automático, consulte el Azure AI Gallery:

  • Ejemplo de Vowpal Wabbit

    En este experimento se muestra la preparación, el entrenamiento y la operacionalización de datos de un modelo VW.

Consulte también estos recursos:

Notas técnicas

Esta sección contiene detalles de implementación, sugerencias y respuestas a las preguntas más frecuentes.

Ventajas de Vowpal Wabbit

Vowpal Wabbit proporciona un aprendizaje extremadamente rápido sobre características no lineales como n gramos.

Vowpal Wabbit usa técnicas de aprendizaje en línea, como descenso de gradiente estocástico (SGD), para ajustar un modelo a un registro en cada momento. Por lo tanto, itera muy rápidamente sobre datos sin procesar y puede desarrollar un buen predictor más rápido que la mayoría de otros modelos. Este enfoque también evita tener que leer todos los datos de entrenamiento en la memoria.

Vowpal Wabbit convierte todos los datos en hashes, no solo los datos de texto, sino otras variables de categorías. El uso de hashes hace que la búsqueda de pesos de regresión sea más eficaz, que es fundamental para el descenso de gradiente estocástico.

Durante el entrenamiento, el módulo realiza llamadas a un contenedor de Vowpal Wabbit desarrollado para Azure. Los datos de entrenamiento se descargan en bloques de Azure, utilizando el alto ancho de banda entre los roles de trabajo que ejecutan los cálculos y el almacén, y se transmiten a los aprendices de VW. El modelo resultante suele ser muy compacto debido a la compresión interna realizada por VW. El modelo se copia de nuevo en el área de trabajo del experimento, donde se puede usar como otros modelos en Machine Learning.

Parámetros compatibles y no compatibles

No puede usar los siguientes argumentos de línea de comandos en Machine Learning Studio (clásico).

  • Las opciones de entrada/salida especificadas en https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    El módulo ya configura automáticamente estas propiedades.

  • Tampoco se permite ninguna opción que genere o acepte varias salidas. Estas incluyen --cbt , --lda y --wap .

  • Solo se admiten algoritmos de aprendizaje supervisado. Por lo tanto, no se admiten estas opciones: –active--rank--search, , etc.

Se permiten todos los argumentos distintos de los descritos anteriormente.

Para ver una lista completa de los argumentos, consulte la página wiki de Vowpal Wabbit.

Restricciones

Como el objetivo del servicio es admitir usuarios experimentados de Vowpal Wabbit, los datos de entrada se deben preparar con anterioridad con el formato de texto nativo de Vowpal Wabbit en lugar del formato del conjunto de datos que usan otros módulos.

En lugar de usar datos en el área de trabajo de Azure ML, los datos de entrenamiento se transmiten directamente desde Azure, para obtener un rendimiento máximo y una sobrecarga de análisis mínima. Por esta razón, solo hay interoperabilidad limitada entre los módulos VW y otros módulos de Azure ML.

Parámetros del módulo

Nombre Intervalo Tipo Valor predeterminado Descripción
Nombre de la cuenta de almacenamiento de Azure cualquiera String ninguno Escribir el nombre de la cuenta de almacenamiento de Azure
Claves de Azure Storage cualquiera SecureString ninguno Proporcionar la clave de almacenamiento de Azure
Nombre del contenedor de Azure cualquiera String ninguno Escribir el nombre del contenedor de Azure
Argumentos de VW cualquiera String ninguno Especificar cualquier argumento de Vowpal Wabbit

El argumento – f no se admite.
Nombre del archivo de VW de entrada cualquiera String ninguno Especificar el nombre de un archivo de entrada con el formato de Vowpal Wabbit
Nombre del archivo del modelo legible de salida (--readable_model) cualquiera String Si se especifica, vuelve a generar un modelo legible en el contenedor de Azure.

Este argumento es opcional.
Nombre del archivo hash invertido de salida (--invert_hash) cualquiera String Si se especifica, vuelve a generar un archivo que contiene la función hash invertida en el contenedor de Azure.

Este argumento es opcional.
Especifique el tipo de archivo. VW

SVMLight
DataType VW Indique si el tipo de archivo usa el formato SVMLight o el formato Vowpal Wabbit.

Salidas

Nombre Tipo Descripción
Modelo entrenado Interfaz ILearner Aprendiz entrenado

Excepciones

Excepción Descripción
Error 0001 Se produce una excepción si no se encontraron una o más columnas especificadas del conjunto de datos.
Error 0003 Se produce una excepción si una o varias de las entradas son NULL o están vacías.
Error 0004 Se produce una excepción si el parámetro es menor o igual que el valor especificado.
Error 0017 Se produce una excepción si una o varias columnas especificadas tienen un tipo no compatible con el módulo actual.

Para obtener una lista de errores específicos de los módulos de Studio (clásico), consulte Machine Learning códigos de error.

Para obtener una lista de excepciones de API, consulte Machine Learning códigos de error de la API REST.

Consulte también

Text Analytics
Hash de características
Reconocimiento de entidades con nombre
Puntuación del modelo 7-4 de Vowpal Wabbit
Entrenamiento de Vowpal Wabbit
Lista de módulos A-Z