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.nnmlx.optimizers를 사용해요. 익숙한 nn.Module 스타일로 레이어를 쌓고, PyTorch처럼 옵티마이저를 골라 학습 루프를 구성할 수 있어요.

통합 메모리와 학습

MLX는 배열이 공유 메모리에 있는 통합 메모리 모델을 사용해요. 덕분에 CPU와 GPU 사이 데이터 전송 없이 연산을 수행할 수 있어, Apple silicon의 통합 메모리 아키텍처를 최대한 활용해요. 모델이 클수록 데이터 전송 비용이 아껴지는 게 학습·추론 속도에 직접 이득이 돼요.

더 알아보기