Modelo de Wabbit 5 5 do comboio

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

Categoria: Análise de Texto

Nota

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

Este conteúdo diz respeito apenas ao Studio (clássico). Módulos semelhantes de arrasto e queda foram adicionados ao designer de Aprendizagem automática Azure. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como usar o módulo Train Vowpal Wabbit Version 8 no Azure Machine Learning Studio (clássico), para criar um modelo de aprendizagem automática utilizando o Vowpal Wabbit (versão 8).

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

O Azure Machine Learning Studio (clássico) acolhe várias versões da estrutura Vowpal Wabbit. Este módulo utiliza a versão mais recente da estrutura Vowpal Wabbit, que é a versão 8. Para obter novos dados de entrada, tem de utilizar o Modelo 8 da Versão Wabbit Wabbit Score Vowpal.

Versões Vowpal Wabbit 7-4 ou 7-6: Comboio Vowpal Wabbit 7-4 Modelo e Marca Vowpal Wabbit 7-4 Modelo.

Versão Wabbit Vowpal 7-10: Modelo Vowpal Wabbit 7-10 e Marca Vowpal Wabbit 7-10 Modelo.

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 portador do 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 são cientistas de dados que já usaram o quadro para tarefas de aprendizagem automática, tais 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, para que possa utilizar as funcionalidades poderosas e desempenho nativo da Vowpal Wabbit, e facilmente publicar o modelo treinado como um serviço operacionalizado.

O módulo hashing de recurso também inclui a funcionalidade fornecida pela Vowpal Wabbit, que permite transformar conjuntos de dados de texto em funcionalidades binárias usando um algoritmo de hashing.

Como configurar o Modelo Vowpal Wabbit Versão 8

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 formar 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 de 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 Train Vowpal Wabbit Versão 8 à sua experiência.

  2. Especifique a conta onde os dados de formação são armazenados. O modelo treinado e o ficheiro de hashing estã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, escreva 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 completos do recipiente https://myaccount.blob.core.windows.net/vwmodels forem, deve escrever apenas vwmodels . Para obter mais informações sobre os nomes dos contentores, consulte Naming e Referenciar Contentores, Bolhas 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 a taxa de aprendizagem, ou -b para indicar o número de bits de hashing.

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

  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): Escreva 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 haxixe invertido de saída (--invert_hash): Digite o nome do ficheiro no qual a função de hashing invertida deve ser guardada. 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 do Vowpal Wabbit para obter mais detalhes.

    • SVMLight é um formato utilizado por outras ferramentas de aprendizagem automática.

  9. Selecione a opção, Utilize 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. Quando o treino estiver completo, clique com o botão direito na saída e selecione Save as Training Model para guardar o modelo para o seu espaço de trabalho (clássico).

Retreine 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 reciclagem:

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

  • Localize um modelo guardado no grupo de Modelos Treinados do Painel de Navegação Esquerda do 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. Ligue o modelo previamente treinado à porta de entrada da Versão Wabbit 8do Comboio Vowpal .

  3. No painel de propriedades do Trem 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 haxixe associado ao modelo atualizado.

    Nota

    Se houver um modelo vowpal wabbit existente ou um ficheiro de haxixe 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 de Aprendizagem de Máquinas Azure. 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 prevadação de dados, formação e operacionalização 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 on-line como a descida do gradiente estocástico (SGD) para encaixar num modelo um recorde de cada vez. Assim, itera muito rapidamente sobre dados brutos e pode desenvolver um bom preditor 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.

Vowpal Wabbit converte todos os dados em hashes, não apenas dados de texto, mas outras variáveis categóricas. A utilização de hashes torna a procura de pesos de regressão mais eficientes, o que é fundamental para uma descida eficaz do gradiente estocástico.

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 as funções de trabalhador que executam os cálculos e a loja, 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 Azure 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 Azure Machine Learning Studio (clássico).

Geralmente, todos, menos um conjunto limitado de argumentos são apoiados. Para obter uma lista completa de argumentos, utilize a página wiki Vowpal Wabbit.

Os seguintes parâmetros não são suppportados:

  • As opções de entrada/saída especificadas em https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    Estas propriedades já estão configuradas automaticamente pelo módulo.

  • Além disso, qualquer opção que gere várias saídas ou tome várias entradas é proibida. Estes incluem --cbt --lda , e --wap .

  • Apenas os algoritmos de aprendizagem supervisionados são suportados. Por conseguinte, estas opções não são apoiadas: –active --rank , --search etc. ### Restrições

Restrições

Uma vez que o objetivo do serviço é apoiar utilizadores experientes do 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 análise mínima. 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 Opcional Predefinição Descrição
Por favor, especifique o tipo de ficheiro VW

SVMLight
DataType Necessário VW Indique se o tipo de ficheiro é SVMLight ou Vowpal Wabbit.
Nome da conta de armazenamento do Azure qualquer String Necessário Digite o nome da conta de armazenamento Azure
Chave de armazenamento azul qualquer SecureString Necessário Forneça a chave de armazenamento Azure
Nome do recipiente azul qualquer String Necessário Digite o nome do recipiente Azure
Argumentos VW qualquer String Opcional Especifique quaisquer argumentos vowpal Wabbit. Não inclua -f.
Nome do ficheiro VW de entrada qualquer String Necessário Especificar o nome de um ficheiro de entrada no formato Vowpal Wabbit
Nome do ficheiro do modelo legível de saída (-readable_model) qualquer String Opcional Se especificado, de saídas de um modelo legível de volta ao recipiente Azure.
Nome do ficheiro de haxixe invertido (-invert_hash) Cadeia Cadeia Opcional Se especificado, produz um ficheiro que contenha a função de haxixe invertido de volta ao recipiente Azure.

Saídas

Nome Tipo Descrição
Modelo treinado Interface ILearner Aprendiz treinado

Exceções

Exceção Descrição
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 códigos de erro de aprendizagem automática.

Para obter uma lista de exceções da API, consulte códigos de erro da API de aprendizagem automática.

Ver também

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