핵심 요약
AI 요약
기사 목차 펼치기 / 접기
엔비디아(Nvidia) 지포스(GeForce) 그래픽카드의 AI 연산 ‘반속 잠금’이 풀렸다. 2배라는 숫자는 맞다. 다만 두 배가 된 것은 명령 하나의 발행 속도이고, 실제 작업은 0~60% 안팎 빨라졌다. 그 절반 속도는 엔비디아가 스펙표에 처음부터 적어 둔 값이었다.
깨진 것은 숨은 성능이 아니라 그 절반을 지키던 펌웨어 보안이다. 본지가 쓰는 RTX 4060 노트북에서도 같은 카드 안의 두 연산 경로가 1.58배 벌어졌다.
열흘 만에 퍼진 언락 도구… RTX 30에서 40·20 시리즈로 확산
개발자 Zagitta가 RTX 30 시리즈용 도구 gpu-unlock을 깃허브(GitHub)에 올린 것은 10월 18일이다. 이틀 뒤 윈도우에서 구동 가능한 윈도우 포트 도구가 나왔고, 23일에는 RTX 4090을 겨냥한 gpu-unlock-ada가 측정 결과와 함께 올라왔다. 24일 해커뉴스 소개 글은 11월 1일까지 351점, 댓글 83개를 모았다. 27일 공개된 2.0 버전은 RTX 20·30·40을 한 저장소로 통합했다. gpu-unlock의 깃허브 별(Star)은 1만3800개를 넘어섰다.
뿌리는 넉 달 전이다. 존 프라이(Jon Pry)는 6월 26일 논문 공유 사이트 제노도(Zenodo)에 채굴 전용 카드 CMP 170HX의 보안 프로세서를 뚫은 공식 논문을 올렸다. 이 카드 언락이 퍼진 8월 이베이에서 250달러(약 33만원) 안팎이던 중고가가 1000달러(약 133만원)를 넘었다고 톰스하드웨어 보도가 전했다.
같은 구멍이 지포스로 옮겨 온 것이 이번 사건이다.
RTX 4090에서 두 배로 뛴 연산… 명령 발행과 실제 작업의 격차
반속이 무엇인지부터 짚는다. GPU 안에서 행렬 곱셈만 전담하는 연산 장치가 텐서 코어(Tensor Core)다. AI 학습과 추론에서 텐서 코어는 16비트 숫자(FP16·BF16)를 곱한 뒤, 그 결과를 32비트 그릇에 쌓아 정밀도를 지킨다. 이 방식을 ‘FP32 누적’이라 부른다.
지포스는 이 FP32 누적 명령만 절반 속도로 돈다. 더한 값을 16비트 그릇에 쌓는 ‘FP16 누적’은 전속이다. 언락은 FP32 누적 쪽을 전속으로 되돌린다.
실제 RTX 4090 카드로 측정한 gpu-unlock-ada 벤치마크 결과, FP32 누적 명령 발행률은 165.6테라플롭스(TFLOPS)에서 331.6테라플롭스로 정확히 두 배로 뛰었다. 같은 저장소에 실린 제3자 소유자의 카드도 160.4에서 320.4로 1.998배로 뛰었다. 이 값은 연산 장치가 쉬지 않게 데이터를 붙잡아 두고 명령만 쏟아 넣는 시험에서 나온다.
실제 행렬 곱셈 라이브러리인 cuBLAS를 돌리면 수치는 줄어든다. 같은 소유자의 측정에서 cuBLAS 벤치마크 기준 FP16 행렬곱은 12~34%, BF16은 16~20% 빨라졌다. 4096 크기 BF16 행렬곱은 사실상 그대로였다. 재현 실측 보고서에서는 최대 전력이 313와트에서 346와트로 올랐다. 순정 상태에서는 행렬곱 시험만 소프트웨어 전력 상한에 걸렸는데, 언락 뒤에는 명령 발행 시험까지 상한에 닿았다.
계산대 직원의 손은 두 배 빨라졌는데, 손님이 줄을 서는 곳은 출입문이다.
| 카드·측정 | 언락 전 | 언락 후 | 변화 |
|---|---|---|---|
| RTX 4090 FP32 누적 명령 발행률(작성자) | 165.6 | 331.6 | 2배 |
| RTX 4090 cuBLAS FP16 행렬곱(제3자) | +12~34% | ||
| RTX 4090 cuBLAS BF16 행렬곱(제3자) | +16~20% | ||
| RTX 4060 cuBLAS FP16 행렬곱, n=8192 | 31.38 | 44.23 | +41% |
| RTX 4060 cuBLAS BF16 행렬곱, n=8192 | 31.59 | 45.37 | +44% |
| RTX 4060 llama.cpp Q8_0 프리필(tok/s) | 3276.87 | 3290.00 | 변화 없음 |
양자화 모델의 메모리 병목… 로컬 LLM 속도가 그대로인 이유
llama.cpp나 올라마(Ollama)로 오픈웨이트(open-weights) 모델을 돌린다면 언락으로 얻을 게 거의 없다. 이들 도구가 쓰는 GGUF 양자화(quantization) 모델은 메모리를 아끼려고 모델 숫자를 8비트·4비트로 줄인 것이고, 그 행렬곱은 정수(INT8) 경로를 탄다.
원래 다른 계산대로 가는 손님이라, 이 계산대가 빨라져도 줄은 그대로다.
RTX 4060 보고서에서 llama.cpp로 Qwen3.5-4B Q8_0 모델을 돌린 결과는 언락 전후가 거의 같았다. 입력을 한꺼번에 읽는 프리필(prefill)은 초당 3276.87토큰에서 3290.00토큰, 답을 한 토큰씩 써 내는 생성은 50.42토큰에서 50.48토큰이었다. 생성 단계는 계산보다 메모리에서 가중치를 퍼 오는 속도, 곧 메모리 대역폭에 묶인다. gpu-unlock-ada에서도 양자화 모델 서빙 시 8K 토큰 프리필이 0.983배에 그쳐 실질적 이득이 없었다.
이득을 보는 쪽은 FP16·BF16 행렬곱 비중이 높은 작업이다. Zagitta가 공개한 사용자 성능 집계표를 보면 FP16·BF16 모델이나 AWQ·GPTQ 양자화 모델의 프리필은 25~55%, 파인튜닝(fine-tuning) 25~50%, 이미지 생성은 30~55% 개선됐다. 같은 표에서 GGUF 모델을 돌리는 llama.cpp·올라마는 0~15%였고, 디코드와 INT8·FP8 모델은 변화가 없다고 밝혔다. 집계 방식은 공개하지 않았다. FP8은 평가가 엇갈린다. RTX 4060 보고서에서는 FP8 행렬곱도 50~58% 빨라졌지만, 다른 카드에서 동일 시험 시 유의미한 변화가 없었다고 보고서 스스로 밝혔다.
공식 백서에 적혀 있던 ‘반속’… 숨은 성능은 없었다
미국 IT 전문 매체 테크타임스 보도 등 일부 외신은 이번 사태를 ‘숨은 AI 속도 제한(hidden AI speed limit)’이라 불렀다. 하지만 반속은 엔비디아 공식 문서에 이미 적혀 있다.
RTX 40 시리즈 설계를 설명한 Ada 아키텍처 백서 부록 표에서 RTX 4090의 공식 제원은 FP16 누적 330.3테라플롭스, FP32 누적 165.2테라플롭스로 명시돼 있다. RTX 30 공식 백서 역시 RTX 3090을 142대 71로 규정했고, 동일한 GA102 칩을 채택한 전문가용 RTX A6000은 두 항목 모두 154.8테라플롭스로 기재했다.
| 제품 | FP16 누적 | FP32 누적 | 비율 |
|---|---|---|---|
| RTX 4090 | 330.3 | 165.2 | 0.50 |
| RTX 4080 16GB | 194.9 | 97.5 | 0.50 |
| RTX 3090 Ti | 160 | 80 | 0.50 |
| RTX 3090 | 142 | 71 | 0.50 |
| RTX 2080 Ti | 113.8 | 56.9 | 0.50 |
| RTX A6000(전문가용) | 154.8 | 154.8 | 1.00 |
| TITAN RTX | 130.5 | 130.5 | 1.00 |
정가표에 ‘이 물건은 반값 속도’라고 처음부터 명확히 적혀 있었다.
본지가 언락 측정값을 백서와 맞대 보니 4090의 언락 전 발행률 165.6은 백서 FP32 누적 수치의 100.2%, 언락 후 331.6은 FP16 누적 수치의 100.4%였다. 언락은 숨은 성능을 꺼내지 않았다. 같은 스펙표의 옆 칸으로 옮겨 갔을 뿐이다.
백서는 왜 지포스만 반속인지 설명하지 않는다. 개발자 Zagitta는 프로젝트 문서에서 이를 기업용 카드와의 시장 구분(market segmentation)으로 해석했지만, 엔비디아가 공식 확인한 내용은 아니다.
RTX 4060 노트북 실측… 같은 칩 안에서 확인된 1.58배 격차
본지는 언락 없이 반속이 실제로 걸려 있는지만 확인했다. 같은 카드에서 FP16 누적과 FP32 누적 행렬곱을 나란히 재면, 반속이 걸린 쪽이 일관되게 느려야 한다.
11월 1일 레노버(Lenovo) LOQ 15IRX9 노트북의 RTX 4060 노트북 GPU(8GB)로 쟀다. 전원 어댑터를 꽂고, 전원 모드는 ‘표준’에 뒀다. 윈도우 위 리눅스 환경인 WSL2에서 PyTorch 2.11과 CUDA 12.8을 썼고, 드라이버는 617.42다. 측정 코드는 위 RTX 4060 보고서가 쓴 벤치마크 스크립트와 로직이 같다. 정사각 행렬곱을 30회 호출해 3번 반복한 중앙값이다.
| 연산(n=8192) | 본지 노트북 4060 | 데스크톱 4060 보고서(언락 전) |
|---|---|---|
| FP16 입력·FP16 누적 | 44.43 | 49.47 |
| FP16 입력·FP32 누적 | 28.17 | 31.38 |
| BF16 입력·FP32 누적 | 28.51 | 31.59 |
| TF32 | 14.00 | 15.89 |
8192 크기에서 FP16 누적은 FP32 누적보다 1.58배 빨랐다. 데스크톱 4060 보고서의 언락 전 비율도 1.58배다. nvidia-smi가 60와트 상한을 표시한 노트북과 115와트 데스크톱이 같은 비율을 냈다. 4096 크기에서는 1.75배였지만, 실행마다 편차가 커서 8192 값을 기준으로 삼았다.
비율이 2배에 못 미치는 것은 행렬곱이 명령 발행 말고도 전력·메모리·커널 효율에 함께 묶이기 때문이다. 이 측정은 반속 설정값 자체를 읽은 것이 아니다.
성능 봉인이 아닌 서명 펌웨어의 결함… 스택 오버플로가 연 빗장
반속 설정은 GPU 내부 레지스터 한 칸에 저장돼 있다. Zagitta의 보안 분석 문서를 보면 이 레지스터는 드라이버가 임의로 쓸 수 없으며, 최고 권한으로 실행되는 엔비디아 서명 펌웨어만 값을 바꿀 수 있다. 드라이버 개조 방식으로 풀리지 않았던 이유다.
구멍은 GPU 안 보안 프로세서(SEC2)에서 도는 서명 펌웨어 ‘부터(Booter)’에 있었다. 입력을 받는 버퍼가 넘치는 스택 버퍼 오버플로(stack buffer overflow) 결함이다. Zagitta의 기술 분석 문서를 보면 언락 도구는 이 취약점을 이용해 펌웨어 내부의 기존 코드 조각을 이어 붙인 뒤, 메모리에 4바이트를 딱 한 번 쓴다. 그 4바이트로 쓰기 권한을 해제하고 반속 레지스터를 전속 값으로 바꾼다. 이어 카드를 리셋한 뒤 순정 드라이버를 정상 로드하는 구조다.
자물쇠는 멀쩡했다. 열쇠를 쥔 경비원이 실수로 문을 열어 줬다.
결함이 규명된 경위도 분석 문서에 드러나 있다. 엔비디아가 디버그용 부터를 공개 테스트 키로 암호화해 배포했고, 이를 복호화해 내부 코드를 분석할 수 있었다. 존 프라이의 논문 초록은 스택 보호 장치의 기준값(Canary)이 ‘쓰기 가능한 메모리(writable memory)’에 놓여 있어서 방어 대상인 오버플로로 기준값까지 함께 덮어쓸 수 있었다고 짚었다. 이 결함은 차세대 부터 코드에서 발생한 회귀 버그(regression)였다.
그래픽카드 펌웨어(VBIOS)를 새로 플래싱하는 방식은 아니다. 대신 gpu-unlock은 공식 드라이버 610.43.03에서 추출한 서명 부터를 먼저 메모리에 실행시킨다. PC 전원을 끄거나 절전 모드에 진입하면 설정이 초기화되며, 도구는 절전에서 깨어날 때 설정을 다시 적용한다.
존 프라이는 공식 논문에서 하드웨어 레벨에 영구 고정된 것으로 여겨졌던 제품 구분이 실상은 “펌웨어 레벨로만 막혀 있었다(only firmware-gated)”고 적었다. CMP 170HX를 두고 한 말이지만, 지포스 반속 사태에도 그대로 들어맞는다.
하드웨어 손상 위험과 라이선스 위반… 언락의 숨은 대가
두 배라는 숫자만 보고 언락을 결정할 일은 아니다.
카드마다 결과는 천차만별이다. 개발자 Zagitta는 공식 안내문에서 RTX 30만 ‘안정’으로, RTX 40과 20은 ‘실험적’ 단계로 분류했다. 노트북 실측 보고를 보면, 노트북용 RTX 4090은 언락 적용에 성공했음에도 실질적인 연산 처리량이 전혀 개선되지 않았다.
하드웨어 위험을 두고는 해석이 갈린다. Zagitta는 FAQ 문서에서 GPU 손상 가능성에 대해 “가능성은 매우 낮다(It’s very unlikely)”고 답했다. 순정 스로틀과 전력 관리 체계가 그대로 작동한다는 이유다. 반면 튜링 세대 포트인 turing-unlock 저장소는 급격한 전력 소모 증가로 하드웨어가 영구 손상될 위험이 있다고 경고한다.
약관의 한계도 명확하다. 드라이버 라이선스 계약 제2.8조는 지포스용 소프트웨어의 데이터센터 배치를 명시적으로 금지한다. 바로 앞 제2.6조 역시 소프트웨어의 기술적 제한을 우회하거나 무력화하는 행위를 금지하고 있다. 언락이 제2.6조 위반인지 엔비디아가 공식 확인한 적은 없지만, 언락한 지포스를 서버실에 투입한다고 제2.8조의 법적 제약이 사라지는 것은 아니다.
‘언락 때문에 중고 3090 값이 폭등했다’는 소문도 실측 숫자와는 어긋난다. 글로벌 시세 추적 플랫폼 시세 집계 데이터에서 중고 RTX 3090의 최근 90일 판매 중앙값은 1449달러(약 193만원)이며, 최고 거래가는 언락 도구가 나오기 전인 9월의 1612달러(약 215만원)였다. 10월 30일 기준 7일 중앙값은 30일 전보다 2% 높은 수준에 불과하다. 1000달러에서 2000달러 이상으로 시세가 뛰었다는 Wccftech 보도와는 정면으로 배치되는 실측 데이터다.
RTX 50 지원 불가… 새 세대 보안 구조와 엔비디아의 침묵
블랙웰(Blackwell) 기반 RTX 50 시리즈는 gpu-unlock에 없다. 개발자 Zagitta는 해커뉴스 소개 글에서 호퍼(Hopper)와 블랙웰은 보안 계층이 대폭 강화된 완전히 다른 부팅 구조를 채택했으므로 우회를 기대하기 어렵다고 못 박았다. 이번 언락은 지난 세대 펌웨어에 남겨진 우발적 결함 하나에 의존하고 있는 셈이다.
엔비디아는 이번 지포스 언락 사태에 대해 해외 테크 보도 시점인 10월 30일까지도 어떠한 공식 입장도 내놓지 않았다.
본지가 11월 1일 엔비디아 공식 뉴스룸과 제품 보안 권고 저장소를 전수 확인한 범위에서도, 관련 입장 발표나 부터 결함을 다룬 보안 공지는 없었다.
결국 뚫린 것은 성능 봉인이 아니라 서명 펌웨어의 보안 빗장이었다.