No começo, eu não me interessei; parecia um golpe de marketing, mais uma iniciativa das big techs para reduzir nossas opções (falo sobre isso em outro momento). De fato, em nada me interessava criar imagens ou textos, pois geralmente as buscas na internet eram suficientes para mim. No entanto, trabalhando com tecnologia, era impossível que este assunto não aparecesse na minha bolha.
Eu dava boas gargalhadas no começo: muito slop, muita conversa fiada. Afinal de contas, a definição de “IA” depende de com quem as big techs estão falando. Para grandes corporações, a IA é o que vai reduzir o custo com trabalhadores; para os usuários, é o assistente que vai fazer o seu dia mais fácil; e para as comissões nos congressos políticos, é a salvação da humanidade. Como é que eu posso confiar num produto que tem tantas definições?
Aí começou a “febre do mercado”; tudo estava sendo atualizado para adicionar “IA”. As big techs diziam que era o que mudaria o futuro das empresas. No fim das contas, era só um chat (e ainda é!).
A Evolução do Interesse
Mais tempo passa, e as big techs chinesas começam a liberar modelos opensource, formando comunidades inteiras ao redor deste tema. Trabalhando com tecnologia, como seria possível eu não entender do que se tratava? Então, comecei a ler e entender os pré-requisitos para rodar no meu hardware, sem a necessidade de assinaturas.
A Base da Tecnologia
Não me entendam mal: as big techs montaram as bases dos modelos em cima do conteúdo da internet, conteúdo produzido de forma coletiva ao longo de dezenas de anos. Aí, uma empresa vem, “lê” tudo isso, promete acabar com frentes de trabalho, causando um certo caos, sem ter condição real de sustentar a promessa. Ainda reclamam quando os chineses vêm e destilam novos modelos a partir do trabalho inicial. Mas quando eles estavam consumindo nossos recursos, não achavam ruim, não é?
A Busca por Colaboração
Na minha concepção, esta tecnologia deveria ser colaborativa, universal e gratuita. Mais uma vez, minhas saudações aos chineses. Meus estudos evoluíram; entendi alguns conceitos importantes e descobri que meu notebook seria possível executar alguns modelos. Instalei LM-Studio, Ollama, Local-IA e testei várias ferramentas. Modelos pequenos, ótimos resultados para montagem de textos, resumo de informações e análise de conteúdo. Horas de trabalho passaram a ser minutos.
Entendendo a Inferência
Mas aí entendi uma coisa: não é o modelo em si, mas a junção das ferramentas que fazemos com ele. O fato de eu estar dialogando com algo que é “capaz de me entender” facilita o desenvolvimento da ideia. Permite explorar outros lados de uma ideia, avaliar possíveis problemas de uma arquitetura de software. Tudo isso foi muito interessante, mas, por vezes, muito limitado e, consequentemente, muito lento.
Quando você usa um modelo de linguagem, interagindo com um chat, está na verdade consumindo um serviço de inferência. A inferência, por sua vez, é a parte do software que “traduz” seu texto em “cálculo estatístico” e interage com o modelo para obter a resposta. Em resumo, o funcionamento real do modelo é que, com base no contexto, a comunicação com o modelo gera uma sequência de tokens que, traduzidos para linguagem natural, geram uma resposta, geralmente, aceitável. É claro que não vou fingir que entendo exatamente todos os pontos, mas pode acreditar nos conceitos que estou apresentando (riscos).
O Pulo do Gato da Interação
Por contexto, entenda aquilo que é enviado para o programa que vai tratar tudo. O que você acha que é processado quando você entra num chat e digita “Olá!”? Caso você não saiba, existem uma série de textos (prompts) pré-configurados que “orientam” o modelo. Então, quando você envia o chat, junta esse prompt inicial com o seu pedido (no caso, um “olá!”) e a inferência “trata”.
E é aqui que vem o pulo do gato! Dentro de uma mesma sessão do chat, toda vez que você clica em enviar, o sistema envia todo o histórico do chat. Ele precisa fazer isso para o modelo entender o contexto do seu pedido. Por que, como eu disse antes, não há nada de inteligente. É tudo um alinhamento estatístico gerado em cima de um grande volume de dados, por isso o Large Language Model (Grande Modelo de Linguagem).
Otimizando a Experiência Local
Se você for fazer duas perguntas para um modelo e elas não forem relacionadas, abra uma nova sessão para cada pergunta. Da mesma forma, se você quer testar modelos locais, quebre a atividade que deseja fazer em pequenas partes e crie contextos separados. Quanto menor for a janela de contexto (o total de conteúdo que você está enviando), mais rápida e precisa será a resposta.
E é aqui que rodar os modelos localmente faz toda a diferença. Você pode errar à vontade! Você pode gerar a mesma coisa dezenas de vezes sem custo nenhum, pode comparar diversos modelos nas mais variadas atividades. Você começa a dar uso real para a tecnologia, e com este uso, aos poucos, você vai entendendo formas reais de se utilizar essa ferramenta para benefício.
O Futuro da Interação
Acima de tudo, você começa a ver que a tecnologia não vai substituir, em larga escala, a força de trabalho. Chega uma hora que só o chat não oferece os recursos que você precisa para acelerar. Hora de começar a usar agentes; também é uma experiência muito legal. Você começa a perceber que sua lógica nem sempre é tão lógica assim, que por vezes a gente pula etapas quando cria processos na cabeça, e tudo isso reflete na qualidade da resposta do modelo.
Se você chegou até aqui, eu quero compartilhar uma dica. Uma coisa que demorei bastante para entender: se você não estiver conseguindo evoluir em alguma atividade, pergunte ao modelo, explique sua dúvida (de preferência em uma nova sessão).
Além disso, existe uma segunda dica: existem muitas soluções disponíveis na internet. Mas não tenha pressa. Você não precisa (nem consegue) dominar tudo ao mesmo tempo. A tentativa de dominar tudo traz resultados ruins, insegurança e imprecisão. Lembre-se que tudo que você acrescenta (extensões, plugins, skills) aumenta a janela de contexto, dificulta a compreensão do seu pedido e cria uma demora maior no processamento.
Nos próximos textos, irei falar um pouco sobre o que já testei, os modelos que rodei e as impressões que tenho de tudo isso.
Até a próxima!