Introdução ao LLMOps: Criando Aplicações de IA Melhores
O surgimento do ChatGPT da OpenAI catalisou uma onda de interesse em grandes modelos de linguagem (LLMs) entre as corporações. Grandes empresas de tecnologia e organizações de pesquisa estão agora tornando os LLMs mais acessíveis, esforçando-se para aprimorar a infraestrutura de dados, ajustar modelos para aplicações personalizadas e monitorar problemas como alucinações e vieses. Esse interesse crescente também levou a um aumento na demanda por fornecedores de tecnologia que dão suporte às operações de grandes modelos de linguagem (LLMOps). Esses fornecedores oferecem fluxos de trabalho abrangentes para desenvolver, ajustar e implantar LLMs em ambientes de produção.
Em nosso recente Unstructured Data Meetup, Sage Elliott, engenheiro de machine learning na Union.ai, discutiu a implantação e o gerenciamento de LLMs, oferecendo insights valiosos sobre as ferramentas, estratégias e melhores práticas necessárias para integrar esses modelos a aplicações de negócios. Sua apresentação foi particularmente útil para desenvolvedores de IA e gerentes de operações, com foco em garantir a confiabilidade e a escalabilidade das aplicações de LLM em ambientes de produção.
Neste post, recapitularemos os principais insights da palestra de Sage e discutiremos o conceito e as metodologias de LLMOps.
<< Assista ao Replay da Palestra de Sage Elliott >>
O que são LLMOps?
LLMOps significa Large Language Model Operations, que são análogas a MLOps, mas especificamente para grandes modelos de linguagem (LLMs). Para entender LLMOps, vamos primeiro destrinchar MLOps.
MLOps (Machine Learning Operations) refere-se às práticas e ferramentas usadas para implantar e manter modelos de machine learning de forma eficiente em ambientes de produção. É uma extensão de DevOps (Development and Operations), que integra o desenvolvimento de aplicações e operações em um processo coeso. Essa abordagem garante que tanto o desenvolvimento quanto as operações sejam considerados em conjunto, em vez de funcionarem em silos separados.
O que são MLOps?
O que são MLOps? Fonte da imagem: https://ml-ops.org/content/MLOps-principles
Antes do surgimento da metodologia DevOps, as equipes de desenvolvimento se concentravam em escrever aplicações ou atualizações o mais rápido possível, enquanto as equipes de operações priorizavam a estabilidade, a eficácia e a experiência do usuário da aplicação. Essa abordagem compartimentalizada frequentemente resultava em ineficiências, levando a aplicações abaixo do ideal, com desenvolvimento lento e atualizações pouco frequentes.
DevOps transforma esse processo ao promover a colaboração entre equipes de desenvolvimento e operações, garantindo um fluxo de trabalho mais simplificado e eficiente. MLOps estende esses princípios ao machine learning, abordando os desafios de implantar e manter modelos de ML.
LLMOps concentra-se na abordagem holística de MLOps ao aplicar seus princípios a aplicações de grandes modelos de linguagem (LLM). Ele se preocupa com todos os aspectos do desenvolvimento, implantação, manutenção e melhoria contínua de aplicações de LLM.
A filosofia central de cooperação também é inerente à definição de LLMOps de Sage—“Construindo IA Juntos,” que enfatiza a ideia de que todas as unidades de negócios relevantes, por exemplo, desenvolvimento, operações, gerenciamento de produto etc., devem trabalhar juntas para produzir as aplicações de LLM com melhor desempenho de maneira oportuna e econômica.
Integração Contínua e Entrega/Implantação Contínua (CI/CD)
Assim como no DevOps, um dos princípios centrais de LLMOps é a Integração Contínua/Implantação Contínua (CI/CD): o processo de automatizar o ciclo de vida de desenvolvimento de aplicações de LLM.
Integração contínua (CI) é a prática de pegar automaticamente as atualizações da aplicação e mesclá-las com a branch principal, ou seja, a versão da aplicação de LLM atualmente em execução em produção. Quando um desenvolvedor envia código para um repositório, como o GitHub, essa ação aciona um fluxo de trabalho automatizado que valida se as atualizações estão prontas para integração. A CI incentiva mudanças frequentes pelas equipes de desenvolvimento e ajuda a evitar conflitos de mesclagem de código.
Entrega/implantação contínua (CD) refere-se ao processo de implantar automaticamente mudanças na aplicação em um ambiente de produção após a integração e validação. Esse processo inclui testes adicionais, como testes funcionais e de aceitação do usuário e configuração de infraestrutura.
Embora entrega contínua e implantação contínua sejam frequentemente usadas de forma intercambiável, há uma diferença entre elas. A entrega contínua fica aquém da implantação automática em produção, normalmente para verificações finais humanas a fim de garantir a conformidade organizacional e regulatória. Por outro lado, a implantação contínua libera automaticamente as atualizações da aplicação para os usuários. Com esse conceito em mente, a verdadeira implantação contínua é rara - particularmente no desenvolvimento de aplicações de LLM, que ainda é incipiente.
Quem Deve Usar LLMOps?
Em resumo, qualquer pessoa que desenvolva uma aplicação de LLM deve utilizar LLMOps em algum grau.
Por um lado, LLMOps é essencial para aplicações de IA em nível de produção, com a infraestrutura exata dependente das necessidades da aplicação. Em contraste, até mesmo um projeto simples e pessoal de IA se beneficiará da implementação de um pipeline simples de LLMOps.
Integrar LLMOps à sua aplicação de IA oferece os seguintes benefícios:
Gerenciamento de recursos e escalabilidade: estar ciente do seu uso de recursos computacionais para oferecer uma experiência de usuário ideal. LLMs exigem grandes quantidades de memória para funcionar de forma eficaz, portanto ser capaz de determinar se seu hardware, ou seja, GPUs, é suficiente para as necessidades da sua aplicação é crucial.
Atualização e melhorias do modelo: estar ciente das falhas ou deficiências de um modelo em menos tempo e atualizá-lo adequadamente.
Práticas de IA éticas e responsáveis: estar consciente do propósito pretendido da sua aplicação de IA e das potenciais consequências de seu mau funcionamento. Uma das principais preocupações sobre LLMs é sua tendência a “alucinar”, ou seja, a fornecer uma saída imprecisa ou irrelevante; esse problema poderia se mostrar catastrófico em uma aplicação para dar aconselhamento médico, por exemplo.
Exemplo de Pipeline Simplificado de LLMOps
O mapa de mercado criado pela CBInsights identifica mais de 90 empresas em 12 categorias que ajudam empresas a gerenciar projetos de LLM do início ao fim. Esse panorama também mostra o tamanho do mercado de LLMOps.
Panorama do mercado de LLMOps
Panorama do mercado de LLMOps: mais de 90 empresas em 12 categorias diferentes ajudando empresas a levar projetos de LLM do início ao fim.
Para facilitar o entendimento, a Sage criou um pipeline simplificado de LLMOps.
Um pipeline simplificado de LLMOps
Vamos explicar os elementos deste diagrama:
Sys Prompt: A entrada do usuário torna-se parte do prompt do sistema e é fornecida ao LLM.
Modelo: O LLM sustenta a aplicação para a geração de respostas.
Guardrail: Os controles que você implementou para garantir que o usuário insira apenas entradas apropriadas, ou seja, tentando fazer com que o modelo gere conteúdo prejudicial ou ofensivo.
Armazenamento de Dados: Bancos de dados vetoriais como Milvus e Zilliz Cloud (o Milvus gerenciado). Esses bancos de dados fornecem ao LLM memória de longo prazo e informações contextuais de consulta e ajudam o LLM a gerar resultados mais precisos. Esse componente é particularmente benéfico em aplicações de Geração Aumentada por Recuperação (RAG).
Monitoramento: As ferramentas usadas para monitorar continuamente a aplicação LLM
Orquestrador de CI/CD: Uma plataforma que gerencia sua aplicação e ajuda a automatizar sua integração e implantação em ambientes de produção.
Começando com LLMOps
Embora LLMOps esteja mudando rapidamente e os fornecedores estejam lançando novas ferramentas de LLMOps diariamente, felizmente, os princípios centrais de LLMOps permanecem os mesmos.
Aqui está uma filosofia simples de três etapas para começar com LLMOps.
Envie o modelo
Monitore o desempenho do modelo
Melhore o modelo
Vamos analisar cada etapa em mais detalhes.
Envie Seu Modelo
Enviar o modelo refere-se a implantar sua aplicação LLM em um ambiente de produção o mais rápido possível. Essa abordagem é essencial, pois permite obter dados precisos de usuários interagindo com o modelo e aprender rapidamente como ajustar sua aplicação LLM às necessidades do usuário. Um exemplo importante é uma aplicação de chatbot, na qual é muito mais útil obter exemplos de entradas reais de usuários e do que o modelo produz em resposta do que simplesmente prever entradas em um ambiente de teste.
HuggingFace Spaces é um recurso fantástico que simplifica o envio do seu modelo para produção. É uma plataforma de hospedagem para a maioria das aplicações de ML, fornecendo GPUs em nuvem de baixo custo para alimentar LLMs, o que a torna ideal para prototipagem. Você também pode implantar sua aplicação em um espaço privado, fornecendo acesso limitado àqueles que você deseja que testem sua aplicação LLM, ou torná-la pública para obter feedback da grande e ativa comunidade da HuggingFace.
HuggingFace Spaces
HuggingFace Spaces
A HuggingFace oferece mais do que apenas Spaces para implantação de modelos; ela fornece um ecossistema abrangente para desenvolver e implantar aplicações. No centro de suas ofertas está uma vasta coleção de mais de 640.000 modelos de ML de código aberto, incluindo modelos de fala, visão computacional e linguagem. Além disso, a HuggingFace fornece várias bibliotecas que incluem todos os componentes necessários para construir aplicações LLM de ponta a ponta, juntamente com os conjuntos de dados necessários para treinamento.
Para ilustrar como você pode criar aplicações LLM com a HuggingFace, vamos ver como baixar e treinar um modelo usando suas bibliotecas Transformer (para acessar os LLMs) e Datasets (para acessar dados de treinamento).
Primeiro, você precisa instalar as bibliotecas apropriadas:
pip install torch transformers datasets
Em seguida, baixaremos o LLM que desejamos usar em nossa aplicação. Como mencionado acima, a HuggingFace apresenta centenas de milhares de modelos, cada um fornecendo o código necessário para integração à sua aplicação. Por exemplo, vamos carregar o modelo Llama 3 da seguinte forma:
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("meta-llama/Meta-Llama-3-8B-Instruct”)
Em seguida, precisamos carregar o conjunto de dados para ajustar o modelo. Para este exemplo, usaremos um dos muitos conjuntos de dados disponíveis da HuggingFace. No entanto, se você preferir usar seus próprios dados para uma finalidade específica de domínio ou específica de tarefa, basta substituir o caminho do arquivo por aquele que aponta para sua pasta de dados de treinamento.
from datasets import load_dataset
dataset = load_dataset("talkmap/telecom-conversation-corpus")
Depois de carregar o conjunto de dados, precisamos tokenizá-lo convertendo-o em tokens de subpalavras que o LLM possa processar facilmente. Devemos usar o tokenizador associado ao modelo Llama 3 para garantir que os dados sejam tokenizados de forma consistente com o processo de pré-treinamento e mantenham os mesmos tokens para índice, ou "vocabulário." Você pode concluir esta etapa com apenas algumas linhas de código.
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3-8B-Instruct")
# Define tokenizer function
def tokenize_function(examples):
return tokenizer(examples["text"], padding="True", truncation=True)
tokenized_dataset = dataset.map(tokenize_function, batched=True)
Agora, precisamos definir as configurações de hiperparâmetros para ajustar nosso modelo usando um objeto TrainingArguments. Essa configuração oferece 109 parâmetros opcionais, dando a você controle granular sobre o processo de treinamento. Se preferir, você pode contar com as configurações padrão não passando nenhum parâmetro específico.
from transformers import TrainingArguments
training_args = TrainingArguments()
Por fim, depois de definir os elementos do nosso modelo, só precisamos colocá-los dentro de um objeto de treinamento e chamar a função de treinamento associada da seguinte forma:
Com os elementos do nosso objeto trainer configurados, tudo o que resta é juntá-los e chamar a função train para ajustar nosso modelo base Llama 3.
from transformers import Trainer
trainer = Trainer(
model=model,
dataset=dataset,
args=training_args,
)
trainer.train()
E pronto - com apenas algumas linhas de código, você pode baixar e treinar um modelo de linguagem que pode ser usado para impulsionar uma aplicação de LLM.
Para um exemplo mais específico e aprofundado de como o HuggingFace simplifica o desenvolvimento de aplicações de LLM, consulte nosso tutorial sobre a criação de uma aplicação de QA com Milvus
Monitoramento e Avaliação Contínuos
Depois de implantar seu aplicativo de LLM em um ambiente de produção, é essencial monitorar seu aplicativo pelos seguintes motivos:
Para determinar como seu modelo se comporta em produção, eles cumprem o caso de uso pretendido? Ele está alinhado com as expectativas do usuário?
Como você pode melhorar o modelo?
Posteriormente, quando você faz melhorias no modelo, elas resultam nos aprimoramentos de desempenho esperados, ou são necessárias mudanças adicionais?
Os recursos computacionais que seu modelo consome: você precisa alocar mais recursos, por exemplo, GPUs, para fazer sua aplicação ter um desempenho melhor? Além disso, com os recursos que ela consome, quão escalável é sua aplicação?
Como ele se comporta após mudanças, por exemplo, treinamento adicional, ajuste fino?
As métricas de avaliação ajudam você a medir a capacidade do seu modelo de produzir uma saída correta em resposta a um prompt do usuário. As métricas mais comumente usadas incluem BLEU, ROUGE e BERTScore, que são descritas abaixo.
| Métrica | Finalidade |
| BLEU (Bilingual Evaluation Understudy) | Frequentemente usado em tradução automática, mede a similaridade entre o texto gerado pelo modelo e o texto de referência com base na sobreposição de n-gramas (n palavras consecutivas) |
| ROUGE (Recall-Oriented Understudy for Gisting Evaluation) | Avalia a qualidade dos resumos gerados pelo modelo comparando a sobreposição de n-gramas, sequências de palavras e pares de palavras com resumos de referência. |
| Pontuação BERTScore (Bidirectional Encoder Representations from Transformers) | Mede a similaridade textual aproveitando embeddings do BERT para capturar o significado semântico; fornece uma avaliação mais detalhada do que a sobreposição superficial de n-gramas, como no BLEU e ROUGE. |
Além disso, há outras formas qualitativas de avaliar o desempenho da sua aplicação de LLM.
Avaliar a precisão e a relevância da saída: Uma resposta pode ser bem elaborada, mas quão útil ela é em relação ao prompt de entrada? Ela fornece o valor que o usuário espera?
Determinar como os usuários usam sua aplicação de LLM e se você deve ajustá-la finamente de acordo.
Avaliar o sentimento das respostas: a aplicação responde no tom desejado?
Há alguma tentativa de jailbreak, ou seja, tentar fazer o modelo produzir uma saída que não deveria? Por exemplo, perguntar a um chatbot como fazer armas caseiras. Essa abordagem determina se você deve incluir proteções na sua aplicação ou melhorar aquelas que talvez já tenha implementado.
Monitorar continuamente suas aplicações de LLM não é complicado. Muitas ferramentas estão disponíveis no mercado para avaliar suas aplicações alimentadas por LLM, incluindo LangKit, como Sage destacou em sua palestra, Ragas, Continuous Eval, TruLens-Eval, LlamaIndex, Phoenix, DeepEval, LangSmith e OpenAI Evals.
Para saber mais sobre avaliação de aplicações de LLM, confira nosso artigo sobre avaliação de RAG.
Melhorando Seu Modelo
Usando as métricas e o feedback do monitoramento do seu modelo, você pode fazer novas iterações dos seus LLMs em muito menos tempo. Uma maneira poderosa e eficiente de implementar melhorias é integrar um orquestrador de MLOps como o Flyte ao seu pipeline. Um orquestrador de MLOps simplifica o gerenciamento da sua aplicação de LLM das seguintes maneiras:
Testes automatizados: executar testes automaticamente sempre que alterações forem feitas.
Builds de software: compilar o código e prepará-lo para implantação.
Implantação: mover a versão mais recente da aplicação para produção.
Monitoramento e relatórios: acompanhar o status de builds, testes e implantações e fornecer feedback.
Um orquestrador gerencia sua aplicação por meio de workflows, que são uma série de etapas necessárias para executar uma tarefa ou objetivo específico. Cada etapa dentro de um workflow pode ser executada, testada e verificada individualmente, enquanto o orquestrador lida com a sequência em que cada tarefa é realizada. Exemplos de workflows incluem treinar ou fazer o fine-tuning de um LLM, implantar uma aplicação em um ambiente ou integrar novos recursos a uma aplicação em execução em produção.
Workflows simplificam o desenvolvimento e a manutenção de aplicações de LLM de várias maneiras. Em primeiro lugar, workflows são reproduzíveis, portanto um workflow existente pode ser copiado entre diferentes pipelines, economizando tempo e esforço consideráveis. Da mesma forma, workflows podem ser versionados, garantindo que você possa reverter um pipeline para como ele estava em um determinado momento.
Na prática, um orquestrador de MLOps é mais adequado para aplicações de LLM em nível empresarial desenvolvidas por várias pessoas ou equipes, e provavelmente é exagerado para uma aplicação menor. Em vez de um orquestrador, levar seu modelo para produção, monitorar seu uso e atualizar manualmente sua aplicação de acordo com os insights que você obteve é uma abordagem mais prática.
Resumo
Então, para recapitular a palestra de Sage Elliot sobre LLMOps:
LLMOps se refere a uma coleção de filosofias e tecnologias que facilitam o desenvolvimento, a implantação, a manutenção e a melhoria eficientes de aplicações de LLM.
LLMOps também pode ser definido como "Construindo IA Juntos", o que significa que, assim como DevOps (do qual é derivado), diferentes equipes dentro de uma organização colaboram para criar aplicações de LLM em vez de operar em silos com objetivos contrastantes.
Apesar de parecer intimidador, você pode começar com LLMOps usando um processo de três etapas:
Enviar: implante um modelo em produção o mais rápido possível para obter feedback de usuários reais
Monitorar: use métricas para avaliar seu desempenho
Melhorar: use insights do monitoramento para melhorar sua aplicação.
HuggingFace é um excelente recurso para implantar protótipos rapidamente em produção. A biblioteca Transformer permite que você baixe e faça o fine-tuning de modelos facilmente, a biblioteca Datasets fornece os dados para ajustá-lo, e Spaces fornece uma plataforma de hospedagem para implantá-lo rapidamente em produção.
Flyte é um exemplo de orquestrador de MLOps que simplifica o gerenciamento da sua aplicação de LLM.
Recursos adicionais
Incentivamos você a explorar os recursos abaixo para aprofundar sua compreensão de LLMOps e aprender como aplicá-lo ao processo de desenvolvimento da sua aplicação de IA.
Para saber mais sobre bancos de dados vetoriais, grandes modelos de linguagem (LLMs) e outros conceitos-chave de IA e machine learning, visite a base de conhecimento Zilliz Learn .
Continue lendo

How Zilliz Ended Up at the Center of NVIDIA’s Unstructured Data Story at GTC 2026
If unstructured data is the context of AI, then the ceiling of AI applications will be set not just by models, but by how mature the infrastructure for unstructured data becomes.

What Exactly Are AI Agents? Why OpenAI and LangChain Are Fighting Over Their Definition?
AI agents are software programs powered by AI that can perceive their environment, make decisions, and take actions to achieve a goal—often autonomously.

Building RAG Pipelines for Real-Time Data with Cloudera and Milvus
explore how Cloudera can be integrated with Milvus to effectively implement some of the key functionalities of RAG pipelines.


