최근 수정 시각 : 2023-12-14 12:44:55

MLX

MLX
MLX
파일:MLX_logo.png
버전 0.0.5
2023년 12월 14일 업데이트
공개일 2023년 12월 6일
링크 파일:홈페이지 아이콘.svg 파일:GitHub 아이콘.svg파일:GitHub 아이콘 화이트.svg

1. 개요2. 상세3. 특징4. 역사5. 링크

[clearfix]

1. 개요

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

2. 상세

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

3. 특징

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

4. 역사

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

5. 링크

  • 문서
Documentation
  • 설치
Build and Install
  • 가이드
Quick Start Guide

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