- 애플 머신러닝 연구팀에서 제작한, 애플 실리콘에서 효율적이고 유연한 머신러닝 수행을 위해 설계된 어레이 프레임워크
- Numpy 와 거의 유사한 Python API를 제공하며, 모든 기능을 같이 제공하는 C++ API도 있음
- Numpy와의 차이점
- Composable function transformations: MLX에는 자동 미분, 자동 벡터화, 계산 그래프 최적화를 위한 구성 가능한 함수 변환이 있음
- Lazy Computation: MLX의 계산은 Lazy함. 배열은 필요할 때만 구체화(Materialize)됨
- 멀티 디바이스: 지원되는 모든 장치(CPU, GPU, ...)에서 연산을 실행할 수 있음
- 동적 그래프 구성: MLX의 계산 그래프는 동적으로 구축됨. 함수 인수의 모양을 변경해도 컴파일 속도가 느려지지 않으며, 디버깅이 간단하고 직관적
- PyTorch, Jax, ArrayFire 같은 프레임워크에서 영감을 받음
- 이러한 프레임워크와 MLX의 눈에 띄는 차이점은 Unified Memory Model
- MLX의 어레이는 공유 메모리에 저장됨. MLX 배열에 대한 작업은 데이터 복사를 수행하지 않고도 지원되는 모든 장치 유형에서 수행할 수 있음
- 현재 지원되는 장치 유형은 CPU와 GPU
- 다양한 예제 포함
- Transformer 언어 모델 학습
- LLaMA 로 대규모 텍스트 생성 및 LoRA로 파인튜닝
- Stable Diffusion으로 이미지 생성하기
- OpenAI's Whisper로 음성 인식하기