Hub documentation

Hugging Face에서 MLX 사용

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Hugging Face에서 MLX 사용

MLX는 Apple Machine Learning Research에서 만든 Apple silicon용 모델 학습 및 서빙 프레임워크입니다.

다양한 예제가 함께 제공됩니다:

Hub에서 MLX 탐색

모델 페이지 왼쪽에서 필터링하여 MLX 모델을 찾을 수 있습니다. MLX 형식으로 변환 및 공개하는 기여자들로 구성된 오픈 MLX 커뮤니티도 있습니다.

MLX Hugging Face Hub 통합 덕분에 몇 줄의 코드로 MLX 모델을 로드할 수 있습니다.

설치

MLX는 독립적인 패키지로 제공되며, Large Language Models용 Hugging Face 통합 기능이 포함된 MLX-LM이라는 서브패키지가 있습니다. MLX-LM을 설치하려면 pip를 통해 다음 한 줄 설치 명령을 사용할 수 있습니다:

pip install mlx-lm

이에 대한 자세한 내용은 여기에서 확인하실 수 있습니다.

mlx-lm를 설치하면 mlx를 별도로 설치할 필요가 없습니다. mlx-lm 대신 MLX만 사용하려면 다음과 같이 MLX 자체를 설치할 수 있습니다.

pip를 사용하여:

pip install mlx

conda를 사용하여:

conda install -c conda-forge mlx

기존 모델 사용

MLX-LM에는 텍스트 생성에 유용한 유틸리티가 포함되어 있습니다. 다음 줄은 모델을 직접 다운로드하고 로드한 후 텍스트 생성을 시작합니다.

python -m mlx_lm.generate --model mistralai/Mistral-7B-Instruct-v0.2 --prompt "hello"

생성 옵션의 전체 목록을 보려면 다음을 실행하세요

python -m mlx_lm.generate --help

아래와 같이 Python을 통해 모델을 로드하고 텍스트 생성을 시작할 수도 있습니다:

from mlx_lm import load, generate

model, tokenizer = load("mistralai/Mistral-7B-Instruct-v0.2")

response = generate(model, tokenizer, prompt="hello", verbose=True)

MLX-LM은 LLaMA, Phi-2, Mistral, Qwen을 비롯한 인기 있는 LLM 아키텍처를 지원합니다. 지원되지 않는 모델은 다음과 같이 쉽게 다운로드할 수 있습니다:

HF_XET_HIGH_PERFORMANCE=1을 설정하면 대역폭이 높고 RAM이 64 GB 이상인 머신에서 동시성 한계와 버퍼 크기를 높입니다:

pip install -U huggingface_hub

export HF_XET_HIGH_PERFORMANCE=1
hf download --local-dir <LOCAL FOLDER PATH> <USER_ID>/<MODEL_NAME>

모델 변환 및 공유

Hugging Face Hub의 LLM을 다음과 같이 변환하고, 선택적으로 양자화할 수 있습니다:

python -m mlx_lm.convert --hf-path mistralai/Mistral-7B-v0.1 -q 

변환 후 모델을 직접 push하려면 아래처럼 수행할 수 있습니다.

python -m mlx_lm.convert \
    --hf-path mistralai/Mistral-7B-v0.1 \
    -q \
    --upload-repo <USER_ID>/<MODEL_NAME>

추가 자료

Update on GitHub