프로젝트 소개

MLX는 Apple의 머신러닝 연구 팀이 개발한 Apple 실리콘용 머신러닝 배열 프레임워크입니다. NumPy를 밀접하게 따르는 Python API를 제공하며, Python 인터페이스를 반영한 완전한 기능의 C++, C, Swift API도 포함합니다. `mlx.nn` 및 `mlx.optimizers`와 같은 고수준 패키지는 복잡한 모델 구축을 위해 PyTorch 규칙을 따릅니다. 주요 기능은 다음과 같습니다: - **친숙한 API**: NumPy 유사 Python API와 C++, C, Swift 버전. - **합성 가능한 함수 변환**: 자동 미분, 벡터화, 계산 그래프 최적화 지원. - **지연 계산**: 배열은 필요할 때만 구체화됩니다. - **동적 그래프 구축**: 계산 그래프가 동적으로 구축되어 모양 변경 시 느린 재컴파일을 방지합니다. - **다중 장치**: 연산이 CPU와 GPU에서 실행됩니다. - **통합 메모리**: 배열이 공유 메모리에 상주하여 데이터 전송 없이 장치 간 연산이 가능합니다. MLX는 머신러닝 연구자를 위해 설계되었으며, 훈련 및 배포에서 사용자 친화성과 효율성을 목표로 합니다. NumPy, PyTorch, Jax, ArrayFire에서 영감을 받았습니다. 설치는 macOS에서 pip(`pip install mlx`)를 통해 가능하며, Linux에서는 CUDA(`mlx[cuda]`) 또는 CPU 전용(`mlx[cpu]`) 옵션이 있습니다. MLX 예제 저장소에는 트랜스포머 언어 모델 훈련, LoRA 미세 조정을 통한 LLaMA 텍스트 생성, Stable Diffusion 이미지 생성, Whisper 음성 인식이 포함됩니다. 문서, 빠른 시작 가이드, 기여 지침은 저장소에서 제공됩니다. 이 프로젝트는 오픈 소스이며 기여자를 인정합니다.