최근 수정 시각 : 2024-10-10 13:43:31

MLX

<bgcolor=#fff,#121212>
파일:MLX logo.png파일:MLX logo dark.png

<colbgcolor=#333><colcolor=#fff> 개발 <colcolor=#333,#fff>Apple
최신 버전 0.18.0
2024년 9월 28일 업데이트
공개일 2023년 12월 6일
링크 파일:홈페이지 아이콘.svg 파일:GitHub 아이콘.svg파일:GitHub 아이콘 화이트.svg

1. 개요2. 상세3. 특징4. 역사5. 참고 자료

[clearfix]

1. 개요

Apple Silicon을 위한 딥러닝 프레임워크.

2. 상세

MLX는 Apple에서 개발했으며 Apple Silicon을 위한 첫 딥러닝 프레임워크이다. 공개 당일 3K star를 달성하며 큰 호응을 얻었다.

3. 특징

MLX는 NumPy, PyTorch, Jax 그리고 ArrayFire로부터 영향을 받았다.
  • 익숙한 API
    MLX는 Python과 Numpy에 밀접하다. 복잡한 모델도 간단히 구축하기 위해 PyTorch와 비슷한 패키지를 제공하고 있다.
  • 구성 가능한 함수 변환
    MLX는 자동 미분, 자동 벡터화 그리고 계산 그래프 최적화를 위한 구성 가능한 함수 변환을 갖고 있다.
  • 지연 계산
    MLX에서 계산은 지연 계산이다. Arrays는 오직 필요할 때만 구체화된다.
  • 동적 그래프 구축
    MLX에서 계산 그래프는 동적으로 만들어진다. 함수 인수의 shape를 변경해도 컴파일 속도가 느려지지 않으며 디버깅은 간단하고 직관적이다.
  • 다중 장치
    연산은 장치가 지원하면 수행할 수 있다. 타 프레임워크처럼 CPUGPU에서 연산이 가능하다.
  • 통합 메모리
    타 프레임워크 대비 MLX의 차별점은 통합 메모리 모델이다. MLX에서 Arrays는 공유 메모리에 상주한다.[1] 따라서 MLX arrays 연산은 기존 프레임워크와 달리 데이터의 이동 없이, 지원되는 아무 장치 유형에서 수행될 수 있다.

4. 역사

2023년 12월 6일 MLX 오픈 소스가 GitHub에서 공개되었다.[2]

5. 참고 자료


[1] 애플 실리콘에서는 칩에 장착된 RAM 용량 전부를 칩의 연산 장치들이 공유하는데 이를 공유 메모리라고 부른다. 보통의 컴퓨터 구조에서는 RAM, CPU, GPU 등등 장치가 전부 따로 존재하기 때문에 해당 장치의 메모리로 데이터가 이동해야 연산할 수 있다.[2] 2020년 AppleWWDC20에서 Mac의 Apple Silicon 이주를 발표하고 난 뒤, 3년 동안 PyTorch를 제외하면 그 위에서 운용하기 위한 딥러닝 프레임워크의 진전이 없었다.