Como funcionam os modelos grandes de linguagem desconstruída popular

Compile: OneFlow

** Por Tim Lee, Sean Trott **

Fonte da imagem: Gerada por Unbounded AI

Como exatamente o modelo de linguagem grande funciona internamente? Este artigo explica com o mínimo de matemática e terminologia.

O autor deste artigo, Tim Lee, trabalhou na mídia de tecnologia Ars Technica e lançou recentemente um boletim informativo "Understanding AI", que discute principalmente o princípio de funcionamento da inteligência artificial. Sean Trott é professor assistente na Universidade da Califórnia, em San Diego, onde estuda a compreensão da linguagem humana e os modelos de linguagem. (O conteúdo a seguir é compilado e publicado pela OneFlow após autorização, entre em contato com a OneFlow para obter autorização para reimpressão. Texto original:

Quando o ChatGPT foi lançado no outono passado, causou um rebuliço na indústria de tecnologia e em todo o mundo. Na época, os pesquisadores de aprendizado de máquina tentavam desenvolver grandes modelos de linguagem (LLMs) há anos, mas o público em geral não prestou muita atenção ou percebeu o quão poderoso eles se tornaram.

Hoje, quase todo mundo já ouviu falar de LLMs e dezenas de milhões de pessoas os usaram, mas muitos não entendem como eles funcionam. Você deve ter ouvido falar que os LLMs são treinados para "prever a próxima palavra" e exigem muito texto para fazer isso. No entanto, as explicações geralmente param por aí. Os detalhes de como eles prevêem a próxima palavra são frequentemente tratados como um quebra-cabeça esotérico.

Uma razão para isso é que esses sistemas foram desenvolvidos de uma maneira diferente. O software típico é escrito por engenheiros humanos que fornecem ao computador instruções claras e passo a passo. Em contraste, o ChatGPT é construído em uma rede neural treinada usando bilhões de palavras de linguagem.

Portanto, ninguém na terra entende completamente o funcionamento interno do LLM. Os pesquisadores estão trabalhando arduamente para tentar entender esses modelos, mas é um processo lento que leva anos, senão décadas, para ser concluído.

No entanto, os especialistas sabem bastante sobre como esses sistemas funcionam. O objetivo deste artigo é abrir esse conhecimento para um público amplo. Faremos o possível para explicar o que se sabe sobre o funcionamento interno desses modelos sem entrar no jargão técnico ou na matemática avançada.

Começaremos explicando os vetores de palavras, que são uma maneira surpreendente de os modelos de linguagem representarem e raciocinarem sobre a linguagem. Em seguida, mergulharemos nos Transformers, a base da construção de modelos como o ChatGPT. Por fim, explicamos como esses modelos são treinados e exploramos por que um bom desempenho pode ser alcançado com grandes quantidades de dados.

vetor de palavras

Para entender como os modelos de linguagem funcionam, primeiro você precisa entender como eles representam palavras. Os humanos usam sequências de letras para representar palavras em inglês, como CAT para gatos. Os modelos de linguagem usam uma longa lista de números chamados vetores de palavras. Por exemplo, aqui está uma maneira de representar um gato como um vetor:

[0,0074, 0,0030, -0,0105, 0,0742, 0,0765, -0,0011, 0,0265, 0,0106, 0,0191, 0,0038, -0,0468, -0,0212, 0,0091, 0,0030, -0,0563, -0 0,0396, -0,0998, -0,0796, …, 0,0002]

(nota: o comprimento total do vetor é na verdade 300 números)

Por que usar uma notação tão complicada? Aqui está uma analogia, Washington DC está localizada a 38,9 graus de latitude norte e 77 graus de longitude oeste, que podemos representar em notação vetorial:

• As coordenadas de Washington DC são [38.9, 77]

• As coordenadas de Nova York são [40.7, 74]

• As coordenadas de Londres são [51,5, 0,1]

• As coordenadas de Paris são [48,9, -2,4]

Isso é útil para raciocinar sobre relações espaciais. Você pode ver que Nova York está muito perto de Washington DC porque 38,9 está mais próximo de 40,7 e 77 está mais próximo de 74 nas coordenadas. Da mesma forma, Paris está muito perto de Londres. Mas Paris está muito longe de Washington, DC.

Os modelos de linguagem adotam uma abordagem semelhante: cada vetor de palavras representa um ponto em um "espaço de palavras" onde palavras com significado semelhante estão localizadas mais próximas umas das outras. Por exemplo, as palavras mais próximas de gatos no espaço vetorial incluem cachorro, gatinho e animal de estimação. Uma grande vantagem de representar palavras como vetores de números reais (ao contrário de sequências de letras como "CAT") é que os números podem fazer operações que as letras não podem.

As palavras são muito complexas para serem representadas em apenas duas dimensões, então os modelos de linguagem usam espaços vetoriais com centenas ou até milhares de dimensões. Os humanos não conseguem imaginar espaços com dimensões tão altas, mas os computadores podem raciocinar sobre eles e produzir resultados úteis.

Os pesquisadores estudam vetores de palavras há décadas, mas o conceito realmente ganhou força em 2013, quando o Google anunciou o projeto word2vec. O Google analisou milhões de documentos coletados do Google News para descobrir quais palavras tendem a aparecer em frases semelhantes. Com o tempo, uma rede neural treinada aprende a colocar palavras de categorias semelhantes (como cachorro e gato) adjacentes no espaço vetorial.

Os vetores de palavras do Google também têm outro recurso interessante: você pode usar operações vetoriais para "inferir" palavras. Por exemplo, os pesquisadores do Google pegam o maior (maior) vetor, subtraem o vetor grande (grande) e adicionam o vetor pequeno (pequeno). A palavra mais próxima do vetor resultante é o menor (menor) vetor.

Você pode usar operações vetoriais para uma analogia! Neste exemplo, a relação entre grande e maior é semelhante à relação entre pequeno e menor. Os vetores de palavras do Google capturam muitos outros relacionamentos:

• A Suíça está para a Suíça como o Camboja está para o Camboja. (País de cidadania)

• Paris e França são semelhantes a Berlim e Alemanha. (capital)

• Imoral e moral são semelhantes a possível e impossível. (antônimo)

• Mouse (ratos) e ratinhos (plural de ratos) são semelhantes a dólares (dólares) e dólares (plural de dólares). (forma plural)

• Homens e mulheres são como reis e rainhas. (papel de gênero)

Como esses vetores são construídos a partir do modo como as pessoas usam a linguagem, eles refletem muitos dos preconceitos existentes na linguagem humana. Por exemplo, (médico) menos (homem) mais (mulher) é igual a (enfermeira) em alguns modelos de incorporação de palavras. Reduzir esse viés é um novo campo de pesquisa.

No entanto, as incorporações de palavras são uma base útil para modelos de linguagem, pois codificam informações relacionais sutis, mas importantes, entre as palavras. Se um modelo de linguagem aprende algo sobre gatos (por exemplo, às vezes vai ao veterinário), a mesma coisa provavelmente se aplica a gatinhos ou cachorros. Se o modelo aprendeu sobre a relação entre Paris e França (por exemplo, que eles compartilham um idioma), é provável que a relação entre Berlim e Alemanha e Roma e Itália seja a mesma.

O significado da palavra depende do contexto

Esquemas simples de incorporação de palavras como esse falham em capturar um fato importante da linguagem natural: as palavras geralmente têm múltiplos significados.

Por exemplo, a palavra "banco" pode se referir a uma instituição financeira ou à margem de um rio. Ou considere as seguintes frases:

• John pega uma revista (John pega uma revista).

• Susan trabalha para uma revista (Susan trabalha para uma revista).

Nessas frases, o significado de "revista" é relacionado, mas diferente. John comprou uma revista física e Susan trabalhou para uma agência que publicava revistas físicas.

Quando uma palavra tem dois significados não relacionados, os linguistas os chamam de homônimos. Quando uma palavra tem dois significados intimamente relacionados, como "revista", os linguistas chamam isso de polissemia.

Modelos de linguagem como ChatGPT são capazes de representar a mesma palavra com diferentes vetores, dependendo do contexto em que a palavra ocorre. Existe um vetor para "banco (instituição financeira)" e um vetor para "banco (margem de rio)". Existe um vetor para "revista (a entidade de publicação)" e um vetor para "revista (a instituição de publicação)". Como você pode esperar, o modelo de linguagem usa vetores que são mais semelhantes para os significados de palavras polissêmicas e menos semelhantes para os significados de palavras homófonas.

Até agora não explicamos como os modelos de linguagem fazem isso - entraremos nisso em breve. No entanto, estamos detalhando essas representações vetoriais, que são importantes para entender como funcionam os modelos de linguagem.

O software tradicional é projetado para trabalhar com dados explícitos. Se você pedir a um computador para calcular "2+3", não haverá ambiguidade sobre o que significa 2, + ou 3. Mas a ambiguidade na linguagem natural vai muito além de homônimos e polissemias:

• Em "o cliente pediu ao mecânico para consertar seu carro", "seu" se refere ao cliente ou ao mecânico?

• Em “o professor incentivou o aluno a fazer o dever de casa”, “ela” se refere ao professor ou ao aluno?

• Em "frutas voam como uma banana", "moscas" é um verbo (referindo-se à fruta voando no céu como uma banana) ou um substantivo (referindo-se às moscas-das-frutas que gostam de bananas)?

As pessoas resolvem esse tipo de ambiguidade dependendo do contexto, mas não há regras simples ou claras. Em vez disso, requer a compreensão do que realmente está acontecendo no mundo. Você precisa saber que os mecânicos geralmente consertam os carros dos clientes, os alunos geralmente fazem seus próprios deveres de casa e as frutas geralmente não voam.

Os vetores de palavras fornecem uma maneira flexível para os modelos de linguagem representarem o significado exato de cada palavra no contexto de um parágrafo específico. Agora vamos ver como eles fazem isso.

Converter vetores de palavras em previsões de palavras

O modelo GPT-3 por trás da versão original do ChatGPT consiste em dezenas de camadas de rede neural. Cada camada recebe como entrada uma sequência de vetores - um para cada palavra no texto de entrada - e adiciona informações para ajudar a esclarecer o significado dessa palavra e prever melhor as palavras que podem vir a seguir.

Vamos começar com um exemplo simples.

Cada camada do LLM é um Transformer. Em 2017, o Google introduziu essa estrutura de rede neural pela primeira vez em um documento importante.

Na parte inferior do gráfico, o texto de entrada para o modelo é "John quer que seu banco desconte o" e essas palavras são representadas como vetores de estilo word2vec e passadas para o primeiro Transformer. Este Transformer determina que ambos want e cash são verbos (essas duas palavras também podem ser substantivos). Indicamos esse contexto adicional em texto vermelho entre parênteses, mas o modelo realmente armazena essas informações modificando os vetores de palavras de uma maneira que é difícil para os humanos interpretarem. Esses novos vetores são chamados de estados ocultos e são passados para o próximo Transformer.

O segundo Transformer acrescenta mais duas informações contextuais: esclarece que bank se refere a uma instituição financeira (instituição financeira) ao invés de uma margem de rio, e que his se refere ao pronome John. O segundo Transformer produz outro conjunto de vetores de estado ocultos que refletem todas as informações que o modelo aprendeu anteriormente.

O gráfico acima representa um LLM puramente hipotético, portanto, não se prenda muito aos detalhes. LLMs reais tendem a ter mais camadas. Por exemplo, a versão mais poderosa do GPT-3 possui 96 camadas.

A pesquisa mostra que (as primeiras camadas se concentram na compreensão da gramática da frase e na resolução das ambiguidades mostradas acima. As camadas posteriores (não mostradas acima para manter o tamanho do diagrama gerenciável) são dedicadas à compreensão de alto nível de todo o parágrafo.

Por exemplo, quando o LLM "lê" um conto, parece se lembrar de todos os tipos de informações sobre os personagens da história: sexo e idade, relacionamentos com outros personagens, locais passados e atuais, personalidades e objetivos e muito mais.

Os pesquisadores não entendem completamente como os LLMs rastreiam essas informações, mas, logicamente, as informações devem ser transmitidas entre as camadas, modificando os vetores de estado ocultos. A dimensão vetorial no LLM moderno é extremamente grande, o que é propício para expressar informações semânticas mais ricas.

Por exemplo, a versão mais poderosa do GPT-3 usa vetores de palavras com 12288 dimensões, ou seja, cada palavra é representada por uma lista de 12288 números. Isso é 20 vezes maior que o esquema word2vec proposto pelo Google em 2013. Você pode pensar em todas essas dimensões extras como uma espécie de "espaço de rascunho" que o GPT-3 pode usar para registrar o contexto de cada palavra. Notas informativas feitas por camadas anteriores podem ser lidas e modificadas por camadas posteriores, permitindo que o modelo aprofunde gradualmente sua compreensão de todo o texto.

Portanto, suponha que alteremos o diagrama acima para descrever um modelo de linguagem de 96 camadas para interpretar uma história de 1.000 palavras. O nível 60 pode incluir um vetor para John, com um vetor denotado "(Protagonista, homem, casado com Cheryl, prima de Donald, de Minnesota, atualmente em Boise, tentando encontrar sua carteira perdida)" entre parênteses. Novamente, todos esses fatos (e possivelmente mais) seriam codificados em uma lista de 12.288 números correspondentes à palavra João. Ou, algumas informações nessa história podem ser codificadas em um vetor de 12.288 dimensões para Cheryl, Donald, Boise, carteira ou outras palavras.

O objetivo disso é fazer com que a 96ª e última camada da rede produza um estado oculto que contenha todas as informações necessárias para prever a próxima palavra.

Mecanismo de atenção

Agora vamos falar sobre o que acontece dentro de cada Transformer. O Transformer possui dois processos ao atualizar o estado oculto de cada palavra do parágrafo de entrada:

  1. Durante a etapa de atenção, o vocabulário "procura" por outras palavras que tenham um contexto relevante e compartilhem informações entre si.

  2. Na etapa de feedforward, cada palavra "pensa" sobre as informações coletadas na etapa de atenção anterior e tenta prever a próxima palavra.

Obviamente, é a rede que executa essas etapas, não palavras individuais. Mas afirmamos desta forma para enfatizar que o Transformer usa palavras como unidade básica desta análise, não sentenças ou parágrafos inteiros. Essa abordagem permite que o LLM aproveite ao máximo os recursos de processamento massivamente paralelo dos chips de GPU modernos. Também ajuda a dimensionar o LLM para parágrafos longos contendo milhares de palavras. Esses dois aspectos são os desafios enfrentados pelos primeiros modelos de linguagem.

Você pode pensar no mecanismo de atenção como um serviço de correspondência entre palavras. Cada palavra faz uma lista de verificação (chamada de vetor de consulta) que descreve as características das palavras que está procurando. Cada palavra também faz uma lista de verificação (chamada de vetor-chave) descrevendo suas próprias características. A rede neural encontra a melhor palavra correspondente comparando cada vetor-chave com cada vetor de consulta (calculando o produto escalar). Depois que uma correspondência é encontrada, ele passa as informações relevantes da palavra que produziu o vetor de chave para a palavra que produziu o vetor de consulta.

Por exemplo, na seção anterior, mostramos um modelo hipotético do Transformer que descobriu que "his" se refere a "John" em parte da frase "John want his bank to cash the". Internamente, o processo pode ser mais ou menos assim: um vetor de consulta para "dele" pode ser efetivamente representado como "estou procurando: substantivos que descrevem homens". Um vetor-chave para "John" pode ser efetivamente expresso como "Sou um substantivo que descreve um homem". A rede detectará que esses dois vetores correspondem e transferirá informações sobre o vetor "John" para o vetor "his".

Cada camada de atenção possui várias "cabeças de atenção", o que significa que esse processo de troca de informações ocorre várias vezes (em paralelo) em cada camada. Cada cabeça de atenção se concentra em uma tarefa diferente:

• Uma cabeça de atenção pode combinar pronomes com substantivos, como discutimos anteriormente.

• Outro cabeçalho de atenção pode lidar com a análise do significado de palavras de polissemia como "banco".

• Uma terceira cabeça de atenção pode vincular frases de duas palavras como "Joe Biden".

Cabeças de atenção como essas geralmente operam sequencialmente, com o resultado de uma operação de atenção em uma camada de atenção tornando-se a entrada para uma cabeça de atenção na próxima camada. Na verdade, cada uma das tarefas que acabamos de enumerar pode exigir várias cabeças de atenção, não apenas uma.

A maior versão do GPT-3 tem 96 camadas, e cada camada tem 96 cabeças de atenção, então toda vez que uma nova palavra é prevista, o GPT-3 realizará 9216 operações de atenção.

Um exemplo do mundo real

Nas duas seções acima, mostramos versões idealizadas de como funcionam as cabeças de atenção. Agora vamos olhar para a pesquisa sobre o funcionamento interno dos modelos de linguagem real.

No ano passado, pesquisadores da Redwood Research estudaram o GPT-2, o antecessor do ChatGPT, para a passagem "Quando Mary e John foram à loja, John deu uma bebida para (quando Mary e John foram à loja, John deu uma bebida para ) "O processo de prever a próxima palavra.

GPT-2 prevê que a próxima palavra é Maria. Os pesquisadores descobriram que três tipos de cabeças de atenção contribuíram para essa previsão:

• Três cabeças de atenção, que chamam de Cabeça do Movimentador de Nome, copiam informações do vetor Mary para o vetor de entrada final (o vetor para a palavra para). GPT-2 usa as informações neste vetor mais à direita para prever a próxima palavra.

• Como a rede neural decide que Mary é a palavra correta a ser copiada? Invertendo o processo de cálculo do GPT-2, os cientistas descobriram um conjunto de quatro cabeças de atenção que chamaram de Subject Inhibition Head (cabeça de inibição do sujeito), que marcava o segundo vetor John, impedindo que a cabeça móvel do nome copiasse o nome John.

• Como o chefe de supressão de assunto sabe que John não deve ser copiado? A equipe extrapolou ainda mais e descobriu duas cabeças de atenção que chamaram de Cabeças Token Duplicadas. Eles marcam o segundo vetor John como uma cópia duplicada do primeiro vetor John, o que ajuda o sujeito a suprimir a cabeça para decidir que John não deve ser copiado.

Em resumo, essas nove cabeças de atenção permitem que o GPT-2 entenda que "João deu uma bebida para João" não faz sentido e, em vez disso, escolhe "João deu uma bebida para Maria (João deu uma bebida para Maria)".

Este exemplo mostra como pode ser difícil entender completamente o LLM. Uma equipe Redwood de cinco pesquisadores publicou um artigo de 25 páginas explicando como eles identificaram e validaram essas cabeças de atenção. Mesmo com todo esse trabalho, no entanto, ainda estamos muito longe de uma explicação completa de por que o GPT-2 decidiu prever "Mary" como a próxima palavra.

Por exemplo, como o modelo sabe que a próxima palavra deve ser o nome de alguém e não algum outro tipo de palavra? É fácil imaginar que em sentenças semelhantes, Maria não seria uma boa preditora seguinte. Por exemplo, na frase "quando Mary e John foram ao restaurante, John deu as chaves para (quando Mary e John foram ao restaurante, John deu as chaves para)", logicamente, a próxima palavra deveria ser "o manobrista ( representando atendente de estacionamento)".

Supondo que pesquisas suficientes sejam feitas por cientistas da computação, eles podem revelar e explicar outras etapas do processo de raciocínio do GPT-2. Eventualmente, eles podem entender completamente como o GPT-2 decidiu que "Mary" era a próxima palavra mais provável na frase. Mas pode levar meses ou até anos de esforço extra para entender como uma palavra é prevista.

Os modelos de linguagem por trás do ChatGPT – GPT-3 e GPT-4 – são maiores e mais complexos do que o GPT-2, e são capazes de tarefas de raciocínio mais complexas do que as frases simples que a equipe de Redwood estudou. Portanto, o trabalho de explicar completamente esses sistemas será um projeto enorme e é improvável que os humanos o concluam em pouco tempo.

Etapa de avanço

Depois que a cabeça de atenção transfere informações entre os vetores de palavras, a rede de feedforward "pensa" sobre cada vetor de palavras e tenta prever a próxima palavra. Nesta fase, nenhuma informação é trocada entre as palavras, e a camada de feed-forward analisa cada palavra de forma independente. No entanto, as camadas de feedforward têm acesso a qualquer informação previamente copiada pelos chefes de atenção. A seguir está a estrutura da camada de feedforward da maior versão do GPT-3.

Os círculos verde e roxo representam neurônios: são funções matemáticas que calculam uma soma ponderada de suas entradas.

A camada de feed-forward é poderosa devido ao seu grande número de conexões. Desenhamos essa rede usando três neurônios como camada de saída e seis neurônios como camada oculta, mas a camada de alimentação direta do GPT-3 é muito maior: 12288 neurônios na camada de saída (correspondente ao vetor de palavra de 12288 dimensões do modelo) , a camada oculta possui 49152 neurônios.

Portanto, na versão maior do GPT-3, a camada oculta possui 49152 neurônios, cada neurônio possui 12288 valores de entrada (portanto, cada neurônio possui 12288 parâmetros de peso) e também existem 12288 neurônios de saída, cada um dos neurônios possui 49152 valores de entrada (portanto, 49152 parâmetros de peso por neurônio). Isso significa que cada camada de feedforward tem 49152*12288+12288*49152=1,2 bilhão de parâmetros de peso. E há 96 camadas de feedforward, um total de 1,2 bilhão*96=116 bilhões de parâmetros! Isso é equivalente a quase dois terços do volume de parâmetros do GPT-3 com 175 bilhões de parâmetros.

Em um artigo de 2020 (em, pesquisadores da Universidade de Tel Aviv descobriram que as camadas de alimentação funcionam por correspondência de padrão: cada neurônio na camada oculta corresponde a um padrão específico no texto de entrada. Abaixo está uma versão de 16 camadas Alguns neurônios em GPT- 2 correspondem ao padrão:

• Os neurônios na camada 1 correspondem a sequências de palavras que terminam em "substitutos".

• Os neurônios na camada 6 correspondem a sequências de palavras relacionadas a militares e terminam em "base" ou "bases".

• Os neurônios na camada 13 correspondem a sequências que terminam com um intervalo de tempo, como "entre 15h e 19h" ou "das 19h de sexta-feira até".

• Os neurônios na camada 16 correspondem às sequências associadas ao programa de TV, como "versão diurna original da NBC, arquivada" ou "atraso de tempo aumentou a audiência para este episódio em 57 por cento".

Como você pode ver, em camadas posteriores o esquema se torna mais abstrato. As primeiras camadas tendem a corresponder a palavras específicas, enquanto as camadas posteriores correspondem a frases que se enquadram em categorias semânticas mais amplas, como programas de TV ou intervalos de tempo.

Isso é interessante porque, conforme mencionado anteriormente, a camada de feed-forward só pode verificar uma palavra por vez. Assim, ao classificar a sequência "Original NBC daytime release, archived" como "TV-related", ela só tem acesso a vetores para a palavra "archived", não palavras como NBC ou daytime. Pode-se inferir que a razão pela qual a camada de feed-forward pode julgar que "arquivado" faz parte da sequência relacionada à TV é porque o chefe de atenção moveu anteriormente as informações contextuais para o vetor "arquivado".

Quando um neurônio corresponde a um dos padrões, ele adiciona informações ao vetor de palavras. Embora essa informação nem sempre seja fácil de interpretar, em muitos casos você pode pensar nela como uma tentativa de prever a próxima palavra.

Inferência de redes feedforward usando operações vetoriais

Uma pesquisa recente da Brown University (mostra um exemplo elegante de como as camadas de avanço podem ajudar a prever a próxima palavra. Discutimos anteriormente a pesquisa word2vec do Google mostrando que o raciocínio analógico pode ser feito usando operações vetoriais. Por exemplo, Berlim - Alemanha + França = Paris .

Os pesquisadores da Brown University descobriram que as camadas de alimentação às vezes usam esse método preciso para prever a próxima palavra. Por exemplo, eles estudaram as respostas do GPT-2 aos seguintes prompts: "Pergunta: Qual é a capital da França? Resposta: Paris. Pergunta: Qual é a capital da Polônia? Resposta:"

A equipe estudou uma versão do GPT-2 com 24 camadas. Após cada camada, os cientistas da Brown University examinaram o modelo, procurando sua melhor estimativa para o próximo token. Nas primeiras 15 camadas, o palpite de maior probabilidade é uma palavra aparentemente aleatória. Entre as camadas 16 e 19, o modelo começa a prever que a próxima palavra é polonês - incorretamente, mas se aproximando. Então, no nível 20, o palpite de maior probabilidade se torna Varsóvia - a resposta correta e permanece o mesmo nos últimos quatro níveis.

Pesquisadores da Brown University descobriram que uma 20ª camada de feed-forward converte a Polônia em Varsóvia adicionando um vetor que mapeia vetores de países para suas capitais correspondentes. Ao adicionar o mesmo vetor à China, a resposta é Pequim.

Uma camada de avanço no mesmo modelo usa operações vetoriais para converter palavras minúsculas em maiúsculas e palavras no tempo presente em seus equivalentes no passado.

A camada de atenção e a camada de feedforward têm funções diferentes

Até agora, vimos dois exemplos práticos de predição de palavras GPT-2: a cabeça de atenção ajuda a prever que John dará uma bebida a Mary; a camada de avanço ajuda a prever que Varsóvia é a capital da Polônia.

No primeiro caso, Mary vem de um prompt fornecido pelo usuário. Mas no segundo caso, Varsóvia não apareceu no prompt. Em vez disso, o GPT-2 teve que "lembrar" que Varsóvia era a capital da Polônia, e essa informação foi obtida a partir dos dados de treinamento.

Quando os pesquisadores da Brown University desativaram a camada de avanço que converte a Polônia em Varsóvia, o modelo não previu mais que a próxima palavra seria Varsóvia. Mas, curiosamente, se eles adicionassem a frase "A capital da Polônia é Varsóvia" no início do prompt, o GPT-2 seria capaz de responder à pergunta novamente. Isso pode ocorrer porque o GPT-2 usa um mecanismo de atenção para extrair o nome Varsóvia da sugestão.

Essa divisão de trabalho se manifesta de forma mais ampla: o mecanismo de atenção recupera informações de partes anteriores da sugestão, enquanto a camada de feed-forward permite que o modelo de linguagem "lembre" informações que não apareceram na sugestão.

Na verdade, uma camada de feed-forward pode ser considerada como um banco de dados de informações que o modelo aprendeu com os dados de treinamento. As primeiras camadas de feed-forward são mais propensas a codificar fatos simples relacionados a palavras específicas, como "Trump geralmente vem depois de Donald". Camadas posteriores codificam relacionamentos mais complexos como "adicione este vetor para converter um país em sua capital.

Método de treinamento do modelo de linguagem

Muitos dos primeiros algoritmos de aprendizado de máquina exigiam exemplos de treinamento rotulados por humanos. Por exemplo, os dados de treinamento podem ser fotos de cães ou gatos com rótulos artificiais (“cachorro” ou “gato”). A necessidade de dados rotulados torna difícil e caro criar conjuntos de dados grandes o suficiente para treinar modelos poderosos.

Uma inovação chave dos LLMs é que eles não requerem dados explicitamente rotulados. Em vez disso, eles aprendem tentando prever a próxima palavra em uma passagem de texto. Quase todo material escrito é adequado para treinar esses modelos - desde páginas da Wikipédia até artigos de notícias e códigos de computador.

Por exemplo, um LLM pode receber a entrada "Gosto do meu café com creme e (gosto do meu café com creme e)" e tentar prever "açúcar (açúcar)" como a próxima palavra. Um modelo de linguagem recém-inicializado é péssimo nisso, porque cada um de seus parâmetros de peso – a versão mais poderosa do GPT-3 chega a 175 bilhões de parâmetros – começa essencialmente com um número aleatório inicialmente.

Mas à medida que o modelo vê mais exemplos - centenas de bilhões de palavras - esses pesos se ajustam gradualmente para fazer previsões melhores.

Vamos usar uma analogia para ilustrar como esse processo funciona. Digamos que você esteja tomando banho e queira que a água esteja na temperatura certa: nem muito quente, nem muito fria. Você nunca usou esta torneira antes, então você ajusta a direção da torneira à vontade e sente a temperatura da água. Se estiver muito quente ou muito frio, você girará a alça na direção oposta e menos ajustes fará na alça à medida que se aproxima da temperatura adequada da água.

Agora, vamos fazer algumas mudanças nessa analogia. Primeiro, imagine que existam 50.257 toques, cada um correspondendo a uma palavra diferente, como "o", "gato" ou "banco". Seu objetivo é deixar fluir apenas a água da torneira que corresponde à próxima palavra da sequência.

Em segundo lugar, há um monte de canos interconectados atrás da torneira e um monte de válvulas nesses canos. Portanto, se a água estiver saindo da torneira errada, você não pode simplesmente ajustar o botão da torneira. Você envia um exército de esquilos inteligentes para rastrear todos os canos, ajustando todas as válvulas que encontram ao longo do caminho.

Isso fica complicado e, como o mesmo tubo geralmente fornece várias torneiras, é necessário pensar cuidadosamente sobre como determinar quais válvulas devem ser apertadas e afrouxadas e em quanto.

Obviamente, este exemplo torna-se ridículo quando tomado literalmente. Construir uma rede de dutos com 175 bilhões de válvulas não é realista nem útil. Mas, graças à Lei de Moore, os computadores podem e operam nessa escala.

Até agora, todas as partes do LLM discutidas neste artigo – os neurônios na camada de alimentação e as cabeças de atenção que passam informações de contexto entre as palavras – são implementadas como uma série de funções matemáticas simples (principalmente multiplicação de matrizes), cujo comportamento é determinado por um parâmetro de peso ajustável. Assim como o esquilo em minha história controla o fluxo de água afrouxando a válvula, o algoritmo de treinamento controla o fluxo de informações através da rede neural aumentando ou diminuindo os parâmetros de peso do modelo de linguagem.

O processo de treinamento é dividido em duas etapas. Faça um "passe para a frente" primeiro, abrindo a água e verificando se a água está saindo da torneira correta. A água é então fechada para uma "passagem para trás", na qual os esquilos correm por cada cano, apertando ou afrouxando as válvulas. Nas redes neurais digitais, o papel do esquilo é desempenhado por um algoritmo chamado backpropagation, que "caminha para trás" pela rede, usando cálculos para estimar quanto cada parâmetro de peso precisa ser alterado.

Fazer isso — propagar um exemplo para frente e, em seguida, retropropagar para melhorar o desempenho da rede nesse exemplo — requer dezenas de bilhões de operações matemáticas. E o treinamento de um modelo grande como o GPT-3 precisa repetir esse processo bilhões de vezes para cada palavra de cada dado de treinamento. A OpenAI estima que o treinamento do GPT-3 requer mais de 300 bilhões de teraflops de cálculos – algo que levaria dezenas de chips de computador de ponta para rodar por meses.

Incrível desempenho do GPT-3

Você pode se surpreender com a eficiência do processo de treinamento. O ChatGPT pode executar uma variedade de tarefas complexas - escrever artigos, fazer analogias e até escrever código de computador. Então, como um mecanismo de aprendizado tão simples produz um modelo tão poderoso?

Um dos motivos é a escala. É difícil enfatizar demais o grande número de exemplos que um modelo como o GPT-3 vê. GPT-3 é treinado em um corpus de cerca de 500 bilhões de palavras. Em comparação, a criança humana média encontra cerca de 100 milhões de palavras antes dos 10 anos de idade.

Nos últimos cinco anos, a OpenAI aumentou continuamente o tamanho de seus modelos de linguagem. Em um artigo de 2020 amplamente divulgado (relatando que a precisão de seus modelos de linguagem tem uma relação de lei de potência com o tamanho do modelo, o tamanho do conjunto de dados e a quantidade de computação usada para treinamento, algumas tendências abrangem mais de sete ordens de grandeza”.

Quanto maior o tamanho do modelo, melhor ele executa em tarefas que envolvem linguagem. Mas somente se eles aumentarem a quantidade de dados de treinamento por um fator semelhante. E para treinar modelos maiores com mais dados, é necessário mais poder de computação.

Em 2018, a OpenAI lançou o primeiro modelo grande GPT-1. Ele usa um vetor de palavras de 768 dimensões, um total de 12 camadas e um total de 117 milhões de parâmetros. Alguns meses depois, a OpenAI lançou o GPT-2, cuja maior versão possui vetores de palavras de 1600 dimensões, 48 camadas e um total de 1,5 bilhão de parâmetros. Em 2020, a OpenAI lançou o GPT-3, que possui um vetor de palavras de 12.288 dimensões, 96 camadas e um total de 175 bilhões de parâmetros.

Este ano, a OpenAI lançou o GPT-4. A empresa não divulgou nenhum detalhe arquitetônico, mas acredita-se amplamente na indústria que o GPT-4 é muito maior que o GPT-3.

Cada modelo não apenas aprendeu mais fatos do que seu antecessor menor, mas também mostrou melhor desempenho em tarefas que exigiam alguma forma de raciocínio abstrato.

Por exemplo, considere a seguinte história: Um saco cheio de pipoca. Não há chocolate no saco. No entanto, o rótulo na sacola dizia "chocolate" em vez de "pipoca". Sam encontrou a bolsa. Ela nunca tinha visto a bolsa antes. Ela não conseguia ver o que havia na bolsa. Ela leu o rótulo.

Como você provavelmente pode imaginar, Sam acredita que o saco contém chocolate e fica surpreso ao descobrir que contém pipoca.

Os psicólogos chamam esse estudo da capacidade de raciocinar sobre os estados mentais dos outros de "Teoria da Mente". A maioria das pessoas tem essa habilidade desde o início do ensino fundamental. Os especialistas estão divididos sobre se a teoria da mente se aplica a qualquer animal não humano, como os chimpanzés, mas o consenso geral é que ela é fundamental para a cognição social humana.

No início deste ano, o psicólogo da Universidade de Stanford, Michal Kosinski, publicou um estudo (examinando a capacidade dos LLMs de resolver tarefas de teoria da mente). ela acredita que a sacola está cheia", a resposta correta é "chocolate", mas um modelo de linguagem imaturo pode dizer "pipoca" ou algo assim.

GPT-1 e GPT-2 falharam neste teste. Mas a primeira versão do GPT-3, lançada em 2020, estava quase 40% correta, um nível de desempenho de Kosinski comparado a uma criança de três anos. A versão mais recente, GPT-3, lançada em novembro do ano passado, melhorou a precisão das perguntas acima para cerca de 90%, o que é comparável ao de uma criança de sete anos. GPT-4 respondeu corretamente cerca de 95 por cento das questões de teoria da mente.

"Dado que não há evidências nesses modelos de que ToM (mentalização) foi intencionalmente projetado nem estudos demonstrando que os cientistas sabiam como alcançá-lo, é provável que essa habilidade tenha surgido de forma espontânea e autônoma. Essa é a habilidade linguística dos modelos A por -produto de aprimoramento constante", escreveu Kosinski.

Vale a pena notar que nem todos os pesquisadores concordam que esses resultados provam a teoria da mente: por exemplo, pequenas mudanças na tarefa de crença falsa levaram a uma grande queda no desempenho do GPT-3 (enquanto o desempenho do GPT-3 em outras tarefas que medem a teoria mente Mais errático (como Sean escreve nele, o desempenho bem-sucedido pode ser atribuído a um fator confuso na tarefa - um "Hans inteligente", referindo-se a um cavalo chamado Hans que parecia ser capaz de concluir algumas tarefas intelectuais simples, mas na verdade apenas confie em pistas inconscientes dadas pelas pessoas)", mas aparece no modelo de linguagem em vez do cavalo.

No entanto, o GPT-3 aborda o desempenho humano em várias tarefas destinadas a medir a teoria da mente, o que era inimaginável apenas alguns anos atrás, e isso é consistente com o fato de que modelos maiores geralmente têm melhor desempenho em tarefas que exigem raciocínio avançado. .

Este é apenas um dos muitos exemplos em que os modelos de linguagem mostraram desenvolver espontaneamente habilidades avançadas de raciocínio. Em abril, pesquisadores da Microsoft publicaram um artigo (dizendo que o GPT-4 mostrou sinais precoces e tentadores de inteligência artificial geral – a capacidade de pensar de maneira complexa e semelhante à humana.

Por exemplo, um pesquisador pediu ao GPT-4 para desenhar um unicórnio usando uma obscura linguagem de programação gráfica chamada TiKZ. O GPT-4 respondeu com algumas linhas de código, que os pesquisadores inseriram no software TiKZ. As imagens resultantes, embora brutas, mostram claramente que o GPT-4 tem alguma compreensão de como é um unicórnio.

Os pesquisadores pensaram que o GPT-4 poderia ter memorizado de alguma forma o código de desenho do unicórnio a partir dos dados de treinamento, então eles lançaram um novo desafio: eles modificaram o código do unicórnio para remover os chifres e moveram algumas outras partes do corpo. Então eles pediram ao GPT-4 para colocar o chifre do unicórnio de volta. GPT-4 respondeu colocando os ângulos da cabeça na posição correta:

Embora a versão de teste dos autores tenha sido treinada inteiramente em texto e não contenha nenhuma imagem, o GPT-4 ainda parece ser capaz de realizar essa tarefa. Ainda assim, o GPT-4 aparentemente aprendeu a raciocinar sobre a forma do corpo do unicórnio depois de ser treinado em grandes quantidades de texto escrito.

Atualmente, não temos uma compreensão real de como os LLMs realizam tais feitos. Algumas pessoas pensam que exemplos como este mostram que o modelo está realmente começando a entender o significado das palavras em seu conjunto de treinamento. Outros insistem que os modelos de linguagem são apenas "papagaios aleatórios" (apenas repetindo sequências cada vez mais complexas de palavras sem realmente entendê-las.

Este debate aponta para um profundo debate filosófico que pode não ser resolvido. No entanto, achamos importante focar no desempenho empírico de modelos como o GPT-3. Se um modelo de linguagem pode consistentemente obter as respostas corretas em um determinado tipo de pergunta, e o pesquisador está confiante de que os fatores de confusão podem ser descartados (por exemplo, garantindo que o modelo de linguagem não foi exposto a essas perguntas durante o treinamento), então não importa como ele entende a linguagem, exatamente como nos humanos, esse é um resultado interessante e importante.

Outra possível razão pela qual o treinamento de previsão do próximo lema funciona tão bem é que a própria linguagem é previsível. As regularidades da linguagem estão muitas vezes (embora nem sempre) ligadas às regularidades do mundo físico. Portanto, quando um modelo de linguagem aprende a relação entre as palavras, geralmente também está aprendendo implicitamente a relação que existe no mundo.

Além disso, a previsão pode ser a base da inteligência biológica, bem como da inteligência artificial. De acordo com filósofos como Andy Clark, o cérebro humano pode ser pensado como uma "máquina de previsão", cuja principal tarefa é fazer previsões sobre nosso ambiente e, em seguida, usar essas previsões para navegar com sucesso no ambiente. A previsão é crítica tanto para a inteligência biológica quanto para a inteligência artificial. Intuitivamente, boas previsões andam de mãos dadas com boas representações — é mais provável que mapas precisos ajudem as pessoas a navegar melhor do que mapas incorretos. O mundo é vasto e complexo, e fazer previsões ajuda os organismos a navegar e se adaptar com eficiência a essa complexidade.

Tradicionalmente, um grande desafio na construção de modelos de linguagem é descobrir as maneiras mais úteis de representar diferentes palavras, especialmente porque o significado de muitas palavras depende muito do contexto. O método de previsão da próxima palavra permitiu que os pesquisadores contornassem esse espinhoso enigma teórico, transformando-o em um problema empírico.

Acontece que os modelos de linguagem são capazes de aprender como a linguagem humana funciona descobrindo as melhores previsões de próxima palavra se fornecermos dados e poder de computação suficientes. A desvantagem é que o funcionamento interno resultante do sistema ainda não é totalmente compreendido pelos humanos.

Observação:

  1. Tecnicamente falando, fragmentos de palavras do LLM tornam-se lemas, mas vamos ignorar este detalhe de implementação para manter este artigo dentro de um tamanho administrável (consulte o artigo "Revealing the Working Principle of GPT Tokenizer").

  2. As redes feedforward também são conhecidas como perceptrons multicamadas. Os cientistas da computação estudam esse tipo de rede neural desde a década de 1960.

  3. Tecnicamente, após o neurônio ter calculado a soma ponderada das entradas, ele passa o resultado para a função de ativação. Este artigo irá ignorar este detalhe de implementação, para uma explicação completa de como os neurônios funcionam, confira:

  4. Se você quiser aprender mais sobre retropropagação, confira a explicação de Tim de 2018 sobre como funcionam as redes neurais.

  5. Na prática, o treinamento geralmente é feito em lotes para eficiência computacional. Portanto, o software pode fazer um avanço em 32.000 tokens antes de retropropagar.

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)