
São Paulo — InkDesign News — Recentes avanços em Python estão transformando a forma como utilizamos a aprendizagem de máquina com DataFrames, aumentando a rapidez e eficiência na aplicação de funções.
Arquitetura de modelo
A nova versão experimental do Python 3.13, conhecida como “versão de thread livre” (free-threading build), remove o Global Interpreter Lock (GIL). Essa mudança permite a verdadeira concorrência multi-threaded em operações limitadas pela CPU. O pacote StaticFrame 3.2, por exemplo, consegue realizar aplicações de função linha a linha em DataFrames de forma significativamente mais rápida.
“Os benefícios de desempenho são extraordinários.”
(“The performance benefits are extraordinary.”)— Autor, Pesquisador Independente
Treinamento e otimização
O processo de aplicação de funções em DataFrames agora pode ser realizado em múltiplas threads, resultando em reduções de tempo de até 60% nas operações. O uso de funções como apply_pool para multi-threading se destaca, permitindo que várias linhas sejam processadas simultaneamente. Durante testes realizados, um DataFrame quadrado de um milhão de inteiros mostrou uma diminuição no tempo de execução de 21.3 ms para 7.89 ms.
“O tempo de execução em Python padrão aumenta de 17.7 ms para quase 40 ms com processamento multi-threading.”
(“When using standard Python with the GIL enabled, multi-threaded processing of CPU-bound processes often degrades performance.”)— Autor, Pesquisador Independente
Resultados e métricas
Durante experimentos, foi verificado que o desempenho do processamento multi-threaded em Python 3.13t é consistente em diversos tipos de DataFrames. Por exemplo, para DataFrames de 100 milhões de elementos, o tempo de processamento reduziu em mais de 70%. Em comparação ao processamento multiprocessado, que tradicionalmente apresenta custos altos, a nova abordagem demonstra uma eficiência otimizada.
“O processamento de DataFrames pequenos ainda mostra benefícios, conseguindo reduzir o tempo pela metade.”
(“Surprisingly, even small DataFrames of only ten-thousand elements can benefit from multi-threaded processing in 3.13t.”)— Autor, Pesquisador Independente
A implementação do Python livre de threads traz novas possibilidades para operações em DataFrames e promete melhorias em outras áreas, como operações de grupo e aplicações em janelas. A comunidade aguarda ansiosamente os próximos passos que podem solidificar essas inovações nos fluxos de trabalho de machine learning e deep learning.
Fonte: (Towards Data Science – AI, ML & Deep Learning)