홈 › 칼럼 › 대개는 카드가 이긴다, 그런데 뒤집히는 자리가 있다
대개는 카드가 이긴다, 그런데 뒤집히는 자리가 있다
매장에서 가장 많이 듣는 질문은 로컬에서 인공지능을 돌리려면 어떤 그래픽카드를 사야 하는가다. 그동안 우리는 이 질문에 카드 이름으로만 답해 왔다. 어떤 기종은 빠르고 어떤 기종은 느리다고. 틀린 답은 아니다. 다만 답의 절반이었다.
같은 카드에 같은 모델을 올려도, 그 모델을 어떤 형식으로 싣느냐에 따라 속도가 몇 배로 갈리는 자리가 있다. 카드도 안 바꾸고 모델도 안 바꿨는데 값이 달라진다. 그 폭이 카드를 한 등급 올리는 것보다 큰 경우도 있다.
먼저 답부터 적는다. 대개는 카드가 이긴다. 카드를 바꿀 때 갈리는 폭이 훨씬 크고, 그래서 카드부터 고르는 순서 자체는 맞다. 그런데 그 답이 드물게 뒤집히고, 뒤집힐 때의 폭은 무시할 수 없다. 이 글은 그 자리가 어디인지, 왜 거기서 뒤집히는지를 짚는다.
우리는 조립 PC를 파는 매장이다. 손님에게 가장 비싼 카드나 가장 이름난 카드를 권하는 것이 일이 아니다. 그 카드가 그 손님이 쓰려는 모델에서 실제로 어떻게 도는지를 봐야 한다. 같은 24기가바이트라도 어떤 모델에서는 넉넉하고 어떤 모델에서는 모자란다. 근거는 로컬 언어모델 실측 272건이다.
같은 카드에 같은 모델인데 네 배가 갈린 자리
Qwen3.6-35B-A3B 모델을 RTX 3090에 올렸을 때, 양자화 방식에 따라 속도가 4.1배나 벌어졌다. Q4_K_XL에서는 초당 136토큰을 뽑아냈지만, Q4_K_M으로 바꾸자 33토큰으로 떨어졌다. 같은 하드웨어, 같은 모델인데도 결과값이 이렇게 크게 갈리는 자리가 있다.
보통은 카드가 더 크게 영향을 미친다. 카드를 바꿨을 때 속도가 얼마나 달라지는지 40쌍의 데이터를 보면 중앙값이 2.24배다. 반면 양자화만 바꿨을 때는 41쌍 가운데 중앙값이 1.16배에 불과하다. 대개는 그래픽카드 등급이 속도를 좌우한다.
하지만 드물게 뒤집히는 자리가 있다. 카드를 바꿔도 1.00배밖에 안 갈리는 자리가 있는 반면, 양자화만 바꿔 4.1배가 벌어지는 자리가 있다. 두 배 넘게 벌어지는 짝은 41쌍 중 7개에 불과하지만, 그 폭이 카드 한 등급 차이를 넘어서는 경우가 있다. 같은 폭이라도 원인이 다르다.
내가 지금 쓰는 조합도 그런 자리에 걸려 있을까.
양자화는 무게를 줄이는 것이지 성능을 깎는 것이 아니다
모델 가중치를 몇 비트로 담느냐는 단순히 파일 크기를 줄이는 일이 아니다. 이 숫자는 두 가지 물리적 제약을 동시에 바꾼다. 하나는 용량이고 다른 하나는 연산 방식이다.
가중치 비트 수가 낮아지면 모델이 차지하는 공간이 줄어든다. 이 공간이 그래픽카드의 VRAM 안에 들어가는지가 첫 번째 갈림길이다. VRAM에 들어가지 못하면 모델은 시스템 램으로 흘러간다. 시스템 램은 그래픽카드 메모리보다 접근 속도가 느리다. 데이터가 오가는 길이와 속도가 달라지므로 같은 모델이라도 실행 속도가 몇 배로 벌어진다. VRAM에 들어가는지 여부는 비트 수에 따라 달라진다.
두 번째는 연산 자체다. 그래픽카드는 특정 비트폭의 연산을 전용 회로로 처리하도록 설계되어 있다. 모델의 비트 수가 그 카드가 기계적으로 지원하는 폭과 맞아야 한다. 같은 4비트 모델이라도 카드가 4비트 연산을 직접 처리하는지와 그렇지 않은지는 속도가 다르다. 카드가 곧바로 다루지 못하는 비트폭이면, 계산 전에 그 값을 원래 폭으로 되돌리는 일이 한 번 더 붙는다. 이 과정에서 병목이 생긴다.
그래서 「4비트면 다 같다」는 말이 성립하지 않는다. 같은 4비트라도 가중치를 담는 방식이 다르면 결과가 다르다. VRAM 에 들어가는지와 카드가 그 비트폭을 곧바로 다루는지는 서로 다른 조건이고, 둘 다 맞아야 빨라진다.
VRAM 용량이 충분하면 비트 수를 낮추는 것은 성능을 깎는 것이 아니라 무게를 줄이는 것이다. 카드가 그 비트폭을 직접 계산할 수 있게 되면 연산 효율이 올라간다. 이때는 낮은 비트 수가 오히려 유리하다.
반대로 VRAM이 부족하거나 카드가 그 비트폭을 지원하지 않으면 이야기가 달라진다. 모델이 시스템 램으로 밀려나거나 카드가 비효율적인 방식으로 연산을 처리하게 된다. 이때는 비트 수가 낮아도 속도가 느려진다.
결국 비트 수 하나가 모델의 크기와 계산 방식을 함께 정한다. 그래서 같은 카드에서도 값이 갈린다.
마흔한 짝을 모아 보면 대개는 조용하다
마흔한 짝을 모두 놓고 보면, 대다수는 조용하다. 양자화 방식만 바꿨을 뿐 모델과 하드웨어는 그대로인데도 토큰 속도가 두 배 이상 벌어지는 경우는 일곱 짝뿐이다. 나머지 삼십네 짝은 속도가 거의 같거나, 아주 미세하게만 차이가 난다. 전체의 중앙값이 1.16배라는 숫자가 이 사실을 보여 준다. 대부분의 경우, 양자화 이름을 바꾸는 것은 속도에 큰 영향을 주지 않는다.
그런데 꼬리는 중요하다. 일곱 짝은 예외가 아니라, 특정 조건에서 발생하는 현상이다. 이 일곱 짝이 왜 중요한가. 매장에서 카드를 고르거나 모델을 선택할 때, 대다수가 조용하다는 사실에 안심하고 나머지 일곱 짝을 무시하면 안 되기 때문이다. 특정 조합에서는 속도가 4배 이상 벌어진다. 이 차이는 체감할 수 있는 수준이다.
가장 큰 차이를 보인 짝을 보면, Qwen3.6-35B-A3B 모델을 RTX 3090에 올렸을 때 Q4_K_XL은 초당 136토큰을 뽑아 냈지만 Q4_K_M은 33토큰에 그쳤다. 4.1배의 차이이다. 같은 모델, 같은 카드인데도 양자화 방식에 따라 속도가 이렇게 갈린다. Apple Mac Studio M3 Ultra에서 Qwen3-32B를 돌렸을 때에도 비슷한 패턴이 보인다. MLX 4bit는 초당 34토큰, MLX BF16은 11토큰이었다. 3.1배의 차이. RTX 5090에서 gpt-oss-120B를 돌린 경우에도 MXFP4(GGUF)는 30토큰, MXFP4는 10토큰으로 3.1배 차이가 났다.
이 세 짝을 놓고 보면, 같은 계열 안에서 무엇이 이겼는지가 보인다. Qwen3.6-35B-A3B에서는 Q4_K_XL이 Q4_K_M을 이겼다. Apple Mac Studio에서는 MLX 4bit가 MLX BF16을 이겼다. RTX 5090에서는 MXFP4(GGUF)가 MXFP4를 이겼다. 공통점은 없다. 어떤 양자화가 빠른지는 모델과 하드웨어, 그리고 그 둘이 어떻게 만나는지에 따라 달라진다.
표에 나온 양자화 이름은 59가지이다. 그중 가장 자주 나온 것은 Q4_K_M으로 81건이다. 가장 흔한 양자화지만, 그것이 항상 빠른 것은 아니다. Q4_K_M은 Q4_K_XL에 4.1배로 졌다. 가장 흔하다는 것은 가장 안전하다는 뜻이 아니다.
대개는 카드가 이긴다. 그런데 뒤집히는 자리가 있다. 그 자리는 대개 조용한 대다수 안에 숨어 있다.
이 값을 그대로 믿으면 안 되는 자리
엔진 이름이 적힌 것 48가지라는 숫자가 의미하는 바를 먼저 짚어야 한다. 한곳에서 잰 값이 아니다. 같은 게임, 같은 설정, 같은 그래픽카드를 놓고도 엔진이 다르면 값이 갈린다. 사람도 다르다. 같은 엔진이라도 누가 돌리느냐에 따라 프레임이 달라진다. 그래서 이 표를 순위표로 읽으면 안 된다. 1등이 2등을 이긴 것이 아니라, 그 자리에 있던 엔진과 사람이 만든 값이다.
같은 카드, 같은 모델이라도 엔진이 다르면 값이 갈린다. 그래서 폭을 보는 자료다. 한 지점의 값이 아니라, 그 카드가 만들어내는 값의 범위를 보는 것이다. 폭이 넓으면 그 카드가 어떤 환경에서도 일정한 성능을 내는 것이 아니라, 조건에 따라 크게 흔들린다는 뜻이다. 폭이 좁으면 어떤 환경에서도 비슷한 값을 낸다는 뜻이다. 이 둘은 완전히 다른 카드다.
견줄 수 있는 짝은 41개뿐이다. 모델과 카드 조합 186개 가운데 41개만 짝이 있다. 나머지 145개는 짝이 없다. 짝이 없다는 것은 모른다는 뜻이다. 그 조합에서 어떤 값이 나오는지, 어떤 폭을 보이는지, 어떤 엔진에서 어떻게 갈리는지 모른다. 모른다는 것은 추측할 수 없다는 뜻이다.
그래서 이 글의 4배도 어디서나 그렇다는 것이 아니라, 그런 자리가 있었다는 뜻으로 읽어야 한다. 그 자리에 있던 엔진, 그 자리에 있던 사람, 그 자리에 있던 카드가 만들어낸 값이다. 다른 자리에 가면 4배가 아닐 수 있다. 2배일 수도 있고, 1.5배일 수도 있다. 모른다.
실측이 한곳에서 나온 것이 아니라 여러 엔진, 여러 사람 값이 섞여 있다. 같은 카드라도 엔진이 다르면 값이 갈리므로, 이 표는 순위표가 아니라 폭을 보는 자료다. 그리고 짝이 있는 조합만 견줄 수 있다는 것, 우리가 모르는 조합이 훨씬 많다는 것을 적는다.
그래서 무엇부터 정할 것인가
VRAM 용량부터 확인한다. 모델 크기가 카드에 들어가지 않으면 나머지는 무의미하다. 들어간다면 같은 조합의 다른 양자화 버전을 직접 돌려 비교한다. 표에 없는 조합이 훨씬 많기 때문이다. 카드 등급은 그 뒤에 본다. 대개는 그게 가장 큰 변수지만, 순서로는 마지막이다.
VRAM이 부족하면 어떤 카드를 쓰든 결과가 같지 않다. 모델이 메모리에 올라가지 못하면 연산 속도와 무관하게 멈춘다. 그래서 용량 확인이 첫 단계다. 들어간다는 전제 아래에서야 다른 변수가 의미를 가진다.
같은 모델이라도 양자화 방식에 따라 체감 속도가 달라진다. 숫자만 보고 고르면 안 된다. 실제로 돌려봐야 한다. 우리 표에 없는 조합이 훨씬 많기 때문이다. 직접 재보지 않으면 알 수 없다.
카드 등급은 이 모든 것 뒤에 본다. 대개는 카드가 가장 큰 차이를 만든다. 하지만 VRAM이 부족하거나 양자화 버전에 따라서는 카드 등급보다 작은 차이가 더 크게 느껴진다. 순서대로 확인해야 한다.
VRAM 확인, 직접 실행, 카드 등급. 이 순서를 거스르면 안 된다.