Sobre o projeto
MLX é um framework de arrays para aprendizado de máquina no Apple silicon, desenvolvido pela equipe de pesquisa de aprendizado de máquina da Apple. Ele fornece uma API Python que segue de perto o NumPy, com APIs C++, C e Swift completas que espelham a interface Python. Pacotes de nível superior, como `mlx.nn` e `mlx.optimizers`, seguem as convenções do PyTorch para construir modelos complexos.
Os principais recursos incluem:
- **APIs familiares**: API Python similar ao NumPy, além de versões em C++, C e Swift.
- **Transformações de funções compostas**: Suporta diferenciação automática, vetorização e otimização de grafos de computação.
- **Computação preguiçosa**: Arrays são materializados apenas quando necessário.
- **Construção de grafos dinâmicos**: Os grafos de computação são construídos dinamicamente, evitando recompilações lentas quando as formas mudam.
- **Multi-dispositivo**: As operações rodam em CPU e GPU.
- **Memória unificada**: Os arrays vivem em memória compartilhada, permitindo operações entre dispositivos sem transferência de dados.
MLX é projetado para pesquisadores de aprendizado de máquina, visando facilidade de uso e eficiência no treinamento e na implantação. Ele se inspira em NumPy, PyTorch, Jax e ArrayFire.
A instalação é feita via pip no macOS (`pip install mlx`), com opções Linux para CUDA (`mlx[cuda]`) ou apenas CPU (`mlx[cpu]`). O repositório de exemplos do MLX inclui treinamento de modelos de linguagem transformer, geração de texto LLaMA com ajuste fino LoRA, geração de imagens Stable Diffusion e reconhecimento de fala Whisper.
Documentação, guias de início rápido e diretrizes de contribuição estão disponíveis no repositório. O projeto é open-source e reconhece os contribuidores.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.