Tudo começa com uma pergunta simples: como é que uma máquina consegue compreender texto? Quando treinas um modelo para distinguir spam de mensagens normais ou para determinar a tonalidade de opiniões, algo interessante acontece por baixo do capô. O modelo precisa de alguma forma transformar letras e palavras em números, porque as redes neurais só trabalham com dígitos.



A primeira abordagem ingênua - simplesmente atribuir um número a cada palavra única. Good = 6, bad = 26, awesome = 27. Parece lógico, mas há um problema: os números 26 e 27 estão próximos um do outro, por isso o modelo vai pensar que bad e awesome são semelhantes. Na realidade, awesome e good são semanticamente mais próximas. Aqui está o truque.

Tentámos o One Hot Encoding - damos a cada palavra um vetor do tamanho de todo o vocabulário, onde apenas um elemento é 1, indicando a palavra certa, e o resto são zeros. O problema do ranking desapareceu, mas surgiu outro: se o vocabulário tiver 20 mil palavras, cada vetor será de 20 mil elementos. Consome muita memória e a semântica das palavras não é capturada pelo modelo.

Depois vieram Bag of Words e N-gramas - contamos quantas vezes uma palavra aparece no texto. Adiciona contexto, mas novamente - vetores esparsos grandes e o modelo não entende ligações profundas entre palavras. Se na frase "The librarian loves books" as palavras librarian e book não estiverem próximas, os N-gramas não vão captar que estão relacionadas.

É aqui que entra a codificação correta através de embeddings. A ideia é que palavras semelhantes devem estar próximas umas das outras no espaço vetorial. Imagine um plano bidimensional: numa direção está o tamanho do animal, na outra, o perigo. Um tigre e um leão estarão próximos (grandes e perigosos), enquanto um hamster estará separado (pequeno e seguro). Isso é embedding - um vetor denso que armazena o significado da palavra num espaço n-dimensional.

O mais incrível: com esses vetores, podemos fazer matemática. Pegue o vetor de "filho", subtraia "homem" e adicione "mulher" - obterá um vetor próximo de "filha". Ou: Madrid + Alemanha - Espanha = Berlim. Funciona porque o modelo captura as relações entre conceitos.

Como é que se treinam esses embeddings? O Google propôs o Word2Vec com duas abordagens. No CBOW, você pega as palavras de contexto e prevê a palavra central. No Skip-Gram, faz-se o contrário - a partir da palavra central, prevê-se os vizinhos. Ambas as técnicas funcionam bem para treinar embeddings de palavras.

Nos modelos atuais, como GPT ou BERT, tudo é um pouco diferente. A camada de embedding não é pré-definida, mas treinada junto com o próprio modelo. Primeiro, o texto é dividido em tokens, depois uma rede neural simples cria um embedding para cada token. Os pesos dessa camada são parâmetros treináveis que aprendem a representar as palavras no espaço desejado. Depois, esses embeddings passam por blocos de decodificação e chegam à camada de saída, que fornece probabilidades para o próximo token.

Um detalhe importante - a codificação posicional. O transformador processa todos os tokens em paralelo, ao contrário das RNNs. Por isso, é preciso informar ao modelo a ordem das palavras. Eles usam um vetor posicional e somam-no ao vetor de embedding. Assim, temos uma combinação: o significado da palavra + a informação sobre sua posição no texto.

Após a codificação posicional, o embedding entra no mecanismo de atenção - que é o coração de todos os grandes modelos de linguagem. O embedding captura a semântica de palavras individuais, mas o contexto é entendido precisamente pelo attention. Por isso, a palavra "chave" em diferentes contextos receberá representações contextuais diferentes.

Assim, combinando ideias simples - tokenização, contagem de palavras, codificação correta via embedding - chegamos gradualmente aos transformadores e ao ChatGPT. Os embeddings estão em todo lado: em sistemas de recomendação, na busca por imagens semelhantes, na base de todos os LLMs atuais. Se queres entender NLP de verdade, é preciso compreender como funcionam o CBOW, o Skip-Gram e toda essa arquitetura. Essa é a base de tudo, com que tudo começa.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
Adicionar um comentário
Adicionar um comentário
Nenhum comentário
  • Fixar