Google Cloud facilita benchmark de workloads em machine learning

São Paulo — InkDesign News — Em um cenário onde o **machine learning** e o **deep learning** dominam, é crucial entender a relevância contínua dos algoritmos tradicionais e o seu desempenho em ambientes de nuvem.
Arquitetura de modelo
Embora as GPUs sejam frequentemente vistas como as melhores para treinamento de modelos, a maioria das aplicações empresariais reais ainda utiliza dados tabulares, como na detecção de fraudes e na previsão de rotatividade de clientes. Modelos tradicionais, como random forest e gradient boosting, continuam a demonstrar resultados superiores de acurácia e confiabilidade quando comparados a redes neurais em certas tarefas.
“Resultados empíricos mostram que os modelos baseados em árvore superam o deep learning em dados tabulares típicos.”
(“Empirical results show that tree-based models outperform deep learning on typical tabular data.”)— Grinsztajn et al., NeurIPS 2022
Treinamento e otimização
O treinamento de modelos em CPUs ainda é a escolha mais econômica para cargas de trabalho de dados estruturados em plataformas de nuvem, em grande parte devido à latência de transferência de dados e à escalabilidade limitada de alguns algoritmos baseados em árvore.
Um experimento prático utilizando o XGBoost em um dataset sintético revelou que a configuração da memória e o controle de acesso através do NUMA são cruciais para a consistência nos benchmarks. Ao executar diferentes modos de teste, foi possível observar uma significativa variação nos resultados de desempenho, o que destaca a importância da configuração adequada dos recursos computacionais.
“Controlar a afixação de memória é essencial para garantir que o benchmarking esteja medindo o CPU e não o planejador.”
(“Controlling memory affinity is essential to ensure that benchmarking is measuring the CPU and not the scheduler.”)— Autor do artigo
Resultados e métricas
Com o uso de frameworks como o scikit-learn_bench, os pesquisadores podem obter resultados consistentes e reproduzíveis, permitindo uma comparação mais justa entre diferentes implementações de algoritmos. O desempenho deve ser medido não apenas em termos de tempo de execução, mas também considerando o custo por tarefa e a variabilidade do sistema.
Para garantir a validade dos resultados, é recomendável realizar múltiplas iterações de cada experimento e relatar não apenas a média, mas também a variância dos dados. Isso ajuda a identificar tendências consistentes no desempenho e a modelar o impacto de variáveis como o comportamento do CPU e a topologia da memória.
As aplicações práticas desses modelos são vastas, desde o setor bancário até a saúde, onde a capacidade de oferecer explicações para as decisões do modelo é crítica. No futuro, espera-se que a interação entre machine learning tradicional e deep learning continue a evoluir, proporcionando melhores insights em dados complexos.
Fonte: (Towards Data Science – AI, ML & Deep Learning)