로컬 LLM 벤치마크를 곧이곧대로 믿으면 안 되는 이유

커뮤니티에서 “이 모델 토큰 속도 85 t/s 나왔어요”라는 글을 보면 솔깃해진다. 그런데 막상 동일한 모델을 내 맥북이나 서버에 올려보면 절반도 안 나오는 경우가 허다하다. 측정 방법이 잘못된 것도, 내 하드웨어가 고장난 것도 아니다. 벤치마크를 기록한 사람과 나의 실행 조건이 전혀 다른 것이다. 로컬 LLM 생태계가 빠르게 성장하면서 llama.cpp, Ollama, LM Studio, vLLM 같은 런타임이 저마다 … 더 읽기

tokens/sec 숫자만 믿다가 낭패 보는 이유 — TTFT(첫 토큰 지연)가 체감 속도를 결정한다

로컬 LLM을 처음 세팅하고 나서 가장 먼저 확인하게 되는 숫자가 tokens/sec다. “이 모델은 43 t/s 나온다”는 말을 들으면 빠르다는 인상을 받는다. 그런데 막상 써보면 질문을 입력하고 나서 한참 동안 커서만 깜빡이다가 갑자기 텍스트가 쏟아진다. 분명 숫자는 좋은데 체감은 둔하다. 이 불일치의 원인이 바로 TTFT, 즉 Time To First Token이다. LLM 추론은 크게 두 단계로 나뉜다. … 더 읽기

“8B면 충분하다”는 말이 맞는 경우와 틀린 경우

로컬 LLM을 처음 써본 사람들이 가장 자주 하는 말 중 하나가 “생각보다 잘 되네”다. Llama 3.1 8B를 처음 돌려보고, 짧은 번역이나 요약이 그럭저럭 나오면 “이 정도면 충분하지 않나”라는 생각이 든다. 벤치마크 점수도 뒷받침해준다. Qwen2.5 7B는 특정 코딩 벤치마크에서 GPT-4o와 비슷한 수치를 보여줬고, Llama 3.1 8B는 같은 사이즈 이전 세대 모델들을 압도한다. 그러나 “충분하다”는 말은 항상 … 더 읽기

외장 SSD에 LLM 모델을 저장하면 속도는 얼마나 느려질까

로컬 LLM을 쓰다 보면 어느 순간 내장 드라이브가 빡빡해진다. 7B짜리 모델 하나가 4~5GB, 13B는 8~9GB, 70B 모델이면 압축해도 40GB 안팎이다. 모델 서너 개만 받아도 100GB가 훌쩍 넘어간다. 그래서 자연스럽게 드는 질문이 하나 있다. 외장 SSD에 모델을 옮기면 실제로 얼마나 느려질까? 결론부터 말하면, 스토리지 속도가 LLM 성능에 영향을 미치는 시점은 딱 하나다. 모델을 처음 메모리에 올릴 … 더 읽기

Ollama API 서버를 외부에 열기 전에 반드시 알아야 할 보안 문제

로컬에서 모델을 돌리다 보면 어느 순간 “다른 기기에서도 쓰고 싶다”는 생각이 든다. 스마트폰 앱과 연동하거나, 같은 네트워크의 팀원에게 공유하거나, 클라우드 인스턴스에 Ollama를 올려두고 어디서든 접근하고 싶어지는 것이다. 그때 자연스럽게 찾게 되는 설정이 OLLAMA_HOST=0.0.0.0이다. 바인딩 주소를 바꾸는 것만으로 Ollama가 모든 인터페이스에서 연결을 받아들이게 된다. 그런데 이 한 줄이 생각보다 훨씬 넓은 문을 열어젖힌다. Ollama의 기본 동작은 … 더 읽기

Claude Code에 로컬 LLM을 붙이면 API 비용이 얼마나 줄어드나

Claude Code를 쓰다 보면 어느 순간 청구서가 신경 쓰이기 시작한다. 단순히 파일 내용을 읽어오거나 grep 결과를 정리하는 작업에도 토큰이 꼬박꼬박 빠져나가는 구조이기 때문이다. 그래서 요즘 실무자들 사이에서 자주 나오는 질문이 있다. “서브에이전트 작업 일부를 로컬 LLM으로 돌리면 실제로 얼마나 아낄 수 있을까?” 설정은 생각보다 단순하다 Claude Code는 서브에이전트 호출 시 OpenAI 호환 API 엔드포인트를 지정할 … 더 읽기

Mac Mini와 MacBook을 썬더볼트로 연결해 LLM 분산 추론하기 — 가능한가, 의미 있는가

Mac Mini 두 대, 혹은 Mac Mini와 MacBook을 옆에 나란히 두고 썬더볼트 케이블 하나로 연결한 뒤 70B짜리 거대 모델을 돌릴 수 있다면 — 그리고 그게 실제로 빠르기까지 하다면 — 꽤 매력적인 이야기가 된다. 결론부터 말하면 “가능은 하다”. 그런데 “의미 있는가”는 조금 다른 질문이다. llama.cpp RPC 서버가 만든 가능성 llama.cpp는 꽤 오래전부터 –rpc 플래그를 통해 분산 … 더 읽기

컨텍스트 길이를 늘리면 메모리가 폭발하는 이유 — KV Cache의 구조와 비용

로컬에서 LLM을 직접 돌려본 사람이라면 한 번쯤 당혹스러운 경험을 했을 것이다. 모델 크기는 8B로 동일한데, 컨텍스트 길이를 4K에서 32K로 늘렸을 뿐인데 VRAM이 부족하다는 경고가 뜬다. 혹은 같은 모델인데 설정 하나 바꿨더니 갑자기 스왑 메모리를 15GB 이상 잡아먹기 시작한다. 도대체 컨텍스트 길이와 메모리 사이에 무슨 일이 벌어지고 있는 걸까. 이 현상을 이해하려면 트랜스포머(Transformer) 모델의 핵심인 어텐션(Attention) … 더 읽기

맥북에서 70B를 억지로 돌리는 것과 27B를 쾌적하게 돌리는 것 — 어느 쪽이 실제로 더 나은가

로컬 LLM을 처음 접하는 사람들이 가장 흔히 하는 실수 중 하나는 “더 큰 모델이 무조건 낫다”는 전제로 접근하는 것이다. 70B 파라미터 모델을 맥북에서 돌릴 수 있다는 사실 자체가 일종의 도전 과제처럼 느껴지기도 하고, 벤치마크 수치만 보면 70B가 27B보다 당연히 앞서 보인다. 그런데 실제로 써보면 이야기가 달라지는 경우가 적지 않다. “억지로 돌린다”는 표현이 다소 거칠게 들릴 … 더 읽기

같은 파라미터 수인데 MoE 모델이 더 빠른 이유

Mixtral 8x7B를 처음 접했을 때 많은 사람들이 혼란을 겪는다. “총 47B 파라미터짜리 모델인데 왜 13B 모델 속도로 돌아간다는 거지?” 숫자가 안 맞는 것 같지만, 이게 바로 Mixture of Experts(MoE, 혼합 전문가 방식) 아키텍처의 핵심이다. Dense 모델이 작동하는 방식 일반적인 트랜스포머 기반 언어 모델, 이른바 Dense 모델은 토큰 하나가 들어올 때마다 모든 레이어의 모든 파라미터가 관여한다. … 더 읽기