Aqueles que já estão na área há algum tempo devem se lembrar de quando os cientistas de dados começaram a participar de projetos, levantando questões sobre a colaboração com equipes de desenvolvimento de aplicações.
As equipes de desenvolvimento que já estavam estabelecidas em seus fluxos de trabalho usavam Git, tinham um pipeline de CI/CD elaborado e podiam implantar em produção à vontade.
No entanto, essas equipes não tinham uma estratégia clara para colaborar com cientistas de dados, que muitas vezes estavam preocupados com o desenvolvimento urgente de recursos.
A equipe revisou o trabalho dos cientistas de dados com urgência, percebendo-o apenas como um código. Consequentemente, eles aconselharam os cientistas de dados a usar o Git para colaboração entre os grupos. As consequências dessa recomendação precipitada foram dolorosas para a indústria. Esta foi uma época em que AI/ML era ainda menos compreendido pelos desenvolvedores de aplicativos – então eu também recomendei o uso do Git.
Avançando quase uma década, o Git ainda continua sendo uma grande parte da colaboração entre cientistas de dados, desenvolvedores de aplicativos e engenheiros de DevOps. No entanto, é uma colaboração difícil. De acordo com o Gartner, pelo menos 50% dos modelos de IA/ML nunca chegam à produção. E quando isso acontece, leva em média nove meses para chegar à produção.
Por que podemos usar o Git para tudo, exceto IA/ML?
Existem vários motivos pelos quais o Git não é suficiente para projetos de IA/ML. Os projetos de IA/ML exigem mais do que código para serem reproduzíveis. Ao contrário dos aplicativos que executam código diretamente, os modelos de IA/ML derivam sua função de dados de treinamento. O código ML existe para facilitar o treinamento. Além disso, o treinamento e a validação dos modelos exigem que os conjuntos de dados sejam diferentes. Portanto, AI/ML requer versionamento automatizado de dados junto com o código.
Falando em dados, uma grande parte dos projetos de IA/ML usa grandes conjuntos de dados não estruturados (imagens, vídeos, áudio) para treinamento, o que representa enormes desafios de armazenamento. O Git, por outro lado, é otimizado para funcionar com um grande número de arquivos pequenos, como arquivos de texto. Isso por si só torna o Git impraticável para gerenciar tais conjuntos de dados.
O Git, junto com o CI/CD do aplicativo, está enraizado no fato de que as compilações são facilmente reproduzíveis. Os pipelines de CI/CD podem reproduzir um determinado artefato com facilidade e precisão para aplicação. Para IA/ML, este não é o caso. Treinar uma IA pode ser caro, demorado e não determinístico. Como consequência, o sistema de versão pode ter que transportar os artefatos do modelo treinado para validação, integração e, eventualmente, para implantação em produção.
No desenvolvimento de loop interno (que é o processo iterativo pelo qual os desenvolvedores passam ao escrever, testar e depurar código), também há uma diferença entre IA/ML e outros aplicativos. O loop interno AI/ML consiste em uma série de experimentos com diferentes parâmetros. Isto requer que o contexto e os detalhes dos experimentos sejam registrados e comparados para encontrar um modelo candidato que satisfaça as métricas de validação. Isso requer não apenas o nosso modelo selecionado (modelo Campeão), mas também os modelos candidatos, juntamente com a disponibilidade dos resultados dos seus experimentos.
Apresentando Kitops e seus ModelKits
Estamos trabalhando em uma nova interface de linha de comando chamada kit e em um sistema de empacotamento que chamamos de ModelKits; essas ferramentas ajudam com alguns pontos problemáticos comuns. Veja como Kitops, kit e seus ModelKits melhoram a colaboração e implantação de AI/ML.
Kitops apresenta um novo modelo de colaboração por meio do kit CLI e ModelKits, simplificando a integração do trabalho dos cientistas de dados com o desenvolvimento de aplicativos e fluxos de trabalho de implantação.
Ao adotar ModelKits, as equipes podem encapsular facilmente modelos de IA/ML, conjuntos de dados e configurações essenciais em um formato padronizado e portátil. Isso garante compartilhamento e colaboração contínuos em diversos ambientes de computação, promovendo a unidade e a eficiência entre cientistas de dados e desenvolvedores.
Kitops reconhece o requisito exclusivo dos projetos de IA/ML para controle simultâneo de versão de código e dados. O kitfile, um modelo central para projetos de IA/ML, facilita o controle de versão de código e conjuntos de dados em conjunto, garantindo reprodutibilidade e consistência entre experimentos.
ModelKits são projetados para gerenciar e distribuir grandes conjuntos de dados não estruturados sem as limitações enfrentadas pelo Git. Ao empacotar dados, código e modelos serializados como camadas distintas, os ModelKits oferecem uma solução prática para os desafios de armazenamento de projetos de IA/ML.
Kitops reduz significativamente o tempo de produção de modelos AI/ML. A imutabilidade dos ModelKits garante a integridade dos modelos desde o treinamento até a implantação, facilitando rápida validação, integração e prontidão para produção. Isso aborda o desafio de todo o setor de longos ciclos de implantação.
O arquivo do kit permite o registro detalhado de metadados de IA/ML, incluindo parâmetros e métricas, permitindo que os cientistas de dados comparem e selecionem o modelo ideal para implantação. Essa manutenção de registros simplifica o processo de seleção do modelo com melhor desempenho, agilizando o caminho desde a experimentação até a validação.
Abordagem Baseada em Padrões
Ao implementar ModelKits como artefatos OCI, o Kitops garante ampla compatibilidade e simplifica o compartilhamento em qualquer registro compatível com OCI. Essa abordagem universal permite aproveitar a infraestrutura existente, como DockerHub ou Quay.io, para armazenar e recuperar artefatos de IA/ML. A imutabilidade dos ModelKits garante ainda mais consistência em ambientes de desenvolvimento, teste e produção, tornando os projetos de IA/ML tão gerenciáveis quanto os aplicativos de software tradicionais.
Reserve um momento para se familiarizar com o Kitops e ver como ele pode agilizar e enriquecer seus projetos de IA/ML. Kitops oferece uma nova perspectiva sobre gerenciamento e colaboração no desenvolvimento de IA/ML. Sinta-se à vontade para visitar kitops.ml, aprofundar-se em suas capacidades e talvez iniciar sua própria jornada com o Kitops.
YOUTUBE.COM/THENEWSTACK
A tecnologia avança rápido, não perca um episódio. Inscreva-se em nosso canal no YouTube para transmitir todos os nossos podcasts, entrevistas, demonstrações e muito mais.
SE INSCREVER
Gorkem Ercan é um engenheiro ilustre e CTO da Jozu. Gorkem tem experiência trabalhando e liderando equipes com diversas tecnologias, desde a construção de IDEs até a construção de telefones celulares e sistemas CI/CD. Ele é um ávido contribuidor e apoiador de…
Este site utiliza cookies para melhorar sua experiência de navegação. Ao continuar, você concorda com o uso de cookies. Para mais informações, consulte nossa Política de Privacidade.
Funcional
Sempre ativo
O armazenamento ou acesso técnico é estritamente necessário para a finalidade legítima de permitir a utilização de um serviço específico explicitamente solicitado pelo assinante ou utilizador, ou com a finalidade exclusiva de efetuar a transmissão de uma comunicação através de uma rede de comunicações eletrónicas.
Preferências
O armazenamento ou acesso técnico é necessário para o propósito legítimo de armazenar preferências que não são solicitadas pelo assinante ou usuário.
Estatísticas
O armazenamento ou acesso técnico que é usado exclusivamente para fins estatísticos.O armazenamento técnico ou acesso que é usado exclusivamente para fins estatísticos anônimos. Sem uma intimação, conformidade voluntária por parte de seu provedor de serviços de Internet ou registros adicionais de terceiros, as informações armazenadas ou recuperadas apenas para esse fim geralmente não podem ser usadas para identificá-lo.
Marketing
O armazenamento ou acesso técnico é necessário para criar perfis de usuário para enviar publicidade ou para rastrear o usuário em um site ou em vários sites para fins de marketing semelhantes.