
São Paulo — InkDesign News — A nova linguagem Mojo promete aprimorar o desenvolvimento em machine learning ao permitir a chamada de código de alto desempenho diretamente do Python, desafiando limitações de desempenho convencionais.
Arquitetura de modelo
A arquitetura da Mojo se destaca ao mesclar a sintaxe do Python com um pipeline de compilador baseado em LLVM e MLIR, proporcionando uma abstração de zero custo, tipagem estática e gerenciamento de memória baseado em propriedade. Os resultados preliminares mostraram um desempenho até 35.000x mais rápido do que implementações padrão em Python.
“A Mojo nasceu a partir da dor das limitações de desempenho do Python.”
(“Mojo was born from a simple pain point, i.e. Python’s lack of performance.”)— Chris Lattner, Co-fundador, Modular Inc.
Treinamento e otimização
Os engenheiros de software têm várias estratégias à disposição para otimizar a performance do código. Conhecido por sua latência, o Python pode ser melhorado utilizando bibliotecas de terceiros como NumPy, que permite operações vetorizadas. A combinação de Mojo com código Python visa diminuir o tempo de treinamento e melhorar as métricas gerais de desempenho.
“Utilizar a Mojo pode oferecer uma melhora significativa no desempenho, enquanto ainda se opera em um território conhecido do Python.”
(“Using Mojo can provide a significant performance boost while still operating in familiar Python territory.”)— Tim Davis, Co-fundador, Modular Inc.
Resultados e métricas
Em benchmarks que envolviam a geração de um conjunto de Mandelbrot e integração numérica, observou-se que a versão em Mojo foi até 20 vezes mais rápida do que a implementação em Python puro e 5 vezes mais rápida do que a versão em NumPy. No entanto, em outros casos, como funções que se beneficiam da vetorização do NumPy, a biblioteca ainda se mostrou competitiva.
“Precisamos considerar o trade-off entre vetorização e loops JIT compilados para maximizar a performance.”
(“We need to consider the trade-off between vectorization and JIT-compiled loops to maximize performance.”)— Analista, Insight Media Group.
Os resultados indicam que, enquanto o Mojo se posiciona como uma ferramenta poderosa para aceleração de tarefas computacionais, aqueles que buscam a melhor performance devem pensar criticamente sobre o uso de ambas as abordagens. A integração de Mojo em fluxos de trabalho de machine learning pode potencialmente abrir novas possibilidades na otimização de algoritmos.
Fonte: (Towards Data Science – AI, ML & Deep Learning)