Desde novembro de 2022, o ChatGPT foi lançado e muitas pessoas ao redor do mundo começaram a usar a GenerativeAI.
Mas este ano, quando o modelo llama vazou e chegou ao GitHub, foi o start de uma verdadeira corrida tecnológica das comunidades de desenvolvimento de software para fazer uso de LLMs (Large Language Models) opensource. E de lá para cá, dezenas foram treinados e disponibilizados ao público em geral.
Agora nós, usuários comuns, podemos fazer download e utilizar modelos robustos e especializados em determinadas ações, tais como Multimodal, Computer Vision, Natural Language Processing, Audio, Tabular, Reinforcement Learning etc.
Os LLMs podem ser baixados e utilizados em ambiente privado, protegidos por firewall, sem riscos de vazamento de dados sensíveis. Além disso, a maioria dos LLMs é gratuita para desenvolvimento e distribuição.
Mas será que é apenas isso? Fazer download de um modelo, instanciá-lo, começar a utilizar e criar aplicações de IA poderosas e totalmente assertivas a partir daí?
Não é bem assim! Separamos 6 tópicos para entender melhor essa questão.
1) Deploy – Fazer o deploy de uma aplicação em um ambiente de nuvem apresenta diversos desafios que podem ser divididos em três fases distintas: planejamento e configuração, implantação e gestão contínua. Cada fase envolve diferentes preocupações e aspectos a serem considerados.
1.1) Planejamento e Configuração – É feita a seleção da infraestrutura de nuvem e da arquitetura da aplicação. Além disso, são definidas estratégias para gerenciar contêineres e preparar a base para o crescimento.
1.2) Implantação – A etapa de implantação envolve a automação do processo de entrega, foco na segurança da aplicação e garantia de desempenho e escalabilidade através do monitoramento contínuo.
1.3) Gestão Contínua – A fase final requer monitoramento constante, otimização de custos, manutenção regular e preparação para contingências, assegurando a eficiência e confiabilidade contínuas da aplicação na nuvem.
Ou seja, um LLM nada mais é do que uma aplicação. Então tudo citado acima precisa ser realizado também.
Um ponto importante é a configuração de um LLM. Isso é essencial para os usuários controlarem o estilo, a qualidade e a quantidade de saída gerada.
2) Parametrização – Ajustar os parâmetros certos da inteligência artificial generativa pode impactar significativamente o resultado das respostas fornecidas pelo modelo. Alguns parâmetros comuns incluem alguns tópicos, como:
2.1) Temperature (Temperatura): Controla a aleatoriedade da geração de texto. Valores mais altos, como 0.8 ou 1.0, resultam em respostas mais criativas e divergentes, mas também podem ser menos coerentes. Valores mais baixos, como 0.2, produzem respostas mais determinísticas e previsíveis. Ajustar a temperatura permite sintonizar o equilíbrio entre criatividade e coesão.
2.2) Max New Tokens (Máximo de Novos Tokens): Este parâmetro limita o comprimento das respostas geradas pelo modelo. É útil para evitar que o modelo produza respostas muito longas e fora de controle. Definir um valor apropriado para esse parâmetro ajuda a garantir que as respostas sejam sucintas e relevantes.
2.3) Top-p (Nucleus Sampling): Técnica de amostragem que controla a probabilidade acumulada das palavras mais prováveis durante a geração. Definir um valor de corte, como 0.8, limitará as opções de palavras, tornando a resposta mais focada e coerente.
2.4) Frequency Penalties (Penalizações de Frequência): É possível aplicar penalizações para desencorajar o modelo a repetir palavras ou frases muito frequentemente. Isso ajuda a diversificar a saída e evita respostas excessivamente repetitivas.
2.5) Load In-8bit Mode (Carregamento em Modo de 8 bits): Permite carregar o modelo em uma configuração de precisão de 8 bits, o que reduz os requisitos de memória e acelera a geração de texto. Isso pode ser útil quando há restrições de recursos.
2.6) Max Tokens: Similar ao “Max New Tokens”, esse parâmetro define o limite máximo de tokens permitidos na resposta gerada. Ele pode ser útil para controlar o tamanho total das respostas, incluindo respostas geradas por múltiplas interações.
2.7) Repetition Penalty (Penalização de Repetição): Penaliza o modelo por repetir palavras ou frases que já apareceram na resposta. Isso ajuda a evitar respostas monótonas e excessivamente repetitivas.
2.8) Timeout: Define um limite de tempo para a geração da resposta. É útil para evitar respostas demoradas que possam impactar negativamente a experiência do usuário.
A escolha dos parâmetros certos depende do contexto da interação e dos resultados desejados. Experimentar com diferentes combinações de parâmetros e avaliar as respostas geradas é essencial para encontrar o equilíbrio ideal entre criatividade, coerência e relevância.
3) Engenharia de Prompts – É uma abordagem crucial para obter resultados específicos de grandes modelos de linguagem como os LLMs. Ao conversar com LLMs específicos, os desafios incluem:
3.1) Direcionamento Preciso: Projetar prompts de maneira que sejam claros e específicos sobre o que você deseja do modelo, evitando ambiguidades que possam levar a respostas indesejadas.
3.2) Contextualização Adequada: Fornecer contexto suficiente nos prompts para que o modelo compreenda a situação e forneça respostas coerentes e relevantes.
3.3) Evitar Respostas Genéricas: Evitar que o modelo forneça respostas genéricas ou clichês, exigindo que ele ofereça informações específicas e úteis para a conversa.
3.4) Mitigação de Biases: Implementar estratégias para minimizar viés e respostas ofensivas que o modelo possa gerar involuntariamente.
3.5) Controle da Saída: Garantir que o modelo não saia do tópico ou contexto desejado, controlando a geração de texto de maneira coerente.
3.6) Aproveitamento das Capacidades: Explorar as capacidades específicas do modelo, como realizar cálculos, traduzir idiomas ou gerar código, formulando prompts que aproveitem essas habilidades.
3.7) Respostas Longas e Coesas: Desafiar o modelo a fornecer respostas mais longas e coesas, evitando respostas curtas demais ou fragmentadas.
3.8) Avaliação Iterativa: Iterar sobre os prompts e ajustar conforme necessário, com base nas respostas do modelo, para melhorar a qualidade das interações.
3.9) Equilíbrio entre Contexto e Instrução: Encontrar o equilíbrio certo entre fornecer contexto suficiente e instruções claras para que o modelo produza respostas relevantes.
3.10) Exploração de Formatos de Resposta: Testar diferentes formatos de perguntas para obter respostas variadas.
Depois dessas conversas, chegamos à alucinação em modelos de linguagem, que é quando esses modelos criam informações falsas de forma convincente.
Ou seja, o modelo cria respostas que parecem plausíveis e coerentes, mas que não têm base em fatos ou informações verdadeiras.
4) Alucinação – ocorre quando o modelo preenche as lacunas de conhecimento com informações inventadas ou exageradas, sem verificar a validade das informações. Isso pode ser particularmente problemático em contextos em que a precisão e a veracidade são essenciais, como na prestação de informações médicas, legais, científicas ou históricas.
Algumas razões pelas quais os LLMs podem alucinar:
4.1) Extrapolação de Padrões: Durante o treinamento, os modelos aprendem padrões nos dados de treinamento e podem tentar extrapolar esses padrões para gerar informações novas, mas não necessariamente precisas.
4.2) Ausência de Verificação: Os LLMs geralmente não possuem mecanismos de verificação de fatos embutidos. Eles geram respostas com base na probabilidade e na coerência, sem a capacidade de avaliar a verdade das afirmações.
4.3) Distorção de Informações: Se os dados de treinamento contiverem informações imprecisas ou distorcidas, o modelo pode aprender a reproduzir essas informações ao responder perguntas ou gerar texto.
4.4) Compreensão Superficial: O modelo pode compreender superficialmente o contexto, mas não possui o conhecimento substancial necessário para gerar informações precisas.
4.5) Vieses do Treinamento: Se os dados de treinamento contiverem viés ou informações incorretas, o modelo pode alucinar respostas que refletem esses mesmos problemas.
Lidar com a alucinação em LLMs é um desafio complexo. É importante que os usuários estejam cientes das limitações desses modelos e verifiquem a precisão das informações por meio de fontes confiáveis.
5) Gestão e controle de acessos aos LLMs – O tópico é de grande importância devido às implicações em termos de segurança, privacidade e uso responsável. Essa gestão assegura que sejam usados de maneira responsável e benéfica para indivíduos e sociedade como um todo.
Algumas razões pelas quais são cruciais:
5.1) Segurança de Dados Sensíveis: Controlar o acesso ajuda a evitar a exposição inadvertida de informações que não devem ser compartilhadas publicamente.
5.2) Prevenção de Abusos e Manipulação: Sem controle adequado, os LLMs podem ser explorados para disseminar informações falsas, gerar conteúdo enganoso ou até mesmo para manipulação social. A gestão de acesso ajuda a minimizar o potencial de abusos desse tipo.
5.3) Proteção contra Viés e Discriminação: Ao controlar o acesso, é possível limitar a disseminação de respostas potencialmente preconceituosas ou discriminatórias.
5.4) Garantia de Qualidade e Reputação: Controlar quem tem acesso aos LLMs permite às organizações manterem um padrão de qualidade nas interações e prevenir situações em que respostas incorretas ou inadequadas possam prejudicar a reputação.
5.5) Conformidade com Regulamentos: Em muitos setores e regiões, existem regulamentos rigorosos relacionados à proteção de dados e privacidade. Controlar o acesso ajuda as organizações a cumprirem esses requisitos legais.
5.6) Uso Responsável e Ético: A gestão de acesso contribui para o uso responsável de LLMs, evitando que sejam usados para fins maliciosos, difamatórios ou antiéticos.
5.7) Uso Eficiente de Recursos: Limitar o acesso aos LLMs pode ajudar a gerenciar a carga computacional e os recursos necessários para suportar a demanda, garantindo um desempenho consistente e estável.
5.8) Customização e Foco: Controlar quem tem acesso aos LLMs permite às organizações personalizarem o modelo para se adequar às necessidades específicas e focar em responder a perguntas relevantes.
5.9) Minimização de Riscos de Segurança: Acesso não controlado ao LLMs pode causar vazamento de informações, exploração de vulnerabilidades e outros riscos.
5.10) Aprendizado de Máquina Ativo: Limitar o acesso permite coletar feedback e dados de treinamento mais confiáveis, melhorando a qualidade das próximas versões do modelo.
6) Custo – A utilização de LLMs em ambiente de nuvem envolve custos significativos, especialmente quando se trata de alocação de recursos de hardware de alto desempenho, como GPUs (Unidades de Processamento Gráfico) e memória RAM.
Eles exigem GPUs poderosas para acelerar os cálculos necessários para o treinamento e inferência. Isso é ainda mais verdadeiro quando se trata de tarefas complexas, como geração de texto ou tradução de idiomas, onde a capacidade de processamento paralelo das GPUs é fundamental.
Além disso, LLMs tendem a consumir grandes quantidades de memória RAM, especialmente à medida que o tamanho do modelo aumenta. Isso pode exigir máquinas virtuais ou servidores físicos com muita memória, o que aumenta os custos operacionais.
Avaliar cuidadosamente as necessidades de hardware, a carga de trabalho esperada e a eficiência na alocação de recursos pode ajudar a otimizar custos e garantir um equilíbrio entre desempenho e orçamento.
O que podemos dizer após 5 meses de trabalho com GenerativeAI?
Criar produtos e oferecer serviços de qualidade e precisão não é fácil. Isso não se resume apenas a escolher o melhor
LLM disponível para o objetivo específico.
Muito esforço precisa ser investido sobre os dados utilizados, infraestrutura, gerenciamento de acesso etc.
Outro desafio é a rápida evolução. Já foram testados dezenas destes modelos e para cada um é preciso fazer deploy, parametrização, controlar alucinações, gerir controles de acesso e custos.
Ao analisarmos os resultados do trabalho com GenerativeAI, percebemos que o esforço e dedicação foram recompensados. Fizemos descobertas valiosas e adquirimos um entendimento profundo de como gerir um LLM.
E estamos falando de apenas alguns meses de trabalho. Imagine o que conseguiremos em 1 ano, 5 anos ou 10 anos?
Saiba como a IA generativa da Inmetrics pode melhorar a produtividade dos seus times em, no mínimo, até 4 vezes.
Conheça o LIEV.