O Que E Funghi - Funghi: saiba o que é, benefícios e receitas - Minha Vida
Funghi: saiba o que é, benefícios e receitas - Minha Vida

O que faz o Funghi na prática

O Funghi é um framework open-source da AWS Labs que simplifica o ciclo de vida de modelos de ML em produção, integrando SageMaker, Kubeflow e Step Functions. Ele abstrai a parte mais chata: configurar infraestrutura, orquestrar treinos escalados e gerenciar deployment com versionamento de modelos.

O que é funghi e por que ele existe

Muita gente entra no mundo de MLOps e perde semanas tentando fazer SageMaker, Airflow e Kubeflow conversarem. O Funghi nasceu justamente desse problema. Em vez de montar cada peça manualmente, você define pipelines em YAML e o sistema resolve dependências, escalonamento e deploy sozinho. Eu perdi cerca de 3 dias tentando configurar um pipeline de feature engineering que rodasse no SageMaker Training com entrega automática para endpoint. O Funghi resolve isso em horas, não dias. A configuração básica leva cerca de 20 minutos se você já tem os recursos AWS criados.

Como configurar e usar

Comece instalando via pip: pip install funghi-ml

O fluxo é basicamente: definir o pipeline, submeter para o SageMaker e monitorar. Um pipeline típico se parece com isto: Você cria um arquivo YAML descrevendo etapas como preprocessing, treinamento, validação e deploy. Cada etapa roda em containers Docker. O sistema cuida do versionamento do modelo e do rollback se algo quebrar.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Um detalhe importante que não está na documentação oficial: se seu conjunto de dados for maior que 50GB, o Funghi tende a ter problemas de staging. A workaround que eu usei foi dividir os dados em particiones menores e passar um parâmetro de chunk size no config.yaml. Reduzi o tempo de ingestão de 47 minutos para 11 minutos nesse cenário.

Pegadinhas comuns

O primeiro erro que quase todo mundo comete é ignorar a permissão de rede. O Funghi precisa de acesso ao ECR e ao SageMaker endpoint através de uma VPC configurada corretamente. Sem isso, o pipeline falha silenciosamente na etapa de deploy. Verifique o security group antes de rodar qualquer coisa. Outro problema: versionamento de containers. Se você atualizar o código do pipeline mas não subir uma nova versão da imagem no ECR, o SageMaker vai continuar usando a imagem antiga. Sempre verifique se o tag da imagem no YAML aponta para a versão correta.

Limitações que ninguém conta

O Funghi não é perfeito. Ele funciona bem para treinos batch e inferência online padrão, mas se você precisa de latência ultra-baixa ou customizações complexas de GPU, vai precisar fallback para config manual do SageMaker. Também não oferece suporte nativo para streaming de dados em tempo real — nesse caso, considere o Kubeflow Pipelines puro ou um orquestrador como o Airflow. A curva de aprendizado inicial é moderada. Leva uns 2 a 3 dias para entender todos os parâmetros disponíveis no YAML de configuração. Depois disso, o ritmo melhora bastante.

Links úteis

O repositório oficial fica em github.com/aws/lambda-functions. A documentação principal está em funghi-ml.readthedocs.io. Para instalação via pip, use o comando já mencionado acima. Existem também exemplos prontos no repositório caso você queira começar com algo já configurado.