Desmistificando Grandes Modelos de Linguagem - LLM: Uma Explicação Simples
Por Marcelo Barbosa
Imagine ter um assistente super inteligente que leu quase tudo disponível na internet. Este assistente pode conversar de maneira semelhante a um humano, escrever, responder perguntas, resumir e expandir tópicos, traduzir textos e muito mais. É assim que são programas como o ChatGPT da OpenAI e o Bard do Google.
Mas o mundo desses programas de Inteligência Artificial (IA), conhecidos como ChatBots, não acaba aí. Outros opções populares são Hugging Face, Pi e Poe. Existem também aplicativos alimentados por modelos de IA de empresas como Anthropic e Cohere, demonstrando a rápida expansão desta tecnologia.
Todos esses ChatBots agem como assistentes pessoais inteligentes, sempre prontos para ajudar com uma infinidade de tarefas. Mas lembre-se, assim como um estagiário, eles ainda estão aprendendo e nem sempre são perfeitos. Eles podem ocasionalmente entender mal ou dar uma resposta fora do alvo, mas a cada dia, eles estão melhorando e se tornando mais eficazes em seus esforços para ajudar.
E o segredo por trás de todos esses assistentes é algo chamado Grandes Modelos de Linguagem (LLM). Eles essencialmente representam um esboço estatístico de como geralmente sequências de palavras aparecem em texto ou conversação do dia a dia. Sua lógica subjacente é antecipar, com base em sequências de palavras anteriores, qual provavelmente será a próxima palavra. Quando alguém interage com esse modelo escrevendo um pedaço de texto, este trecho é usado como ponto de partida da sequência. O modelo extrapola a partir deste ponto, identificando padrões análogos em seus abrangentes dados de treinamento para prever palavras subsequentes.
Um dos tipos mais simples de modelos de linguagem é o uni-grama, às vezes referido como o modelo de um grama. Este modelo olha para a frequência de palavras individuais dentro de uma língua específica. Por exemplo, palavras como "e", "que" ou "o" são usadas com bastante frequência, enquanto palavras como "verossimilhança" são relativamente raras. O modelo de uni-grama registra essas frequências para entender a prevalência das palavras.
Levando este conceito um passo adiante, um modelo de bi-grama examina a frequência de pares de palavras. Por exemplo, a palavra "bom" é frequentemente seguida por "dia", e a palavra "feliz" é comumente seguida por "aniversário". Ao analisar estatisticamente a probabilidade de uma palavra seguir a outra, este modelo pode gerar pares de palavras coerentes.
Esta técnica foi implementada pela primeira vez em 1913 por Andrei Markov, um estatístico russo. Ele analisou meticulosamente toda uma peça, "Eugene Onegin", contou os pares de palavras e construiu uma extensa tabela. Ao gerar sequências de palavras a partir desta tabela, ele conseguiu produzir resultados semelhantes a um texto. Essas sequências não eram perfeitas; elas careciam de gramática adequada, mas começaram a imitar padrões textuais.
Indo ainda mais longe, um modelo de tri-grama olha para um trio de palavras e prevê a próxima palavra com base nas duas anteriores. Quando um modelo como este é treinado em um tipo específico de texto, ele pode gerar texto que imita o estilo e o tom dessa fonte. Como resultado, as frases e sentenças geradas podem ser coerentes e relevantes.
Avanços nos modelos de linguagem levaram ao desenvolvimento de modelos substancialmente maiores, capazes de considerar as 32.767 palavras anteriores para prever a próxima. Se alguém tentasse construir uma tabela para este tipo de modelo, ela seria incompreensivelmente grande. Para mitigar este problema, é empregado um circuito complexo com cerca de um trilhão de parâmetros ajustáveis. Este circuito passa por um bilhão de trilhão de mutações aleatórias para se tornar altamente proficiente em prever a próxima palavra.
Esses grandes modelos de linguagem, como são chamados, são treinados em uma vasta quantidade de dados, potencialmente até 30 trilhões de palavras. Este volume impressionante é, aproximadamente, equivalente a todos os livros já escritos pela humanidade. A complexidade e a enormidade desta tarefa podem parecer intimidadoras, mas é alcançada empregando um modelo que pode processar e aprender eficientemente com este enorme conjunto de dados.
O custo e o tempo para treinar grandes modelos de linguagem podem variar amplamente com base em muitos fatores, como o hardware específico usado, o tamanho do modelo e a quantidade de dados utilizada para treinamento. No entanto, estima-se que o treinamento de um grande modelo de linguagem como o GPT-3, que tem 175 bilhões de parâmetros, poderia custar mais de $4 milhões.
Em termos de tempo, levaria 355 anos para treinar o GPT-3 em uma única Unidade de Processamento Gráfico - GPU, que é uma peça de computador poderosa, comumente usada em computadores para jogos. Mas com recursos de hardware significativos, como o uso de milhares de GPUs, o modelo poderia ser treinado em apenas 34 dias.
Quando você se interage com esses modelos como o GPT-4, você essencialmente inicia uma sequência de 32.000 palavras, e o modelo extrapola a partir daí. Ele varre diligentemente seus dados de treinamento para encontrar padrões semelhantes à sequência de palavras provida. Esses padrões são então usados para prever a palavra subsequente.
Apesar desta descrição simples, é importante notar que a complexidade das operações que acontecem nos bastidores é imensa. As capacidades preditivas destes grandes modelos de linguagem são impressionantes e continuam a evoluir, tornando-os uma ferramenta valiosa para inúmeras aplicações.