본문 바로가기
AI/Contents

Apple 의 M 시리즈를 활용한 딥러닝 freamework 인 MLX 에 대해 알아보자 - (1) 설치

by AI미남홀란드 2024. 1. 8.
728x90

안녕하세요 Simon 입니다.

제 올해의 목표인 Apple ML 생태계를 공부해보자 였는데요. 애플에서 최근에 출시한 MLX에 대해 포스팅 해보겠습니다.

 

MLX는 Apple 실리콘에서 효율적이고 유연한 머신 러닝을 위해 설계된 NumPy와 유사한 배열 프레임워크로, Apple 머신 러닝 연구팀에서 개발했습니다. Python API는 몇 가지 예외를 제외하고는 NumPy를 거의 그대로 따릅니다. MLX는 또한 완전한 기능을 갖춘 C++ API를 갖추고 있으며, 이는 Python API와 매우 유사합니다.

컴포저블 함수 변환: MLX는 자동 미분, 자동 벡터화, 계산 그래프 최적화를 위한 구성 가능한 함수 변환을 제공합니다.

지연 계산: MLX의 계산은 지연 계산입니다. 배열은 필요할 때만 구체화됩니다.

멀티 디바이스: 지원되는 모든 장치(CPU, GPU, ...)에서 연산을 실행할 수 있습니다.

 

 

 

M1 Pro

 

저같은 경우 아직 현역인 M1 Pro 를 쓰고 있습니다. m2 맥북에어도 보유중이긴 합니다. 근데 사실 m3가 나왔지만 사실 작업자는 크게 느끼지 못할정도라고 하는데 MLX 프레임워크 환경에서는 m5 정도가 나오면 느껴지지 않을까 생각합니다

 

라이브러리 설치

주의

MLX is only available on devices running macOS >= 13.3 It is highly recommended to use macOS 14 (Sonoma)

소노마 부터 적극권장하고 있네요. 현재 시점 저는 13.3 벤투라 운영체제를 사용하고 있습니다.

!python -c "import platform; print(platform.processor())" # It must be arm
!pip install mlx

 

Trouble Shouting

만약 내 파이썬 환경에서 실행이 되지 않는다면, 환경을 확인을 해주세요.

python -c "import platform; print(platform.processor())"

arm device만 되기 떄문에 M시리즈의 mac 제품인지 확인을하고, 좋은 방법은 가상환경을 다운로드하고, native 파이썬을 설치하는 방법입니다.

 

 

Python Build

Build Requirements

  • A C++ compiler with C++17 support (e.g. Clang >= 5.0)
  • cmake – version 3.24 or later, and make
  • Xcode >= 14.3 (Xcode >= 15.0 for macOS 14 and above)

1. GitHub 저장소에서 MLX 복제하기:

git clone git@github.com:ml-explore/mlx.git mlx && cd mlx

 

2. pybind11 라이브러리 설치하기:

pip install "pybind11[global]"
conda install pybind11
brew install pybind11

 

3. pip 사용하여 빌드하고 설치합니다:

env CMAKE_BUILD_PARALLEL_LEVEL="" pip install .

 

4. 개발용으로 편집 가능한 설치를 합니다:

env CMAKE_BUILD_PARALLEL_LEVEL="" pip install -e .

 

5. 설치가 제대로 되어 있는지 확인하기 위해 테스트를 실행합니다.

pip install ".[testing]"
python -m unittest discover python/tests

 

6. 선택 사항: 자동 완성 타입 체킹을 위해 IDE에서 스텁을 설치합니다.

pip install ".[dev]"
python setup.py generate_stubs

- 이 단계는 개발 중에 유용한 자동 완성 타입 체킹 기능을 활성화하기 위해 추가 개발 도구를 설치합니다.

728x90