Série de desenvolvimento OpenAI (2): História do desenvolvimento de modelos de linguagem grande e explicação detalhada da arquitetura do transformador

O texto completo tem um total de 1,8w palavras, e o tempo estimado de leitura é de cerca de 60 minutos | Cheio de informações úteis, recomenda-se coletá-las!

1

1. Introdução

No outono de 2020, o GPT-3 atraiu grande atenção devido à sua propagação viral nas redes sociais. Este Large Language Model (LLMs), que tem mais de 175 milhões de parâmetros e um custo operacional de US$ 1 milhão por segundo, abriu uma nova era no campo do processamento de linguagem natural (PNL).

Nesta fase, o surgimento de modelos pré-treinados em grande escala mudou completamente o cenário de pesquisa e aplicação da PNL.

Os modelos de linguagem em grande escala exploram plenamente o potencial de grandes quantidades de dados não rotulados, proporcionando assim ao modelo uma compreensão linguística mais forte e capacidades de generalização. Grandes modelos que usam estratégias de pré-treinamento e ajuste fino alcançaram conquistas sem precedentes em múltiplas tarefas de PNL, demonstrando excelente desempenho em termos de precisão do modelo, capacidade de generalização e processamento de tarefas complexas. Isto não só atraiu uma grande quantidade de investimento, mas também deu origem a novas direções de desenvolvimento e pesquisa no campo da PNL.

Ao mesmo tempo, à medida que o limite de aplicação e o limite de uso de grandes modelos são gradualmente reduzidos, um grande número de produtos de grandes modelos continuam a surgir - ChatGPT, ferramenta de compilação de código em vários idiomas Cursor, ferramenta oficial de escrita de código do Github CopilotX, Gamma AI que gera conteúdo PPT com um clique, Office Copilot configurado no FamilyMart, recursos de preenchimento configurados no Photoshop, MidJourney e Stable Diffusion que geram imagens amplamente... Esses aplicativos não apenas mudaram a forma como os negócios operam, mas também afetaram enormemente a vida e o trabalho das pessoas.

2. Desenvolvimento de grandes modelos de linguagem

Falando em modelos grandes, uma das coisas mais interessantes aconteceu em 2021. Um desenvolvedor usou GPT-3 para criar um jogo de chat de texto chamado “Projeto Dezembro”. O jogo usa dados de texto coletados do Facebook e mensagens de texto pessoais de uma mulher falecida chamada Samantha (Samantha morreu em 2012). Surpreendentemente, o namorado dela usou este jogo para bater um papo por mensagem de texto com a IA que imitava Samantha, e a conversa durou vários meses sem notar nada de incomum. O incidente levantou uma série de questões éticas e morais.

imagem

Este incidente não só revelou o poderoso potencial dos grandes modelos, mas também prenunciou a sua possível direção de desenvolvimento futuro. No passado, nossa impressão dos robôs era uma forma simples e mecânica de interação. Mesmo com o suporte da tecnologia de processamento de linguagem natural continuamente otimizada, a maioria das respostas desses robôs ainda eram predefinidas e fixas, obviamente carecendo de profundidade e realismo. No entanto, a tecnologia moderna quebrou essas limitações.

Os robôs do futuro, como o atraente 550w do filme "The Wandering Earth 2", demonstrarão emoções e habilidades de pensamento quase humanas.

ChatGPT é o pioneiro nessa mudança. Ele não apenas consegue compreender e gerar textos complexos com precisão, mas também pode trabalhar perfeitamente com tecnologia avançada de áudio e vídeo para construir uma forma de vida digital incrível e quase autoconsciente. Como Yaya no filme.

Durante esta mudança, a camada de aplicação subjacente também implementa constantemente iterações tecnológicas, conforme mostrado abaixo:

imagem

Desde os primeiros assistentes inteligentes orientados por tarefas (como os alto-falantes inteligentes Siri e Baidu), a inteligência artificial passou por uma série de mudanças significativas. Embora estes primeiros produtos sejam construídos com base em dados e modelos diferentes e tenham um bom desempenho em termos de escalabilidade funcional, são mais uma “pseudo” inteligência artificial cujas capacidades são limitadas a tarefas e cenários específicos.

Posteriormente, o surgimento do modelo Bert marcou um importante ponto de viragem. Ao contrário dos modelos anteriores orientados por tarefas, Bert é capaz de compreender a linguagem humana mais profundamente através do processo de pré-treinamento e ajuste fino. Ele adota uma abordagem de pré-treinamento não orientada para tarefas que pode então ser aplicada a várias tarefas posteriores por meio de ajuste fino. Ainda assim, a complexidade do ajuste fino do modelo continua a ser um obstáculo intransponível.

A inovação do atual modelo GPT reside na sua ideia de design “baseado em prompts”. Não só a escala de pré-treinamento é mais de 500 vezes maior que a de Bert,

O GPT também pode gerar linguagem de forma autônoma para se adaptar a uma variedade de tarefas desconhecidas, apenas alterando os prompts de entrada sem qualquer modificação no próprio modelo . Este progresso está em linha com as nossas expectativas e aspirações iniciais em relação à inteligência artificial e anuncia a chegada de uma nova era de IA, mais inteligente e flexível.

Portanto, nossas expectativas em relação à inteligência artificial deveriam ser assim:

imagem

imagem

Este é o ChatGPT com o qual estamos familiarizados e, se nos aprofundarmos, o processo de raciocínio por trás dele é o seguinte:

imagem

Precisa saber claramente: O modelo GPT (Transformador Generativo Pré-treinado) é um modelo autorregressivo, cuja ideia central é gerar a próxima palavra mais provável com base na sequência de texto existente. Tudo isso se baseia no aprendizado e no raciocínio estatístico, e não no raciocínio lógico ou no pensamento como os humanos.

O GPT (Generative Pre-trained Transformer) é construído com base na arquitetura Transformer, que desempenha um papel fundamental em todo o processo de raciocínio. Embora a OpenAI não divulgue totalmente todos os detalhes e dados de treinamento do modelo GPT, seu mecanismo central ainda é baseado no Transformer, descrito em vários artigos acadêmicos e documentos técnicos. Portanto, compreender os princípios básicos do Transformer não apenas ajuda a entender como o modelo GPT gera texto, mas também é de grande valor para outras tarefas de processamento de linguagem natural e trabalhos de desenvolvimento.

Ou seja, conhecer o básico revela mudanças, o que é crucial para o desenvolvimento.

3. Explicação detalhada da arquitetura do modelo da série GPT

A história do desenvolvimento da tecnologia de processamento de linguagem natural (PNL) é um processo de iteração e otimização gradual. Antes do surgimento da arquitetura Transformer, o campo havia passado por uma mudança da dependência de regras manuais e bases de conhecimento para o uso de estatísticas e modelos de aprendizagem profunda. Desde então, o surgimento do Transformer marcou uma nova era, especialmente com o lançamento de modelos como BERT e GPT, que melhoraram drasticamente a compreensão da linguagem natural e as capacidades de geração. Agora, pode-se dizer que entramos na era dos grandes modelos e as aplicações baseadas na arquitetura Transformer estão passando por um período explosivo sem precedentes.

Podemos estar acostumados com modelos de chat como o ChatGPT e parece normal responder às perguntas assim que elas são feitas. No entanto, se você pensar profundamente sobre como isso funciona nos bastidores, descobrirá que é realmente algo incrível. Então, quero esclarecer uma dúvida para todos: o que exatamente é um Transformer e como ele alcançou tamanha influência revolucionária.

imagem

3.1 Explicação detalhada da arquitetura do Transformer

O back-end do ChatGPT é baseado no modelo GPT (Generative Pre-trained Transformer), que aprende os recursos estatísticos e a representação semântica da linguagem por meio de pré-treinamento não supervisionado em dados de texto em grande escala . Utiliza uma abordagem autorregressiva , que consiste em prever a próxima palavra com base em palavras geradas anteriormente, para aprender as relações semânticas e gramaticais entre as palavras, bem como as informações contextuais gerais de frases e textos.

O próprio modelo GPT é construído na estrutura do Transformer, portanto, para entender completamente por que grandes modelos generativos são tão poderosos, a arquitetura do Transformer é um ponto-chave indispensável.

Então, como essa arquitetura consegue funções avançadas, como geração de texto e compreensão semântica?

O artigo mais clássico do Transformer [Attention Is All You Need], um dos melhores, endereço: https://arxiv.org/abs/1706.03762

**O transformador consiste em um codificador (Encoder) e um decodificador (Decoder), onde o codificador é usado para aprender a representação da sequência de entrada e o decodificador é usado para gerar a sequência de saída. GPT usa principalmente a parte decodificadora do transformador para construir um modelo de linguagem. **A estrutura é a seguinte:

imagem

Se você não tem os fundamentos do algoritmo de PNL, pode parecer um pouco confuso, mas não importa, você não precisa dominar totalmente todos os detalhes. Apenas dois conceitos centrais precisam ser esclarecidos:

  1. Como funciona o mecanismo de atenção no Transformer
  2. O que exatamente significa a saída generativa da parte do decodificador ?

Deixe-me explicar como um dado de entrada flui e é processado nesta arquitetura complexa.

3.1.1 Desmontar a arquitetura do Transformer

  • representação textual

No modelo Transformer, o texto de entrada é primeiro processado para obter uma representação adequada.

Por que tal conversão?

Considere este cenário: quando você insere a frase “AI + programação zarpa”, o computador pode entendê-la diretamente? Ou, quando você interage com o ChatGPT, ele realmente “ouve” cada palavra ou palavra que você diz? Este não é o caso.

ChatGPT não lida diretamente com a linguagem natural. Ele precisa converter nossa entrada em um formato de dados que possa compreender. Resumindo, ele codifica cada palavra ou caractere em uma forma vetorial específica.

As etapas específicas deste processo de codificação são as seguintes:

  1. Incorporação de palavras: cada palavra no texto é convertida em um vetor de alta dimensão. Essa conversão geralmente é feita por meio de modelos de incorporação de palavras pré-treinados (como Word2Vec, GloVe, etc.).
  2. Incorporação posicional: O modelo padrão do Transformer não possui reconhecimento de ordem de sequência integrado, portanto, informações posicionais precisam ser adicionadas. Isso é feito por meio de embeddings de posição, que têm as mesmas dimensões dos embeddings de palavras e são aditivos aos embeddings de palavras.

Por exemplo, considere a frase “AI+programação zarpa”.

Sem incorporação posicional, a frase pode ser analisada incorretamente como "Programação AI+, içamento de velas" etc., o que destruirá a ordem original e a semântica da frase.

O objetivo da incorporação posicional é garantir que o vetor de palavras codificadas reflita com precisão a ordem das palavras na frase, mantendo assim o significado original de toda a frase.

  1. Adição: a incorporação de palavras e a incorporação de posição são adicionadas para obter uma nova representação de incorporação que contém informações de texto e informações de posição.

A representação final do Transformer da entrada é x, para que o modelo saiba não apenas o que é cada palavra, mas também sua posição na sequência.

imagem

por exemplo:

imagem

Através de tal processo de processamento, o modelo pode reconhecer uma entrada como “navegar”.

Quanto à parte de processamento de entrada do Transformer, a partir do diagrama de arquitetura, tanto a parte do codificador quanto a do decodificador possuem entradas. Como você entende isso?

imagem

Isso ocorre porque: no modelo Transformer, o codificador (Encoder) e o decodificador (Decoder) possuem entradas independentes . Normalmente, no contexto de aprendizagem supervisionada, o codificador é responsável pelo processamento das amostras de entrada e o decodificador processa os rótulos correspondentes. Essas tags também precisam ser

requerem pré-processamento apropriado. Tal configuração permite que o modelo seja treinado especificamente em tarefas específicas.

Este conceito é ilustrado por meio de uma tarefa simples de tradução automática. Suponha que temos os seguintes pares de tradução do inglês para o francês:

  • Inglês (amostra de entrada): “Olá, mundo”
  • Francês (tag): “Bonjour, monde”

Neste exemplo, o Encoder recebe a frase “Hello, world” como entrada. Esta frase será primeiro convertida em um conjunto de vetores de palavras ou vetores de caracteres e, em seguida, inserida no codificador para processamento.

Ao mesmo tempo, o decodificador receberá como entrada o rótulo correspondente a "Bonjour, monde". Novamente, esses rótulos são primeiro convertidos em uma representação compreensível pela máquina (como vetores de palavras ou vetores de caracteres) e depois alimentados no decodificador.

Depois que o codificador processa as amostras de entrada, sua saída é combinada de alguma forma com a entrada do decodificador para produzir a saída final da tradução. Através deste mecanismo, os modelos podem ser treinados num ambiente de aprendizagem supervisionada para completar tarefas específicas, tais como tradução automática.

  • Codificador (parte do codificador)

A parte do codificador no Transformer é usada para aprender a representação da sequência de entrada. A posição é mostrada na figura abaixo:

imagem

Na parte do codificador (caixa pontilhada vermelha) do modelo Transformer, o fluxo de processamento de dados é o seguinte:

Primeiro, os dados de entrada (como um pedaço de texto) serão enviados ao mecanismo de atenção para processamento. **Cada elemento nos dados (como cada palavra ou palavra) receberá uma pontuação para determinar quais são mais importantes . , **Após a etapa "Mecanismo de Atenção", alguns novos dados serão gerados.

Em seguida, uma operação "Adicionar" será executada, e os novos dados gerados no mecanismo de atenção serão combinados com os dados originais inseridos no início. Esta fusão é na verdade uma simples adição. " Adicionar" significa conexão residual, que O principal O objetivo desta operação é garantir que o efeito dos dados processados ​​pela atenção seja pelo menos tão bom quanto a entrada direta dos dados originais.

Posteriormente, os dados passarão por um processo matemático simples denominado “normalização de camada” (Norm), principalmente para tornar os dados mais estáveis ​​​​e facilitar o processamento posterior.

Os dados então entram em uma rede neural feedforward de duas camadas. O objetivo aqui é mapear os dados processados ​​pela atenção de volta às suas dimensões originais para processamento posterior. Isso ocorre porque os codificadores serão empilhados várias vezes, portanto, você precisa garantir que as dimensões dos dados sejam consistentes antes de inserir o próximo codificador.

Simplificando: trata-se de alterar os dados que foram processados ​​antes de volta à sua forma e tamanho originais.

Preste atenção ao logotipo Nx no lado esquerdo do codificador na imagem, o que significa que haverá vários codificadores empilhados.

Finalmente, a fim de preparar os dados para entrar no próximo codificador (se houver), os dados passarão novamente pelas operações "Adicionar" e "Norma", gerando uma representação vetorial de palavras cuidadosamente calculada e reconstruída.

Esse design garante que o modelo possa transferir e processar informações com eficiência entre várias camadas do codificador, ao mesmo tempo que se prepara para estágios mais complexos de cálculo e decodificação.

Simplificando, o codificador do Transformer usa essas etapas para compreender e processar os dados de entrada e, em seguida, gera um novo formato de dados mais fácil de entender. Como mostrado na imagem:

imagem

  • Decodificador (parte do decodificador)

A parte do decodificador no Transformer é usada para gerar a sequência de saída. A posição é mostrada na figura abaixo:

imagem

Na parte do decodificador (caixa pontilhada roxa) do modelo Transformer, o fluxo de processamento de dados é o seguinte:

Na parte do decodificador, os dados entram primeiro em um mecanismo de atenção mascarado, cuja função é garantir que o decodificador só possa prestar atenção às palavras que gerou antes, mas não possa ver as palavras futuras.

A saída de informações por esta camada é então fundida com a saída da parte do Encoder. Especificamente, essas duas partes da informação serão processadas novamente por um mecanismo de atenção para considerar de forma abrangente o conteúdo da codificação e da decodificação.

Após este processo, a operação do decodificador é aproximadamente igual à da parte do codificador. Os dados passarão pela normalização da camada, rede neural feedforward, normalização da camada novamente e, finalmente, produzirão uma representação vetorial de palavras.

O vetor de palavras de saída passará primeiro por uma camada linear (Linear). O objetivo desta etapa é mapear os vetores para um tamanho de dicionário predefinido, preparando-os assim para a previsão de palavras.

Finalmente, a função softmax é usada para calcular a probabilidade de geração de cada palavra. Finalmente, a palavra com maior probabilidade é selecionada como saída naquele momento.

por exemplo:

Agora imagine que existe um pequeno dicionário com apenas 3 palavras: “maçã”, “banana” e “cereja”. A camada linear irá converter este vetor 3D em outro vetor 3D (correspondente ao tamanho do "dicionário").

Suponha que o vetor transformado seja [2.5, 1.0, -0.5].

Através da função softmax, este vetor será convertido em uma distribuição de probabilidade, por exemplo [0.8, 0.18, 0.02].

Isso significa que o modelo pensa que a probabilidade da próxima palavra ser “maçã” é de 80%, a probabilidade de ser “banana” é de 18% e a probabilidade de ser “cereja” é de 2%.

Desta forma, uma palavra real pode ser prevista a partir da saída de alta dimensão do decodificador.

Desta forma, o Decodificador não apenas considera as palavras geradas pela decodificação anterior, mas também integra as informações contextuais do Codificador para prever a próxima palavra com mais precisão.

A maior coisa relacionada ao GP é o uso da arquitetura do Decoder para construir modelos de linguagem .

3.1.2 Mecanismo de atenção

Mecanismo de atenção, em que exatamente ele está prestando atenção? Para os humanos, quando começam a fazer algo, geralmente se concentram em certas informações importantes e ignoram outras informações menos relevantes.

por exemplo:

Ao dirigir e se aproximar de um cruzamento, você pode prestar atenção especial aos semáforos, aos pedestres e aos movimentos de outros veículos, ignorando informações menos relevantes, como paisagens ou outdoors ao longo da estrada. Dessa forma, você pode ter certeza de que tomou a decisão certa sobre suas ações, como parar ou continuar dirigindo.

Então, para um computador, como ele analisa informações contextuais e entende a relação entre diferentes semânticas?

imagem

Este diagrama é frequentemente usado para mostrar como a atenção é usada para determinar a qual substantivo o pronome “isso” se refere (neste caso, “O Animal”).

Frase original: “O Animal não atravessou a rua porque estava muito cansado” Traduzido como: Como o animal estava muito cansado, ele não atravessou a rua. "isso" refere-se a "O Animal". No entanto, se você alterar uma palavra na frase e substituir "cansado" por "estreito", a nova frase resultante será "O Animal não atravessou a rua porque era muito estreita" , traduzido como: Como a rua era muito estreita, os animais não atravessaram a rua. Nesta nova frase, “isso” refere-se à “rua”.

Portanto, o modelo precisa ser capaz de compreender que quando a frase de entrada muda, o significado das palavras na frase também pode mudar. Esta flexibilidade e precisão são demonstradas no modelo Transformer, algo que nenhum modelo anterior foi capaz de alcançar.

O princípio de funcionamento do mecanismo de Atenção pode ser descrito visualmente assim:

O modelo codifica cada palavra em um vetor e então alimenta esses vetores no modelo. Aqui, cada palavra será como enviar uma “consulta” a outras palavras: “A relação entre nós é próxima?

Cada palavra não apenas faz tal “indagação”, mas também responde às “indagações” de outras palavras. Por meio dessa interação de perguntas e respostas, o modelo pode identificar a estreita relação entre cada duas palavras. Uma vez determinada essa relação, o modelo irá “absorver” as informações das palavras que estão mais relacionadas à palavra e fundir mais informações com ela. Desta forma, por exemplo, em uma tarefa de tradução, o modelo pode identificar com precisão que “isso” deve ser traduzido como “animal” porque seu vetor incorporou informações intimamente relacionadas à palavra “animal”.

**Portanto, o núcleo do mecanismo de atenção é reconstruir o vetor de palavras. **Este mecanismo é convertido em um processo de cálculo computacional da seguinte forma:

Da descrição visual acima, três elementos do mecanismo de atenção podem ser extraídos:

  • P: Consulta, que pode ser entendida como uma palavra que torna uma consulta semelhante a outras palavras
  • K: Chave, que pode ser entendida como uma palavra que responde a perguntas sobre outras palavras.
  • V: Valor, que pode ser entendido como o valor real de uma palavra, indicando quanta informação é extraída e integrada nela mesma a partir da estreita relação entre as duas palavras.

imagem

No modelo Transformer, Q, K e V são obtidos realizando operações matriciais na representação vetorial de entrada Transformer(x) e nas matrizes de peso correspondentes Wq, Wk, Wv.

Se você está familiarizado com aprendizado profundo, deve saber que os dados dentro do modelo são principalmente multiplicações de matrizes com diferentes parâmetros de peso. Caso não haja fundamento antes, considere-o como um módulo inerente ao modelo e uma regra de cálculo formulada.

Essas matrizes de peso são inicialmente inicializadas matematicamente e depois gradualmente atualizadas e otimizadas durante várias rodadas de treinamento do modelo. O objetivo é obter as matrizes Q, K e V otimizadas após multiplicar os dados recebidos por essas matrizes de peso.

Tomando Q como exemplo, seu primeiro elemento é obtido realizando operações de multiplicação e soma de pontos na primeira linha do vetor de entrada x e na primeira coluna da matriz de pesos Wq.

imagem

Portanto, a primeira linha da matriz Q na verdade significa isto: ela contém as principais informações necessárias para a primeira palavra (correspondente à primeira linha da entrada X) ao consultar outras palavras. Da mesma forma, a lógica de cálculo das matrizes K e V é semelhante a esta.

Na primeira linha da matriz K, são armazenadas as informações necessárias para que a primeira palavra responda à consulta das outras palavras. A primeira linha da matriz V contém as informações transportadas pela própria primeira palavra. Após determinar a relação com outras palavras por meio de Q e K, as informações armazenadas em V são utilizadas para reconstruir o vetor de palavras da palavra.

Após obter Q, K e V, Atenção realiza as seguintes operações:

imagem

Esta fórmula envolve o processo de perguntar e responder, e o processo de cálculo que mostra é o seguinte:

imagem

O processo de cálculo também é multiplicação e adição de matrizes, então o QKT QK^T obtidoQ KA matriz T expressa a proximidade da relação entre as palavras.

Por que isso mede a proximidade entre as palavras?

Ao calcular a multiplicação de matrizes, o vetor corresponde ao produto dos elementos.Este método de cálculo é chamado de produto interno de vetores em matemática.

O produto interno dos vetores expressa o significado geométrico dos vetores: quanto maior o produto interno, mais paralela é a relação entre os dois vetores, o que significa que os dois vetores são mais semelhantes.Quando o produto interno é 0, os dois vetores estão Lá será uma relação vertical, indicando que os dois vetores não estão relacionados.

Quanto ao formato pergunta e resposta de Q e K no mecanismo de Atenção, o que se pede é a proximidade entre as duas palavras, para que a semelhança entre as duas palavras possa ser medida através do produto interno.

Durante esse processo, você deve ter notado que ele também se questionava e dava suas próprias respostas: Por que fez isso?

Veja este exemplo: “O Animal não atravessou a rua porque estava muito cansado” é traduzido como: O Animal não atravessou a rua porque estava muito cansado. Normalmente "isso" como pronome refere-se a "isso", mas nesta frase queremos que se refira a "O Animal", por isso não mostra sua importância nesta frase. Se não reconstruir suas próprias informações, ele pode não ser capaz de alterar seu significado original e não será capaz de mudar do significado original de "isso" para se referir a "O Animal".

Por causa dessa operação, o mecanismo de atenção no Transformer é chamado de Autoatenção (mecanismo de autoatenção).

Depois que os resultados da medição da estreita relação entre as sentenças forem divulgados, como reconstruir V? O processo de conversão em cálculo é o seguinte:

imagem

Depois de calcular QKT QK^TQ KApós a matriz matriz T , assumindo que os dados na primeira linha são: 100, 80, 20, 12, a próxima questão é como determinar quantitativamente quais palavras devem contribuir com quanta informação.

Para resolver este problema, a função Softmax é aplicada para normalizar cada linha, o que garante que a soma de todos os elementos da linha seja 1.

Se após o processamento Softmax a primeira linha se tornar uma determinada fração, como: 0,4, 0,2, 0,2, 0,1, isso significa que 40% das informações da primeira palavra e 20% da segunda palavra serão utilizadas. .para construir uma nova representação da palavra alvo. Desta forma, a operação Softmax é essencialmente uma medida quantitativa da contribuição informacional de cada palavra.

Divida por dk \sqrt{d_k} na fórmuladk Isso evita o problema de que, ao calcular o produto interno do vetor, o valor calculado seja relativamente grande porque a matriz do vetor é muito grande, e não simplesmente por causa da proximidade entre as palavras.

Após obter a probabilidade de contribuição de informação entre cada palavra, o processo de reconstrução de V é convertido em um processo de cálculo da seguinte forma:

imagem

A desmontagem adicional deste processo é a seguinte:

imagem

Ou seja: retire 40% da informação da primeira palavra, retire 20% da informação da segunda palavra... e assim por diante, e finalmente obtenha Z. A matriz Z obtida através deste formulário de cálculo, cada Um local contém todas as informações relacionadas a ele.

Este é o processo de cálculo no mecanismo de autoatenção no Transformer.

3.1.3 Como o Decoder produz saída generativa

A parte Decoder do Transformer tem muitas semelhanças com a parte Encoder, mas também existem algumas diferenças importantes. O decodificador adiciona uma camada extra de atenção. Além de suas próprias informações de entrada, o Decoder também integrará as informações de saída do Encoder. (Se for uma tarefa de treinamento supervisionado)

imagem

A principal tarefa do decodificador (Decodificador) no modelo Transformer é prever a próxima palavra de saída, por isso é chamado de modelo generativo.

Para entender melhor esse processo, uma tarefa de tradução automática pode ser usada como exemplo:

Suponha que haja um exemplo de treinamento bilíngue chinês-inglês: "我是一名学生" (X) --> "I am a student" (Y) .

Quando o decodificador começa a funcionar, é necessária uma entrada inicial para iniciar o processo de previsão. Porém, para prever a primeira palavra “I”, o decodificador não possui contexto anterior. Portanto, um caractere inicial precisa ser introduzido <s>como entrada inicial. Portanto, a sequência alvo da amostra de treinamento é ajustada para: <s>, I, am, a, student.

O processo de decodificação é o seguinte:

  1. Insira o caractere inicial <s>no decodificador.
  2. Através do mecanismo de Atenção, o decodificador presta atenção à saída do codificador (ou seja, a representação de “Sou estudante”) e a funde.
  3. Com base na saída de fusão do símbolo inicial <s>e do codificador, o decodificador prevê a primeira palavra, que é "I".
  4. Em seguida, tanto "I" quanto "I" <s>são usados ​​como informações conhecidas e são inseridos novamente no decodificador.
  5. O decodificador continua prestando atenção à saída do codificador por meio do mecanismo de atenção e, em seguida, prevê a próxima palavra "am".
  6. Este processo é repetido até que toda a frase “Sou estudante” seja prevista.

Dê uma olhada nesta animação e tente entender:

http://jalammar.github.io/images/t/transformer_decoding_2.gif

Ponto-chave 1: Qual é a diferença entre Atenção no Decodificador e Atenção no Encoder?

Em primeiro lugar, pelo nome, você pode descobrir que eles são diferentes. No Decoder, a primeira coisa que você encontra é “Masked Attention”. Por que esse design é necessário? Na etapa de decodificação do modelo Transformer, cada palavra é gerada uma a uma.

Por exemplo, ao prever “sou”, o modelo não deve “saber” ou “ver” o próximo “aluno” com antecedência.

Pense neste processo como uma linha do tempo: ao prever uma palavra específica, você não pode “prever” as palavras que a seguirão, porque na situação real, essa parte ainda não aconteceu. Para garantir que o modelo não seja perturbado por palavras futuras neste momento, o decodificador utiliza uma operação de mascaramento. Desta forma, quando o modelo processar uma determinada palavra, todas as palavras subsequentes serão bloqueadas, garantindo que o modelo apenas faça previsões com base no contexto conhecido.

imagem

Desmontado no processo de cálculo dentro do Decodificador, é o seguinte:

Primeiro: prepare a matriz de dados de entrada (composta pelo rótulo mais o símbolo inicial) e a matriz de oclusão (matriz de máscara). Como mostrado na imagem:

imagem

O desenho da matriz de oclusão visa garantir que durante o cálculo a parte ocluída (metade superior) obtenha um valor menor para que tenha o menor impacto no resultado.

Especificamente:

Considere a primeira linha da matriz de oclusão, que representa a predição da primeira palavra. Neste momento, o modelo conhece apenas o símbolo inicial , mas não conhece a palavra prevista atual e as palavras subsequentes. Isso significa que o modelo só pode contar com o caractere inicial ao prever a primeira palavra .

Da mesma forma, quando o modelo prevê a segunda palavra, a segunda linha da matriz de oclusão, ele conhece apenas o símbolo inicial e a primeira palavra. A segunda palavra e todas as palavras subsequentes são desconhecidas para o modelo.

Esse design garante que, quando o modelo prediz uma palavra, ele se baseie apenas nas palavras anteriores, sem sofrer interferência das palavras seguintes.

Em seguida, ele ainda passa pelo mesmo processo de cálculo Q, K, V do processo do Encoder:

imagem

imagem

O resultado QKT QK^TQ KApós a matriz T (uma matriz que indica a proximidade da relação entre as palavras), faça uma multiplicação bit a bit com a matriz Mask previamente preparada, conforme mostrado na figura:

imagem

Para QKT QK^TQ KO processo de multiplicação do momento T e da matriz da máscara. Essa "multiplicação" é uma multiplicação bit a bit, ou seja, cada elemento correspondente é multiplicado.

Para entender intuitivamente, você pode imaginar que as partes bloqueadas da matriz da máscara são todas 0 e as partes não ocluídas são todas 1. Então, após esta multiplicação bit a bit, as posições correspondentes das partes oclusas no resultado são todas 0. Por exemplo, para a primeira posição, apenas o símbolo inicial é “claro” (ou seja, 1), enquanto as outras partes são “escuras” (ou seja, 0).

Por exemplo, suponha que o QKT QK^T obtidoQ KAs duas primeiras linhas de Pontuação na matriz T são as seguintes:

imagem

O objetivo deste design é garantir que, ao prever a palavra atual, o modelo só possa obter informações sobre as palavras anteriores, mas não saiba nada sobre a palavra atual em si e todas as palavras que a seguem.

Depois de calcular QKT QK^TQ KApós a matriz T , na Máscara QKT QK^TQ KExecute a operação Softmax em T. Neste momento, a soma dos elementos de cada linha será igual a 1. No entanto, para a palavra 0, a pontuação de atenção nas palavras 1, 2, 3 e 4 é 0.

imagem

Por fim: QKT mascarado QK^T que passará pelo SoftmaxQ KT é multiplicado pela matriz de valores V para obter a saída ponderada pela atenção.Esta saída Z é o resultado da parte de autoatenção mascarada do decodificador, como segue:

imagem

Ponto-chave 2: Entenda o que é atenção cruzada

Quando a entrada passa pela Atenção Máscara, ela entra na segunda Atenção, mas esta Atenção não é mais um simples mecanismo de autoatenção, mas sim Atenção Cruzada, como segue:

imagem

Por que a atenção cruzada é necessária? **Porque o codificador contém informações sobre a sequência de entrada (por exemplo: "Sou um estudante") e o objetivo do decodificador é produzir a sequência de saída correta dada essa entrada. **Para conseguir isso, o decodificador precisa ter algum conhecimento de todas as informações emitidas pelo codificador para saber qual deve ser a próxima palavra de saída.

A atenção cruzada opera de maneira muito semelhante ao mecanismo de atenção comum, mas Q vem da saída do decodificador e K e V vêm da saída do codificador. Isso garante que o decodificador possa “pedir” ao codificador informações sobre a sequência de entrada. Esta descrição de “perguntas e respostas” é vívida e ilustra como o decodificador usa as informações do codificador para determinar a saída mais apropriada.

Por exemplo, ao traduzir "Eu sou um estudante" para "Eu sou um estudante", o decodificador pode perguntar ao codificador: "Com base na sua compreensão de 'eu', o que devo produzir a seguir?" Desta forma, o decodificador pode prever a próxima palavra da sequência alvo com mais precisão.

Você pode entender isso simplesmente assim:

O primeiro passo é semelhante a “falar consigo mesmo”, chamado de Autoatenção Mascarada. Isso garante que o decodificador se refira apenas às palavras anteriores ao "adivinhar" uma palavra.

Depois vem a segunda etapa, chamada atenção cruzada ou “conversa cruzada”. Aqui, o decodificador “pede” ao codificador informações sobre a frase original (por exemplo: “Sou estudante”). É como se o decodificador perguntasse ao codificador: “O que você acha que devo dizer a seguir?” e o codificador desse sugestões, por exemplo: “A próxima coisa deveria ser 'eu'”. Desta forma, o decodificador pode realizar melhor a tarefa de tradução.

Então, resumindo, o primeiro passo é o decodificador “falar” consigo mesmo e determinar quais perguntas ele deve fazer. O segundo passo é “perguntar” ao codificador, obter a resposta e continuar traduzindo. É assim que funciona o mecanismo de atenção em duas etapas do Decoder.

Após esta atenção cruzada do decodificador, o modelo continuará a executar um fluxo de processamento parcialmente semelhante ao do codificador, incluindo múltiplos cálculos de atenção e operações de rede neural feedforward. Quando todas essas etapas do Decodificador forem concluídas, a saída entrará em uma camada linear para mapeamento. A função desta camada de mapeamento é converter a saída do Decodificador em um vetor do mesmo tamanho do dicionário. Então, esse vetor passará pela camada Softmax e será convertido em uma distribuição de probabilidade. Finalmente, a palavra com maior probabilidade é selecionada como saída de acordo com esta distribuição de probabilidade.

imagem

Desta forma, todo o fluxo de trabalho do Transformer é concluído.

3.2 Modelos da série GPT

Normalmente, um modelo ou arquitetura é proposto para resolver certos problemas no campo.Antes da proposta do GPT-1, o método convencional de aprendizagem profunda no campo do processamento de linguagem natural tinha as seguintes duas limitações principais.

  1. Nas primeiras aplicações de aprendizagem profunda, muitos métodos eram baseados na aprendizagem supervisionada, o que significava que era necessária uma grande quantidade de dados rotulados . Mas esta abordagem tem uma desvantagem óbvia: limita a adaptabilidade e flexibilidade do modelo.

Tomemos como exemplo a tradução automática e o reconhecimento de entidades:

Se você usar dados específicos de tradução automática para treinar um modelo, esse modelo só poderá executar tarefas de tradução automática. Da mesma forma, os modelos baseados em dados de reconhecimento de entidades só podem fazer reconhecimento de entidades. Cada tarefa requer uma grande quantidade de dados anotados dedicados, mas o escopo de aplicação de cada modelo é bastante limitado.

Portanto, apesar de investir uma grande quantidade de dados, o modelo resultante ainda funciona bem apenas numa tarefa específica e não pode ser aplicado de forma flexível em todas as tarefas. Esta limitação torna a duplicação de esforços em diferentes tarefas ineficiente e dispendiosa.

  1. Mesmo com uma grande quantidade de dados anotados, ainda existe um problema central: a falta de um objetivo geral de otimização para aprender representações de texto úteis.

Por exemplo, o campo da PNL cobre muitas tarefas, incluindo tradução automática, classificação de emoções, etc. Cada tarefa geralmente possui sua própria função objetivo, o que significa que o modelo precisa ser projetado e ajustado separadamente para cada tarefa. Portanto, embora uma grande quantidade de recursos e dados tenham sido investidos, a falta de um objetivo unificado e de otimização entre tarefas nos leva a liberar totalmente o potencial dos dados e torna o processo de treinamento do modelo complexo e ineficiente.

Esse status quo revela fortemente um desafio central no aprendizado profundo: como descobrir ou projetar uma meta de otimização que possa não apenas capturar as informações intrínsecas do texto, mas também ter ampla adaptabilidade. Portanto, a OpenAI propôs o GPT1. Como surgiu a primeira geração de GPT 1, faça isso?

3.2.1 GPT 1 está surgindo

GPT **1 Artigo de referência: **https://www.cs.ubc.ca/~amuham01/LING530/papers/radford2018improving.pdf

GPT 1 introduz um método de pré-treinamento não supervisionado usando a arquitetura Transformer para extrair com eficácia representações significativas de texto massivo não rotulado. Essa abordagem não apenas melhora o desempenho em diversas tarefas de linguagem natural, mas também reduz significativamente a dependência de dados anotados.

Ponto-chave 1: Pré-treinamento não supervisionado

GPT-1 usa treinamento não supervisionado, usando dados não rotulados para treinar o modelo. O objetivo é permitir que o modelo aprenda um conjunto de parâmetros iniciais (este parâmetro inicial é Wq, Wk, Wv no Transformer), de modo a dominar a capacidade de continuar escrevendo texto após um determinado contexto.

Ou seja: deixe o modelo ter a capacidade de continuar a escrever o seguinte, dado o exposto acima.

Exemplo de texto de continuação:

Primeiro, o modelo passou por um extenso treinamento não supervisionado, permitindo-lhe ler dezenas de milhões de artigos para dominar os padrões básicos da linguagem. Dê ao GPT-1 um breve aviso, como: "Em um dia frio de inverno",

Continuação 1: “Maria decidiu ficar em casa, fazer alguns biscoitos e sentar ao redor da lareira com a família, compartilhando histórias e momentos calorosos. do inverno.”

Continuação 2: “As crianças correram para fora animadas e começaram a fazer um grande boneco de neve. Rolaram bolas de neve, encontraram pedras para os olhos e a boca do boneco de neve e colocaram um chapéu velho. do inverno.”

Pense por que esse modelo pode resolver problemas anteriores no campo do processamento de linguagem natural?

Tomemos como exemplo a tradução automática. Se você inserir "Sou um estudante, traduza para o inglês para mim", um modelo GPT pré-treinado, especialmente após o ajuste fino, pode gerar resultados como "Sou um estudante". Embora não seja um modelo projetado para tarefas de tradução automática no sentido tradicional, ele pode realizar tais tarefas devido às suas fortes capacidades de geração de texto e profundo conhecimento da estrutura da linguagem.

Portanto, muitas tarefas de processamento de linguagem natural podem ser consideradas como o problema de “gerar uma determinada saída”. Modelos de pré-treinamento como o GPT fornecem uma solução eficiente e flexível para essas tarefas .

Ponto-chave 2: como orientar a GPT para gerar conteúdo alvo

Quando o GPT possui excelentes recursos de geração de texto, como pode gerar o conteúdo exato de que precisa?

Por exemplo, ao digitar "Sou estudante", o GPT pode gerar "Tenho que ir para a escola na hora todos os dias...". Embora esta frase seja fluente, se o objetivo da tarefa é obter a tradução desta frase para o inglês, como orientar efetivamente o modelo?

**A solução dada pelo GPT é usar os dados rotulados correspondentes para ajuste fino, para que o modelo possa atender aos requisitos de diferentes tarefas. Este processo requer muito poucos dados rotulados. **Então, qual é a estrutura específica do GPT?

No design do GPT, ele usa especificamente a parte Decodificador do Transformer para realizar tarefas de geração de texto. Embora chamá-lo de modelo generativo possa ser uma ligeira simplificação, esse posicionamento é consistente com sua funcionalidade principal.

Diferente da estrutura original do Transformer, **GPT não utiliza mecanismo de atenção dupla e não requer mais o processo de codificação. A chave está em um processo de previsão palavra por palavra. **Para atingir esse objetivo, o GPT adota internamente o mecanismo Masked Multi-Head Self-Attention e o combina com uma rede feedforward. Em algumas configurações comuns, esse mecanismo possui um vetor de 768 dimensões e 12 cabeças de atenção, e o modelo geral empilha 12 camadas de decodificador.

imagem

Esta fase trata essencialmente da aprendizagem de informações linguísticas a partir de um grande número de corpora de texto. O princípio matemático pode ser dividido aproximadamente da seguinte forma:

Primeiro defina essa sequência de linguagem não supervisionada:

você = { você 1 , . . . , un } (1) U = \{u_1, . . . , você_n\} \tag{1}você={ você1,... ,vocênão}( 1 )

O U aqui pode ser entendido como uma coleção de parágrafos, e os elementos contidos são palavras, uma por uma.

Ele usa uma função objetivo de modelagem de linguagem padrão para maximizar a probabilidade de uma palavra dado seu contexto.

Modelo de linguagem padrão: usado para prever a distribuição de probabilidade de palavras em sequências de linguagem natural. O objetivo é prever a probabilidade da próxima palavra dado o contexto.

A função objetivo é definida no artigo da seguinte forma:

imagem

Simplificando, esta fórmula significa: para cada palavra em uma sequência de texto, olhamos para as k palavras anteriores e, em seguida, usamos o modelo (determinado pelo parâmetro θ \thetaθ determina) para prever a probabilidade desta palavra. O objetivo é tornar essa probabilidade a mais alta possível.

Veja um exemplo simples:

Suponha que o texto seja "Eu gosto de comer maçãs". Se você agora deseja prever a palavra "comer" e considerar as duas primeiras palavras como contexto, então você está perguntando: "Dadas as duas palavras 'eu gosto', qual é o próxima palavra?" Qual é a probabilidade de 'comer'?" A fórmula serve para ajudar a encontrar essa probabilidade e maximizá-la.

θ \tetaθ é simplesmente entendido como um modelo, que se refere especificamente ao decodificador de transformador multicamadas. Seu processo de cálculo é o seguinte:

imagem

Entenda esta fórmula:

U é a matriz de entrada, We é a codificação da palavra, Wp é a codificação da posição e, em seguida, passa pelo decodificador do decodificador e, finalmente, obtém a saída através do Softmax. Este processo é exatamente o mesmo que o processo na seção "Como o decodificador funciona saída generativa "

Através deste processo, o modelo ganhou a capacidade de gerar texto subsequente. Mas o conteúdo produzido nem sempre é o que os usuários esperam.

Então, como a GPT garante a geração de conteúdo relevante? O esquema de ajuste fino do modelo supervisionado fornecido pelo GPT é o seguinte:

Primeiro prepare os dados supervisionados: x 1 , x 2 . . . . . . xmx^1,x^2 ...... x^mx1 ,x2 ......xA coluna de entrada representada por m , yyy representa o rótulo e, em seguida, insira os dados no modelo pré-treinado para prever a probabilidade de y, conforme mostrado abaixo:

imagem

Entenda esta fórmula:

  1. x 1 , x 2 . . . . . . xmx^1,x^2 ...... x^mx1 ,x2 ......xm é a sequência de entrada, que é a porção de entrada dos dados rotulados preparados para uma tarefa específica.
  2. aay é o rótulo ou saída correspondente.
  3. hlm {h_l}^mheum representa a representação ou característica obtida após processamento pelo modelo pré-treinado.
  4. W e W_yCvocêé uma matriz de pesos, que é o parâmetro principal que precisa ser ajustado durante o ajuste fino.

Durante o processo de ajuste fino, a maior parte da estrutura e dos parâmetros do modelo (conhecimento obtido no pré-treinamento) permanecem inalterados, mas algumas camadas ou pesos específicos, como W y W_y aquiCvocê, será ajustado com base nos dados rotulados da nova tarefa.

Simplificando, você já tem um modelo que compreende aproximadamente o idioma, mas para torná-lo melhor em uma tarefa específica (por exemplo, tradução automática, análise de sentimento, etc.), você precisa ajustar certos parâmetros. Nesta fórmula, você está ajustando a matriz de peso W y W_yCvocêpara fazer com que o modelo preveja melhor a saída yyvocê .

Da mesma forma, os dados supervisionados para ajuste fino devem ser mais de uma amostra, e haverá muitas amostras, então a tarefa do ajuste fino passa a ser maximizar esta função objetivo:

imagem

O processo de ajuste fino é o seguinte:

imagem

Para compreender este processo, devemos primeiro esclarecer que o ajuste fino ajusta principalmente a camada linear do modelo, que é a parte “Linear” da figura. Comparada com os parâmetros de todo o decodificador, esta parte possui menos parâmetros, tornando o ajuste fino mais eficiente.

Então, como você informa ao modelo qual tarefa executar?

Na verdade, a GPT adota uma estratégia de marcação. Quando o texto é inserido, ele indica o tipo de tarefa através de um símbolo ou marca específica. Por exemplo, para uma tarefa de classificação, pode envolver o texto com tags como "Iniciar" e "Extrair". Para tarefas de Entailment, você pode usar tags como "Iniciar", "Premise", "Delim", "Hypothesis" e "Extract" para segmentar e rotular informações.

Para ser mais preciso, o modelo passou por duas fases: primeiro, uma fase de pré-formação não supervisionada, que permitiu ao modelo dominar estruturas e conhecimentos básicos da linguagem, conferindo-lhe a capacidade de gerar linguagem. Mas esta “fala” inicial pode não ser suficientemente precisa ou específica para a tarefa. Portanto, o que se segue é uma fase supervisionada de ajuste fino para garantir que o modelo possa produzir um conteúdo mais preciso conforme o esperado em uma tarefa específica.

Com esta estratégia, o GPT 1 foi avaliado em 12 conjuntos de dados, e 9 deles alcançaram novos efeitos SOTA:

imagem

imagem

3.2.2 Inovação de tiro zero GPT 2

Artigo de referência 1 do GPT 2: https://insightcivic.s3.us-east-1.amazonaws.com/language-models.pdf

Artigo de referência 2 do GPT 2: https://arxiv.org/pdf/2005.14165.pdf

Após o GPT-1, os pesquisadores observaram que à medida que o tamanho do modelo aumenta, sua precisão e capacidade de generalização ainda apresentam um potencial significativo de melhoria. Portanto, as principais direções de melhoria do GPT-2 foram claramente apresentadas:

  1. Aproveite conjuntos de dados maiores e mais ricos para construir modelos maiores.
  2. Faça ajustes e otimizações detalhadas na estrutura do modelo.

Com base no estado atual da pesquisa na época, se uma tarefa específica requer um conjunto de dados especializado para essa tarefa, o pré-treinamento não supervisionado + ajuste fino supervisionado usado pelo GPT 1 não poderia evitar esse problema, então o GPT 2 foi introduzido no início do design.A ideia de aprendizado Zero-Shot significa que, uma vez concluído o treinamento do modelo, ele pode lidar diretamente com várias tarefas e alcançar excelente desempenho sem ajustar ainda mais seus parâmetros ou estrutura.

O objetivo do Zero-Shot é: ao processar tarefas downstream, ele não depende mais de caracteres iniciais, delimitadores e extratores para informar ao modelo tarefas específicas como GPT-1, mas usa um método de linguagem natural mais intuitivo para especificar tarefas. Por exemplo, quando queremos realizar uma tarefa de tradução, podemos dizer diretamente ao modelo: "Por favor, traduza 'Eu sou um estudante' para o inglês." Desta forma, através deste prompt de linguagem natural (Prompt), o modelo conhece o tarefa que deveria ser executada.

imagem

Para conseguir esse efeito, a OpenAI se concentrou em melhorar a qualidade dos dados, rastreando cerca de 40 GB de conteúdo da plataforma social Reddit, semelhante ao seguinte:

imagem

Esses textos podem conter informações importantes como “dicas”, “descrições” e “respostas”. A OpenAI acredita firmemente que, desde que a quantidade de dados seja grande o suficiente e de alta qualidade, o modelo alcançará naturalmente resultados poderosos. Ao absorver esses textos, o GPT pode desenvolver gradualmente a capacidade de aprender por conta própria enquanto aprende padrões de conversação humana. Esta estratégia de treinamento baseada em Zero-Shot prova com sucesso que é inteiramente possível construir um modelo de linguagem geral eficiente.

Mas o resultado é: embora o GPT 2 tenha proposto esta inovação, os resultados apresentados no artigo não foram surpreendentes.

3.3.3 Aprendizagem no contexto GPT 3

Artigo de referência GPT 3: https://arxiv.org/pdf/2005.14165.pdf

Após entrar no GPT 3, realizou pesquisas adicionais com base no Zero-Shot do GPT 2. Propôs que: inserisse a descrição do cenário no modelo, e o modelo gerará respostas com base nos requisitos do cenário apresentados pelo usuário. processo é chamado de aprendizagem em contexto.

Este processo apresenta One-Shot e Few-Shot, conforme mostrado na figura:

imagem

imagem

Além disso, o transformador esparso também é introduzido na estrutura do modelo do GPT 3 e possui 175 bilhões de parâmetros maiores.A julgar pelas conclusões experimentais, o GPT 3 alcançou um desempenho excelente.

imagem

3.3.4 Capacidades emergentes do GPT 4

Artigo de referência GPT 4: https://arxiv.org/pdf/2303.08774v2.pdf

O mais recente modelo GPT-4 foi desenvolvido em um sistema multimodal avançado capaz de aceitar entrada e saída de texto e imagem. Demonstra níveis de desempenho comparáveis ​​ou até superiores aos humanos em vários benchmarks acadêmicos e profissionais.

A OpenAI avaliou o GPT-4 em benchmarks tradicionais projetados para modelos de aprendizado de máquina. A julgar pelos resultados experimentais, o GPT-4 supera em muito os modelos de linguagem de grande escala existentes, bem como a maioria dos modelos SOTA.

imagem

Na verdade, do GPT 1 ao GPT 4, você pode descobrir que o conteúdo da série GPT se torna cada vez mais curto, o que é diretamente proporcional ao tamanho crescente do GPT. Isto também confirma que a ideia central do desenvolvimento da GPT é simples e rudimentar: grandes esforços podem produzir milagres.

Então, por que o modelo de linguagem grande pode ter um desempenho tão excelente e quais são suas vantagens?

Dois pontos-chave: capacidade de emergência e cadeia de pensamento, ambos características-chave para que grandes modelos de linguagem continuem a se aproximar dos humanos.

Habilidades emergentes referem-se à capacidade do modelo de aprender e descobrir automaticamente novos recursos e padrões de nível superior a partir de dados de treinamento originais. No que diz respeito à definição chinesa, as capacidades emergentes também se referem a novas capacidades que emergem de grandes modelos linguísticos.

Outra manifestação importante da capacidade emergente é a capacidade de generalização dos modelos multimodais. Sem treinamento especial, o GPT 4 também pode generalizar para amostras de dados multimodais novas e desconhecidas. Esta capacidade de generalização depende principalmente da estrutura e do processo de treinamento do modelo, bem como da quantidade e diversidade dos dados. Se o modelo tiver complexidade e capacidade de generalização suficientes, recursos e padrões novos e desconhecidos poderão ser descobertos a partir dos dados brutos.

O Modelo Multimodal de Grandes Linguagens (MLLM) pode alcançar melhor desempenho de raciocínio de senso comum.A transferência intermodal é mais propícia à aquisição de conhecimento, gera mais novas capacidades e acelera o surgimento de capacidades. Esses novos recursos, capacidades ou padrões independentes ou intermodais geralmente não são adquiridos por meio de programação ou treinamento proposital, mas são naturalmente aprendidos pelo modelo a partir de uma grande quantidade de dados multimodais.

A Cadeia de Pensamento pode ser considerada uma das principais capacidades emergentes do grande modelo de linguagem. O encadeamento de pensamentos é um recurso fundamental do ChatGPT e do GPT 4 que permite ao público sentir que os modelos de linguagem são "semelhantes aos humanos".

Através da tecnologia de cadeia de pensamento multimodal, o GPT 4 decompõe um problema de várias etapas (como o raciocínio gráfico) em etapas intermediárias que podem ser resolvidas de forma independente. Ao resolver problemas de raciocínio em várias etapas, as cadeias de pensamento geradas pelo modelo imitam o processo de pensamento humano.

Embora esses modelos do GPT 4 não tenham consciência real ou capacidade de pensamento, eles usam uma cadeia de pensamento semelhante ao raciocínio humano para estimular o modelo de linguagem, o que melhora muito o desempenho do GPT 4 em tarefas de raciocínio e quebra o ajuste fino (Fino) -tune) curva plana. O modelo GPT 4, que possui capacidades de cadeia de pensamento multimodal, possui certas capacidades de análise lógica e não é mais um modelo de aproximação de probabilidade lexical no sentido tradicional.

3.3 Fase de treinamento do ChatGPT

A expansão contínua da escala do modelo permitiu-lhe apresentar um excelente desempenho em diversas tarefas, mas em essência não permite que o modelo siga muito bem as intenções do usuário. Por exemplo, grandes modelos de linguagem podem gerar respostas falsas, inconsistentes com os padrões morais humanos e as normas sociais (tóxicas) e inúteis para os utilizadores. Em geral, são incapazes de comunicar com os humanos.

Por que acontece que a resposta resultante não é a resposta que os humanos desejam?

Uma explicação é o problema de definir a função objetivo durante o treinamento do modelo. Ao treinar modelos de linguagem grandes, o objetivo é fazer com que o modelo gere a próxima palavra no texto, o que é diferente do nosso objetivo de gerar respostas excelentes e de alta qualidade com base em nas instruções. de. Então, como você vincula modelos a humanos?

Essa tecnologia é usada por trás do ChatGPT: aprendizado por reforço de biofeedback (aprendizado por reforço de feedback humano, RLHF) . O método específico é primeiro ajustar o modelo enviando dados de anotação de perguntas na API OpenAI e escrevendo as respostas e, em seguida, coletar um conjunto de dados da classificação do modelo de diferentes respostas a uma pergunta e classificar manualmente a qualidade das respostas e, em seguida, aprenda usando um modelo de aprendizado por reforço.

O processo de treinamento do ChatGPT é dividido nas três etapas a seguir:

A primeira etapa: treinar o modelo de política supervisionada

O próprio GPT 3 é difícil de compreender as diferentes intenções contidas em diferentes tipos de instruções humanas, e também é difícil julgar se o conteúdo gerado é um resultado de alta qualidade. Para que o GPT 3 tenha inicialmente a intenção de entender as instruções, as perguntas serão primeiro selecionadas aleatoriamente do conjunto de dados e os anotadores humanos darão respostas de alta qualidade. Em seguida, esses dados anotados manualmente serão usados ​​para ajustar o GPT 3 modelo (para obter o modelo SFT, Supervised Fine-Tuning).

O modelo SFT neste momento já é melhor que o GPT 3 no seguimento de instruções/conversas, mas não corresponde necessariamente às preferências humanas.

A segunda etapa: modelo de recompensa de treinamento (Modo Recompensa, RM)

Esta etapa treina principalmente o modelo de recompensa por meio de anotação manual de dados de treinamento (cerca de 33 mil dados). Faça amostras aleatórias de perguntas do conjunto de dados e use o modelo gerado no primeiro estágio para gerar várias respostas diferentes para cada pergunta. Os anotadores humanos levam esses resultados em consideração e fornecem uma ordem de classificação. Este processo é semelhante ao coaching ou mentoring.

Em seguida, use os dados do resultado da classificação para treinar o modelo de recompensa. Vários resultados de classificação são combinados em pares para formar vários pares de dados de treinamento. O modelo RM recebe uma entrada e dá uma pontuação que avalia a qualidade da resposta. Dessa forma, para um par de dados de treinamento, os parâmetros são ajustados para que as respostas de alta qualidade recebam pontuações mais altas do que as respostas de baixa qualidade.

A terceira etapa: Use o aprendizado de reforço PPO (Otimização de Política Proximal, otimização de política proximal) para otimizar a estratégia.

A ideia central do PPO é converter o processo de treinamento On-policy no Policy Gradient em Off-policy, ou seja, converter o aprendizado on-line em aprendizado off-line, esse processo de conversão é chamado de Amostragem de Importância. Esta etapa utiliza o modelo de recompensa treinado na segunda etapa e depende das pontuações de recompensa para atualizar os parâmetros do modelo pré-treinado. Selecione aleatoriamente perguntas do conjunto de dados, use o modelo PPO para gerar respostas e use o modelo RM treinado na etapa anterior para fornecer pontuações de qualidade.

As pontuações de recompensa são passadas em sequência, resultando em um gradiente de política, e os parâmetros do modelo PPO são atualizados por meio de aprendizagem por reforço.

Se o segundo e terceiro estágios forem repetidos continuamente, por meio de iteração, um modelo ChatGPT de maior qualidade será treinado.

4. Direção de desenvolvimento de grandes modelos

Atualmente, grandes modelos estão desencadeando um boom tecnológico e suas aplicações estão florescendo como flores da primavera. Todas as esferas da vida estão explorando ativamente e aproveitando esta oportunidade. Embora ainda estejamos nas fases iniciais de implementação de modelos em grande escala, é este período exploratório que dá uma vantagem significativa àqueles que estão agora a entrar na indústria. Na verdade, os grandes modelos e as suas posições relacionadas estão agora em falta, mostrando o enorme potencial e perspectivas neste campo. Para o desenvolvimento, acho que podemos considerar os três aspectos a seguir:

  1. Como transformar tecnologia em produtos e concretizar a aplicação comercial de grandes modelos de linguagem?

Pessoas aplicáveis: Excelentes habilidades de programação e habilidades de engenharia imediata

Grandes modelos de linguagem, especialmente produtos como os grandes modelos on-line da OpenAI, não apenas apresentam excelente desempenho técnico, mas também demonstram vantagens significativas na monetização comercial. Sua principal vantagem reside em seus poderosos recursos de PNL, que podem suportar amplamente uma variedade de tarefas clássicas, como tradução automática, assistentes inteligentes, análise de texto e sentimento, etc. Além disso, esses modelos interagem perfeitamente com os usuários por meio de linguagem natural, reduzindo enormemente a barreira de entrada de novos produtos.

É importante ressaltar que o uso dos grandes modelos on-line da OpenAI nem mesmo requer um conhecimento profundo do aprendizado de máquina subjacente ou dos princípios da PNL . Pode ser usado como uma “caixa preta” para desenvolver diversas aplicações de forma rápida e ágil. Contanto que você tenha habilidades básicas de programação, saiba como definir palavras de prompt apropriadas e entenda o processo de geração de prompts de nível industrial, você poderá criar facilmente vários aplicativos de PNL poderosos e fáceis de usar. Nesta base, surgiu uma série de aplicações criativas, como videntes de IA, aconselhamento psicológico de IA, etc., enriquecendo ainda mais os cenários de aplicação de grandes modelos na vida diária e no trabalho.

  1. Como desenvolver e treinar grandes modelos em campos verticais privatizados?

Pessoas aplicáveis: possuem conhecimentos básicos sólidos em IA, como aprendizado de máquina, aprendizado profundo e processamento de linguagem natural (PNL)

Embora os detalhes completos da série de modelos GPT ainda não sejam totalmente de código aberto, seu sucesso apontou um caminho para melhorar o desempenho do modelo de linguagem. Inspiradas pela GPT, as principais empresas de tecnologia em todo o mundo estão desenvolvendo ativamente grandes modelos baseados em BERT, GPT ou outras combinações de Transformers. Tomemos como exemplo a série doméstica ChatGLM de primeira classe, um grande modelo chinês desenvolvido com base nos conceitos de BERT e GPT. Ao mesmo tempo, tecnologias relacionadas ao desenvolvimento e treinamento de grandes modelos, como aprendizagem por reforço de biofeedback (RLFH), otimização de política proximal (PPO), ponderação baseada em recompensa (Ponderação baseada em recompensa) e motores de treinamento DeepSpeed, também são desenvolvendo-se rapidamente. e mostrou um impulso imparável. Embora possa não ser mais o auge da teoria da PNL, não há dúvida de que o desenvolvimento de algoritmos e o treinamento de grandes modelos ainda são uma das áreas de pesquisa mais avançadas no campo da PNL.

  1. Como reduzir o limite de aplicação e o custo de aplicação de modelos grandes?

Pessoas aplicáveis: possuem sólidos conhecimentos básicos em aprendizado de máquina, aprendizado profundo e processamento de linguagem natural (PNL) ou possuem excelentes recursos de Prompt Engineering

Grandes modelos consomem grandes quantidades de dados e recursos computacionais, o que muitas vezes significa custos elevados em aplicações comerciais. A fim de reduzir estas barreiras e custos, uma variedade de tecnologias avançadas de pré-formação, aperfeiçoamento e construção de corpus em grande escala estão a desenvolver-se rapidamente. Desde 2020, surgiram muitos métodos inovadores de ajuste fino e geração automática de corpus, incluindo ajuste fino supervisionado (SFT), método de ajuste fino adaptativo de baixa ordem (LoRA), ajuste fino de prefixo de palavra de prompt (Prefix Tuning), prompt leve palavra ajuste fino (Prompt Tuning), bem como o método de ajuste fino P-Tuning V2 com uma melhoria de eficiência cem vezes maior e o método adaptativo de ajuste fino de alocação orçamentária (AdaLoRA), etc. Estas tecnologias não só promoveram o desenvolvimento de modelos avançados como o GPT-4.0, mas também tiveram um impacto profundo na investigação e aplicação da PNL, mudando significativamente o status quo do campo.

Finalmente, obrigado por ler este artigo! Se você sente que ganhou algo, não esqueça de curtir, colecionar e me seguir, essa é minha motivação para continuar criando. Se você tiver alguma dúvida ou sugestão, pode deixar uma mensagem na área de comentários e farei o possível para responder e aceitar seus comentários. Se houver um tópico específico que você gostaria de saber, por favor me avise e terei prazer em escrever um artigo sobre ele. Obrigado pelo seu apoio e esperamos crescer com você!

Acho que você gosta

Origin blog.csdn.net/Lvbaby_/article/details/132885157
Recomendado
Clasificación