MLOps é uma jornada contínua, não um projeto único e finalizado. Envolve um conjunto de práticas e comportamentos organizacionais, não apenas ferramentas individuais ou uma pilha de tecnologia específica. A maneira como seus praticantes de ML colaboram e constroem sistemas de IA afeta grandemente a qualidade dos seus resultados. Cada detalhe importa em MLOps - desde como você compartilha código e configura sua infraestrutura até como você explica seus resultados. Esses fatores moldam a percepção do negócio sobre a eficácia do seu sistema de IA e sua disposição em confiar em suas previsões.
O Grande Livro de MLOps aborda conceitos e arquitetura de MLOps em alto nível no Databricks. Para fornecer mais detalhes práticos para a implementação desses conceitos, introduzimos a série MLOps Gym. Esta série aborda tópicos-chave essenciais para a implementação de MLOps no Databricks, oferecendo melhores práticas e insights para cada um. A série é dividida em três fases: engatinhar, andar e correr - cada fase se baseia na fundação da anterior.
“Apresentando MLOps Gym: Seu Guia Prático para MLOps no Databricks” descreve as três fases da série MLOps Gym, seu foco e conteúdo exemplo.
Neste artigo, vamos resumir os artigos da fase de rastreamento e destacar os principais pontos a serem lembrados. Mesmo que sua organização já tenha uma prática de MLOps existente, essa série crawl pode ser útil ao fornecer detalhes sobre como melhorar aspectos específicos do seu MLOps.
Embora MLOps não seja apenas sobre ferramentas, os frameworks que você escolhe desempenham um papel significativo na qualidade da experiência do usuário. Encorajamos você a fornecer partes comuns de infraestrutura para reutilizar em todos os projetos de IA. Nesta seção, compartilhamos nossas recomendações para ferramentas essenciais para estabelecer uma configuração sólida de MLOps no Databricks.
MLflow se destaca como a principal ferramenta de MLOps de código aberto, e recomendamos fortemente sua integração ao seu ciclo de vida de aprendizado de máquina. Com seus diversos componentes, o MLflow aumenta significativamente a produtividade em várias etapas da sua jornada de aprendizado de máquina. No Guia para Iniciantes do MLflow, recomendamos fortemente o uso do MLflow Tracking para o rastreamento de experimentos e o Model Registry com o Catálogo Unity como seu repositório de modelos (também conhecido como Modelos no UC). Em seguida, orientamos você através de uma jornada passo a passo com o MLflow, adaptada para usuários iniciantes.
O Catálogo Unity do Databricks é uma solução unificada de governança de dados projetada para gerenciar e proteger dados e ativos de ML em toda a Plataforma de Inteligência de Dados do Databricks. Configurando o Catálogo Unity para MLOps oferece uma maneira flexível e poderosa de gerenciar ativos em diversas estruturas organizacionais e ambientes técnicos. O design do Catálogo Unity suporta uma variedade de arquiteturas, permitindo acesso direto a dados para ferramentas externas como AWS SageMaker ou AzureML através do uso estratégico de tabelas e volumes externos. Ele facilita a organização personalizada de ativos de negócios que se alinham com estruturas de equipe, contextos de negócios e o escopo de ambientes, oferecendo soluções escaláveis para organizações grandes e altamente segregadas e entidades menores com necessidades mínimas de isolamento. Além disso, aderindo ao princípio de menor privilégio e aproveitando o privilégio BROWSE, o Catálogo Unity garante que o acesso seja precisamente calibrado para as necessidades do usuário, melhorando a segurança sem sacrificar a descoberta. Esta configuração não apenas simplifica os fluxos de trabalho de MLOps, mas também os fortalece contra acessos não autorizados, tornando o Catálogo Unity uma ferramenta indispensável nas operações modernas de dados e aprendizado de máquina.
Um feature store é um repositório centralizado que simplifica o processo de engenharia de recursos em aprendizado de máquina, permitindo que os cientistas de dados descubram, compartilhem e reutilizem recursos entre as equipes. Isso garante consistência ao usar o mesmo código para o cálculo de recursos durante o treinamento e a inferência do modelo. O Feature Store do Databricks, integrado ao Catálogo Unity, oferece capacidades aprimoradas como permissões unificadas, rastreamento de linhagem de dados e integração perfeita com pontuação e serviço de modelos. Ele suporta fluxos de trabalho complexos de aprendizado de máquina, incluindo casos de uso baseados em séries temporais e eventos, permitindo consultas de recursos em um ponto específico no tempo e sincronizando com lojas de dados online para inferência em tempo real.
No parte 1 do artigo Databricks Feature Store, delineamos os passos essenciais para usar efetivamente o Databricks Feature Store para suas cargas de trabalho de aprendizado de máquina.
Embora o controle de versão tenha sido negligenciado na ciência de dados, tornou-se essencial para equipes que constroem aplicações robustas centradas em dados, particularmente através de ferramentas como o Git.
Começando com controle de versão explora a evolução do controle de versão em ciência de dados, destacando seu papel crítico em promover trabalho em equipe eficiente, garantir reprodutibilidade e manter um registro completo de elementos do projeto como código, dados, configurações e ambientes de execução. O artigo explica o papel do Git como o principal sistema de controle de versão e como ele se integra com plataformas como GitHub e Azure DevOps no ambiente Databricks. Ele também oferece um guia prático para configurar e usar os Repositórios Databricks para controle de versão, incluindo etapas para vincular contas, criar repositórios e gerenciar alterações de código.
Melhores práticas de controle de versão explora as melhores práticas do Git, enfatizando o fluxo de trabalho da "branch de recursos", organização eficaz do projeto e escolha entre configurações de repositório único e múltiplo. Seguindo essas diretrizes, as equipes de ciência de dados podem colaborar de maneira mais eficiente, manter bases de código limpas e otimizar fluxos de trabalho, melhorando finalmente a robustez e escalabilidade de seus projetos.
Apache Spark, este sistema de computação distribuída de código aberto projetado para processamento e análise de big data não é apenas para engenheiros de sistemas distribuídos altamente qualificados. Muitos profissionais de ML enfrentam desafios como erro de falta de memória com Pandas que podem ser facilmente resolvidos pelo Spark. Em Aproveitando o poder do Apache Spark™ em fluxos de trabalho de ciência de dados/aprendizado de máquina, exploramos como os cientistas de dados podem aproveitar o Apache Spark para construir fluxos de trabalho eficientes de ciência de dados e aprendizado de máquina, destacamos cenários onde Spark se destaca - como processamento de grandes conjuntos de dados, realização de cálculos intensivos em recursos e manipulação de aplicações de alto rendimento - e discutimos estratégias de paralelização como paralelismo de modelo e dados, fornecendo exemplos práticos e padrões para sua implementação.
Agora que você se familiarizou com as ferramentas essenciais necessárias para estabelecer sua prática de MLOps, é hora de explorar algumas melhores práticas. Nesta seção, discutiremos tópicos-chave a considerar ao aprimorar suas capacidades de MLOps.
Muitos de nós começamos experimentando em nossos notebooks, anotando ideias ou copiando código para testar sua viabilidade. Neste estágio inicial, a qualidade do código muitas vezes fica em segundo plano, levando a código redundante, desnecessário ou ineficiente que não escalaria bem em um ambiente de produção. O guia 13 Dicas Essenciais para Escrever Código Limpo oferece conselhos práticos sobre como refinar seu código exploratório e prepará-lo para rodar de forma independente e como um trabalho agendado. Este é um passo crucial na transição de tarefas ad-hoc para processos automatizados.
Ao configurar seu ambiente de desenvolvimento ML, você enfrentará várias decisões importantes. Qual tipo de cluster é mais adequado para seus projetos? Qual deve ser o tamanho do seu cluster? Você deve continuar com notebooks, ou é hora de mudar para um IDE para uma abordagem mais profissional? Nesta seção, discutiremos essas escolhas comuns e ofereceremos nossas recomendações para ajudá-lo a tomar as melhores decisões para suas necessidades.
Computação sem servidor é a melhor maneira de executar cargas de trabalho no Databricks. É rápido, simples e confiável. Em cenários onde o cálculo sem servidor não está disponível por uma miríade de razões, você pode recorrer ao cálculo clássico.
Guia para Iniciantes sobre Configuração de Cluster para MLOps aborda tópicos essenciais como a seleção do tipo certo de cluster de computação, criação e gerenciamento de clusters, definição de políticas, determinação de tamanhos de cluster apropriados e escolha do ambiente de execução ideal.
Recomendamos o uso de clusters interativos para fins de desenvolvimento e clusters de tarefas para tarefas automatizadas para ajudar a controlar os custos. O artigo também enfatiza a importância de selecionar o modo de acesso apropriado—seja para clusters de usuário único ou compartilhados—e explica como as políticas de cluster podem gerenciar efetivamente recursos e despesas. Além disso, orientamos você na dimensionamento de clusters com base em requisitos de CPU, disco e memória e discutimos os fatores críticos na seleção do Databricks Runtime apropriado. Isso inclui entender as diferenças entre os tempos de execução padrão e ML e garantir que você esteja atualizado com as versões mais recentes.
Em IDEs vs. Notebooks para Desenvolvimento de Machine Learning, mergulhamos em por que a escolha entre IDEs e notebooks depende de preferências individuais, fluxo de trabalho, requisitos de colaboração e necessidades do projeto. Muitos profissionais usam uma combinação de ambos, aproveitando os pontos fortes de cada ferramenta para diferentes estágios de seu trabalho. IDEs são preferidos para projetos de engenharia de ML, enquanto notebooks são populares na comunidade de ciência de dados e ML.
Construir confiança na qualidade das previsões feitas pelos sistemas de IA é crucial mesmo no início de sua jornada MLOps. Monitorar seus sistemas de IA é o primeiro passo para construir essa confiança.
Todos os sistemas de software, incluindo IA, são vulneráveis a falhas causadas por problemas de infraestrutura, dependências externas e erros humanos. Os sistemas de IA também enfrentam desafios únicos, como mudanças na distribuição de dados que podem impactar o desempenho.
Guia para Iniciantes em Monitoramento enfatiza a importância do monitoramento contínuo para identificar e responder a essas mudanças. O Monitoramento Lakehouse da Databricks ajuda a rastrear a qualidade dos dados e o desempenho do modelo de ML monitorando propriedades estatísticas e variações de dados. O monitoramento eficaz inclui a configuração de monitores, revisão de métricas, visualização de dados através de painéis e criação de alertas.
Quando problemas são detectados, é recomendado uma abordagem com intervenção humana para o re-treinamento de modelos.
Se você está nos estágios iniciais de sua jornada MLOps, ou é novo no Databricks e está procurando construir sua prática de MLOps do zero, aqui estão as lições principais da fase de engatinhar do MLOps Gym:
Seguindo nossas recomendações na fase Rastejar, você terá passado de fluxos de trabalho de ML ad-hoc para trabalhos reproduzíveis e confiáveis, eliminando processos manuais e propensos a erros. Na próxima fase da série MLOps Gym - Andar - iremos orientá-lo na integração de melhores práticas de CI/CD e DevOps em sua configuração de MLOps. Isso permitirá que você gerencie projetos de ML totalmente desenvolvidos que são completamente testados e automatizados usando uma ferramenta DevOps em vez de apenas trabalhos individuais de ML.
Publicamos regularmente artigos do MLOps Gym no blog da Comunidade Databricks. Para fornecer feedback ou perguntas sobre o conteúdo do MLOps Gym, envie um e-mail para [email protected].
(This blog post has been translated using AI-powered tools) Original Post