Data Hackers

Blog oficial da comunidade Data Hackers

Afinal, o que é LLMOps? 🤖

Laura Mattos
Data Hackers
Published in
7 min readFeb 7, 2025

--

(Conteúdo baseado na minha cabeça 🧠 e no curso do Datacamp.com — ❤️! )

O que é LLMOps?

LLMOps é o fluxo que gerencia, realiza deploy e mantém aplicações de LLMs (Large Language Models). 🛠️✨

Relembrando…LLMs possuem as seguintes características:

  • 🤖 São pré-treinados: já vêm com conhecimento básico e podem precisar de ajustes específicos (fine-tuning).
  • 🧩 Possuem muitos parâmetros: milhões (ou até bilhões!) de conexões no modelo.
  • Requerem alta capacidade computacional: precisam de infraestrutura robusta.
  • 🎲 São imprevisíveis: as respostas podem variar e exigir monitoramento constante.

Por que LLMOps é importante?

Para maximizar o uso de LLMs (ou seja, aumentar os benefícios e reduzir os riscos), é fundamental contar com processos eficientes de LLMOps. 🛡️

Isso inclui:
Fornecer os dados certos, no momento certo.
Realizar o tratamento e processamento de dados adequados.
Gerenciar múltiplos modelos e tipos de dados em aplicações.

LLMOps busca garantir que a gestão das aplicações seja eficiente e escalável! 📈🚀

🤔Mas e o primo mais famoso, MLOps? O que muda?

Atenção: MLOps lida com Machine Learning!

📏 Tamanho do modelo

  • LLMOps → Trabalha com modelos grandes (ex.: GPTs), que requerem muita memória e processamento. 🚀
  • MLOps → Geralmente lida com modelos menores, mais simples e específicos. ⚙️

📜 Dados utilizados

  • LLMOps → Foca em texto (mensagens, documentos, etc.). 📄
  • MLOps → Trabalha com diversos tipos de dados, como tabelas, imagens, sons, entre outros. 🌐

✅ Uso de modelos pré-treinados

  • LLMOps → Frequentemente usa modelos já pré-treinados, ajustando-os para tarefas específicas.
  • MLOps → Muitas vezes treina os modelos do zero ou faz pequenas reutilizações.

🎯 Objetivo dos modelos

  • LLMOps → Busca generalização ampla para múltiplos propósitos (ex.: assistentes virtuais). 🌍
  • MLOps → Focado em tarefas específicas, como classificação de imagens ou previsões financeiras. 📊

🎲 Imprevisibilidade

  • LLMOps → Pode apresentar respostas inesperadas, exigindo mais monitoramento e ajustes. ⚠️
  • MLOps → É mais previsível, pois segue regras bem definidas. ✅

🔡 Tipo de saída

  • LLMOps → A saída geralmente é texto (respostas, resumos, etc.). 📝
  • MLOps → As saídas podem ser números, gráficos ou rótulos. 📊

🔄 Ciclo de Vida de LLMOps

O ciclo de vida é composto por três fases:

1️⃣ Ideação 💡

A fase inicial é voltada para a definição do objetivo e a seleção dos recursos que serão usados.

📌 Principais passos:

  • 🗂️ Seleção da fonte de dados → Identificar quais dados serão usados como base para treinar ou ajustar o modelo.
  • ⚙️ Escolha do modelo fundacional → Definir qual LLM pré-treinado será utilizado (ex.: GPT, BERT ou outros).
  • 🔄 Decisão entre modelos proprietários vs Open Source.

2️⃣ Desenvolvimento 🛠️

Nesta fase, o modelo ganha forma e funcionalidade.

🎯 Engenharia de Prompts

  • Criar comandos e perguntas que extraem o melhor do modelo para sua aplicação.
  • Gerenciamento de prompts → Devemos armazenar prompt, output (resultado), modelos e configuração usando controle de versão ou ferramentas de gerenciamento de prompt.
  • Uso de placeholders no prompt para flexibilidade.

🏗️ Construção de Arquiteturas

Durante o desenvolvimento, é comum utilizar duas estruturas principais para organizar o fluxo de trabalho:

1. 🤖 Agentes

Os agentes realizam ações de forma adaptativa, decidindo qual será a próxima ação com base nas instruções do LLM.

Adaptáveis → Ajustam as decisões conforme o cenário.
Alta flexibilidade → Lidam com múltiplas possibilidades.
⚠️ Maior risco → Devido à imprevisibilidade.

🔹 Exemplo prático:

  • Decidir se busca uma informação em uma API.
  • Criar ou consultar um documento.
  • Delegar tarefas específicas a outros modelos ou ferramentas.

2. 🔗 Chains (ou Pipelines)

As chains são compostas por etapas conectadas, onde cada etapa recebe uma entrada e produz uma saída.

Determinísticas → Seguem um fluxo fixo e previsível.
Baixa complexidade → Fáceis de implementar.
Modularidade → Permitem ajustes sem impacto global.

🔹 Exemplo prático:
1️⃣ Extrair a pergunta do usuário.
2️⃣ Consultar uma base de dados.
3️⃣ Gerar uma resposta com base nos dados encontrados.

Use chains para tarefas bem definidas.
Use agentes quando há muitos cenários possíveis.

🚀 Melhoria do Modelo

Existem duas abordagens principais para aprimorar um modelo de LLM:

🔄 RAG (Retrieval-Augmented Generation)

Vantagens:

  • Mantém as capacidades do LLM sem alterar o modelo.
  • Fácil de implementar e sempre atualizado com dados externos.

Desvantagens:

  • Requer componentes externos, como bancos de dados ou APIs.
  • Exige engenharia cuidadosa para integração e manutenção das conexões.

🎯 Fine-tuning

Vantagens:

  • Proporciona controle total sobre o modelo, ajustando-o para tarefas específicas.
  • Não depende de componentes externos para gerar respostas.

Desvantagens:

  • Necessita de dados rotulados e especializados para treinar o modelo.
  • Pode amplificar vieses e levar à perda de informações anteriores (catastrophic forgetting).

📌 Resumo:

  • Use RAG se precisar de um modelo sempre atualizado e quiser evitar ajustes complexos.
  • Escolha Fine-tuning se precisar de um modelo mais especializado e personalizado.

3️⃣ Operação ⚙️

A última fase é voltada para colocar o modelo em produção e garantir seu funcionamento contínuo.

🖥️ Deploy em Produção

  • Decisão entre deploy privado (self-hosted) ou na nuvem.
  • Design da API para integração com aplicações.
  • Escolha do método de execução: containers, serverless ou serviços em nuvem.

🔄 CI/CD: Integração e Deploy Contínuos

CI/CD (Continuous Integration e Continuous Deployment) é um processo que automatiza e agiliza o desenvolvimento, garantindo qualidade e rapidez na entrega. 🚀

🔧 Continuous Integration (CI)

Foca na validação contínua de alterações no código.

Principais passos:
1️⃣ Recuperar o código-fonte.
2️⃣ Construir a imagem do contêiner. 🖼️
3️⃣ Realizar testes de integração. ✅
4️⃣ Armazenar o contêiner em um repositório. 📦

📌 Objetivo: Detectar e corrigir problemas rapidamente antes que afetem a versão final. ⚠️

🌐 Continuous Deployment (CD)

Automatiza a entrega do software para os ambientes de validação e produção.

Principais passos:
1️⃣ Recuperar o contêiner do repositório. 📥
2️⃣ Testar o contêiner em condições de implantação. 🧪
3️⃣ Implantar em ambientes:

  • Staging → Validação final antes da produção. 🔄
  • Production → Disponível para os usuários. 🌟

📌 Objetivo: Garantir entregas rápidas, frequentes e confiáveis ao usuário final. 🏁

Integração de CI/CD → Enquanto CI prepara o código, CD o entrega ao usuário, formando um fluxo contínuo que melhora a eficiência e reduz riscos.

👁️ Monitoramento e Observabilidade

Monitorar o desempenho do modelo é essencial para garantir sua eficiência.

🔍 Monitoramento → Acompanha o sistema continuamente para identificar erros e falhas.
🔎 Observabilidade → Revela o estado interno do sistema por meio de:

  • 📜 Logs → Registro de eventos.
  • 📊 Métricas → Desempenho (ex.: tempo de resposta).
  • 🧩 Traces → Fluxo de solicitações entre componentes.

🛠️ Três Tipos de Monitoramento

📥 Input Monitoring → Acompanha entradas, detecta erros, conteúdo malicioso e data drift (mudanças nos dados de entrada).

⚙️ Functional Monitoring → Avalia a saúde geral do sistema, incluindo tempo de resposta, uso de recursos como GPU e custos.

📤 Output Monitoring → Garante que as saídas sejam consistentes, monitorando bias, toxicidade e model drift (mudanças no desempenho do modelo).

🚨 Alertas → Configura notificações para detectar rapidamente problemas e definir procedimentos para resposta imediata.

💰 Análise de Custo

Monitorar os custos é essencial para garantir a viabilidade financeira do modelo.

💻 Modelos Self-hosted → O custo é medido por máquina por unidade de tempo (ex.: horas de GPU).

☁️ Soluções Externas (nuvem) → O custo é geralmente calculado por sessão, o que inclui múltiplas chamadas ao LLM.

📊 Escalabilidade e Custos:

  • Soluções externas → Custos escalam linearmente com o número de usuários.
  • Self-hosted → Custos aumentam conforme o número de máquinas, não necessariamente ligado diretamente ao número de usuários.

📌 Formas de otimizar custos:

  • Modelos menores → Usar versões otimizadas que consumam menos recursos.
  • Otimizar prompts → Reduzir texto desnecessário para diminuir custo por requisição.
  • Consolidar chamadas → Unir várias requisições em uma só, evitando desperdício.

🔒 Governança e Segurança

Implementar regras de conformidade, proteger dados e mitigar riscos relacionados à privacidade e segurança são etapas essenciais no LLMOps.

⚠️ Principais Ameaças e Como Mitigá-las

🔑 Controle de Acesso

  • Implementar RBAC (Role-Based Access Control) para definir quem pode acessar o quê.
  • Aplicar um modelo zero-trust, exigindo autenticação e validação para cada solicitação.

📝 Prompt Injection

  • Ataque onde hackers manipulam prompts para forçar o modelo a executar ações não autorizadas.
  • Mitigação → Tratar os LLMs como usuários não confiáveis, bloquear prompts adversariais e assumir que instruções podem ser sobrescritas.

📤 Manipulação de Saída

  • Modificação da resposta do modelo para explorar vulnerabilidades.
  • Mitigação → Restringir permissões e filtrar respostas indesejadas.

🚫 Ataque de Negação de Serviço (DoS)

  • Envio massivo de solicitações para sobrecarregar o sistema e gerar custos excessivos.
  • Mitigação → Limitar a taxa de requisições e definir limites de uso por solicitação.

⚠️ Integridade e Envenenamento de Dados

  • Inserção de dados falsos ou maliciosos durante o treinamento para distorcer as respostas do modelo.
  • Mitigação → Utilizar fontes confiáveis, aplicar filtros de qualidade e implementar checagens automáticas para detectar anomalias antes do treinamento.

🎯 Conclusão

O LLMOps é essencial para implantar, gerenciar e manter LLMs de forma eficiente e escalável.

💡 E você sabia de LLMOps? Deixe seu comentário! 🚀 ou vamos conversar em https://www.linkedin.com/in/lauramattosc/.

--

--

Laura Mattos
Laura Mattos

Written by Laura Mattos

I am deeply engaged in challenges involving Python, AI, machine learning, and the vast universe of data and information. www.linkedin.com/in/lauramattosc/

No responses yet