로컬 LLM의 시대가 도래했다
요약
로컬 LLM의 성능 향상과 최신 Qwen 모델 시리즈를 통한 로컬 실행 가능성을 분석합니다. API 제공업체의 무료 티어 축소와 속도 제한 속에서, 고성능 MoE 및 밀집 모델을 로컬 환경에서 활용하는 실용적인 방안을 제시합니다.
핵심 포인트
- Qwen3.6-27B 모델은 Claude 4.5 Opus에 필적하는 높은 정확도를 제공함
- MoE 구조의 Qwen3.6-35B-A3B는 에이전트 작업에 적합한 빠른 속도를 보임
- Qwen-Coder-Next-80B는 CPU 오프로딩을 통해 대규모 모델 실행 가능
- 로컬 LLM 환경이 API 서비스의 대안으로서 실용적인 수준에 도달함
반년 전, 나는 현재 로컬 LLM(Large Language Models)으로 무엇을 할 수 있는지 직접 확인하고 싶었다. 나는 이 문제에 깊이 파고들었고, 그 과정에서 꽤 많은 것을 배웠으며, 내 결과물을 기사로 공유했다.
결과는 상당히 낙담스러웠다. 32GB의 VRAM(Video RAM)을 가지고 있었음에도, 내가 실행할 수 있는 최고의 모델들은 너무 느리고 너무 멍청했다. 동시에, 추론 제공업체(inference providers)로부터 무료로 얻을 수 있는 것들은 실제로 괜찮았고 훨씬 더 빨랐다. 나의 결론이 기억난다: "매우 유망해 보이는 차세대 모델을 기다리자. 만약 우리가 Qwen3-Coder-480B 전체 크기와 맞먹는 무언가를 로컬에서 실행할 수 있다면, 그것은 리눅스 데스크톱의 해 완전히 유능한 로컬 LLM의 시대가 될 것이다.
그리고 이제 그날이 왔다.
모델들
반년 후, 나는 이 질문을 다시 검토하고 있다. 그리고 이번에는 상황이 완전히 뒤집혔다.
거의 모든 제공업체가 더 이상 무료 티어(free tier)를 제공하지 않으며, 여전히 무료인 것들은 가장 단순한 작업조차 간신히 수행할 수 있는 수준이다. 게다가 곳곳에서 속도 제한(rate-limited)이 걸려 있다. 그리고 로컬 측면에서는 차세대 Qwen 라인업이 출시되었다. 그래서 이것이 내가 살펴볼 대상이다.
다시 한번 말하지만, 나는 각각 16GB인 RX6800 두 개와 64GB의 RAM을 보유하고 있다. 한편으로는, 이는 통합 메모리(unified-memory) Mac이나 DGX Spark와 같이 AI를 위해 특별히 제작된 장치를 가지고 있지 않는 한, 일반적인 사람이 단일 GPU로 가질 수 있는 것보다 더 많은 VRAM이다. 다른 한편으로, RX6800은 "AI 이전" 세대이다. 더 최신 모델들은 텐서 프로세서(tensor processors) 덕분에 훨씬 더 나은 성능을 보여줄 것이다.
-
Qwen3.6-27B: 이것은 밀집 모델 (dense model)이므로, 기본적으로 32 GB VRAM 미만의 환경에서는 아예 실행할 수 없습니다. 가장 느리지만, 실행할 수만 있다면 가장 뛰어난 모델입니다. 그 정확도는 Claude 4.5 Opus와 대등하고,Qwen3.5-397B-A17B보다 더 낫다고 주장됩니다. 이것이 바로 제가 기다려온 것입니다. 제 설정에서도 상당히 빠르게 작동하므로, 성능과 정확도 측면 모두에서 매우 실용적입니다. -
Qwen3.6-35B-A3B: 이것은 MoE (Mixture of Experts) 모델이며 꽤 작기 때문에 가장 빠릅니다. 너무 많은 것을 요구하지 않는 작업(즉, 많은 추론이 필요하지 않은 에이전트적 작업 (agentic tasks))에 적합하며,GLM-4.7-Flash나Gemini-3.1-Flash-Lite(요즘 무료로 얻을 수 있는 거의 전부인 모델들)보다 더 낫다고 알려져 있습니다. 따라서 우리는 더 이상 그런 것들이 필요하지 않습니다. 그리고 매우 빠릅니다! -
Qwen-Coder-Next-80B: 크기는 크지만 MoE 모델이므로 일부 전문가 (experts)를 CPU로 오프로드 (offload)할 수 있습니다. 제 설정에서 성능은 3.6-dense와 3.6-MoE 사이 어딘가에 위치합니다. 그 정확도는 풀 사이즈인GLM-4.7,Kimi K2.5, 또는DeepSeek-V3.2에 근접한다고 주장됩니다. 이것은 코딩을 위해 특별히 미세 조정 (fine-tuned)된Qwen-Next를 기반으로 합니다.
새로운 모델들 외에도 상당히 많은 다른 개선 사항들이 있습니다. 지난번에는 REAP가 막 등장하던 단계였습니다. 이번에는 Qwen-Coder-Next-80B의 REAM 변형이 있는데, 이는 단순히 가중치를 가지치기 (pruning)하는 대신 병합 (merge)할 때 사용됩니다. 그리고 벤치마크에 따르면, 그 정확도는 풀 모델의 오차 범위 내에 있습니다!
다른 소식으로는, 더 이상 llama-swap이 필요하지 않습니다. 이제 llama.cpp에 실험적인 "라우터 모드 (router mode)"가 도입되어, 모델을 스스로 로드하고 언로드합니다. 설정 파일에서 모델별로 서로 다른 파라미터 (parameters)를 지정할 수 있습니다. 설정 파일 형식은 llama-swap이 가졌던 것보다 덜 견고하지만, 대신 이를 사용해야 할 매우 타당한 이유가 있습니다. 계속 읽어보세요.
그 외에는 무엇이 있나요?
실제 사용 환경에서는 모델을 자주 교체하고 싶을 것입니다. 충분히 성능이 좋은 SSD가 있다면, 새로운 모델을 로드하는 시간을 1분 미만으로 단축할 수 있으며, RAM이 충분하다면 더 작은 모델들은 64GB의 페이지 캐시 (page cache) 안에 깔끔하게 들어갑니다. 하지만 여기서 또 다른 문제가 발생합니다. 바로 컨텍스트 캐시 (context cache)입니다. 더 빠른 모델로 전환했다가 다시 더 똑똑한 모델로 돌아가면, 대화 전체를 다시 처리해야 합니다. 그리고 이 작업은 쉽게 몇 분이 걸릴 수 있습니다.
그 컨텍스트 캐시를 저장했다가, 다시 돌아온 후에 복구할 수 있는 방법이 있다면 정말 좋지 않을까요? llama.cpp에 이를 위한 옵션이 있다는 사실이 밝혀졌습니다. 라우터 모드 (router mode)에서 모델을 전환할 때 슬롯 (slots)을 디스크에 저장한 다음 복구하는 방식입니다! 하지만 이 옵션은 더 이상 작동하지 않습니다. 최신 모델들의 어텐션 메커니즘 (attention mechanisms) 때문에 체크포인트 (checkpoints)도 함께 필요하며, 슬롯만 복구하는 것으로는 충분하지 않기 때문입니다. 하지만 체크포인트까지 저장하기 위한 PR (Pull Request)이 존재합니다! 다만 아직 머지 (merged)되지는 않았습니다 (제가 마지막으로 확인했을 때 기준). 그래서 저는 이 기능과 아직 머지되지 않은 다른 몇몇 PR들을 포함한 저만의 llama.cpp 포크 (fork)를 만들었으니, 원하신다면 직접 시도해 보셔도 좋습니다!
Pi
이제 사용 가능한 로컬 모델들을 갖추었으니, 하네스 (harness)를 선택할 차례입니다. 선택지는 아주 많습니다! 코딩뿐만 아니라, 최근에는 곳곳에서 OpenClaw에 대한 이야기가 나오고 있으며, Hermes가 몇 가지 흥미로운 기능과 함께 더 나은 대안으로 떠오르고 있습니다.
저는 Hermes를 가지고 이것저것 만져보며 시간을 보냈고, 빠르게 두 가지 사실을 깨달았습니다. 첫째, 이것은 매우 '바이브 코딩 (vibe-coded)'된 느낌입니다. 심지어 몇몇 기본적인 기능조차 작동하지 않습니다. Github에 올라온 8,000개 이상의 오픈 이슈 (open issues)들은 이것이 조만간 해결될 가능성이 낮다는 것을 말해줍니다. 둘째... 가끔은 이 모델이 무엇을 하고 있는지 전혀 모르겠습니다. 추론 (reasoning)과 도구 호출 (tool calls)에서 최대 상세도 (maximum verbosity)를 켜보려고 시도했지만, 그것 또한 버그가 있어 작동하지 않는 기능 중 하나였습니다. 심지어 모델이 저에게 보여주지 않는 요청을 가로채기 위해 작은 프록시 (a tiny proxy)를 직접 개발하기도 했지만, 이는 정말 불안정한 (janky) 해결책입니다. 저는 말 그대로 제 LLM들이 작동하는 소리를 들을 수 있습니다 (듣자하니 AMD GPU는 코일 와인 (coil whine)으로 유명한데, 저는 이것을 훌륭한 피드백 기능이라고 생각합니다). 유용한 것을 생각하는 데 시간이 오래 걸린다면 방해하고 싶지 않지만, 지금 무엇을 생각하고 있는지조차 알 수가 없습니다.
그러던 중 Mario Zechner의 Pi에 관한 강연을 보게 되었습니다. 특히 그가 동일한 문제들로 짜증을 느끼다가 자신만의 미니멀한 하네스 (harness)를 만든 부분 말이죠. 그의 사고방식은 제가 찾고 있는 것과 매우 유사해 보입니다. 그래서 제가 다음에 할 일은 Pi를 마음껏 만져보는 것입니다. 그의 다른 강연들도 들어보았는데, 그중 하나에서 그는 현재 로컬 LLM의 상태에 매우 깊은 인상을 받았다고 말했습니다. 만약 오늘 모든 프런티어 모델 (frontier models)이 꺼진다면 — 제 생각에는 모든 가격 변동을 고려할 때 이미 그런 일이 일어나고 있다고 말할 수 있습니다만 — 그는 현재 우리가 가진 것만으로도 매우 만족할 것이라고 했습니다. 또한 AI 전반에 대한 많은 통찰력도 담겨 있습니다.
자, 바로 이 순간입니다. AI가 다른 사람의 기계에서 실행되는 소프트웨어에 의존하고 싶지 않은 하드코어 자유 소프트웨어 (libre software) 사람들이 사용할 수 있게 된 순간 말이죠. 이는 또한 우리가 변화하거나 사라질 두려움 없이, 무료로 실험할 수 있음을 의미합니다. 그러니 마음껏 실험해 봅시다! 그리고 이를 단순히 자유 소프트웨어의 '슬롭-포칼립스 (slop-pocalypse, 저질 콘텐츠 대재앙)'에 기여하는 용도가 아니라, 학습을 위해 사용해야 한다는 점을 기억합시다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기