Os diferentes tipos de IA

Antes de mais nada. Você sabe o que é Inteligência Artificial (IA)?

A Inteligência Artificial (IA) é um campo amplo da ciência da computação que busca criar sistemas capazes de realizar tarefas que normalmente exigem inteligência humana (https://cloud.google.com/learn/what-is-artificial-intelligence?hl=pt-BR). Isso inclui atividades como reconhecimento de padrões, compreensão de linguagem, tomada de decisões, resolução de problemas e aprendizado com base em experiências anteriores. A IA não é uma tecnologia única, mas um guarda-chuva que engloba múltiplas abordagens e técnicas para simular comportamentos inteligentes.

Dentro do guarda chuva da IA temos machine learning (ML), subcategoria que foca especificamente em criar algoritmos que aprendem com exemplos automaticamente. Pode parecer brincadeira, mas no ensino médio quando aprendemos regressão linear (o famoso: y = ax + b), estamos aprendendo um algoritmo de ML. Porém, também existem algoritmos de classificação, como random forest e Support Vector Machine (SVM) e de clusterização, como o k-means.

Os algoritmos de ML funcionam identificando padrões explícitos nos dados e criando regras baseadas nesses padrões. Esses algoritmos são interpretáveis (ou seja, é factível ter seu raciocínio compreendido)  e frequentemente requerem que os engenheiros extraiam manualmente as características mais relevantes dos dados em um processo chamado feature engineering.

Nas últimas décadas, o Deep Learning — um subconjunto de ML que utiliza redes neurais artificiais com múltiplas camadas — revolucionou o campo. Redes neurais profundas conseguem extrair características automaticamente dos dados brutos, aprendendo representações cada vez mais abstratas em camadas sucessivas (figura abaixo). Isso as tornou extraordinariamente poderosas para tarefas complexas como visão computacional e processamento de linguagem natural.

Camadas dentro da área de ciência de dados e IA

Talvez você esteja se perguntando onde está o ChatGPT na jogada. IAs como o ChatGPT são chamadas de IAs generativas. Ou seja, são sistemas que não tem como objetivo classificar ou prever um número, mas sim gerar algo novo, no caso, texto. Através de redes neurais profundas - muito profundas - o ChatGPT é um modelo capaz de interpretar texto e gerar uma resposta, dado o texto inputado.

Um pouco de história sobre os LLMs

Um dos primeiros modelos de linguagem foi o ELIZA. O ELIZA simulava conversas usando uma metodologia de reconhecimento e substituição de padrões que dava aos usuários a ilusão de compreensão por parte do programa, mas não apresentava nenhuma representação que pudesse ser considerada como compreensão real do que estava sendo dito por qualquer uma das partes.

Depois do ELIZA existiram modelos baseados exclusivamente em regras gramaticais, que eram inseridas no programa de forma manual. Por exemplo, em um review de filmes, se um comentário contivesse as palavras: ótimo ou excelente o review era positivo. Em contrapartida, se contivesse as palavras ruim ou horrível, o review era considerado negativo. Dessa forma, conseguiamos fazer uma análise de sentimento em cima de textos.

Durante a década de 1980-90 houve uma mudança de paradigma marcada pela introdução de modelos estatísticos para processamento de linguagem. Essa abordagem permitia que os modelos aprendessem por meio da própria linguagem ao invés de depender somente de regras pré-programadas. 

Nos anos 2000 foram introduzidos algoritmos como o SVM e as Cadeias de Markov Escondidas. Na década seguinte, surgiram as redes neurais LSTM e o Word2Vec, sendo o primeiro uma arquitetura de rede neural e o segundo uma técnica baseada em redes neurais, projetada especificamente para derivar representações vetoriais de palavras.

Por fim chegamos na arquitetura Transformer, encontrada no artigo Attention is all you need!, no qual os mecanismos de atenção foram introduzidos. O artigo propõe uma nova forma de arquitetura, substituindo as convoluções e recorrências (utilizadas pelos modelos de linguagem anteriores)  por mecanismos de atenção paralelizáveis. O resultado foi um ganho substancial do nível do entendimento que o modelo tem sobre a linguagem e de capacidade e velocidade de treinamento.

A arquitetura transformer é baseada em dois componentes principais: um encoder (que processa e compreende a entrada) e um decoder (que gera a saída token por token). Porém, é possível utilizar somente o decoder ou somente o encoder. O LLaMa, por exemplo, é um modelo decoder-only, o que significa que ele apenas gera respostas sem usar um encoder para processar a entrada de forma independente.

Nos dias de hoje, praticamente todos os modelos de linguagem são transformers. Essa arquitetura se tornou o padrão porque oferece eficiência, escalabilidade e a capacidade de capturar relações complexas entre palavras distantes no texto.

Como IAs generativas funcionam (de forma superficial)

Em algum momento, você já deve ter se perguntado como que o ChatGPT funciona. Talvez você também tenha escutado em algum lugar que o ChatGPT é um Large Language Model (LLM), um Grande Modelo de Linguagem, com bilhões de parâmetros. É exatamente pela contagem de parâmetros que os LLMs são considerados grandes. Esses parametros são as configurações que definem os comportamentos do modelo que são alterados durante o processo de treinamento, de forma a fazer com que o modelo seja capaz de dar respostas condizentes.

Aqui vai uma representação gráfica de como é uma rede neural:

Representação de uma rede neural

Mais à esquerda temos os inputs, que são multiplicados para os pesos da primeira camada e nela é aplicada uma função de ativação — nesse exemplo, uma função sigmóide. A função de ativação é responsável por introduzir não-linearidade no modelo, permitindo que ele aprenda relações mais complexas nos dados. 

A segunda camada também é chamada de camada escondida. É nesse pedaço que o deep, de deep learning, acontece - dado que posso ter inúmeras camadas - e daí que vem o deep de deep learning.

Por fim, a terceira camada (camada de saída) recebe o output da segunda camada, multiplica pelos pesos da terceira camada e aplica a função de ativação para gerar o output final. No caso de um modelo generativo como o ChatGPT, esse output é uma distribuição de probabilidade — um conjunto de números que indicam a probabilidade de cada token possível ser o próximo na sequência.

O que é um token

Um token é a menor unidade de texto que o modelo processa. Um token pode ser uma letra, uma palavra completa, ou até mesmo parte de uma palavra. Por exemplo, a frase "inteligência artificial" pode ser tokenizada como ["inteligência", "artificial"] ou ["intel", "igência", "artificial"], dependendo de como o modelo seja configurado. Esse é um dos motivos da precificação do uso de APIs de LLMs ser tão difícil, se você não sabe de antemão quantos tokens tem o texto que você está (e muitas vezes não sabe nem qual texto será inputado), que dirá quantos tokens o modelo irá retornar na resposta.

A distribuição de probabilidade

Imagine que minha IA super inteligente só sabe as letras A, B e C. Dado o input x1 com o valor A e x2 com o valor B, o output é a probabilidade da próxima letra ser A, B ou C

{
"A": 0.2, 
"B": 0.45, 
"C": 0.9
}

No nosso exemplo 100% hipotético, temos então que, dado o input ["A", "B"], temos uma probabilidade de 20% da próxima letra ser A, 45% de ser B e de 90% de ser C. Se realmente estamos confiando no nosso modelo, encaramos que a resposta certa realmente é C, dada a confiança do modelo nessa resposta.

Agora imagine essa ideia aplicada a um vocabulário gigantesco que vai além de letras, talvez palavras completas, trigramas, bigramas, dentre outras possíveis formas de tokenizar texto e, para cada pedaço de texto que você vê o ChatGPT gerando, todo esse processo acontece repetidamente para gerar uma resposta que faça sentido para o prompt que você enviou.

Não sei se você conseguiu reparar, mas a estrutura dos neurônios se assemelha bastante com uma matriz. Não por acaso, também conseguimos representar esses modelos como matrizes.

Representação de palavras como vetores (processo de embedding)

Uma vez que eu consigo representar meu modelo como uma matriz, as operações necessárias para o modelo gerar a resposta basicamente são multiplicações de matrizes. Sendo essa uma tarefa muito paralelizável e muito bem feita por um hardware bem específico, as placas de vídeo.

Se quiser uma explicação ainda mais detalhada sobre como funcionam esses modelos recomendo os seguintes vídeos no youtube:

Resumo

Nesse artigo começamos a entender que IA é um guarda-chuva amplo que engloba diferentes abordagens. Dentro dela, temos o machine learning, que ensina máquinas a aprender padrões nos dados. E dentro do machine learning, temos o deep learning, que utiliza redes neurais com múltiplas camadas para extrair automaticamente características complexas dos dados.

Em seguida, vimos que as IAs generativas — como o ChatGPT — diferem de modelos tradicionais porque não apenas classificam ou predizem, mas criam conteúdo novo. Elas não simplesmente seguem regras pré-programadas; aprendem estatisticamente com base em gigantescos volumes de dados.

Tecnicamente, entendemos que um LLM funciona através de redes neurais profundas organizadas em múltiplas camadas. Cada camada processa informações, aplica funções de ativação e passa adiante — tudo representado matematicamente como multiplicações de matrizes. O resultado final é uma distribuição de probabilidade que indica qual token (unidade de texto) é mais provável de vir a seguir. Esse processo se repete token por token até gerar uma resposta completa.

E por que isso funciona em escala? Porque multiplicações de matrizes são operações paralelizáveis, e as GPUs (placas de vídeo) são extraordinariamente eficientes em executar bilhões dessas operações simultaneamente. Isso torna viável treinar e usar modelos com bilhões de parâmetros — as configurações internas que permitem ao modelo gerar respostas coerentes e relevantes.

Em resumo: a IA moderna não é magia, mas sim a convergência de três elementos:

  1. Conceitos matemáticos sólidos (redes neurais, transformers, atenção)

  2. Dados em escala massiva (bilhões de exemplos de texto)

  3. Hardware poderoso (GPUs que executam cálculos rápidamente)

Compreender esses fundamentos não apenas desmistifica tecnologias como o ChatGPT, mas também nos prepara para entender as IAs do presente e do futuro. A próxima vez que você interagir com um modelo de linguagem, você saberá que por trás daquela resposta fluida e natural estão camadas de redes neurais, transformers e multiplicações de matrizes acontecendo em paralelo — uma orquestração elegante de matemática e engenharia.

Reply

or to participate

Keep Reading

No posts found