notícias

Para onde foi o famoso BERT?A resposta a esta pergunta sinaliza uma mudança de paradigma no LLM

2024-07-22

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Para onde foi o modelo do codificador? Se o BERT funciona bem, por que não estendê-lo? E quanto aos modelos codificador-decodificador ou somente codificador?



No campo dos grandes modelos de linguagem (LLM), agora é uma era em que apenas os modelos de decodificadores (como a série de modelos GPT) dominam. E quanto ao desenvolvimento de modelos codificador-decodificador ou somente codificador? Por que o BERT, que já foi tão famoso, está cada vez menos prestando atenção nele?

Recentemente, Yi Tay, cientista-chefe e cofundador da startup de IA Reka, publicou uma postagem no blog para compartilhar suas opiniões. Yi Tay trabalhou no Google Research e no Google Brain por mais de três anos antes de cofundar a Reka e participou do desenvolvimento de LLMs famosos como PaLM, UL2, Flan-2 e Bard, bem como modelos multimodais como como PaLI-X e ViT-22B funcionam. A seguir está o conteúdo de sua postagem no blog.



Introdução básica

De um modo geral, a arquitetura do modelo LLM nos últimos anos está dividida principalmente em três paradigmas principais: modelo somente codificador (como BERT), modelo codificador-decodificador (como T5) e modelo somente decodificador (como série GPT modelos). As pessoas muitas vezes ficam confusas e entendem mal esses métodos e estruturas de classificação.

A primeira coisa a entender é que o modelo codificador-decodificador é na verdade um modelo autorregressivo. No modelo codificador-decodificador, o decodificador ainda é essencialmente um decodificador causal. Em vez de preencher previamente o modelo do decodificador, ele descarrega algum texto para o codificador e depois o envia para o decodificador por meio de atenção cruzada. Sim, o modelo T5 também é um modelo de linguagem!

Uma variante desse tipo de modelo é o Prefix Language Model, ou PrefixLM, para abreviar, que funciona quase da mesma maneira, mas sem atenção cruzada (e outros pequenos detalhes, como pesos compartilhados entre codificador/decodificador e Sem gargalo do codificador). PrefixLM às vezes é chamado de decodificador não causal. Simplificando, não há muita diferença geral entre os modelos codificador-decodificador, somente decodificador e PrefixLM!

Na excelente palestra recente de Hyung Won, ele explica habilmente a relação entre esses modelos. Para obter detalhes, consulte o relatório da Machine Heart: "Qual será a principal força motriz para a pesquisa em IA?" Cientista de pesquisa da equipe ChatGPT: Custo de computação diminui》

Ao mesmo tempo, o método de eliminação de ruído de modelos somente de codificador como o BERT é diferente (ou seja, no local) e, até certo ponto, para que o modelo somente de codificador realmente desempenhe um papel após o pré-treinamento, ele precisa; confiar no cabeçalho "tarefa" da classificação. Mais tarde, modelos como o T5 adotaram uma versão "modificada" do alvo de eliminação de ruído, que usava um formato sequência a sequência.

Para tanto, é importante ressaltar: a remoção de ruído em T5 não é uma nova função objetivo (no sentido de aprendizado de máquina), mas uma transformação de dados entre entradas, ou seja, você também pode usar um decodificador causal treinado em objetivos corrompidos ( span corrupt objetivo).

As pessoas sempre presumem que os modelos codificador-decodificador devem ser modelos de eliminação de ruído, em parte porque o T5 é muito representativo. Mas nem sempre é esse o caso. Você pode treinar o codificador-decodificador usando tarefas regulares de modelagem de linguagem (como modelagem de linguagem causal). Por sua vez, os decodificadores causais também podem ser treinados usando tarefas de corrupção de extensão. Como eu disse antes, esta é basicamente uma transformação de dados.

Outro ponto digno de nota: em geral, um codificador-decodificador com 2N parâmetros é computacionalmente igual a um modelo somente decodificador com N parâmetros, portanto, sua proporção de FLOPs em relação ao número de parâmetros é diferente. É como distribuir a "dispersidade do modelo" entre a entrada e o destino.

Isso não é novidade e não fui eu que inventei isso. Estava no artigo T5 em 2019, e o artigo UL2 também enfatizou este ponto novamente.

Por enquanto, estou feliz por poder deixar isso claro. Agora, para gols.

Em relação aos objetivos de remoção de ruído (não funciona? Não é escalável? Ou é muito fácil?)

O alvo de eliminação de ruído aqui se refere a qualquer variante da tarefa de "dano de extensão". Isso às vezes é chamado de "preencher" ou "preencher os espaços em branco". Há muitas maneiras de expressá-lo, como comprimento do intervalo, aleatoriedade, token sentinela, etc. Você deve ter entendido a chave.

Embora o objetivo de eliminação de ruído dos modelos estilo BERT esteja basicamente estabelecido (por exemplo, o cabeçote de classificação está no token de máscara), o "estilo T5" é mais moderno, ou seja, por meio de um codificador-decodificador ou apenas um decodificador modelo para lidar com a transformação de dados. Nessa transformação de dados, os tokens mascarados são simplesmente “movidos para trás” para que o modelo possa fazer previsões.

O principal objetivo da pré-formação é construir representações internas que estejam alinhadas com a tarefa a jusante da forma mais eficiente e eficaz possível. Quanto melhor for essa representação interna, mais fácil será usar essas representações aprendidas para tarefas subsequentes. Todos nós sabemos que a simples previsão da próxima palavra funciona extremamente bem para o objetivo de "modelagem de linguagem causal" e se tornou o núcleo da revolução LLM. A questão agora é se o alvo de eliminação de ruído é igualmente bom.

Com base em informações públicas, sabemos que o T5-11B funciona muito bem, mesmo após alinhamento e ajuste fino supervisionado (a pontuação MMLU do Flan-T5 XXL é 55+, o que era muito bom para um modelo deste tamanho na época) . Portanto, podemos concluir que o processo de transferência de alvos de eliminação de ruído (pré-treinamento → alinhamento) funciona relativamente bem nesta escala.

Minha opinião é que o alvo de eliminação de ruído funciona bem, mas não o suficiente para ser um alvo por si só. Uma enorme desvantagem decorre da chamada menor “exposição a perdas”. No alvo de eliminação de ruído, apenas um pequeno número de tokens é mascarado e aprendido (ou seja, levado em consideração na perda). Por outro lado, na modelagem de linguagem regular isso está próximo de 100%. Isso torna as amostras por FLOP muito ineficientes, o que coloca o alvo de eliminação de ruído em uma desvantagem significativa nas comparações com base no flop.

Outra desvantagem dos objetivos de remoção de ruído é que eles são menos naturais do que a modelagem de linguagem regular, pois reformatam a entrada/saída de uma maneira estranha, o que os torna menos adequados para aprendizado rápido. (Mas ainda é possível ajustar esses modelos para um desempenho razoavelmente bom em tarefas de poucos disparos.) Portanto, acredito que os objetivos de remoção de ruído devem ser usados ​​apenas como objetivos complementares para modelagem de linguagem regular.

Os primeiros dias da unidade e a razão pela qual os modelos do tipo BERT desapareceram

Modelos como o BERT desapareceram gradualmente e poucas pessoas falam mais sobre eles. Isso também pode explicar por que não podemos ver modelos BERT em grande escala agora. qual é a razão? Isto se deve em grande parte à unificação e mudança de paradigmas de tarefas/modelagem. Os modelos estilo BERT são complicados, mas a verdadeira razão pela qual os modelos BERT foram descontinuados é que as pessoas queriam fazer tudo de uma vez, então foi adotada uma maneira melhor de eliminar ruído - usando modelos autorregressivos.

Durante 2018-2021, houve uma mudança de paradigma implícita: do ajuste fino de tarefa única para modelos multitarefa em grande escala. Isto lentamente nos levou ao modelo SFT unificado, que é o modelo universal que vemos hoje. Isso é difícil de fazer com o BERT. Não acho que isso tenha muito a ver com "remoção de ruído". Para as pessoas que ainda desejam usar tal modelo (ou seja, T5), eles encontraram uma maneira de reformular a tarefa de pré-treinamento de remoção de ruído, o que torna os modelos estilo BERT basicamente obsoletos hoje em dia porque temos planos alternativos melhores.

Mais precisamente, os modelos codificador-decodificador e somente decodificador podem ser usados ​​para uma variedade de tarefas sem a necessidade de cabeçalhos de classificação específicos da tarefa. Para o codificador-decodificador, pesquisadores e engenheiros começaram a descobrir que o efeito de abandonar o codificador era semelhante ao do codificador BERT. Além disso, isto preserva as vantagens da atenção bidirecional – uma vantagem que torna o BERT competitivo com o GPT em pequenas escalas (muitas vezes em escalas de produção).

O valor do alvo de remoção de ruído

O alvo de pré-treinamento de eliminação de ruído também aprende a prever a próxima palavra de maneira semelhante à modelagem de linguagem regular. No entanto, ao contrário da modelagem de linguagem causal convencional, isso requer o uso de uma transformação de dados na sequência para que o modelo possa aprender a "preencher as lacunas" em vez de simplesmente prever o texto natural da esquerda para a direita.

É importante notar que os alvos de remoção de ruído às vezes são chamados de “tarefas de preenchimento” e às vezes são misturados com tarefas regulares de modelagem de linguagem no processo de pré-treinamento.

Embora os detalhes exatos de configuração e implementação possam variar, os LLMs modernos de hoje podem usar alguma combinação de modelagem e preenchimento de linguagem. Curiosamente, esse híbrido de “modelo de linguagem + preenchimento” na verdade se espalhou no mesmo período (como UL2, FIM, GLM, CM3), e muitas equipes trouxeram suas próprias soluções híbridas exclusivas. Aliás, o maior modelo conhecido treinado desta forma é provavelmente o PaLM-2.

Deve-se notar também que a combinação de tarefas de pré-treinamento também pode ser empilhada em ordem e não precisa necessariamente ser misturada ao mesmo tempo. Por exemplo, Flan-T5 foi inicialmente treinado em tokens danificados de 1T e depois trocado. para 100B de tokens para o destino de modelagem de linguagem feedforward. Em seguida, ajuste o comando flan. Até certo ponto, isso é adequado para modelos híbridos de remoção de ruído/alvo LM. Para ficar claro, o objetivo da modelagem de linguagem de prefixo (não confundir com arquitetura) é a modelagem de linguagem puramente causal, com um ponto de divisão determinado aleatoriamente e enviado para a entrada (sem perda e mascaramento não causal).

Aliás, o preenchimento pode ter se originado do campo de código LLM, onde "preencher os espaços em branco" era mais uma função necessária para escrever código. Enquanto isso, a motivação do UL2 é mais unificar o objetivo de eliminação de ruído e as categorias de tarefas nas quais o LLM bidirecional se destaca com tarefas inerentemente generativas, como resumo ou geração aberta. A vantagem dessa "mudança para trás" da decodificação autorregressiva é que ela não apenas permite que o modelo aprenda dependências de longo alcance, mas também permite que ele se beneficie implicitamente da atenção bidirecional não explícita (porque, para preencher os espaços em branco, você vi o futuro).

Há uma experiência lendária: as representações aprendidas pela remoção de ruído de alvos têm melhor desempenho em categorias de tarefas específicas e, às vezes, têm maior eficiência de amostragem. No artigo do U-PaLM, mostramos como uma pequena quantidade de treinamento atualizado altera o comportamento e os fenômenos emergentes em um conjunto de tarefas do BIG-Bench. Com base nisso, o ajuste fino de um modelo treinado com esse objetivo geralmente resulta em um modelo de ajuste fino melhor supervisionado, especialmente quando a escala é pequena.

Em termos de ajuste fino de tarefa única, pode-se ver que o modelo PaLM-1 62B é derrotado pelo modelo T5, muito menor. Em uma escala relativamente pequena, "atenção bidirecional + alvo de eliminação de ruído" é uma bela combinação! Acredito que muitos profissionais também notaram esta situação, especialmente em aplicações de produção.

E quanto à atenção bidirecional?

A atenção bidirecional é um “viés indutivo” interessante para modelos de linguagem – que as pessoas muitas vezes confundem com objetivos e espinha dorsal do modelo. A polarização indutiva é usada de forma diferente em diferentes domínios de computação e pode ter efeitos diferentes na curva de expansão. Dito isto, a atenção bidirecional pode ser menos importante em escalas maiores do que em escalas menores, ou pode ter efeitos diferentes em tarefas ou modalidades diferentes. Por exemplo, PaliGemma usa a arquitetura PrefixLM.

Hyung Won também destacou em sua palestra: Os modelos PrefixLM (modelos somente decodificadores que usam atenção bidirecional) também apresentam problemas de cache, o que é uma falha inerente a esse tipo de arquitetura. No entanto, acho que há muitas maneiras de resolver essa falha, mas isso está além do escopo deste artigo.

Prós e contras da arquitetura codificador-decodificador

A arquitetura codificador-decodificador tem vantagens e desvantagens em comparação ao modelo somente decodificador. O primeiro caso é que o lado do codificador não é restringido pela máscara causal. Até certo ponto, você pode tirar as mãos da camada de atenção e realizar agrupamento ou qualquer forma de atenção linear de forma agressiva, sem se preocupar com as limitações de design da autorregressão. Esta é uma ótima maneira de descarregar “contexto” menos importante para o codificador. Você também pode diminuir o tamanho do codificador, o que também é uma vantagem.

Um exemplo de arquitetura codificador-decodificador necessária é o Charformer, que faz uso ousado de codificadores e mitiga a desvantagem de velocidade dos modelos em nível de byte. Inovar no lado do codificador pode gerar benefícios rápidos sem se preocupar com as armadilhas significativas do mascaramento causal.

Ao mesmo tempo, em comparação com o PrefixLM, uma desvantagem do codificador-decodificador é que a entrada e o destino devem receber um orçamento fixo. Por exemplo, se o orçamento de entrada for de 1.024 tokens, o lado do codificador deverá preencher esse valor, o que pode desperdiçar muitos cálculos. Em contraste, no PrefixLM, entradas e alvos podem ser conectados diretamente, aliviando assim este problema.

Relevância para os modelos atuais e principais conclusões

Na era atual, uma habilidade fundamental para ser um pesquisador e praticante qualificado de LLM é ser capaz de inferir preconceitos indutivos tanto do aspecto arquitetônico quanto do aspecto pré-treinamento. Compreender as diferenças sutis pode ajudar as pessoas a extrapolar e continuar a inovar.

Aqui estão minhas principais conclusões:

Os modelos codificador-decodificador e somente decodificador são modelos autorregressivos e diferem no nível de implementação e têm suas próprias vantagens e desvantagens. São vieses indutivos ligeiramente diferentes. Qual usar depende dos casos de uso downstream e das restrições do aplicativo. Ao mesmo tempo, os modelos de codificador estilo BERT podem ser considerados obsoletos para a maioria dos casos de uso LLM e casos de uso de nicho.

O alvo de eliminação de ruído pode ser usado principalmente como um complemento ao modelo de linguagem causal. Eles foram usados ​​com sucesso como “alvos de apoio” durante a fase de treinamento. Treinar modelos de linguagem causal usando alvos de eliminação de ruído geralmente ajuda até certo ponto. Embora isso seja muito comum no mundo dos modelos de código (ou seja, preenchimento de código), também é comum que os modelos de uso geral hoje usem um modelo de linguagem causal mais algum alvo de remoção de ruído para pré-treinamento.

A atenção bidirecional pode ajudar muito os modelos menores, mas é dispensável para modelos maiores. Estes são principalmente rumores. Acho que a atenção bidirecional tem um viés indutivo, semelhante a muitos outros tipos de modificações no modelo Transformer.

Finalmente, um resumo. Atualmente não existe uma versão em larga escala do modelo BERT em operação: o modelo BERT foi descontinuado e substituído pelo modelo T5 de eliminação de ruído (autoregressivo) mais flexível. Isto se deve principalmente à unificação de paradigmas, ou seja, as pessoas preferem usar um modelo geral para realizar diversas tarefas (em vez de usar um modelo específico de tarefa). Ao mesmo tempo, a eliminação de ruído autorregressiva às vezes pode ser usada como um objetivo secundário dos modelos de linguagem causal.

Link original: https://www.yitay.net/blog/model-architecture-blogpost-encoders-prefixlm-denoising