UiPath Documentation
ixp
latest
false
Guia do usuário do Communications Mining
Importante :
A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Aprendizado baseado em solicitação com Transformers

Configure o aprendizado baseado em prompt com modelos do Transformer para melhorar as tarefas de processamento de linguagem natural no Communications Mining no Automation Cloud.

Os modelos de machine learning do Communications Mining™ usam uma arquitetura chamada Transformer, que, nos últimos anos, alcançou resultados de última geração na maioria das tarefas de processamento de linguagem natural (NLP) comum. A abordagem tem sido pegar um modelo de linguagem do Transformer pré-treinado e ajustá-lo à tarefa de interesse.

Mais recentemente, examinamos o tópico 'prompt' — um grupo promissor de métodos que está ficando cada vez mais popular. Elas envolvem a especificação direta da tarefa em linguagem natural para o modelo de linguagem pré-treinado interpretar e concluir.

Métodos baseados em solicitação têm benefícios potenciais significativos; então, você deve usá-los? Este post vai:

  • Ilustrar a diferença entre o ajuste fino tradicional e os avisos.
  • Explique em detalhes como alguns métodos populares baseados em prompt funcionam.
  • Converse sobre os prós e os contras de métodos baseados em solicitação e forneça nossa recomendação sobre se deve ou não usá-los.

Segundo plano​

Ao longo dos últimos anos, o campo da NLP mudou do uso de incorporações de palavras estáticas pré-treinadas, como word2vec e GloVe, para o uso de grandes modelos de linguagem baseados no Transformer, como BERT e GPT-3.

Esses modelos de idioma são primeiro pré-treinados usando dados não anotados, com o objetivo de poder codificar o significado semântico de sequências de texto (por exemplo, frases/documentos). O objetivo do pré-treinamento é aprender representações que serão úteis de modo geral para qualquer tarefa downstream.

Após o pré-treinamento, o modelo de idioma normalmente é ajustado (ou seja, os parâmetros pré-treinados são treinados posteriormente) para uma tarefa downstream, por exemplo, reconhecimento de intenção, classificação de sentimento, reconhecimento de campo geral nomeado, etc. O processo de ajuste fino requer dados de treinamento anotados, e o modelo é ajustado separadamente para cada tarefa.

Pré-treinamento​

Observação:

Embora os Transformers operem em tokens de subpalavras, este post se refere às palavras como um todo para manter as coisas mais fáceis de entender.

Os Transformers primeiro codificam cada palavra de uma sequência de texto em um vetor de números conhecido como “incorporação”. A camada de incorporação é então seguida por uma sequência de camadas de atenção, que são usadas para construir as representações internas do modelo da sequência. Por fim, há a camada de previsão, cuja função objetivo depende do tipo de pré-treinamento utilizado.

Os Transformers são pré-treinados de maneira não supervisionada. Essa etapa é feita na maioria das vezes usando um de dois tipos de treinamento:

  • Modelagem de idioma mascarado (um exemplo é mostrado na Figura 1)
    • Algumas palavras escolhidas aleatoriamente são removidas da sequência e o modelo é treinado para prever essas palavras que faltam.
  • Previsão da próxima palavra (um exemplo é mostrado na Figura 2)
    • O modelo tem que prever cada palavra na sequência, condicionando aquelas que ocorreram antes dela.

O procedimento de pré-treinamento de modelagem de linguagem mascarado.

O próximo procedimento de pré-treinamento de previsão de palavras.

Ajuste fino​

Depois que o modelo for pré-treinado, ele será ajustado para uma tarefa subsequente e supervisionada (por exemplo reconhecimento de intenção). Isso geralmente envolve pegar a representação na etapa final de uma sequência (ou a média das representações) e passá-la por uma pequena rede feedforward para fazer uma previsão (consulte a Figura 3 para um exemplo).

Na maioria das vezes, os parâmetros do modelo de idioma pré-treinado e do modelo de feedforward são atualizados durante o processo de ajuste fino.

Executando o reconhecimento de intenção ajustando um modelo de idioma pré-treinado.

Aprendizado baseado em solicitação​

Suponha que tenhamos um modelo de linguagem pré-treinado com o qual queremos realizar uma tarefa downstream. Em vez de usar as representações do modelo de idioma como entradas para outro modelo para resolver a tarefa, conforme descrito anteriormente, podemos usar diretamente sua capacidade de modelar linguagem natural fornecendo uma "solicitação" e fazendo com que ela preencha os campos em branco ou conclua a sequência (um exemplo é exibido na Figura 4).

Uso de um prompt de linguagem natural para resolver uma tarefa diretamente usando o modelo de idioma pré-treinado.

Também é possível fornecer exemplos no prompt, para mostrar ao modelo como a tarefa deve ser concluída (verifique a Figura 5 para um exemplo). Isso é conhecido como aprendizado K -shot, onde K se refere ao número de exemplos fornecidos. Isso significa que a Figura 4 é um exemplo de aprendizado de disparo zero.

Fornecer exemplos da tarefa concluída no prompt.

Ao usar prompts, o modelo ainda pode ser ajustado (da mesma forma que descrito anteriormente, mas isso muitas vezes não é necessário, conforme explicado nas seções a seguir.

No restante desta seção, vamos revisar alguns métodos populares baseados em prompt; confira este artigo de pesquisa para uma cobertura mais abrangente.

GPT-3​

GPT-3 é um grande modelo de linguagem baseado em Transformer que é treinado usando o objetivo de previsão da próxima palavra em uma versão filtrada do conjunto de dados Rastreamento Comum. Além de ser conhecido por gerar sequências de texto de notavelmente alta qualidade, o GPT-3 também é usado para executar tarefas supervisionadas nas configurações zero disparos, disparos únicos e poucos disparos (10K100) sem qualquer ajuste fino.

Os autores treinam modelos de diferentes tamanhos, o maior com 175 milhões de parâmetros.

No geral, a GPT-3 obtém bons resultados nas configurações de disparo zero e disparo único. Na configuração de poucas disparos, às vezes ele tem um desempenho melhor do que os modelos de última geração, mesmo que possam ser ajustados em grandes conjuntos de dados anotados. Na grande maioria das tarefas, o desempenho do GPT-3 melhora tanto com o tamanho do modelo quanto com o número de exemplos mostrados no prompt.

No entanto, ele também tem dificuldades com certas tarefas, em particular aquelas que envolvem a comparação de várias sequências de texto. Elas incluem:

  • Inferência em linguagem natural
    • O modelo recebe duas frases e tem que decidir se a segunda implica, contraria ou é neutra em relação à primeira.
  • Compreensão de leitura
    • O modelo recebe um parágrafo e tem que responder a perguntas sobre ele.

Os autores supõem que isso ocorra porque o GPT-3 é treinado para prever a próxima palavra, ou seja, de maneira da esquerda para a direita (em vez de bidirecional).

Treinamento de exploração de padrões​

Para uma determinada tarefa, o Treinamento de Exploração de Padrão (PET) define um conjunto de prompts, cada um com exatamente um token de máscara, que são alimentados para um modelo de idioma que foi pré-treinado com o objetivo de modelagem de idioma mascarado. O processo CT funciona da seguinte forma:

  1. Ajuste um modelo de idioma separado para cada solicitação, criando um conjunto de modelos para a tarefa.
  2. Use esse conjunto de modelos ajustados para gerar rótulos "soft" para um conjunto de pontos de dados não anotados, de uma maneira semelhante à depuração de conhecimento.
  3. Use esses rótulos suaves para ajustar um modelo de idioma final na maneira definida na seção de ajuste fino mencionada anteriormente, ou seja, não usando prompts.

A REM também foi estendida para funcionar com vários tokens de máscara e funciona bem mesmo quando as etapas anteriores, 2 e 3, são ignoradas, ou seja, o conjunto de modelos ajustados da etapa 1 é usado diretamente como o modelo final. Os autores usam o ALBERT como o modelo de linguagem mascarado base e avaliam o POST na configuração de 32 disparos. Na maioria das tarefas no benchmark SuperGLUE, ele supera o GPT-3 enquanto tem apenas 0,1% de parâmetros.

Ajuste de solicitação​

Ao contrário dos métodos que consideramos até agora, o ajuste de prompt não projeta manualmente os prompts que são alimentados para o modelo. Em vez disso, ela usa incorporações adicionais a ser aprendidas que são diretamente anexadas à sequência na camada de incorporação. Efetivamente, isso pula a etapa de escrever os prompts em linguagem natural e, em vez disso, permite que o modelo aprenda o prompt ideal diretamente na camada de incorporação.

A abordagem de ajuste de solicitação (mostrada na Figura 6) é baseada no modelo de linguagem T5 pré-treinado. Isso é semelhante ao Transformer original, que foi projetado para realizar tradução. O modelo T5 tem dois componentes:

  • O codificador mapeia a sequência de entrada para representações vetoriais usando um mecanismo de autoatenção, com as incorporações de solicitação aprendíveis sendo inseridas na primeira camada.
  • O decodificador gera o texto para classificar o exemplo com base nas representações do codificador, novamente usando um mecanismo de atenção.

Classificar se uma frase é ou não linguística aceitável usando ajuste de solicitação.

O modelo é ajustado em um conjunto de dados anotado completo para cada tarefa, mas apenas as incorporações de prompt são atualizadas (o restante do modelo, que contém a grande maioria dos parâmetros, está congelado após o pré-treinamento). O ajuste de prompt supera significativamente o GPT-3 com poucas disparos, e o maior modelo ajustado de prompt corresponde ao desempenho do ajuste fino completo.

Você deve usar métodos baseados em solicitação?​

Vantagens do aprendizado baseado em solicitação

Perspectiva prática

Do ponto de vista prático, a maior vantagem dos métodos baseados em prompt é que eles geralmente funcionam bem com quantidades muito pequenas de dados anotados. Por exemplo, com o GPT-3, é possível alcançar um desempenho de última geração em certas tarefas com apenas um exemplo anotado.

Embora possa ser implícito executar um modelo do tamanho do GPT-3 em muitas configurações, é possível superar o GPT-3 na configuração de poucos disparos com um modelo muito menor usando o método POST.

Perspectiva de modelagem

Do ponto de vista de modelagem, pode-se discutir que o uso de prompts é uma maneira mais natural de aproveitar modelos de idioma pré-treinados para tarefas subsequentes em comparação com o ajuste fino tradicional. Isso ocorre porque, ao usar solicitações, estamos usando o modelo de idioma para gerar o texto que resolve uma tarefa; para isso também foi treinado no procedimento de pré-treinamento.

Em contraste, o ajuste fino tradicional ( Figura 3) pode ser considerado uma maneira menos intuitiva de usar modelos de linguagem para tarefas subsequentes porque usa um modelo separado com uma função objetiva completamente diferente em comparação com o procedimento de pré-treinamento.

Desvantagens do aprendizado baseado em solicitação​

O aprendizado baseado em solicitação pode ter certas desvantagems, como:

  • A alucinação
  • Prompts projetados manualmente
  • Tamanho do prompt limitado
A alucinação

Embora os métodos baseados em prompt sejam muito incrível em poder ter um bom desempenho em tarefas com poucos exemplos anotados, eles também têm certas desvantagems. Em primeiro lugar, os modelos de idioma são propensos a " alucinações", ou seja, eles podem gerar texto sem sentido, tendencioso ou prejudicial. Isso pode tornar esses modelos inutilizáveis em qualquer configuração do mundo real.

É possível restringir o texto gerado por modelos de idioma, mas, dependendo da tarefa, nem sempre é possível especificar um conjunto apropriado de restrições mantendo o desempenho.

Prompts projetados manualmente

Outra desvantagem de muitos desses métodos é que os próprios prompts são projetados à mão. Isso provavelmente não será abaixo do ideal em termos de desempenho, mas a seleção da própria solicitação ideal requer dados de validação anotados.

Para contornar esse problema usando um conjunto de prompts, isso requer o ajuste fino de um modelo de idioma separado para cada prompt. Métodos de prompt "soft" (como ajuste de prompt) não exigem prompts projetados manualmente, mas, em vez disso, exigem conjuntos de dados de treinamento maiores.

Tamanho do prompt limitado

Métodos como o GPT-3, conforme descrito anteriormente, e o recente modelo PaLM , inserem os exemplos anotados como parte do prompt de linguagem natural e não ajustam o próprio modelo de linguagem. Embora isso funcione muito bem no configuração de aprendizado com poucos exemplos, pode ser abaixo do ideal quando há um conjunto maior de exemplos anotados disponível.

Isso ocorre porque apenas um pequeno número de exemplos pode ser inserido no prompt antes que um comprimento máximo de sequência seja atingido; isso limita o modelo a realizar apenas o aprendizado de poucos exemplos.

Resumo​

Neste post, examinamos métodos baseados em solicitação — eles envolvem especificar diretamente a tarefa em linguagem natural para um modelo de linguagem pré-treinado interpretar e concluir.

A solicitação mostra um grande potencial para alcançar um alto desempenho com muito poucos exemplos de treinamento anotados. No entanto, essas técnicas geralmente dependem de prompts projetados manualmente e podem ser propensas a inconsistências, tornando-as inseguros para usar em configurações do mundo real. Portanto, embora esses métodos pareçam promissores, ainda há muita pesquisa a ser feita para torná-los práticos.

No Communications Mining™, estamos pesquisando ativamente tornando métodos de solicitação seguros para uso, fornecendo estimativas de precisão precisas e gerando dados acionáveis estruturados. Os resultados dessa pesquisa serão lançados em breve.

Se quiser experimentar o Communications Mining em sua empresa, inscreva-se para obter uma avaliação ou veja uma demonstração.

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades