단일 Mac Studio (96GB)에서 Qwen3.5 122b 세션 군집 구동하기
요약
Mac Studio의 메모리 제약 조건 하에서 Qwen3.5 122b와 같은 대규모 모델을 구동하는 최적화 기법을 소개합니다. Gated DeltaNet KV 캐시의 부분 저장 및 개선된 제거 전략 구현을 통해, 온디스크 KV 캐시 활용도를 극대화하여 프리필 컴퓨팅 부하를 크게 줄였습니다. 이를 통해 단일 Mac Studio에서 병렬성 없이도 여러 세션의 동시성을 성공적으로 달성할 수 있게 되었습니다.
핵심 포인트
- Gated DeltaNet KV 캐시 부분 저장 및 제거 전략 구현
- 온디스크 KV 캐시 활용 극대화로 컴퓨팅 부하 감소
- 단일 Mac Studio에서 다중 채팅 세션 동시 구동 가능
- qMLX를 이용해 로컬 모델 서브 에이전트 구동
안녕하세요, 지난주에 제가 올린 포스팅에 이어서 후속 내용을 전합니다. 제 Mac Studio의 성능을 최대한 끌어올리려는 실험에 관한 내용입니다. 특히, 저는 더 나아가서 많은 성공을 거두었습니다. 3개의 동시 세션으로 20분간 테스트를 진행했을 때, 제 Mac Studio는 총 789,351 개의 프롬프트 토큰을 처리했으며 그중 GPU에서 재계산된 것은 단지 48,996개에 불과했습니다. 나머지 93.8%는 온디스크 KV 캐시를 통해 가져왔습니다. 이는 프리필(prefill) 컴퓨팅 부하가 약 16배 감소했다는 것을 의미하며, 하나의 GPU 분량의 작업으로 세 개의 채팅을 구동할 수 있게 되었습니다.
주요 변경 사항은 다음과 같습니다:
- Gated DeltaNet KV 캐시의 적절한 부분 저장(partial storage) 구현
- 덜 어리석은 제거 전략(eviction strategy) 구현
제 목표는 기본 Mac Studio 모델(96GB RAM)의 메모리 제약 조건 하에서 병렬성 없이 동시성을 달성하는 것이었습니다. 이미 제가 직접 엔진을 포크(fork)하기로 미친 결정을 내렸기 때문에, 저는 이전에 작업한 것을 최적화하여 그 목표에 도달할 수 있는지 확인해 보기로 했습니다. 다시 말해, 콜드 캐싱(cold caching)에 전력을 다하기로 결정했습니다. 현재 저는 frontier orchestrator와 qMLX를 워커(worker)로 사용하여 이 구성을 테스트하고 있으며, 작동하는 방식에 매우 만족하고 있습니다.
제 상세 글: https://mrzk.io/posts/qmlx-optimising-multiplexing-and-dogfood/
레포지토리: https://github.com/marzukia/qMLX
요약하자면:
저는 핫 캐시 경로(hot cache path)를 완전히 제거하고, qMLX를 SSD에서 복원하는 추론 엔진으로 만들어 요청을 순차적으로 제한하도록 했습니다. 이제 qMLX는 병렬성 없이 동시성을 달성할 수 있게 되었으며, 마침내 로컬 모델로 서브 에이전트(sub-agents)를 구동할 수 있게 되었습니다.
/u/marzukia 작성
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기