Apple Silicon M4에서의 Laya CoreML 데모 – CoreML을 통해 실행되는 오프라인 스네이크 게임

Laya CoreML은 최소한의 CPU 부하로 Apple Silicon M4에서 오프라인으로 실행됩니다

요약: laya-coreml 패키지는 M4 칩이 탑재된 Mac에서 다국어 LLM을 로컬로 실행할 수 있습니다. CoreML을 사용하여 추론을 Neural Engine으로 오프로드하며, 스네이크 게임 데모를 실행하는 동안 메모리 사용량을 800 MiB 미만으로 유지합니다.


빠른 시작 스크립트

Gist 작성자는 깨끗한 Python 환경을 설정하고, 데모를 설치하며, 미리 변환된 CoreML 모델을 다운로드하고, 스네이크 데모를 실행하는 재현 가능한 셸 스크립트(laya.sh)를 게시했습니다:

mkdir test-laya
cd test-laya
uv init                     # create an isolated Python environment
uv add 'laya-coreml[demo]'   # install the library and demo extras
hf download aac6fef/laya-multilingual-coreml-ane --local-dir models/snake
uv run laya-coreml-snake --model models/snake

macOS 27.0(Apple Silicon M4)에서 이 스크립트를 실행하면 LLM이 실시간으로 스네이크 에이전트를 제어하는 창이 나타납니다.


작성자가 제공한 성능 지표

작성자는 데모가 실행되는 동안 Python 프로세스의 sample 스냅샷을 캡처했습니다:

Physical footprint:         560.4 MiB
Physical footprint (peak):  778.0 MiB

보고서에 따르면 프로세스는 800 MiB RAM을 초과하지 않았으며, 이는 모델이 일반적인 M 시리즈 Mac의 통합 메모리 풀 내에 충분히 들어감을 확인시켜 줍니다.


Neural Engine으로의 CoreML 오프로드

댓글 작성자(speedping)는 추론이 GPU가 아닌 거의 전적으로 Neural Engine에서 실행된다고 언급했습니다:

"정말 멋지네요. pumas(에너지 모니터)를 실행해 보니 GPU가 아닌 Neural Engine에서 거의 완전히 실행되는 것 같아서 CoreML과 아주 잘 작동합니다." — @speedping

이는 laya-coreml이 Apple의 하드웨어 가속 스택을 활용하여 CPU 부하와 전력 소비를 줄인다는 것을 확인해 줍니다.


Cloudflare를 통한 API 사용 예시

또 다른 커뮤니티 멤버(coezbek)는 로컬 Laya 모델을 Cloudflare Workers 엔드포인트(typesafe/jev API) 뒤에 래핑하고 간단한 JSON 요청을 시연했습니다:

curl https://laya.inference.zaitlabs.com/ai/run \
  -H "Content-Type: application/json" \
  -d '{
    "state": "Help! My payouts have been failing for 3 days.",
    "questions": {
      "is_urgent": {"type": "noul", "instructions": "Does this convey urgency?"}
    }
  }'

응답은 긴급도에 대한 확률 점수(0.7894)를 반환했으며, 이는 모델이 저지연 추론 서비스로 노출될 수 있음을 보여줍니다.


커뮤니티 관점

  • 결정론적 작업: imranq의 댓글에 따르면 Laya는 결정론적 동작이 중요한 일부 학습 데이터가 있는 작업에서 빛을 발하지만, 완전히 새로운 쿼리에 대해서는 Jev와 같은 제로샷 모델보다 뒤처질 수 있다고 지적합니다.
  • 로컬 LLM의 미래: PaulRobinson은 제어 문제 도메인에서의 로컬 LLM에 대해 열광하며, (시연된 바와 같이) 하드웨어 가속 추론이 더 넓은 채택을 이끌 수 있다고 제안했습니다.
  • 메모리 궁금증: altano는 128 GB 통합 메모리를 가진 M3 Max에서의 메모리 소비량에 대해 질문했습니다. 작성자의 샘플 데이터(최대 약 778 MiB)는 저사양 M 시리즈 칩에서도 메모리 점유율이 낮음을 나타냅니다.
  • 모델 범위: 여러 댓글 작성자(tentacleuno, frag)는 스네이크 데모가 미세 조정된 Laya 모델을 사용했는지 질문했습니다. Gist는 미세 조정을 명시하지 않았으며, Hugging Face의 미리 게시된 laya-multilingual-coreml-ane 모델을 사용합니다.

Laya-CoreML이란 무엇인가

laya-coreml은 다국어 LLM(약 3억 개의 파라미터)을 래핑하고 CoreML 변환 파이프라인을 제공하는 Python 패키지입니다. 저장소(https://github.com/mizorewww/laya-coreml)에는 다음이 포함되어 있습니다:

  • Apple의 CoreML 형식을 위한 모델 변환 스크립트.
  • 강화 학습 스타일의 스네이크 게임에서 모델을 실행하는 데모 CLI(laya-coreml-snake).
  • 데모에 필요한 종속성을 설치하는 선택적 추가 기능([demo]).

이것이 중요한 이유

소비자용 Apple Silicon에서 언어 모델을 완전히 오프라인으로 실행하는 것은 정교한 AI 워크로드가 더 이상 클라우드 GPU를 필요로 하지 않음을 보여줍니다. 낮은 메모리 점유율과 Neural Engine 가속은 의도 분류, 긴급도 감지 또는 게임 에이전트와 같은 LLM 기반 기능을 네트워크 지연이나 데이터 개인 정보 보호 문제 없이 macOS 애플리케이션에 직접 내장할 수 있게 합니다.


직접 시도하는 방법

  1. 전제 조건: Apple Silicon(M1/M2/M3/M4) 기반의 macOS 27.0(또는 그 이상). uv 패키지 관리자를 설치합니다(pip install uv).
  2. 저장소 복제: git clone https://github.com/mizorewww/laya-coreml.git.
  3. 스크립트 따르기: 위의 "빠른 시작 스크립트" 섹션의 명령을 실행합니다.
  4. 실험: 스네이크 데모를 자신만의 CoreML 호환 추론 루프로 교체하거나, Cloudflare 예제와 같이 로컬 HTTP 서버를 통해 모델을 노출해 보세요.

제한 사항 및 미해결 질문

  • 모델 크기: 약 3억 개의 파라미터를 가진 Laya는 최신 모델(예: 7B 이상)보다 훨씬 작습니다. 언어 이해 범위가 줄어들 것으로 예상됩니다.
  • 미세 조정: 공개 데모에는 스네이크 환경을 위한 미세 조정 버전이 포함되어 있지 않습니다. 작업별 성능에 관심이 있는 사용자는 기본 모델을 미세 조정하고 CoreML로 다시 내보내야 합니다.
  • 하드웨어 의존성: 성능 향상은 Apple의 Neural Engine에 의존합니다. Apple 하드웨어가 아니거나 최신 Neural Engine이 없는 구형 Mac 모델에서는 결과가 다를 수 있습니다.

결론

laya-coreml 데모는 3억 개의 파라미터를 가진 다국어 LLM이 Apple Silicon M4에서 오프라인으로 실행될 수 있음을 증명합니다. CoreML을 사용하여 RAM을 800 MiB 미만으로 유지하고 연산을 Neural Engine으로 오프로드함으로써 데스크톱에서 저지연, 개인 정보 보호 중심의 AI 애플리케이션을 구현할 수 있습니다.

Sources

관련

  • 프로젝트
  • 프로젝트
  • Dispatch
  • Dispatch
  • Dispatch