Modelo 7-4 do trem Vowpal Wabbit
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).
- Consulte informações sobre projetos de machine learning em movimento de ML Studio (clássico) para Azure Machine Learning.
- Saiba mais sobre Azure Machine Learning.
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-4 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-4 do Train Vowpal Wabbit versão 7-4 no Machine Learning Studio (clássico), para criar um modelo de aprendizagem automática utilizando uma instância de Vowpal Wabbit (versão 7-4).
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-4 do Vowpal Wabbit. Se criar um modelo utilizando este módulo, deve utilizar o módulo de pontuação correspondente: Marcação Vowpal Wabbit 7-4 Modelo.
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 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.
- Preparar dados de entrada num dos formatos necessários
- Treine um novo modelo
- Treina gradualmente um modelo existente
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
Adicione o módulo 7-4 do Trem Vowpal Wabbit à sua experiência.
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
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/vwmodels
completos do recipiente forem, deve escrever apenasvwmodels
. Para obter mais informações sobre os nomes dos contentores, consulte Naming e Referenciar Contentores, Blobs e Metadados.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 .
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.
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.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.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.
SVMLight é um formato usado por outras ferramentas de machine learning.
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.
Execute a experimentação.
Depois de o modelo ter sido gerado, clique à direita na saída da Versão 7-4 do Train Vowpal Wabbit e selecione Save as trained model, 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 7-4 da Train Vowpal Wabbit 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.
Adicione o módulo 7-4 do Trem Vowpal Wabbit à sua experiência.
Ligação o modelo previamente treinado para a porta de entrada da Versão 7-4 do Train Vowpal Wabbit.
No painel de propriedades da versão wabbit 7-4 do Comboio Vowpal, especifique a localização e o formato dos novos dados de formação.
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.
Execute a experimentação.
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:
-
Esta experiência demonstra a prevadação de dados, formação e operacionalização de um modelo VW.
Além disso, consulte estes recursos:
Blog descrevendo a implementação e roteiro do Vowpal Wabbit
https://blogs.technet.com/b/machinelearning/archive/2014/10/02/vowpal-wabbit-modules-in-azureml.aspx
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 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 Machine Learning.
Parâmetros suportados e não suportados
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 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 que leve várias entradas é proibida. Estes incluem
--cbt
,--lda
e--wap
.Apenas algoritmos de aprendizagem supervisionados são suportados. Por conseguinte, estas opções não são apoiadas:
–active
,--rank
etc--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 | nenhum | Digite o nome da conta de armazenamento Azure |
Chave de armazenamento azul | qualquer | SecureString | nenhum | Forneça a chave de armazenamento Azure |
Nome do recipiente Azure | qualquer | String | nenhum | Digite o nome do recipiente Azure |
Argumentos VW | qualquer | String | nenhum | Especifique quaisquer argumentos vowpal Wabbit. O argumento (f não é apoiado. |
Nome do ficheiro VW de entrada | qualquer | String | nenhum | 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
Comboio Vowpal Wabbit
Lista de Módulos A-Z