Bonsai 27B 3.9GB를 읽는 법: Ollama·Claude Code의 로컬 경계

2026. 7. 15. 09:31AI 뉴스룸

2026-07-15 · 로컬 AI

Bonsai 27B 3.9GB를 읽는 법: Ollama·Claude Code의 로컬 경계

같은 터미널에서 명령을 실행해도 추론은 외부 서버에서 일어날 수 있다. 반대로 모델 파일이 스마트폰에 들어간다고 해서 긴 문맥과 멀티모달 기능까지 같은 메모리에서 여유롭게 돌아가는 것도 아니다. ‘로컬’이라는 말 뒤에서 모델, 런타임, 화면, 운영비가 각각 어디에 놓이는지 구분해 봤다.

3.9GB는 모델 파일의 크기다

PrismML은 7월 14일 1-bit Bonsai 27B와 ternary 변형을 공개했다. 이 가운데 스마트폰 구동을 내세운 1-bit 모델의 배포 크기는 약 3.9GB다. 회사 설명과 모델 카드에 따르면 Qwen3.6-27B를 바탕으로 언어 모델 가중치를 1.125비트 수준으로 압축했고, iPhone에서는 MLX Swift 런타임을 사용한다. 라이선스는 Apache 2.0이다.

여기까지만 읽으면 “4GB만 비우면 27B 모델이 돈다”는 결론에 닿기 쉽다. 그러나 모델 카드가 공개한 같은 회사의 측정표에서는 1-bit GGUF가 4K 문맥에서 약 5.2GB, 10K에서 5.6GB의 피크 메모리를 쓴다. KV 캐시를 압축하지 않은 100K 문맥은 11.6GB까지 올라간다. 가중치 외에 KV 캐시, 활성값, 런타임 버퍼가 붙기 때문이다.

PrismML은 iPhone 17 Pro Max에서 약 11토큰/초를 기록했다고 밝힌다. 다만 이는 제작사가 제시한 수치이며 독립 재현 결과는 아니다. 공개된 아이폰 데모에도 이미지 문맥을 미리 채운 캐시 모드라는 설명이 붙어 있다. “폰에서 실행됐다”는 사실과 “일반 앱의 콜드 스타트부터 긴 작업까지 검증됐다”는 평가는 분리하는 편이 정확하다.

실행 경로도 중요하다. 1-bit GGUF 모델 카드의 빠른 시작 안내는 전용 저비트 커널이 들어간 PrismML의 llama.cpp 포크를 가리킨다. 모델 파일만 내려받는 일과 해당 압축 형식을 효율적으로 실행하는 일은 같은 단계가 아니다.

Ollama 창 안에서도 계산 장소는 달라진다

Ollama 저장소의 현재 소개문에는 Kimi-K2.6과 GLM-5.1이 나란히 적혀 있다. 오늘 초안은 이를 두고 여러 최신 모델을 로컬에서 바로 실행할 수 있다고 설명했지만, 공식 모델 라이브러리를 열어 보면 두 모델에 제공되는 태그는 각각 kimi-k2.6:cloudglm-5.1:cloud다.

Ollama 공식 문서도 cloud 모델은 큰 모델을 Ollama의 클라우드 서비스로 오프로딩한다고 설명한다. 로컬 도구와 같은 API를 쓰는 편의성은 유지되지만, 계산 위치와 데이터 경로까지 로컬이 되는 것은 아니다. 민감한 코드나 문서가 기기 밖으로 나가지 않아야 한다면 모델 이름 끝의 태그, 계정 로그인 필요 여부, 네트워크 연결을 함께 확인해야 한다. Ollama에는 클라우드 기능을 끄는 local-only 모드도 있다.

따라서 “Ollama에서 실행된다”는 말은 런처 호환성을 뜻할 수는 있어도, 곧바로 오프라인 실행을 보장하지 않는다. 로컬 모델과 cloud 모델을 같은 명령 체계에서 다루는 지금은 이 구분이 예전보다 더 중요해졌다.

Claude Code 문구를 바꿔도 모델은 바뀌지 않는다

Johanna Larsson은 Claude Code가 반복하는 표현을 엉뚱한 단어로 바꾸는 짧은 예제를 공개했다. 초안은 이를 내부 스크립트나 바이너리를 건드리는 우회책처럼 묘사했지만, 실제 예제는 Claude Code의 공식 MessageDisplay 훅을 사용한다.

이 훅은 답변이 화면에 그려질 때 텍스트를 치환한다. Anthropic 문서가 명시하듯 변경 범위는 표시 화면뿐이다. 대화 기록에는 원문이 남고, Claude도 치환된 문장을 보지 않는다. 반복 문구를 덜 거슬리게 만들거나 화면에 드러날 비밀 값을 가리는 용도에는 맞지만, 모델의 습관을 교정하거나 저장된 감사 기록을 정제하는 장치는 아니다.

이 사례가 로컬 AI와 맞닿는 지점은 개인화 자체보다 경계의 명확함이다. 모델의 응답, 저장되는 기록, 사용자가 보는 화면은 한 덩어리가 아니다. 원하는 변화가 어디에 적용돼야 하는지 먼저 정하면 프롬프트, 훅, 로그 후처리를 잘못 고르는 일을 줄일 수 있다.

클라우드 청구서가 사라져도 운영비는 남는다

로컬 실행은 호출당 API 비용을 줄일 수 있지만, 소프트웨어를 공짜로 유지해 주지는 않는다. 같은 날 국내 FOSS for All은 오픈소스 프로젝트와 기술 커뮤니티를 위한 Microgrants 2026 참여 방법을 안내했다. 5천원에서 10만원 사이의 일회성 기부를 모아 서버, 행사, 개발 환경 같은 비용을 대신 집행하는 시범 사업이다. 목표 모금액은 200만원이며 기부금 영수증은 발급되지 않는다고 공지했다.

이 프로그램 하나가 오픈소스 유지보수 문제를 해결한다는 뜻은 아니다. 다만 모델을 내려받아 내 장비에서 돌리는 순간 비용이 없어지는 것이 아니라, GPU·전력·통합 작업과 메인테이너의 시간 쪽으로 이동한다는 점은 잘 보여준다. ‘무료 모델’과 ‘지속 가능한 실행 환경’ 사이에는 늘 누군가의 운영비가 있다.

수혜 프로젝트 접수는 7~8월 중, 선정 결과는 9월, 집행은 10~12월로 안내돼 있다. 지원이나 기부를 고려한다면 실제 공지의 일정과 세액공제 불가 조건을 먼저 확인할 필요가 있다.

로컬 여부를 판단할 때 남길 질문

  • 가중치와 추론 계산은 각각 어느 장치에 있는가?
  • 광고된 용량은 파일 크기인가, 실제 피크 메모리인가?
  • 공개 성능은 어떤 런타임·기기·문맥 길이에서 측정됐는가?
  • 화면에 보이는 값, 저장되는 로그, 모델이 읽는 입력 중 무엇이 바뀌는가?
  • API 비용 대신 하드웨어·전력·유지보수 비용을 누가 부담하는가?

Bonsai 27B의 의미는 27B급 모델을 더 작은 장치로 옮긴 데 있다. 동시에 3.9GB라는 숫자만으로는 실제 사용성을 판단할 수 없다는 사실도 선명해졌다. Ollama의 cloud 태그와 Claude Code의 표시 전용 훅도 같은 교훈을 준다. 제품 이름보다 데이터와 계산이 넘어가는 경계를 먼저 확인해야 한다.

로컬 코딩 에이전트의 비용과 통제권을 더 넓게 비교하려면 이전 글 GLM-5.2와 OpenCode로 구축하는 탈클라우드 로컬 개발 환경의 명암도 이어서 볼 수 있다. 이번 글은 그 논의를 모델 파일, 런타임, 표시 계층으로 더 잘게 나눈 후속 점검에 가깝다.

출처·참고 자료

Bonsai 27B의 메모리·속도·벤치마크 수치는 PrismML이 공개한 자료에 근거하며, 별도의 독립 성능 시험으로 재현한 값은 아니다.