O MLflow, a plataforma de operações de aprendizado de máquina de código aberto (MLOps) criada pela Databricks, está se tornando um projeto da Linux Foundation. Também está recebendo alguns novos recursos. A mudança foi anunciada por Matei Zaharia, co-fundador da Databricks e criador do MLflow e Apache Spark, no evento virtual Spark + AI Summit da empresa hoje.
No momento, Zaharia disse que o MLflow vem experimentando uma taxa de crescimento de 4x em relação ao ano anterior. Somente na plataforma Databricks (incluindo as ofertas do serviço Amazon Web Services e Microsoft Azure), Zaharia disse que mais de 1 milhão de experiências são executadas no MLflow e mais de 100.000 modelos de ML são adicionados ao seu registro de modelo a cada semana. Aparentemente, alguns clientes estão criando dezenas de milhares de modelos, o que ajuda a impulsionar esse imenso volume.
Com esse tipo de crescimento, Zaharia explicou que é importante que os clientes vejam o projeto gerenciado por uma organização neutra em relação aos fornecedores. Isso protege os investimentos dos clientes no MLflow e elimina qualquer desconforto de que o projeto possa depender da direção corporativa da Databricks.
No entanto, o Spark – no qual a plataforma Databricks se baseia – é um projeto da Apache Software Foundation, enquanto os projetos associados Delta Lake e agora o MLflow estão sob a Linux Foundation. Zaharia explicou que as duas fundações operam de maneira semelhante o suficiente para não impactar os usuários e destacou que Kubernetes e a Cloud Native Computing Foundation também estão sob o guarda-chuva da Linux Foundation, criando sinergias úteis para os projetos lançados pelo Databricks que foram movidos para lá.
Databricks transfere o MLflow para Linux Foundation
O MLflow adicionou novas interfaces de programação de aplicativos (APIs), para permitir a integração com estruturas de CI/CD (integração contínua, implantação contínua) como Jenkins e GitLab.
O MLflow agora também possui registro e versão automáticos. Para o registro, detalhes como métricas e parâmetros do modelo podem ser registrados automaticamente. Para experimentos executados na plataforma Databricks, os detalhes do cluster e do notebook também são registrados. O controle de versão do modelo é ativado pelo uso do Delta Lake. Ele fornece versões e armazenamento eficiente apenas do que foi alterado entre as versões – como o meio de armazenamento.
Esses dois novos recursos do MLflow reconhecem que o desenvolvimento do modelo de aprendizado de máquina é um tipo de desenvolvimento de software. Assim, essas práticas de registro e CI/CD são um procedimento operacional padrão. Eles também correspondem bem aos recursos anunciados pela Cloudera para sua própria plataforma MLOps.
DELTA ENGINE
Falando em Delta Lake, a Databricks anunciou ontem uma nova camada proprietária, chamada Delta Engine. Este produto é essencialmente uma reescrita do mecanismo Spark SQL/DataFrame, implementado em uma combinação de C ++ e linguagem assembly, para fornecer um desempenho muito melhorado sobre a implementação baseada em Java no Apache Spark.
O Delta Engine também utiliza as chamadas instruções de CPU do SIMD (instrução única, vários dados), para processar vários itens de dados de uma só vez, em vez de um de cada vez. Essa técnica, também conhecida como processamento ou vetorização de vetor, é um recurso padrão na maioria das plataformas de data warehouse, assim como o armazenamento colunar, que o Delta Lake utiliza. Outro princípio do data warehousing é o processamento massivamente paralelo, ou MPP. O Spark SQL e o Delta Engine utilizam paralelização entre os nós no cluster Spark para obter o mesmo efeito.