Uma plataforma que reduz o custo de fazer ML bem
Desenhamos plataformas de ML com base num pequeno conjunto de princípios: as características devem ser definidas uma vez e reutilizadas; as experiências devem ser reproduzíveis por padrão; os modelos devem ser versionados e registados antes de chegarem à produção; e os caminhos de inferência devem ser observáveis da mesma forma que os serviços subjacentes. As opiniões não são novas; a disciplina de as aplicar consistentemente é o que distingue plataformas que se desenvolvem de plataformas que calcificam.
O nosso conjunto de ferramentas preferido varia por ambiente. Construímos em torno de ofertas geridas como Databricks, SageMaker, Vertex AI e Azure ML, em torno de pilhas de código aberto (MLflow, Feast, Ray, Kubeflow, Argo) em Kubernetes, e em torno de híbridos dos dois. A escolha é ditada pelos seus investimentos existentes, pelo conforto operacional da sua equipa e pelo perfil de latência das cargas de trabalho em questão.
Em todas estas insistimos em alguns aspetos inegociáveis: cada artefacto (conjunto de dados, conjunto de características, modelo) é identificado por um hash endereçável por conteúdo; cada promoção entre ambientes é registada com a linhagem das entradas e os resultados dos testes que a justificaram; e cada modelo em produção é emparelhado com um monitor que sabe o que é um bom desempenho.
- Pipelines de treino reproduzíveis
- Feature stores com paridade online e offline
- Vector stores para recuperação e similaridade
- Registo de modelos, faseamento e reversão
- Monitorização de desvio, desempenho e custos
- Treino e inferência com consciência de custos

