MLX로 LLaMA·LoRA 등 모델 학습하기
MLX로 LLaMA·LoRA 등 모델 학습하기
MLX는 예제 저장소에 다양한 모델 학습 예제를 제공해요. 특히 Apple silicon에서 대규모 언어 모델을 돌리거나 파인튜닝하는 예제가 많아요. 이 페이지에서는 MLX 예제 생태계를 통해 어떤 학습 작업을 할 수 있는지, 그리고 MLX의 핵심 개념이 어떻게 모델 학습에 녹아드는지 보여드릴게요.
출처: MLX GitHub (공식)
사용 가능한 학습 예제
MLX 예제 저장소(mlx-examples)에는 여러 종류의 예제가 있어요.
- Transformer 언어 모델 학습 (transformer_lm) — 처음부터 언어 모델을 학습하는 예제예요.
- LLaMA로 대규모 텍스트 생성 (llms/llama) — Apple silicon에서 LLaMA 모델로 텍스트를 생성해요.
- LoRA 파인튜닝 (lora) — LoRA 기법으로 모델을 효율적으로 파인튜닝해요.
- Stable Diffusion 이미지 생성 (stable_diffusion) — 이미지 생성 모델을 실행해요.
- OpenAI Whisper 음성 인식 (whisper) — 음성을 텍스트로 변환해요.
MLX.nn과 mlx.optimizers
더 복잡한 모델을 만들려면 PyTorch를 밀접하게 따라가는 상위 레벨 패키지 mlx.nn과 mlx.optimizers를 사용해요. 익숙한 nn.Module 스타일로 레이어를 쌓고, PyTorch처럼 옵티마이저를 골라 학습 루프를 구성할 수 있어요.
통합 메모리와 학습
MLX는 배열이 공유 메모리에 있는 통합 메모리 모델을 사용해요. 덕분에 CPU와 GPU 사이 데이터 전송 없이 연산을 수행할 수 있어, Apple silicon의 통합 메모리 아키텍처를 최대한 활용해요. 모델이 클수록 데이터 전송 비용이 아껴지는 게 학습·추론 속도에 직접 이득이 돼요.