O que é LLMOps?
As operações de grandes modelos de linguagem (LMOps) englobam as práticas, técnicas e ferramentas usadas para o gerenciamento operacional de grandes modelos de linguagem em ambientes de produção.
Os mais recentes avanços em LLMs, destacados por versões como o GPT da OpenAI, o Bard do Google e o Dolly da Databricks, estão impulsionando um crescimento significativo nas empresas que criam e implementam LLMs. Isso levou à necessidade de desenvolver práticas recomendadas sobre como operacionalizar esses modelos. O LLMOps permite a implementação, o monitoramento e a manutenção de grandes modelos de linguagem com eficiência. O LLMOps, como o tradicional Machine Learning Ops (MLOps), exige uma colaboração de data scientists, engenheiros de DevOps e profissionais de TI. Você pode aprender a construir seu próprio LLM com a gente aqui.
Os grandes modelos de linguagem (LLMs) são uma nova classe de modelos de processamento de linguagem natural (PLN) que ultrapassaram em muito o que havia anteriormente em uma série de tarefas, de respostas a perguntas abertas até fazer resumos e seguir instruções quase arbitrárias. Os requisitos operacionais dos MLOps também se aplicam normalmente aos LLMOps, mas há desafios no treinamento e na implantação de LLMs que exigem uma abordagem exclusiva para os LLMOps.
Qual é a diferença entre LLMOps e MLOps?
Para ajustar as práticas de MLOps, precisamos considerar como os fluxos de trabalho e os requisitos de machine learning (ML) mudam com os LLMs. As principais considerações incluem:
- Recursos computacionais: o treinamento e o ajuste de grandes modelos de linguagem geralmente envolvem a execução de cálculos de ordens de magnitude em grandes conjuntos de dados. Para acelerar esse processo, hardwares especializados, como GPUs, são usados para executar paralelos de dados mais rápidos. O acesso a esses recursos computacionais especializados é essencial para treinar e implantar grandes modelos de linguagem. Técnicas de compressão e destilação de modelos também podem ser enfatizadas devido ao custo de inferência.
- Aprendizado por transferência: ao contrário dos modelos tradicionais de ML que são criados ou treinados do zero, muitos grandes modelos de linguagem começam com um modelo básico e são ajustados com novos dados para melhorar o desempenho em domínios mais específicos. O ajuste nos permite oferecer desempenho de ponta para aplicações específicas com menos dados e recursos computacionais.
- Feedback humano: o aprendizado por reforço com feedback humano (RLHF) é um dos maiores avanços no treinamento de grandes modelos de linguagem. De maneira mais geral, as tarefas de LLM costumam ser bastante abertas. Portanto, o feedback humano dos usuários finais do aplicativo é importante para avaliar o desempenho do LLM. A integração desse loop de feedback nos pipelines de LLMOps simplifica a avaliação e fornece dados para ajustes finos futuros do seu LLM.
- Ajuste de hiperparâmetro: no ML tradicional, o ajuste de hiperparâmetro geralmente gira em torno de melhorar a precisão e outras métricas. Para LLMs, o ajuste também é importante para reduzir o custo e o poder computacional necessário para treinamento e inferência. Por exemplo, ajustar o tamanho do batch e a taxa de aprendizado pode alterar drasticamente a velocidade e o custo do treinamento. Assim, embora o ML e LLMs tradicionais se beneficiem do rastreamento e da otimização do processo de ajuste, a ênfase é diferente.
- Métricas de desempenho: os modelos tradicionais de ML têm métricas de desempenho muito bem definidas, como precisão, AUC, pontuação F1 etc. Esses indicadores são muito fáceis de calcular. No entanto, quando se trata de avaliação de LLMs, são aplicados indicadores padronizados e pontuações bastante diferentes, como Bilingual Assessment Understudy (BLEU) e Recall-Oriented Understudy for Gisting Evaluation (ROUGE), que requerem mais considerações durante a implementação.
- Engenharia de prompt: os modelos que seguem instruções podem receber prompts complexos ou conjuntos de instruções. A engenharia desses modelos de prompt é fundamental para obter respostas precisas e confiáveis dos LLMs. A engenharia de prompt pode reduzir o risco de alucinação do modelo e hacking do prompt, incluindo injeção de prompt, vazamento de dados confidenciais e jailbreak.
- Construindo cadeias ou pipelines de LLM: pipelines de LLM, que são criados usando ferramentas como LangChain ou LlamaIndex, reúnem várias chamadas de LLM e/ou chamadas para sistemas externos, como bancos de dados vetoriais ou pesquisa na web. Esses pipelines permitem que os LLMs sejam usados para tarefas complexas, como perguntas e respostas da base de conhecimento ou respostas às perguntas do usuário com base em um conjunto de documentos. O desenvolvimento de aplicações de LLM geralmente se concentra na criação desses pipelines, em vez de criar novos LLMs.
Por que precisamos de LLMOps?
Embora os LLMs sejam particularmente simples de usar na prototipagem, usar um LLM em um produto comercial ainda apresenta desafios. O ciclo de vida de desenvolvimento do LLM consiste em muitos componentes complexos, como ingestão de dados, preparação de dados, engenharia de prompt, ajuste do modelo, implantação de modelo, monitoramento do modelo e muito mais. Também requer colaboração e transferências entre equipes de data engineering, data science e engenheiros de ML. Operações rigorosas são essenciais para manter todos esses processos sincronizados e trabalhando juntos. O conceito LLMOps abrange a fase de experimentação, iteração, implantação e melhoria contínua do ciclo de vida de desenvolvimento do LLM.
Quais são os benefícios dos LLMOps?
Os principais benefícios dos LLMOps são eficiência, escalabilidade e mitigação de riscos.
- Eficiência: os LLMOps permitem que as equipes de dados desenvolvam modelos e pipelines mais rapidamente, forneçam modelos de maior qualidade e acelerem a implantação e a produção.
- Escalabilidade: os LLMOps permitem ampla escalabilidade e gerenciamento, supervisionando, controlando, gerenciando e monitorando milhares de modelos para integração, entrega e implantação contínuas. Especificamente, os LLMOps garantem a repetibilidade dos pipelines de LLM e permitem uma colaboração mais próxima entre as equipes de dados, reduzindo o atrito com DevOps e TI e acelerando os ciclos de lançamento.
- Mitigação de riscos: os LLMs geralmente exigem verificação regulatória. Os LLMOps permitem maior transparência e resposta mais rápida a essas solicitações, garantindo a conformidade com as políticas da organização ou do setor.
Quais são os componentes dos LLMOps?
LLMOps em projetos de machine learning podem ser restritos ou extensos, dependendo do projeto. Em alguns casos, os LLMOps podem abranger tudo, da preparação dos dados até a produção do pipeline, enquanto outros projetos podem precisar apenas implementar o processo de implantação do modelo. Muitas empresas implementam princípios de LLMOps nas seguintes áreas:
- Análise exploratória de dados (EDA)
- Preparação de dados e engenharia de prompt
- Ajuste fino do modelo
- Revisão e governança de modelos
- Inferência e disponibilização de modelos
- Monitoramento do modelo com feedback humano
Quais são as práticas recomendadas para LLMOps?
As práticas recomendadas de LLMOps podem ser diferenciadas pelo estágio em que os princípios de LLMOps são aplicados.
- Análise exploratória de dados (EDA): criar conjuntos de dados, tabelas e visualizações reproduzíveis, editáveis e compartilháveis para explorar, compartilhar e preparar iterativamente dados no ciclo de vida do machine learning.
- Preparação de dados e engenharia de prompt: transformar, agregar e desduplicar dados iterativamente e torná-los visíveis e compartilháveis entre as equipes de dados. Desenvolver prompts iterativamente para queries estruturadas e confiáveis para LLMs.
- Ajuste fino do modelo: use bibliotecas de código aberto populares, como Hugging Face Transformers, DeepSpeed, PyTorch, TensorFlow e JAX, para ajustar e melhorar o desempenho do modelo.
- Revisão e governança de modelos: rastrear a linhagem e as versões do modelo e dos pipelines e gerenciar esses artefatos e transições durante todo o ciclo de vida. Além disso, descobrir, compartilhar e colaborar em modelos de ML usando plataformas MLOps de código aberto, como MLflow.
- Inferência e disponibilização de modelos: gerenciar a frequência de atualização do modelo, tempo de solicitação de inferência e especificidades de produção semelhantes em testes e controle de qualidade. Automatizar pipeline de pré-produção com ferramentas de CI/CD, como repositórios e orquestradores que incorporam princípios de DevOps. Ativar os endpoints do modelo da API REST, com aceleração de GPU.
- Monitoramento do modelo com feedback humano: criar pipelines de monitoramento de modelos e dados com alertas tanto para drift de modelos quanto para comportamento malicioso do usuário.
O que é uma plataforma LLMOps?
A plataforma LLMOps oferece aos data scientists e engenheiros de software um ambiente colaborativo que facilita a exploração iterativa de dados, recursos de edição colaborativa em tempo real, rastreamento de experimentos, engenharia de prompt e gerenciamento de modelos e pipelines, além de transição, implantação e monitoramento controlado de modelos para LLMs. O LLMOps automatiza os aspectos operacionais, síncronos e de monitoramento do ciclo de vida do machine learning.
A Databricks oferece um ambiente totalmente gerenciado, incluindo o MLflow, a principal plataforma MLOps aberta do mundo. Experimente o machine learning da Databricks