Tech

H100 8장을 2장으로: LLM 경량화가 만든 GPU 비용 절감

|

August 26, 2026

|

5

H100 8장을 2장으로: LLM 경량화가 만든 GPU 비용 절감
TL;DR
모델을 압축하면 필요한 GPU 장수가 줄어듭니다. 문제는 어디까지 줄여도 성능이 남느냐입니다. Solar Open2와 Kimi K3를 압축하며 그 답을 찾은 과정을 적었습니다.

AI 전용 칩 TPU부터 제미나이까지 개발에 깊이 관여하며 '구글의 전설'로 불려온 제프 딘은 지난 8월 27년간의 구글 생활을 마무리했습니다. 그리고 퇴임 후 첫 강연 무대로 한국을 택했습니다. 이 자리에서 딘은 향후 AI 발전의 핵심이 하드웨어와 컴퓨팅 자원을 얼마나 확보하고 효율적으로 사용하는가에 달렸다고 말했습니다.

즉, 경쟁의 축이 모델의 크기에서 연산 효율로 옮겨가고 있다는 뜻입니다.

실제로 학습과 추론에 쓰이는 GPU는 AI 인프라에서 가장 비싼 자원이 됐습니다. 가장 널리 쓰이는 H100은 장당 3,000만 원 이상을 호가하고, 그마저도 수량을 확보하기 어렵습니다. 이런 상황에서 H100 8장이 필요했던 AI 모델을 압축해 단 2장에서, 그것도 정확도를 지키면서 돌릴 수 있다면?

이 질문에 노타는 프론티어급 모델 두 개로 답을 냈습니다. 업스테이지의 Solar Open2 250B는 H100 8장에서 2장으로 내렸습니다. 파라미터 2.8T 규모인 Moonshot AI의 Kimi K3 역시 권장 구성인 B300 8장 대신 4장에서 돌아갑니다.


LLM 서빙에 필요한 GPU 장수, 메모리가 결정합니다

압축이 어떻게 장수를 줄이는지 알려면 GPU 메모리가 어디에 쓰이는지부터 봐야 합니다. 모델 가중치(weight)는 크기가 정해져 있어 늘 같은 자리를 차지하고, KV 캐시는 컨텍스트 길이와 동시 접속자 수에 따라 늘고 줍니다. 활성값은 연산 중간에만 쓰이고 계산이 끝나면 반환됩니다.

GPU 메모리 사용처를 모델 가중치, KV 캐시, 활성값 세 영역으로 나눈 다이어그램. 모델 가중치는 크기가 고정돼 서빙 내내 자리를 차지하고, KV 캐시는 컨텍스트 길이와 동시 접속자 수에 비례해 늘어나며, 활성값은 연산 중에만 생겼다가 반환된다.
그림 1: 가중치, KV 캐시, 활성값 세 영역으로 나뉘는 GPU 메모리 사용 구조

결국 메모리에 남는 것은 가중치와 KV 캐시인데, 이 중에서도 가중치가 가장 큰 몫을 차지하고 유일한 고정값이라 GPU 장수를 정하는 출발점이 됩니다. 가중치를 덜어낸다면 그만큼 전체 필요 용량이 작아지고, 도입해야 할 장수도 함께 줄어듭니다. 모델 경량화가 비용 문제와 직결되는 지점이 여기입니다.


사례 1. Solar Open2 250B: 양자화와 가지치기로 H100 8장에서 2장으로

Solar Open2 250B는 업스테이지가 독자 AI 파운데이션 모델(독파모) 프로젝트 2차 성과물로 공개한 모델로, BF16 기준 가중치가 500.6GB입니다. 여기에 256K 컨텍스트를 batch 1로 처리할 KV 캐시 20GB를 더하면 520.6GB입니다. H100 8장이 필요한 양입니다.

이 숫자를 줄이는 작업은 두 단계로 진행됐습니다.


1단계. MoE 양자화로 8장에서 4장으로

먼저 정밀도를 낮췄습니다. BF16으로 16비트씩 저장하던 가중치를 4비트로 바꾸는 작업, 즉 양자화입니다.

양자화에는 기준이 필요합니다. 16비트 값을 4비트의 좁은 눈금으로 옮기려면 모델의 각 부분이 실제로 어떤 범위의 값을 쓰는지 알아야 합니다. 그래서 대표 입력 데이터를 모델에 흘려보내며 통계를 수집하는데, 이 입력을 캘리브레이션(calibration) 데이터라고 합니다.

그러나 전문가 혼합 구조(MoE) 모델은 입력마다 일부 전문가(expert)만 골라 쓰는 구조라, 전문가마다 활성화되는 빈도가 크게 다릅니다. 드물게 호출되는 전문가는 통계가 부족해 눈금이 부정확해지고, 양자화 품질은 거기서부터 무너집니다. 여기에 노타가 개발한 두 가지 기술을 적용했습니다.

  • 데이터 기반 MoE 양자화 (PASCAL-MoE)
    캘리브레이션 데이터를 모델에 맞춰 합성하는 기술로, 자주 쓰이는 전문가용 토큰과 희소 전문가용 토큰을 규칙 기반으로 만들어 모든 전문가가 고르게 활성화되도록 유도합니다. 쏠림이 줄어들면 전문가별 통계치가 안정되고 양자화 품질도 함께 올라갑니다. 이 기술은 엔비디아 Nemotron 해커톤에서 출발했습니다. 노타는 이 과제로 20팀 중 종합 1위와 합성 데이터 생성(SDG) 파이프라인을 다룬 Track C 부문 1위를 동시에 받았습니다.
  • 라우터 인지형 MoE 양자화
    양자화의 부작용은 라우팅에서 먼저 드러납니다. 어떤 전문가를 고를지 정하는 라우터의 판단이 바뀌면 모델이 다르게 동작합니다. BF16 브랜치를 동결한 상태에서 상위 전문가들 사이의 로짓 간격을 맞추도록 양자화 파라미터만 학습시켰습니다. 기존 방식이 0.80 안팎까지 떨어지는 후반 블록에서 라우팅 일치도 0.85를 지켰습니다. 이 계열의 노타 알고리즘 DREAM-MoE와 SRA-MoE는 ICML 2026에 게재됐습니다.

양자화를 마친 가중치는 142.9GB입니다. 원본에서 71%가 줄었습니다. KV 캐시 20GB를 더해도 162.9GB, H100 4장에 들어옵니다. 서빙 구성은 8장에서 4장이 됩니다. 여기까지만으로도 좋은 성과이고, 보통은 여기서 멈추지만 노타는 한 단계 더 갔습니다.


2단계. 전문가 가지치기로 4장에서 2장으로

정밀도로 줄일 수 있는 몫은 여기까지입니다. 더 내려가려면 구조를 건드려야 합니다. 이번에는 전문가 자체를 덜어냈습니다.

일반적으로 전문가 가지치기(pruning)는 모든 레이어에서 같은 비율로 잘라내지만 이번에는 레이어마다 남기는 전문가 수를 다르게 가져갔습니다. 표준 체크포인트 형식을 벗어나기 때문에 추론 엔진을 직접 수정해야 하는 방법입니다. 대신 개별 레이어만 보지 않고 전체 블록의 기여도를 함께 계산해 덜 쓰이는 전문가부터 덜어낼 수 있습니다. 비균일 전역 프루닝입니다.

레이어별 전문가 프루닝 결과를 표현한 다이어그램. 4개 레이어가 전문가 6개 중 각각 3개, 5개, 4개, 2개를 남겨 레이어마다 유지되는 전문가 수가 다르다.
그림 2: 레이어마다 남기는 전문가 수가 달라지는 비균일 전역 프루닝

이를 통해 가중치는 117.8GB까지 내려갔습니다. 원본에서 76.5%를 덜어낸 값입니다. KV 캐시 20GB를 더해도 137.8GB, 2장의 한계인 160GB 안에 들어옵니다. 이제 H100 2장에서 돌아갑니다.


8장에서 2장으로, 정확도는?

이제 장수는 2장까지 줄었습니다. 그러나 그 과정에서 정확도가 무너졌다면 의미가 없습니다. 이를 확인하기 위해 단계별로 다른 벤치마크를 측정했습니다.

1단계 양자화는 에이전트·수학·코드·한국어·지식 등 15개 종합 태스크 평균으로 검증했습니다. BF16 원본(81.57) 대비 81.17로 0.4점 하락했으며, 15개 중 4개 지표는 오히려 상승했습니다.

Solar Open2 250B 압축 결과를 메모리와 정확도 두 지표로 보여주는 차트. 메모리 사용량은 BF16 원본 500.6GB에서 Nota INT4 Global-Pruned 117.8GB로 76.5% 줄어 H100 8장 구성이 2장이 된다. 고난도 추론 정확도는 REAP(ICLR 2026) 78.79점 대비 83.39점으로 4.60점 높다.
그림 3: Solar Open2 250B 압축 전후 메모리 사용량과 REAP 대비 정확도 비교

2단계 가지치기는 고난도 추론 3개 태스크 평균을 기준으로 측정했습니다. 83.99점에서 83.39점으로 내려갔으며, 이는 가중치 25GB를 추가로 덜어내면서도 0.6점의 정확도만 내어준 셈입니다.

동일한 압축률을 적용한 균일 가지치기 기법 REAP(ICLR 2026)의 점수(78.79)와 비교하면 4.6점 높은 결과입니다.


사례 2. Kimi K3 2.8T: 이미 양자화된 모델을 줄이는 법

두 번째 사례는 Moonshot AI가 7월 말 공개한 Kimi K3입니다. 성능은 프론티어급 상용 모델과 비교되고, 크기는 파라미터 2.8T로 Solar Open2의 열 배가 넘습니다. 권장 구성은 B300 8장입니다.

문제는 따로 있었습니다. 공개 시점부터 이미 가중치는 MXFP4, 활성값은 MXFP8로 양자화된 상태로 나왔습니다. 양자화로 추가로 줄일 여지가 거의 없었다는 의미입니다.

남은 길은 하나였습니다. 구조 자체를 줄여 전문가 모듈을 덜어내는 것, 사례 1의 2단계와 같은 비균일 전역 프루닝입니다. 다만 여기서는 기법을 개선한 버전을 썼습니다. 앞서 Solar Open2를 가지치며 유독 낙폭이 큰 추론 태스크들이 파악됐고, 이번에는 그 손실을 줄이는 데 집중했습니다.

Kimi K3의 필요 GPU 장수를 비교하는 가로 막대 차트(2.8T MoE, B300 8장 권장 구성 기준). 원본 8장, 25% 가지치기 6장, 50% 가지치기 4장이다.
그림 4: 가지치기 비율에 따른 Kimi K3 필요 GPU 장수 변화

전체 블록의 global scale을 측정해 제거 비율을 레이어마다 다르게 가져갔습니다. 50% 버전의 결과 체크포인트는 92개 MoE 레이어에서 레이어당 350개부터 717개까지 서로 다른 수의 전문가를 남겼습니다. 총 41,216개입니다.

공개한 버전은 두 가지입니다. 전문가를 25% 덜어낸 버전은 B300 6장, 50% 덜어낸 버전은 4장에서 돌아갑니다.


전문가를 덜어낸 결과

이제 정확도를 살펴볼 차례입니다.

우선 25% 가지치기 버전은 네 개 벤치마크 모두에서 원본과 같거나 높습니다. GPU를 두 장 덜 쓰면서 성능은 내려가지 않았다는 의미입니다. 모든 레이어에서 같은 비율로 잘라내는 REAP과 비교했을 때 네 개 벤치마크 평균 1.84점 높습니다.

Kimi K3 원본, Nota 25%, REAP 25%, Nota 50%, REAP 50% 버전을 네 개 벤치마크로 비교하는 표. IFEval은 원본 93.72, Nota 25% 94.45, REAP 25% 93.35, Nota 50% 90.02, REAP 50% 87.80이다. IFBench는 70.75, 70.75, 69.05, 71.77, 71.09이다. HumanEval+는 82.32, 82.93, 82.93, 81.71, 82.32이다. GPQA-Diamond는 86.36, 87.37, 82.83, 69.19, 66.67이다.
표 1: 원본과 REAP 대비 Kimi K3 가지치기 버전의 벤치마크 성능 비교

절반까지 덜어냈을 때도 지시 이행(IFEval·IFBench)과 코드 생성(HumanEval+) 점수를 거의 유지했습니다. 다만 특정 태스크에 손실이 몰리는 가지치기의 특성상, 대학원 수준 과학 추론을 재는 GPQA-Diamond 점수는 하락한 모습이 확인됐습니다. 그러나 이 항목 역시 같은 모델을 REAP으로 가지치기한 버전과 같은 평가 설정에서 비교하면 2.52점 높습니다.


정리하며: GPU 절감은 곧 비용 절감

H100 8장이 필요했던 Solar Open2는 2장에서, B300 8장이 권장이던 Kimi K3는 4장에서 돌아갑니다. 최근에는 BF16 기준 B300 24장이 필요한 알리바바의 Qwen 3.8 2.4T를 양자화와 40% 가지치기로 압축해 4장까지 내렸습니다. 이 과정에서 낙폭이 큰 도메인의 캘리브레이션 데이터에 가중을 두는 방법으로, Kimi 사례에서 남았던 태스크별 낙폭 쏠림도 거의 없앴습니다.

이제 처음의 질문으로 돌아가 보겠습니다. 지금까지 노타가 해 온 일은 모델을 작게 만드는 일이지만, 결국은 비용 문제이기도 합니다. GPU를 직접 도입하는 조직에는 장비 대수가 초기 투자 규모를 정하고, 클라우드를 쓰는 조직에는 인스턴스 크기가 매달의 청구서를 정합니다. 이번 사례들처럼 GPU를 절반에서 6분의 1까지 줄이면 그 두 숫자가 함께 내려갑니다.

압축한 모델은 Hugging Face 노타 계정에서 확인하실 수 있고, 준비 중인 모델을 더 적은 GPU로 돌려야 한다면 문의해 주세요.


※ 이 글에서 제시한 수치는 명시한 모델·하드웨어·설정 조합에서의 결과이며, 환경에 따라 달라질 수 있습니다.

참고

Related