hyunsu blog

홈강좌LAYA 결정 모델 24편 중 2편째

맥북에 LAYA 설치하기 — 가상환경·pip·Apple GPU(MPS) 확인

목차 · 5
  1. 01준비 — 파이썬 3.10 이상
  2. 02설치 — 가상환경 안에
  3. 03무엇이 깔렸나
  4. 04Apple GPU 를 쓰는지 확인
  5. 05실습 — 막혔을 때

LAYA 는 파이썬 패키지 하나다. 맥북에서는 가상환경을 만들고 pip 로 laya[serve] 를 설치하면 PyTorch 까지 함께 깔리고, Apple GPU(MPS)를 저절로 쓴다. 이 편은 설치를 확인하고, 다국어 체크포인트를 처음 내려받아 올려 본다.

01 준비 — 파이썬 3.10 이상

LAYA 는 파이썬 3.10 이상이 필요하다. 터미널에서 판을 확인한다.

bash
python3 --version

이 시리즈는 파이썬 3.12 로 실행했다. 판이 낮으면 python.org 의 설치 파일이나 Homebrew(brew install [email protected])로 새로 깐다.

02 설치 — 가상환경 안에

프로젝트 폴더를 만들고 그 안에 가상환경(.venv)을 둔다. 가상환경은 이 프로젝트만의 파이썬 꾸러미 공간이라, 다른 프로젝트의 패키지와 판이 섞이지 않는다.

bash
mkdir ~/laya && cd ~/laya
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install "laya[serve]"

[serve] 는 12편에서 쓸 HTTP 서버까지 함께 까는 선택이다. PyTorch·transformers 같은 큰 패키지가 같이 내려오니 몇 분 걸린다. 이 시리즈의 가상환경은 설치 뒤 약 1GB 였다.

새 터미널을 열 때마다 source .venv/bin/activate 로 가상환경을 켠다. 켜져 있으면 프롬프트 앞에 (.venv) 가 붙는다.

03 무엇이 깔렸나

bash
python -m pip show laya
text
Name: laya
Version: 0.4.27
Summary: Fast, non-autoregressive System 1 decision engine with calibrated probabilities
Home-page: https://huggingface.co/convaiinnovations/laya
Author: Convai Innovations
Author-email: 
License: Apache-2.0
Location: .venv/lib/python3.12/site-packages
Requires: huggingface_hub, numpy, safetensors, torch, transformers, vegaml
Required-by: 
  • Version 0.4.27 — 이 시리즈를 쓴 판이다. LAYA 는 자주 갱신되니 다른 판이면 옵션 이름이 조금 다를 수 있다. 같은 판으로 맞추려면 pip install "laya[serve]==0.4.27" 로 고정한다.
  • License Apache-2.0 — 내 서버에서 돌리고 상업 서비스에 써도 된다.
  • Requires — torch(PyTorch)·transformers 위에서 돈다. 모델 파일은 Hugging Face Hub 에서 받는다(huggingface_hub).

04 Apple GPU 를 쓰는지 확인

python
"""설치가 됐는지, 맥의 GPU(MPS)를 쓰는지 확인한다."""
import platform
import time

import torch
import transformers
import laya

print("python", platform.python_version(), "·", platform.machine())
print("laya", laya.__version__, "· torch", torch.__version__, "· transformers", transformers.__version__)
print("MPS (Apple GPU) available:", torch.backends.mps.is_available())

start = time.time()
agent = laya.load("convaiinnovations/laya", subfolder="multilingual")
print(f"loaded multilingual checkpoint in {time.time() - start:.1f}s")
print("device:", next(agent.model.parameters()).device if hasattr(agent, "model") else "unknown")
bash
python check_install.py
text
python 3.12.3 · arm64
laya 0.4.27 · torch 2.15.0 · transformers 5.22.2
MPS (Apple GPU) available: True
loaded multilingual checkpoint in 2.9s
device: mps:0
  • MPS (Apple GPU) available: True — PyTorch 가 맥의 GPU 를 쓸 수 있다. LAYA 는 장치를 CUDA(엔비디아 GPU) → MPS → CPU 순서로 고르니 따로 설정할 것이 없다.
  • loaded multilingual checkpoint in 2.9s — 이미 내려받은 체크포인트를 올리는 데 걸린 시간이다. 처음에는 Hugging Face 에서 약 0.6GB 를 내려받느라 수십 초 걸린다. 받은 파일은 ~/.cache/huggingface 에 남아 다음부터는 바로 올라간다.
  • device: mps:0 — 모델이 실제로 GPU 에 올라갔다.

torch 를 처음 불러올 때 맥에서는 안내 한 줄(Redirects are currently not supported in MacOs)이 찍히기도 한다. 맥에서 늘 나오는 것이라 무시해도 되고, 이 강좌의 출력에서는 그 줄을 뺐다. 처음 내려받을 때 Hugging Face 토큰이 없다는 경고(unauthenticated requests)도 나오는데, 공개 모델이라 토큰 없이도 받아진다.

05 실습 — 막혔을 때

증상할 일
laya.load() 가 멈춘 채 돌아오지 않는다텐서플로가 깔려 있으면 서로 꼬일 수 있다. USE_TF=0 을 앞에 붙여 실행한다(공식 문서의 안내)
MPS available: False인텔 맥이다. CPU 로 돌고 느리다. 인텔 맥은 공식 문서가 판 고정(numpy<2·torch==2.2.2)을 안내한다
내려받기가 느리다Hugging Face 토큰을 HF_TOKEN 에 넣으면 빨라진다

설치가 끝났다. 다음 편에서 첫 판단을 해 본다.