Modelo Wabbit 7-10 do comboio

Importante

O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.

A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).

A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.

Treina um modelo utilizando a versão 7-10 do sistema de aprendizagem automática Vowpal Wabbit

Categoria: Análise de Texto

Nota

Aplica-se a: Machine Learning Studio (clássico) apenas

Módulos semelhantes de arrasto e queda estão disponíveis em Azure Machine Learning designer.

Visão geral do módulo

Este artigo descreve como usar o módulo 7-10 do Train Vowpal Wabbit versão 7-10 no Machine Learning Studio (clássico), para criar um modelo de aprendizagem automática usando uma instância de Vowpal Wabbit (versão 7-10).

Para utilizar o Vowpal Wabbit para machine learning, formate a sua entrada de acordo com os requisitos do Vowpal Wabbit e guarde os dados numa bolha Azure. Utilize este módulo para especificar os argumentos da linha de comando Vowpal Wabbit.

Quando a experiência é executada, um exemplo de Vowpal Wabbit é carregado no tempo de execução da experiência, juntamente com os dados especificados. Quando o treino está completo, o modelo é serializado de volta ao espaço de trabalho. Pode utilizar o modelo imediatamente para obter dados. O modelo treinado também é persistido no armazenamento do Azure para que possa usá-lo mais tarde sem ter que reprocessar os dados de treino.

Para formar gradualmente um modelo existente em novos dados, ligue um modelo guardado à entrada do modelo pré-treinado e adicione os novos dados à outra entrada.

Nota

Machine Learning Studio (clássico) acolhe várias versões da estrutura Vowpal Wabbit. Este módulo utiliza a versão 7-10 da estrutura Vowpal Wabbit.

Se precisar de construir ou marcar um modelo com base numa versão anterior (7-4 ou 7-6), utilize estes módulos: Train Vowpal Wabbit 7-4 Model e Score Vowpal Wabbit 7-4 Model.

Para a versão mais recente, utilize o Modelo 6 6 da Versão Wabbit do Comboio, juntamente com o seu módulo de pontuação, o Modelo Score Vowpal Wabbit 8.

O que é Vowpal Wabbit?

Vowpal Wabbit (VW) é uma estrutura de aprendizagem automática rápida e paralela que foi desenvolvida para computação distribuída pela Yahoo! A pesquisa. Mais tarde foi Windows e adaptado por John Langford (Microsoft Research) para computação científica em arquiteturas paralelas.

Características do Vowpal Wabbit que são importantes para o machine learning incluem aprendizagem contínua (aprendizagem on-line), redução de dimensionalidade e aprendizagem interativa. O Vowpal Wabbit também é uma solução para problemas quando não é possível encaixar os dados do modelo na memória.

Os principais utilizadores do Vowpal Wabbit em Machine Learning são cientistas de dados que já usaram o quadro para tarefas de aprendizagem automática como classificação, regressão, modelação de tópicos ou factorização de matriz. O invólucro Azure para Vowpal Wabbit tem características de desempenho muito semelhantes à versão no local, o que significa que os utilizadores podem continuar a construir modelos, retreinar e pontuar usando as funcionalidades poderosas e desempenho nativo da Vowpal Wabbit, ao mesmo tempo que ganham a capacidade de publicar facilmente o modelo treinado como um serviço operacionalizado.

O módulo Hashing de Funcionalidade também inclui a funcionalidade disponibilizada pelo Vowpal Wabbit, que lhe permite transformar os conjuntos de dados de texto em funcionalidades binárias com um algoritmo de hashing.

Como configurar o Modelo 7-10 do Vowpal Wabbit

Esta secção descreve como treinar um novo modelo e como adicionar novos dados a um modelo existente.

Ao contrário de outros módulos em Studio (clássico), este módulo especifica os parâmetros do módulo e treina o modelo. Se tiver um modelo existente, pode adicioná-lo como uma entrada opcional, para treinar incrementalmente o modelo.

A utilização deste módulo requer autenticação numa conta de armazenamento Azure.

Preparar os dados de entrada

Para treinar um modelo utilizando este módulo, o conjunto de dados de entrada deve ser composto por uma única coluna de texto num dos dois formatos suportados: LibSVM ou VW.

Isto não significa que o Vowpal Wabbit analise apenas os dados de texto, apenas que as funcionalidades e valores devem ser preparados no formato de ficheiro de texto necessário.

Os dados devem ser lidos a partir do armazenamento da Azure. Não é possível utilizar dados de exportação para guardar diretamente o ficheiro de entrada para a Azure para utilização com o Vowpal Wabbit, porque o formato requer alguma modificação adicional. Tem de garantir que os dados estão no formato correto e, em seguida, fazer o upload dos dados para o armazenamento do blob Azure.

No entanto, como atalho, pode utilizar o módulo Converte para SVMLight para gerar um ficheiro de formato SVMLight. Em seguida, pode fazer o upload do ficheiro de formato SVMLight para o armazenamento do blob Azure e usá-lo como entrada, ou pode modificar ligeiramente o ficheiro de acordo com os requisitos do ficheiro de entrada Vowpal Wabbit.

O formato de dados Vowpal Wabbit tem a vantagem de não necessitar de um formato colunar, que economize espaço ao lidar com dados escassos. Para obter mais informações sobre este formato, consulte a página wiki Vowpal Wabbit.

Criar e treinar um modelo Vowpal Wabbit

  1. Adicione o módulo 7-10 do Train Vowpal Wabbit à sua experiência.

  2. Especifique a conta onde os dados de formação são armazenados. O modelo treinado e o ficheiro de hashing são armazenados no mesmo local.

    • Para o nome da conta de armazenamento Azure, digite o nome da conta de armazenamento Azure.

    • Para a chave de armazenamento Azure, copie e cole a chave que é fornecida para aceder à conta de armazenamento,

    Se não tiver uma chave, veja como regenerar as chaves de acesso ao armazenamento

  3. Para o nome do recipiente Azure, digite o nome de um único recipiente na conta de armazenamento Azure especificada onde os dados de formação do modelo são armazenados. Não digite o nome da conta ou qualquer prefixo de protocolo.

    Por exemplo, se o caminho e o nome https://myaccount.blob.core.windows.net/vwmodelscompletos do recipiente forem, deve escrever apenas vwmodels. Para obter mais informações sobre os nomes dos contentores, consulte Naming e Referenciar Contentores, Blobs e Metadados.

  4. Na caixa de texto de argumentos VW , digite os argumentos da linha de comando para o Vowpal Wabbit executável.

    Por exemplo, pode adicionar –l para especificar o ritmo de aprendizagem ou -b para indicar o número de bits de hashing.

    Para mais informações, consulte a secção de parâmetros .

  5. Nome do ficheiro VW de entrada: Digite o nome do ficheiro que contém os dados de entrada. O ficheiro deve ser um ficheiro existente no armazenamento de blob Azure, localizado na conta de armazenamento e no recipiente previamente especificados. O ficheiro deve ter sido preparado utilizando um dos formatos suportados.

  6. Nome do ficheiro do modelo legível de saída (--readable_model) : Digite o nome de um ficheiro onde o modelo treinado deve ser guardado. O ficheiro deve ser guardado na mesma conta de armazenamento e no mesmo recipiente que o ficheiro de entrada.

    Este argumento corresponde ao --readable_model parâmetro da linha de comando VW.

  7. Nome do ficheiro de hash invertido de saída (-invert_hash): Digite o nome do ficheiro no qual deve ser guardada a função de hashing invertida. O ficheiro deve ser guardado na mesma conta de armazenamento e no mesmo recipiente que o ficheiro de entrada.

    Este argumento corresponde ao --invert_hash parâmetro da linha de comando VW.

  8. Por favor, especifique o tipo de ficheiro: Indique qual o formato que os seus dados de treino utilizam. A Vowpal Wabbit suporta estes dois formatos de ficheiro de entrada:

    • A VW representa o formato interno utilizado pela Vowpal Wabbit . Consulte a página wiki vowpal Wabbit para obter mais detalhes.

    • SVMLight é um formato usado por outras ferramentas de machine learning.

  9. Selecione a opção, Use os resultados em cache, se não quiser carregar os dados do armazenamento sempre que a experiência for re-reun. Assumindo que nenhum outro parâmetro mudou e uma cache válida pode ser encontrada, o Studio (clássico) utiliza uma versão em cache dos dados.

    Se esta opção for desmarcada, o módulo lê sempre os dados do armazenamento.

  10. Execute a experimentação.

  11. Depois de gerado o modelo, clique com o botão direito na saída e selecione Save como modelo treinado, para que possa reutilizar e treinar o modelo mais tarde.

Retreinar um modelo Vowpal Wabbit existente

A Vowpal Wabbit suporta a formação incremental adicionando novos dados a um modelo existente. Há duas formas de obter um modelo existente de reconversão:

  • Utilize a saída de outro módulo Train Vowpal Wabbit Versão 8 na mesma experiência.

  • Localize um modelo guardado no grupo De Modelos Treinados em Studio (clássico) e arraste-o para a sua experiência.

  1. Adicione o módulo Train Vowpal Wabbit Versão 8 à sua experiência.

  2. Ligação o modelo previamente treinado para a porta de entrada do Comboio Vowpal Wabbit Versão 8:

  3. No painel de propriedades do Comboio Vowpal Wabbit Versão 8, especifique a localização e o formato dos novos dados de formação.

  4. Especifique um nome para o ficheiro de saída do modelo legível pelo homem e outro nome para o ficheiro de hash associado ao modelo atualizado.

    Nota

    Se houver um modelo vowpal wabbit existente ou um ficheiro de hash no local especificado, os ficheiros são substituídos silenciosamente pelo novo modelo treinado. Para preservar os modelos intermédios durante a reconversão, tem de alterar o local de armazenamento ou fazer uma cópia local dos ficheiros do modelo.

  5. Execute a experimentação.

  6. Clique com o botão direito no módulo e selecione Save as TrainEd Model para preservar o modelo atualizado no seu espaço de trabalho Machine Learning. Se não especificar um novo nome, o modelo atualizado substitui o modelo guardado existente.

Exemplos

Por exemplo, como o Vowpal Wabbit pode ser usado na aprendizagem automática, consulte a Galeria Azure AI:

  • Amostra de Wabbit Vowpal

    Esta experiência demonstra a preparação, formação e operacionalização de dados de um modelo VW.

Além disso, consulte estes recursos:

Notas técnicas

Esta secção contém detalhes de implementação, dicas e respostas a perguntas frequentes.

Vantagens do Vowpal Wabbit

Vowpal Wabbit proporciona uma aprendizagem extremamente rápida sobre características não lineares como n-gramas.

A Vowpal Wabbit utiliza técnicas de aprendizagem online , como a descida do gradiente estocástico (SGD) para encaixar num modelo um registo de cada vez. Assim, itera muito rapidamente sobre dados brutos e pode desenvolver um bom previsão mais rápido do que a maioria dos outros modelos. Esta abordagem também evita ter que ler todos os dados de treino na memória.

O Vowpal Wabbit converte todos os dados em hashes, não só dados de texto, mas também outras variáveis categóricas. Utilizar hashes torna a procura de pesos de regressão mais eficiente, o que é crítico para um gradiente descendente estocástico eficaz.

Durante o treino, o módulo faz chamadas para um invólucro Vowpal Wabbit desenvolvido para a Azure. Os dados de formação são descarregados em blocos a partir de Azure, utilizando a largura de banda elevada entre a loja e as funções de trabalhador que executam os cálculos, e é transmitido para os alunos vw. O modelo resultante é geralmente muito compacto devido à compressão interna feita pela VW. O modelo é copiado de volta para o espaço de trabalho da experiência onde pode ser utilizado como outros modelos em Machine Learning.

Parâmetros suportados e não suportados

Esta secção descreve o suporte para parâmetros da linha de comando Vowpal Wabbit no Machine Learning Studio (clássico).

Não é possível utilizar os seguintes argumentos de linha de comando no Machine Learning Studio (clássico).

  • As opções de entrada/saída especificadas no Wiki Vowpal Wabbit - argumentos de linha de comando

    Estas propriedades são configuradas automaticamente pelo módulo.

  • Qualquer opção que gere várias saídas ou que leve múltiplas entradas é proibida. Incluem-se:

    --cbt, --lda, --wap

  • Apenas algoritmos de aprendizagem supervisionados são suportados. Por conseguinte, opções como estas não são apoiadas:

    –active, --rank, --search

Todos os argumentos que não os acima descritos são permitidos.

Para obter uma lista completa de argumentos, utilize a página wiki Vowpal Wabbit.

Restrições

Uma vez que o objetivo do serviço é apoiar utilizadores experientes da Vowpal Wabbit, os dados de entrada devem ser preparados com antecedência utilizando o formato de texto nativo Vowpal Wabbit, em vez do formato de conjunto de dados utilizado por outros módulos.

Em vez de utilizar dados no espaço de trabalho Azure ML, os dados de formação são transmitidos diretamente a partir de Azure, para desempenho máximo e uma cobertura mínima de análise. Por esta razão, existe apenas uma interoperabilidade limitada entre os módulos VW e outros módulos em Azure ML.

Parâmetros do módulo

Nome Intervalo Tipo Predefinição Description
Nome da conta de armazenamento do Azure qualquer String Digite o nome da conta de armazenamento Azure
Chave de armazenamento azul qualquer SecureString Forneça a chave de armazenamento Azure
Nome do recipiente Azure qualquer String Digite o nome do recipiente Azure
Argumentos VW qualquer String Especifique quaisquer argumentos vowpal Wabbit.

O argumento (f não é apoiado.
Nome do ficheiro VW de entrada qualquer String Especificar o nome de um ficheiro de entrada no formato Vowpal Wabbit
Nome do modelo legível de saída (-readable_model) qualquer String Se especificado, de saídas de um modelo legível de volta ao recipiente Azure.

Este argumento é opcional.
Nome do ficheiro de hash invertido (-invert_hash) qualquer String Se especificado, produz um ficheiro que contenha a função de hash invertido de volta ao recipiente Azure.

Este argumento é opcional.
Por favor, especifique o tipo de ficheiro VW

SVMLight
DataType VW Indique se o tipo de ficheiro utiliza o formato SVMLight ou o formato Vowpal Wabbit.

Saídas

Nome Tipo Description
Modelo treinado Interface ILearner Aprendiz treinado

Exceções

Exceção Description
Erro 0001 A exceção ocorre se uma ou mais colunas especificadas de conjunto de dados não puderem ser encontradas.
Erro 0003 A exceção ocorre se uma ou mais entradas forem nulas ou vazias.
Erro 0004 A exceção ocorre se o parâmetro for inferior ou igual ao valor específico.
Erro 0017 A exceção ocorre se uma ou mais colunas especificadas tiverem o tipo não suportado pelo módulo atual.

Para obter uma lista de erros específicos dos módulos Studio (clássicos), consulte Machine Learning Códigos de Erro.

Para obter uma lista de exceções da API, consulte Machine Learning CÓDIGOs de Erro da API REST.

Ver também

Análise de Texto
Hashing de Funcionalidade
Reconhecimento de Entidades Nomeadas
Pontuação Vowpal Wabbit 7-4 Modelo
Pontuação Vowpal Wabbit 7-10 Modelo
Modelo Wabbit 7-4 do comboio
Lista de Módulos A-Z