버려진 서버에서 초당 1,000 토큰: AMD MI100 넉 장 부활기
데이터센터에서 퇴역하고 고철 취급받던 중고 가속기 4장을 주워다가 초당 1,000토큰을 뽑아낸 괴물이 등장했다… (15 tok/s 나오던 걸 66배 뻥튀기해 버린 광기다)
r/LocalLLM을 보다가 눈을 비비고 다시 확인한 숫자가 있다. AMD Instinct MI100 4장이 꽂힌 서버에서 27B 모델 디코딩 속도가 초당 1,000토큰(1,000+ tok/s)을 돌파했다는 소식이다.
원래 MI100이 그렇게 미친 카드였냐고? (전혀 아니다.) 순정 vLLM을 그대로 올리면 기껏해야 15 tok/s 언저리에서 허덕이던 구형 카드다. 그런데 하드웨어 부품은 나사 하나 안 바꾸고, 오직 소프트웨어 최적화만으로 무려 66배의 성능 폭발을 일으킨 거다.
글쓴이는 데이터센터에서 물러나 이베이에 헐값으로 흘러나온 완제품 서버를 약 6,000달러(약 800만 원)에 업어왔다. 카드 한 장당 32GB HBM2 메모리가 박혀 있으니 4장이면 총 128GB VRAM이다. 최신 엔비디아 카드 가격 생각하면 침이 꼴깍 넘어가는 가성비지만, 문제는 소프트웨어였다. AMD 구형 카드는 ROCm 지원이 눈물겹게 부실해서, 그냥 켜면 성능이 아니라 깊은 빡침과 좌절만 쏟아져 나온다(경험담이다…).
결국 이 유저는 남들이 엔비디아 살 때 혼자 vLLM 소스코드를 포크해서 직접 밑바닥부터 파고들기 시작했다.
무엇을 그렇게 많이 바꿨나
15 tok/s를 1,000 tok/s로 뒤집어엎은 비결은 세 가지다.
- 아키텍처 맞춤형 커널 제작: MI100의 하드웨어 특성에 딱 맞춘 전용 추론 커널을 직접 짰다.
- PTQR int8 양자화: 그룹 크기 128로 int8 체크포인트를 뽑고, 플랫폼 오차에 맞춰 반올림 파인튜닝까지 거쳤다.
- 오픈소스 상류 버그 30개 박멸: Qwen 27B를 vLLM에 올리면 롱 컨텍스트에서 외계어가 튀어나오곤 했는데, 모델 문제가 아니라 vLLM과 AITER, ROCm 라이브러리 곳곳에 숨어 있던 메모리 누수와 수치 버그 30개가 범인이었다. 이걸 글쓴이가 혼자서 다 때려잡았다.
검증 과정도 살벌하다. 몇 달 동안 256k 컨텍스트에 비동기 동시 요청을 쏟아붓고, 모델 레이어 블록마다 KLD(쿨백-라이블러 발산)를 측정하며 품질 손실이 없는지 집요하게 검증했다.
그렇게 완성된 서버는 지금 모든 스트림에 256k 풀 컨텍스트를 물린 채 저전력 C6 프로파일로 24시간 상시 가동 중이다. 벽면 전력계에 찍히는 소비 전력은 540W. 방 안에서 감당 가능한 데스크톱 PC 소음 수준으로 유지된다는 게 소름이다.
게다가 4장의 카드가 PCIe 슬롯이 아니라 Infinity Fabric(XGMI 브릿지)으로 서로 직결되어 있어서, 토큰 생성 시 병목 없이 데이터를 주고받는다. 하드웨어의 숨겨진 잠재력을 극한까지 꿰뚫어 본 안목이다.
돈으로 환산하면
숫자를 요약하면 이렇다:
- 디코딩 1,000+ tok/s, 프리필 5,000+ tok/s (동시 8개 요청 기준)
- 서버 구입비 약 6,000달러, 소비전력 540W
- 대체하는 유료 API 가치: 하루 약 80달러 (월 300만 원 상당)
이 서버는 관상용 벤치마크 머신이 아니다. Hermes 자율 에이전트와 비즈니스 자동화 워커들이 24시간 달라붙어 일하고 있고, 코딩 에이전트의 로컬 백엔드로도 맹활약 중이다.
상용 클라우드 API를 이 속도와 볼륨으로 쓰려면 하루에 80달러씩 갈려 나갔을 텐데, 중고 서버 한 대로 그 비용을 완전히 0원으로 지워버렸다.
심지어 재현 사례까지 나왔다. MI210 2장을 쓰는 다른 유저가 이 포크를 가져다가 돌렸더니 역시나 1,000 tok/s를 가볍게 찍었다고 보고했다. 코드는 깃허브(curvedinf/int8-vllm)에 시원하게 공개되어 있다.
왜 이 이야기가 남는가
초당 1,000토큰이라는 결과보다, 그 숫자를 뽑아내기 위해 거친 서른 개의 버그 패치와 수개월간의 집착이 이 글의 진짜 감동 포인트다.
로컬 AI의 경제성은 흔히 그래픽카드 가격표가 결정한다고들 말한다. 하지만 이 사례는 엔지니어의 소프트웨어 엔지니어링 내공이 하드웨어 비용을 몇 배나 뛰어넘을 수 있다는 걸 증명했다(이게 진짜 엔지니어링이지).
물론 현실적인 선도 그어야 한다. 커널 코드를 직접 뜯어고칠 실력이 없는 일반 유저에게 중고 AMD 카드는 여전히 예쁜 쓰레기일 뿐이다. 돈 주고 최신 엔비디아 카드를 사서 편하게 돌릴 것인가, 아니면 헐값 하드웨어를 내 노동력으로 되살려낼 것인가.
어느 쪽이 더 싼지는 계산기가 아니라 내 엔지니어링 짬바가 결정한다.
그럼에도 불구하고 이 글쓴이의 마지막 한 줄이 가슴을 울린다. “삽질할 건 산더미였지만 LLM의 밑바닥을 이만큼 깊게 파보는 게 너무 즐거웠고, 다시 하래도 똑같이 할 거다.” 66배의 기적은 바로 그 지독한 재미에서 탄생했다.
정리
데이터센터에서 퇴역한 MI100 4장이 진짜 장인을 만나 초당 1,000토큰을 뿜어내는 괴물 서버로 환골탈태했다.
최신 하드웨어가 쏟아져 나오면 옛날 장비는 금방 구식이 된다고들 하지만, 소프트웨어를 다룰 줄 아는 사람의 손에 들어가면 시세표를 비웃는 압도적 가성비가 탄생한다. 오늘도 방구석에서 팬 소리 들으며 오픈소스 코드를 뜯어보는 전 세계 긱들에게 경의를 표하고 싶다.