paint-brush
Grandes Modelos de Linguagem: Explorando Transformadores - Parte 2por@shyamganesh
1,532 leituras
1,532 leituras

Grandes Modelos de Linguagem: Explorando Transformadores - Parte 2

por Shyam Ganesh S5m2024/05/22
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

Os modelos de transformador são um tipo de modelo de rede neural de aprendizado profundo amplamente utilizado em tarefas de Processamento de Linguagem Natural (PNL). Nos últimos anos, os transformadores têm sido usados como modelos básicos em muitos Large Language Models (LLMs). Neste blog, exploraremos os transformadores, seus componentes, como funcionam e muito mais.

People Mentioned

Mention Thumbnail
Mention Thumbnail

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Grandes Modelos de Linguagem: Explorando Transformadores - Parte 2
Shyam Ganesh S HackerNoon profile picture


Olá leitores, estou animado por vocês se juntarem a mim enquanto mergulhamos no fascinante mundo dos Large Language Models (LLMs). O desenvolvimento de LLMs captou o interesse de pessoas em vários campos. Se você é novo neste tópico, você está no lugar certo. Neste blog, exploraremos os transformadores, seus componentes, como funcionam e muito mais.


Pronto para começar? Vamos mergulhar!

Transformadores em PNL

Os modelos de transformador são um tipo de modelo de rede neural de aprendizado profundo amplamente utilizado em tarefas de Processamento de Linguagem Natural (PNL). Os modelos de transformadores são especialistas em aprender o contexto dos dados de entrada fornecidos como uma sequência e gerar novos dados a partir deles. Nos últimos anos, os transformadores têm sido usados como modelos de base em muitos Large Language Models (LLMs) .

História dos Transformadores

A arquitetura do transformador foi apresentada em junho de 2017 no artigo “ Atenção é tudo que você precisa ”. Após a introdução dos transformadores, o campo da PNL evoluiu drasticamente em torno da arquitetura dos transformadores. Muitos Large Language Models (LLMs) e modelos pré-treinados foram lançados com um transformador como espinha dorsal. Vejamos uma breve visão geral da evolução dos transformadores no campo da PNL.


História dos transformadores. (Créditos da imagem: HuggingFace)

Em junho de 2018, foi lançado o primeiro GPT (Generative Pre-trained Transformers) baseado em transformador. Mais tarde no mesmo ano, foi lançado o BERT (Representações de codificadores bidirecionais de transformadores). Em fevereiro de 2019, a versão avançada do GPT, ou seja, GPT-2 , foi lançada pela OpenAI. No mesmo ano, muitos modelos pré-treinados, como XLM e RoBERTa , foram implementados, tornando o campo da PNL ainda mais competitivo.


A partir do ano de 2020, o campo da PNL cresceu com o lançamento de muitos novos modelos pré-treinados. O crescimento desses modelos dependeu em grande parte da arquitetura do transformador. Os itens acima são apenas alguns representantes da lista, enquanto, em cenários do mundo real, existem até muitos modelos desenvolvidos na arquitetura do transformador.


Antes de explorarmos a estrutura dos transformadores, vamos primeiro entender alguns conceitos básicos.

Pré treino

O pré-treinamento é um ato de treinar um modelo de aprendizado de máquina (ML) do zero. O procedimento de treinamento começa inicialmente com a randomização dos pesos do modelo. Durante esta fase, um enorme corpus de dados é alimentado no modelo de aprendizagem. Normalmente, esta fase de treinamento é cara e demorada.

Pré-treinamento e ajuste fino. (Créditos da imagem: Wikipédia)


Afinação

O ajuste fino é um procedimento de treinamento realizado em um modelo pré-treinado com informações específicas do domínio. Os modelos pré-treinados adquiriram amplo conhecimento, tornando-os menos adequados para domínios específicos. Durante esse processo, o modelo pré-treinado é retreinado, mas com custo reduzido, pois já aprendeu alguns conceitos.


Para realizar o ajuste fino em um modelo pré-treinado, empregamos a técnica de aprendizagem por transferência. O aprendizado por transferência é um método de aprendizado de máquina em que um modelo aplica seu conhecimento aprendido em um caso de uso para prever inferências em outro caso de uso.

Codificador

Um codificador em um transformador pega a sequência de dados como entrada e gera uma sequência de vetores para uma determinada sequência de entrada. Os modelos de codificador conseguem isso utilizando as camadas de autoatenção presentes neles. Discutiremos essas camadas de autoatenção com mais detalhes posteriormente.


Esses modelos são frequentemente descritos como tendo atenção "bidirecional" e são frequentemente chamados de modelos de codificação automática. Os modelos de codificador são empregados principalmente na classificação de frases e no reconhecimento de entidades nomeadas (NER).

Modelos somente codificadores são modelos de transformadores que possuem apenas codificadores em sua arquitetura. Eles são muito eficientes em casos de uso como classificação de texto, onde o modelo visa compreender a representação subjacente do texto.


Codificador e decodificador. (Créditos da imagem: Médio)


Decodificador

Um decodificador em um transformador recebe uma sequência de vetores como entrada e produz uma sequência de tokens de saída. Esses tokens de saída são as palavras do texto gerado. Assim como os codificadores, os decodificadores também usam muitas camadas de autoatenção. O pré-treinamento de modelos de decodificadores geralmente gira em torno da previsão da próxima palavra na frase. Esses modelos são mais adequados para tarefas que envolvem geração de texto.

Modelos somente decodificadores são modelos de transformadores que possuem apenas decodificadores em sua arquitetura. Eles são muito eficientes na geração de texto. Os decodificadores são especializados na geração de tokens de saída (texto). A tradução automática e o resumo de texto são alguns casos de uso em que os modelos somente decodificadores se destacam.

Camadas de Atenção

As camadas de autoatenção no transformador permitem que o modelo aprenda as dependências de longo alcance entre as palavras no texto de entrada.

Em outras palavras, esta camada instruirá o modelo a prestar mais atenção a palavras específicas no texto de entrada fornecido.

O modelo faz isso calculando a pontuação de similaridade entre pares de texto na sequência de entrada. A camada então usa essa pontuação para calcular os pesos do vetor de entrada. A saída dessas camadas são os vetores de entrada ponderados.


Agora que você tem uma ideia sobre os conceitos básicos de codificadores, decodificadores e camadas de atenção, vamos mergulhar na arquitetura dos transformadores.


Arquitetura de Transformadores

A estrutura de um modelo de transformador se assemelha à imagem mostrada abaixo.


Arquitetura do transformador. (Créditos da imagem: HuggingFace)


Os codificadores são colocados no lado esquerdo e os decodificadores no lado direito. Os codificadores aceitam a sequência de texto como entrada e produzem uma sequência de vetores como saída, que é alimentada como entrada para os decodificadores. Os decodificadores gerarão uma sequência de tokens de saída. Os codificadores são empilhados com camadas de autoatenção.


Cada camada recebe um vetor de entrada e retorna um vetor de entrada ponderado com base no mecanismo de autoatenção, que já discutimos. A soma ponderada é o resultado da camada de autoatenção.


O decodificador também contém uma pilha de camadas de autoatenção e uma Rede Neural Recorrente (RNN). As camadas de autoatenção funcionam da mesma forma que os codificadores, mas o RNN será responsável por converter a soma ponderada dos vetores em tokens de saída. Portanto, já deve estar claro que o RNN aceita os vetores ponderados como entrada e gera os tokens de saída como saída. Em palavras simples, os tokens de saída são as palavras presentes na frase de saída.


Para obter uma compreensão dos transformadores em nível de código, gostaria que você desse uma olhada nesta implementação PyTorch de Transformers .


Conclusão

Os transformadores revolucionaram o campo da Inteligência Artificial (IA) e do Processamento de Linguagem Natural (PNL), destacando-se no tratamento de grandes quantidades de dados. Modelos líderes como o BERT do Google e a série GPT da OpenAI mostram seu efeito transformador nos mecanismos de pesquisa e na geração de texto.


Consequentemente, tornaram-se essenciais na aprendizagem automática moderna, ultrapassando os limites da IA e criando novas oportunidades para o progresso tecnológico. Como resultado, tornaram-se indispensáveis na aprendizagem automática moderna, impulsionando os limites da IA e abrindo novos caminhos para os avanços tecnológicos.


Feliz aprendizado!


Referências

Consulte os outros artigos desta série sobre Large Language Models (LLMs):