Hub documentation
Hugging Face에서 MLX 사용
Hugging Face에서 MLX 사용
MLX는 Apple Machine Learning Research에서 만든 Apple silicon용 모델 학습 및 서빙 프레임워크입니다.
다양한 예제가 함께 제공됩니다:
- MLX-LM으로 텍스트 생성 및 GGUF 형식의 모델을 위한 MLX-LM 텍스트 생성.
- LLaMA를 활용한 대규모 텍스트 생성
- LoRA를 활용한 파인튜닝.
- Stable Diffusion으로 이미지 생성
- OpenAI의 Whisper를 활용한 음성 인식.
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>