Acelerando a PNL com BERT: resultados de classe mundial com 100x menos dados
Existem duas dificuldades principais ao construir modelos de classificação de processamento de linguagem natural de aprendizagem profunda (PNL).
as estratégias de preços atuam como guias para atingir os objetivos de preços.
Nossa capacidade de construir modelos complexos de aprendizagem profunda que são capazes de compreender a complexidade da linguagem normalmente requer anos de experiência nesses domínios. Quanto mais difícil é o problema, mais diversificado é o resultado, mais tempo você precisa gastar em cada uma dessas etapas.
A coleta de dados é trabalhosa, demorada, cara e é o principal fator limitante para projetos de PNL bem-sucedidos. Preparar dados, construir pipelines resilientes, fazer escolhas entre centenas de opções de preparação em potencial e ficar 'pronto para o modelo' pode facilmente levar meses de esforço, mesmo com engenheiros de aprendizado de máquina talentosos . Por fim, o treinamento e a otimização de modelos de aprendizado profundo exigem uma combinação de compreensão intuitiva, conhecimento técnico e capacidade de resolver um problema.
Neste artigo, vamos cobrir
Naturalmente, a otimização desse processo começou com precisão crescente. As redes LSTM (memória de longo prazo) revolucionaram muitas tarefas de PNL, mas eram (e são) incrivelmente ávidas por dados. Otimizar e treinar esses modelos pode levar dias ou semanas em máquinas grandes e caras. Finalmente, implantar esses modelos grandes na produção é caro e complicado.
Para reduzir esses fatores de criação de complexidade, o campo da visão computacional há muito faz uso da aprendizagem por transferência. A aprendizagem por transferência é a capacidade de usar um modelo treinado para uma tarefa diferente, mas semelhante, para acelerar sua solução em uma nova. É preciso muito menos esforço para treinar novamente um modelo que já pode categorizar árvores do que treinar um novo modelo para reconhecer arbustos do zero.
Imagine um cenário onde alguém nunca tinha visto um arbusto, mas tinha visto muitas árvores em sua vida. Você achará muito mais fácil explicar a eles como é um arbusto em termos do que eles sabem sobre árvores, em vez de descrever um arbusto do zero. A aprendizagem por transferência é uma forma muito humana de aprender, por isso faz sentido intuitivamente que funcione em tarefas de aprendizagem profunda.
BERT significa que você precisa de menos dados, menos tempo de treinamento e obtém mais valor comercial. A qualidade dos produtos de PNL que qualquer empresa pode desenvolver tornou-se de classe mundial.
O BERT faz uso dos chamados transformadores e é projetado para produzir codificações de frases. Essencialmente, o BERT é um modelo de linguagem baseado em um modelo específico de aprendizado profundo. É construído com o propósito de fornecer uma representação contextual e numérica de uma frase ou sequência de frases. Essa representação digital é a entrada para um modelo superficial e descomplicado. Não só isso, mas os resultados são geralmente superiores e requerem uma fração dos dados de entrada para uma tarefa que ainda não foi resolvida.
Imagine poder passar um dia coletando dados em vez de um ano e ser capaz de construir modelos em torno de conjuntos de dados que, de outra forma, nunca teria dados suficientes para criar um modelo LSTM. O número de tarefas de PNL que seriam abertas para uma empresa que, antes, não podia pagar o tempo de desenvolvimento e os conhecimentos necessários é impressionante.
Na PNL tradicional, o ponto de partida para o treinamento de modelos são os vetores de palavras. Os vetores de palavras são uma lista de números [0,55, 0,24, 0,90, ...] que tentam representar numericamente o que essa palavra significa. Com uma representação numérica, podemos usar essas palavras no treinamento de modelos complexos e, com grandes vetores de palavras, podemos incorporar informações sobre palavras em nossos modelos.
O BERT faz algo semelhante (na verdade, seu ponto de partida são vetores de palavras), mas cria uma representação numérica de uma frase de entrada inteira (ou frases).
Comparado aos modelos LSTM, o BERT faz muitas coisas de maneira diferente.
A convergência é lenta e o BERT leva muito tempo para treinar. No entanto, ele aprende as relações contextuais no texto muito melhor. Os vetores de palavras são representações muito rasas que limitam a complexidade que podem modelar - o BERT não tem essa limitação.
A maioria das empresas pode usar os modelos pré-treinados que utilizavam várias GPUs e levavam dias para treinar para sua aplicação. Existem poucos casos em que os modelos de BERT existentes não podem ser usados no local ou ajustados para um caso de uso específico. O BERT permite que uma equipe acelere as soluções em dez vezes. Pode-se mover para identificar uma solução de negócios, para construir uma prova de conceito e, finalmente, mover esse conceito para a produção em uma fração do tempo.
Como este artigo se concentra na aplicação de negócios e engenharia para a construção de um produto real, criaremos e treinaremos dois modelos para entender melhor o valor comparativo.
A tarefa? Prever a origem dos filmes com base no enredo do IMDB. Nosso conjunto de dados cobre filmes americanos, australianos, britânicos, canadenses, japoneses, chineses, sul-coreanos e russos, além de dezesseis outros filmes para um total de 24 origens. Temos pouco menos de 35.000 exemplos de treinamento no total.
Aqui está um trecho de exemplo de um gráfico.
Milhares de anos atrás, Steppenwolf e suas legiões de Parademons tentaram dominar a Terra com as energias combinadas de três Mother Boxes. Eles são derrotados por um exército unificado que inclui os Deuses do Olimpo, Amazonas, Atlantes, a humanidade e o Corpo dos Lanternas Verdes. Depois de repelir o exército de Steppenwolf, as Caixas-mães são separadas e escondidas em locais do planeta. No presente, a humanidade está de luto pelo Superman, cuja morte ativa as Caixas Mãe para reativar e o retorno do Lobo da Estepe à Terra em um esforço para recuperar o favor de seu mestre, Darkseid. Steppenwolf tem como objetivo reunir os artefatos para formar 'The Unity', que irá destruir a ecologia da Terra e terraformá-la na imagem de ...
Se você não tivesse adivinhado, essa é a trama da Liga da Justiça - um filme americano.
Treinamos um conjunto diversificado de parâmetros para entender como os resultados responderam a quantidades variáveis de dados e tamanhos de modelo. Como dissemos, o valor agregado mais significativo do BERT é a necessidade de muito menos dados.
Para o modelo LSTM, treinamos o maior modelo que podíamos em nossa GPU e variamos o tamanho do vocabulário e o comprimento da palavra para encontrar o modelo de melhor desempenho. Para o modelo BERT, não tínhamos nada mais do que uma única camada.
Corrigimos nosso conjunto de teste em todas essas amostras, portanto, estamos pontuando consistentemente o mesmo conjunto de treinamento.
Nesta tarefa, o modelo treinado usando codificações de sentenças de BERT atinge um impressionante escore F1 de 0,84 após apenas 1000 amostras. A rede LSTM nunca excede 0,60. Ainda mais impressionante, treinar os modelos de BERT demorou em média 1/20 do tempo do que preparar os modelos LSTM.
leis gestálticas da percepção visual
Por qualquer métrica, esses resultados apontam para uma revolução na PNL. Usando 100x menos dados e 20x menos tempo de treinamento, alcançamos resultados de classe mundial. A capacidade de treinar modelos de alta qualidade em segundos ou minutos, em vez de horas ou dias, abre a PNL em áreas onde antes não era possível.
O BERT tem muito mais usos do que este neste post. Existem modelos multilíngues. Ele pode ser usado para resolver muitas tarefas diferentes de PNL, individualmente como neste post ou simultaneamente usando várias saídas. As codificações de frases de BERT estão definidas para se tornarem a pedra angular de muitos projetos de PNL futuros.
O código por trás desta postagem está disponível em Github . Eu também incentivo os leitores a verificar Bert-as-a-service , que foi a pedra angular da construção das codificações de frases de BERT para este post.
Relacionado: Obtendo o máximo dos modelos pré-treinadosO aprendizado por transferência é um método de aprendizado de máquina em que um modelo é criado e treinado em uma tarefa que é usado como ponto de partida. É um método de aprendizado de máquina em que um modelo desenvolvido para uma tarefa é usado como o ponto de partida para um problema semelhante relacionado (por exemplo, classificação de PNL para reconhecimento de entidade nomeada).
BERT é um modelo poderoso de aprendizado profundo desenvolvido pelo Google com base na arquitetura do transformador. O BERT mostrou resultados de última geração e várias das tarefas de PNL mais comuns e pode ser usado como ponto de partida para a construção de modelos de PNL em muitos domínios.
O BERT abstrai alguns dos aspectos mais complicados e demorados da construção de uma PNL e as evidências mostram que o BERT pode ser usado para reduzir a quantidade de dados necessária para treinar um modelo de alto desempenho em mais de 90%. O BERT também reduz a complexidade da produção, o tempo de desenvolvimento e aumenta a precisão.
O melhor lugar para começar com o BERT é familiarizando-se com o Bert-as-a-service. O código por trás desta postagem está disponível no Github e também pode ser usado para iniciar um novo projeto de PNL.