O que é LLMOps?
Os grandes modelos de linguagem (Large Language Models ou LLMs) são modelos de machine learning (ML) que realizam tarefas linguísticas, como tradução, respostas a perguntas, chats e resumos de conteúdo, além de geração de conteúdo e de código. LLMs como GPT-3, LLaMA e Falcon são ferramentas inovadoras que podem ser treinadas com conjuntos de dados e responder a perguntas. À medida que essas ferramentas evoluem, as organizações precisam implementar práticas recomendadas para a operacionalização desses modelos. É aqui que entra o LLMOps.
Large Language Model Operations (LLMOps) são práticas, técnicas e ferramentas utilizadas para o gerenciamento operacional de grandes modelos de linguagem em ambientes de produção. Elas são um mecanismo criado especificamente para gerenciar e automatizar o ciclo de vida de LLMs, do ajuste fino à manutenção, por meio de ferramentas e metodologias. Com operações específicas para o modelo, cientistas de dados, engenheiros e equipes de TI podem implantar, monitorar e fazer a manutenção de grandes modelos de linguagem com eficiência.
LLMOps e MLOps
Visto que os LLMs são uma parte dos modelos de ML, LLMOps é para os LLMs o que MLOps (machine learning operations) é para o machine learning. MLOps é um conjunto de práticas de fluxo de trabalho que visam otimizar o processo de implantação e manutenção de modelos de ML. O MLOps busca estabelecer uma evolução contínua para a integração de modelos de ML aos processos de desenvolvimento de software. De forma semelhante, o LLMOps busca experimentar, iterar, implantar e aprimorar continuamente o desenvolvimento do LLM e o ciclo de vida de implantação.
Apesar de similares em muitos aspectos, LLMOps e MLOps são processos diferentes. Algumas diferenças são:
Aprendizado: muitos modelos tradicionais de ML são criados ou treinados do zero. Os LLMs partem de um modelo de base e passam por ajustes finos, recebendo novos dados para melhorar o desempenho em áreas específicas.
Ajuste: no caso dos LLMs, o ajuste fino melhora o desempenho e a precisão para usos específicos, acrescentando conhecimento sobre determinado assunto. O ajuste de prompts é um processo simples e eficiente que melhora o desempenho dos LLMs em tarefas específicas. Outra diferença, é o ajuste de hiperparâmetros. No caso da ML tradicional, este ajuste prioriza a melhoria da precisão ou de outras métricas. Já para os LLMs, o ajuste também tem como objetivo reduzir custos e a capacidade de processamento exigida para treinamento e inferência. Tanto os modelos clássicos de ML quanto os LLMs se beneficiam do monitoramento e da otimização do processo de ajuste. O que varia é a ênfase dada em cada um. Existe ainda um importante processo que, juntamente com o ajuste, melhora a precisão das respostas: a técnica RAG (retrieval-augmented generation) RAG é o processo de acessar uma base de conhecimento externa para garantir que fatos atuais e precisos sejam fornecidos ao LLM quando consultado, de modo que ele possa gerar uma resposta melhor.
Feedback: o aprendizado por reforço com feedback humano (RLHF) é uma melhoria no treinamento de LLMs. Como as tarefas costumam ser muito abrangentes, o feedback humano dos usuários finais da aplicação é importante para a avaliação do desempenho do LLM. Os LLMs utilizam o feedback humano para avaliar a precisão e a coerência de respostas imediatas. Já os modelos tradicionais de ML usam métricas específicas e automatizadas para avaliar a precisão.
Métricas de desempenho: os modelos de ML contam com métricas de desempenho claramente definidas, como precisão, AUC, F1 Score etc. Já os LLMs têm um conjunto diferente de métricas padrão e pontuação aplicáveis, como o Bilingual Evaluation Understudy (BLEU) e o Recall-Oriented Understudy for Gisting Evaluation (ROUGE).
Benefícios do LLMOps
À medida que o LLMOps se torna a maneira ideal de monitorar e melhorar o desempenho dos LLMs ao longo do tempo, três benefícios se destacam:
Eficiência: com o LLMOps, as equipes agilizam a criação de modelos e o desenvolvimento de pipelines, entregam modelos de melhor qualidade e os implantam na produção com mais rapidez. Ao reduzir o esforço, o LLMops ajuda as equipes a colaborar com mais eficácia por meio de uma plataforma unificada para comunicação e compartilhamento de insights.
Escalabilidade: o LLMOps melhora a escalabilidade e o gerenciamento. Dessa maneira, vários modelos podem ser avaliados, controlados, gerenciados e monitorados simultaneamente para fins de integração contínua e entrega/implantação contínua (CI/CD). Os pipelines de LLM incentivam a colaboração e ajudam a reduzir conflitos e acelerar ciclos de lançamento. E ao reduzir a latência do modelo, o LLMOps contribui para uma experiência de usuário mais ágil.
Redução de risco: o LLMOps torna os processos mais transparentes e reduz o tempo de resposta às solicitações, garantindo mais conformidade com as políticas da organização ou do setor. Um LLMOps avançado pode aprimorar a segurança e a privacidade, pois prioriza a proteção de informações sigilosas e ajuda a evitar vulnerabilidades e acessos não autorizados.
Casos de uso de LLMOps
O LLMOps apresenta alguns casos de uso.
Integração e entrega contínuas (CI/CD): o CI/CD tem como objetivo simplificar, acelerar e automatizar o ciclo de vida de desenvolvimento do modelo. Com ferramentas como o Jenkins é possível criar e testar projetos continuamente. Isso agiliza a integração de alterações pelos desenvolvedores, tornando mais fácil para os usuários obterem uma compilação atualizada. Isso permite fazer updates e reverter alterações nos modelos de forma fluida, minimizando as interrupções no serviço para os usuários.
Coleta, rotulagem e armazenamento de dados: a coleta de dados pode abranger uma variedade de fontes, áreas de conhecimento e idiomas. A rotulagem de dados com anotações humanas pode gerar decisões complexas e específicas a uma área de aplicação. O armazenamento de dados com soluções adequadas de banco de dados e armazenamento pode coletar e reter informações digitais por todo o ciclo de vida do LLM.
Ajuste fino, inferência e monitoramento de modelos: o ajuste fino otimiza os modelos para realizar tarefas específicas a uma área de conhecimento. A inferência de modelo pode gerenciar a produção a partir do conhecimento existente e, então, realizar ações com base em informações deduzidas. O monitoramento do modelo, que inclui feedback humano, coleta e armazena dados sobre o comportamento do modelo para prever como será seu desempenho com dados reais de produção.
Etapas do LLMOps
Todos os LLMOps têm etapas, componentes e práticas recomendadas:
Análise de dados exploratória (EDA): processo de investigar os dados para fins de descoberta, compartilhamento e preparação para o ciclo de vida de machine learning por meio da criação de conjuntos de dados, tabelas e gráficos.
- Coleta de dados: nessa primeira etapa de treinamento do LLM, os dados são coletados de diversas fontes, como repositórios de códigos e redes sociais.
- Limpeza dos dados: depois de coletados, os dados passam por processos de limpeza e preparação para o treinamento, que inclui corrigir inconsistências e remover erros e duplicidades.
- Exploração dos dados: o próximo passo é analisar os dados para entender melhor suas características, identificar valores atípicos e detectar padrões.
Preparação dos dados e engenharia de prompt: processo de tornar os dados visíveis e compartilháveis para as equipes e desenvolver prompts de consulta confiáveis e estruturados para os LLMs.
- Preparação dos dados: os dados utilizados para treinar um LLM são preparados de maneiras específicas, com a remoção de palavras irrelevantes e a normalização do texto.
- Engenharia de prompt: criação de instruções para gerar textos e garantir que os LLMs produzam o resultado desejado.
Ajuste fino do modelo: etapa de ajuste e incremento do desempenho do modelo utilizando bibliotecas open source conhecidas, como a PyTorch.
- Treinamento do modelo: depois que os dados são preparados, o LLM passa pelo treinamento ou ajuste fino utilizando um algoritmo de machine learning, com o objetivo de aprender padrões detectados nos dados.
- Avaliação do modelo: depois do treinamento, o LLM passa por uma avaliação de desempenho com o uso de um conjunto de dados de teste que não tenha sido aplicado em seu treinamento.
- Ajuste fino do modelo: se o LLM não estiver apresentando bom desempenho, é possível ajustá-lo. Isso envolve a modificação dos parâmetros do LLM para melhorar os resultados.
Revisão e governança do modelo: processo de descobrir, compartilhar e colaborar em modelos de ML com a ajuda de plataformas de MLOps open source, como MLflow e Kubeflow.
- Revisão do modelo: depois do ajuste fino, o LLM precisa passar por uma análise de segurança e confiabilidade, que compreende verificá-lo para vieses, riscos e segurança.
- Governança do modelo: processo de gerenciar o LLM ao longo de seu ciclo de vida, que compreende acompanhar seu desempenho, fazer alterações quando necessário e desativá-lo quando ele não for mais útil.
Inferência e disponibilização do modelo: processo de gerenciar a frequência de atualização do modelo, os tempos de solicitação de inferência e outras especificidades de produção durante os testes.
- Disponibilização do modelo: depois de analisado e aprovado, o LLM pode ser implantado na produção por meio de uma interface de programação de aplicação (API).
- Inferência do modelo: a aplicação pode consultar a API para gerar texto ou responder a perguntas. Isso pode acontecer de várias maneiras, como por meio de uma interface de programação de aplicações para transferência de estado representacional (API REST) ou uma aplicação web.
Monitoramento do modelo com feedback humano: criação de pipelines de monitoramento de dados e do modelo com alertas tanto para desvios do modelo como para comportamentos mal-intencionados do usuário.
- Monitoramento do modelo: depois de implantado, o LLM precisa ser monitorado para garantir que está sendo executado como esperado. O monitoramento conta com análise do desempenho, identificação de problemas e alterações, quando necessário.
- Feedback humano: utilizado para melhorar o desempenho do LLM, pode oferecer comentários sobre a qualidade do texto gerado pelo LLM ou identificar possíveis problemas com seu desempenho.
O que é uma plataforma de LLMOps?
Com uma plataforma de LLMOps, cientistas de dados e engenheiros de software têm em mãos um ambiente colaborativo que viabiliza a exploração de dados, o trabalho colaborativo para rastreamento de experimentos, a engenharia de prompt e o gerenciamento de modelos e pipelines. Ela também permite a transição, implantação e monitoramento controlados do modelo para LLMs
A plataforma gerencia a biblioteca com mais eficiência, o que reduz os custos operacionais e os recursos técnicos necessários à execução das tarefas. Essas operações incluem pré-processamento de dados, treinamento de modelos de linguagem, ajuste fino e implantação. O LLMOps automatiza as operações, a sincronização e o monitoramento do ciclo de vida de machine learning.
Por que escolher a Red Hat?
O Red Hat® OpenShift®, plataforma de aplicações em nuvem híbrida baseada no Kubernetes líder do setor, acelera a implementação de aplicações com IA em ambientes de nuvem híbrida, seja no data center, em várias nuvens ou na edge.
Com o Red Hat OpenShift, as organizações automatizam e simplificam o trabalho iterativo de integrar modelos aos processos de desenvolvimento de software, lançamento em produção, monitoramento, retreinamento e reimplantação para continuar produzindo previsões precisas.
O Red Hat OpenShift AI é uma plataforma de MLOps flexível e escalável, com ferramentas para criar, implantar e gerenciar aplicações usando inteligência artificial. Com ele, cientistas de dados e desenvolvedores de aplicações simplificam a integração da inteligência artificial nas aplicações de forma segura e consistente e em escala. O OpenShift AI oferece ferramentas de suporte ao ciclo de vida completo de modelos e testes de inteligência artificial e machine learning, tanto on-premise quanto na nuvem pública.
Com as funcionalidades do Red Hat OpenShift AI e do Red Hat OpenShift combinadas em uma única plataforma empresarial de aplicações de IA, as equipes podem trabalhar em um ambiente colaborativo, que promove consistência, segurança e escalabilidade.