검색
← 모듈 로드맵

중간 점검: 스케일링 · 효율

강의 · 준전문가 · KAITABASE 정리

원제 · Checkpoint Quiz: Scaling and Efficiency

스케일링·효율 트랙 14문제 점검 — 연산 예산 · 양자화 · 분산 학습 · 추론 최적화 · MoE

먼저 알아야 할 것

C≈6ND와 친칠라 배분양자화와 수치 형식KV 캐시 공식ZeRO와 병렬화MoE 라우팅

다루는 내용

스케일링·효율 트랙 전체를 복습하는 점검 문제 14개입니다. 6ND 연산량과 친칠라 배분, absmax 양자화와 BF16, LoRA · QLoRA, ZeRO와 파이프라인 버블, KV 캐시 · FlashAttention · 추측 디코딩 · PagedAttention, MoE 라우팅 · 증류 · Mamba를 계산과 개념 문제로 묻고 풀이와 다시 볼 곳을 붙였습니다.

해설

중간 점검: 스케일링 · 효율

스케일링·효율 트랙을 마치며 푸는 점검 문제 14개입니다. 연산 예산 · 스케일링 법칙, 수치 형식 · 양자화, 미세조정 효율(LoRA · QLoRA), 분산 학습, 추론 최적화(KV 캐시 · FlashAttention · 추측 디코딩 · PagedAttention), 압축 · MoE, 새 구조(Mamba)까지 고루 묻습니다. 계산 문제는 계산기만 있으면 풀 수 있고, 모든 문제 아래에 풀이 과정과 "틀렸다면 다시 볼 곳"을 달았습니다. 먼저 풀이를 가리고 스스로 풀어 본 뒤 맞춰 보세요.

항목내용
범위196 · 39 · 40 · 73 · 197 · 43 · 76 · 198 · 199 · 42 · 75 · 77 · 78 · 201 · 200 · 41 · 74 · 79
트랙 · 수준스케일링·효율 · 중급 · 점검
문제 수 · 시간14문제(계산 8 · 개념 6) · 40~60분
채점 기준11개 이상: 다음 트랙으로 · 8~10개: 틀린 문제의 수업만 다시 · 7개 이하: 196 · 197 · 199부터 다시

들어가기 전에

한눈에 보기

  • 연산량 · 메모리 · 지연을 '어림'하는 공식 5개를 손에 익혔는지 확인합니다.
  • 각 효율 기법이 무엇을(계산 · 메모리 · 대역폭 · 통신) 줄이는지 구분할 수 있는지 확인합니다.
  • 논문 결과를 정확히 기억하기보다, 결과가 왜 그렇게 나왔는지 설명할 수 있는지 봅니다.

공식 요약(문제 풀 때 참고)

무엇공식수업
학습 연산량C≈6NDC\approx6ND196
친칠라 어림D≈20ND\approx20N → N≈C/120N\approx\sqrt{C/120}196 · 40
학습 모델 상태파라미터당 16바이트(혼합 정밀도 Adam)196 · 198
absmax 양자화s=127/max⁡∣x∣s=127/\max\lvert x \rvert, q=round(sx)q=\mathrm{round}(sx)197
KV 캐시2 nlayer nkv dhead L B b2\,n_\text{layer}\,n_\text{kv}\,d_\text{head}\,L\,B\,b199
추측 디코딩E=(1−αγ+1)/(1−α)\mathbb E=(1-\alpha^{\gamma+1})/(1-\alpha)199 · 77

1부: 연산 예산과 스케일링

문제 1. 7B 모델을 2T 토큰으로 학습합니다. 연산량은? GPU당 실효 150 TFLOPS인 GPU 1,000장이면 며칠?

  • 풀이: C=6×7×109×2×1012=8.4×1022C=6\times7\times10^9\times2\times10^{12}=8.4\times10^{22} FLOP. 초당 1000×1.5×1014=1.5×10171000\times1.5\times10^{14}=1.5\times10^{17} FLOP이므로 5.6×1055.6\times10^5 초, 약 6.5일입니다.
  • 틀렸다면: 196 1절.

문제 2. 연산 예산이 1.2×10221.2\times10^{22} FLOP일 때 친칠라 어림(토큰 ≈ 파라미터 × 20)으로 최적 모델 크기와 토큰 수는?

  • 풀이: N=1.2×1022/120=1010N=\sqrt{1.2\times10^{22}/120}=10^{10}, 즉 100억 파라미터, 토큰 2,000억(200B)입니다. 친칠라 표 3의 100억 → 2,051억 토큰과도 맞습니다.
  • 틀렸다면: 196 3절 · Chinchilla.

문제 3. 카플란의 L(N)∝N−0.076L(N)\propto N^{-0.076} 에서 모델을 10배 키우면 손실은 몇 배가 되나요? 그리고 친칠라 이후 LLaMA가 7B 모델을 1T 토큰으로 '과학습'한 이유는?

  • 풀이: 10−0.076≈0.83910^{-0.076}\approx0.839 배, 약 16% 감소입니다. LLaMA는 학습 비용만이 아니라 추론 비용 을 고려해, 같은 성능이면 더 작은 모델을 더 오래 학습하는 편이 배포 후 싸다고 보았습니다. 논문은 7B 모델이 1T 토큰 이후에도 계속 좋아졌다고 보고했습니다.
  • 틀렸다면: 196 2 · 4절 · LLaMA.

2부: 수치 형식 · 양자화 · 미세조정 효율

문제 4. x=(0.3, −0.8, 1.8)x=(0.3,\ -0.8,\ 1.8) 을 INT8 absmax로 양자화하고 되돌린 값을 구하세요.

  • 풀이: s=127/1.8≈70.56s=127/1.8\approx70.56. sx≈(21.17, −56.44, 127)sx\approx(21.17,\ -56.44,\ 127) → q=(21, −56, 127)q=(21,\ -56,\ 127) → x^≈(0.298, −0.794, 1.8)\hat x\approx(0.298,\ -0.794,\ 1.8) 입니다.
  • 틀렸다면: 197 3-1절.

문제 5. 같은 16비트인데 학습에 BF16을 FP16보다 선호하는 이유와, BF16에서도 FP32 원본 가중치를 두는 이유를 각각 한 문장으로 쓰세요.

  • 풀이: BF16은 지수 8비트로 FP32와 범위가 같아 작은 기울기가 0이 되거나 큰 값이 넘치는 문제가 적어 손실 스케일링 부담이 줄기 때문입니다. 하지만 가수가 7비트뿐이라 작은 업데이트가 반올림으로 사라질 수 있어, 업데이트는 FP32 사본에 누적합니다.
  • 틀렸다면: 197 1 · 2절.

문제 6. 이상치 하나가 행렬 전체 absmax INT8 양자화를 망치는 원리와, 이를 피하는 방법 두 가지를 쓰세요.

  • 풀이: 스케일이 최댓값(이상치)에 맞춰져 눈금이 성겨지므로, 나머지 작은 값이 몇 개 정수로 뭉개집니다. 피하는 법: ① 묶음(그룹) · 벡터 단위로 스케일을 따로 둔다 ② LLM.int8()처럼 이상치 차원을 따로 16비트로 계산한다(AWQ처럼 중요한 채널을 미리 키워 보호하는 방법도 정답).
  • 틀렸다면: 197 3-2 · 4절 · 실습 201 결과 ③.

문제 7. 4096×40964096\times4096 가중치 하나에 랭크 r=8r=8 LoRA를 붙이면 학습할 파라미터는 몇 개이고, 원래 행렬의 몇 %인가요? QLoRA가 여기에 더한 세 가지는?

  • 풀이: BB 가 4096×84096\times8, AA 가 8×40968\times4096 이므로 2×4096×8=65,5362\times4096\times8=65{,}536 개, 16,777,21616{,}777{,}216 개의 약 0.39%입니다. LoRA 논문은 GPT-3 175B에서 학습 파라미터를 1만 배, GPU 메모리를 3배 줄였다고 보고합니다. QLoRA는 ① 4비트 NormalFloat(NF4) ② 이중 양자화(양자화 상수를 다시 양자화) ③ 페이지드 옵티마이저(메모리 급증 관리)를 더해 65B 모델을 48GB GPU 한 장에서 미세조정했다고 보고합니다.
  • 틀렸다면: LoRA · QLoRA.

3부: 분산 학습

문제 8. 13B 모델(혼합 정밀도 Adam)의 모델 상태 메모리는? GPU 16장에서 ZeRO-3를 쓰면 GPU당은? 파이프라인 4단계에 마이크로배치 12개면 GPipe식 버블 비율은?

  • 풀이: 16×13=20816\times13=208 GB. ZeRO-3는 모두 나누므로 208/16=13208/16=13 GB. 버블 =(K−1)/(M+K−1)=3/15=0.2=(K-1)/(M+K-1)=3/15=0.2 입니다.
  • 틀렸다면: 198 2 · 4절.

문제 9. 텐서 병렬은 서버 안에, 파이프라인 병렬은 서버 사이에 두는 것이 원칙인 이유는?

  • 풀이: 텐서 병렬은 층마다 올리듀스가 필요해 NVLink 같은 고대역폭 연결이 있어야 하고, 파이프라인 병렬은 단계 경계에서만 활성화를 주고받아 느린 서버 간 연결에서도 견딜 수 있기 때문입니다.
  • 틀렸다면: 198 3 · 5절.

4부: 추론 최적화

문제 10. 층 32개, KV 헤드 8개(GQA), 헤드 차원 128, FP16 모델에서 8,192토큰 요청 하나의 KV 캐시는? 같은 모델이 쿼리 헤드 32개를 모두 KV 헤드로 쓰는 MHA였다면?

  • 풀이: 2×32×8×128×8192×2≈1.07×1092\times32\times8\times128\times8192\times2\approx1.07\times10^9 바이트, 약 1.07GB. MHA면 KV 헤드가 4배라 약 4.3GB입니다.
  • 틀렸다면: 199 2 · 3절.

문제 11. FlashAttention이 '근사 없이' 빨라지는 이유를 HBM · SRAM으로 설명하고, FlashAttention-2가 보고한 개선 폭을 쓰세요.

  • 풀이: 어텐션 계산을 타일로 나눠 빠른 온칩 SRAM 안에서 끝내고, 큰 n×nn\times n 점수 행렬을 느린 HBM에 쓰고 읽는 횟수를 줄이기 때문입니다. 연산 결과는 표준 어텐션과 같습니다. FlashAttention-2는 작업 분할 · 병렬화를 개선해 FlashAttention보다 약 2배 빠르고, A100에서 이론 최대 FLOPs/s의 50~73%에 도달했다고 보고합니다.
  • 틀렸다면: 플래시어텐션 · 플래시어텐션-2.

문제 12. 추측 디코딩에서 수락률 α=0.7\alpha=0.7, 초안 길이 γ=3\gamma=3 이면 목표 모델 한 번에 기대 토큰 수는? 이 방법이 출력 품질을 바꾸지 않는 이유와, PagedAttention이 해결한 문제도 쓰세요.

  • 풀이: (1−0.74)/(1−0.7)=(1−0.2401)/0.3≈2.53(1-0.7^4)/(1-0.7)=(1-0.2401)/0.3\approx2.53 개. 수락 · 재샘플링 규칙이 최종 분포를 목표 모델과 똑같이 만들기 때문입니다. PagedAttention은 KV 캐시를 요청마다 연속 공간으로 미리 잡아 생기던 낭비(논문 측정으로 실제 사용이 20.4%~38.2%)를 블록 단위 할당으로 없애, 같은 지연에서 처리량을 2~4배 높였습니다.
  • 틀렸다면: 199 4 · 5절 · 추측 디코딩 · PagedAttention.

5부: 압축 · MoE · 새 구조

문제 13. 전문가 4개의 라우터 점수가 (0.5, 1.5, 1.0, 0.0)(0.5,\ 1.5,\ 1.0,\ 0.0) 일 때 top-2 게이트 값은? Mixtral(총 47B · 활성 13B)이 13B 밀집 모델과 비교해 계산과 메모리에서 각각 어떤가요?

  • 풀이: 전문가 2 · 3이 뽑히고 소프트맥스(1.5, 1.0)≈(0.622, 0.378)(1.5,\ 1.0)\approx(0.622,\ 0.378) 입니다. 토큰당 계산은 활성 13B 수준으로 비슷하지만, 모든 전문가를 메모리에 올려야 하므로 가중치 메모리는 47B 분이 필요합니다. Switch Transformer는 top-1로 단순화하고 부하 균형 손실 · 용량 계수로 쏠림을 막았습니다.
  • 틀렸다면: 200 3절 · Switch · Mixtral.

문제 14. 지식 증류에서 온도 TT 를 높이는 이유와 손실에 T2T^2 를 곱하는 이유를 쓰고, Mamba가 어텐션 대신 택한 방식의 장점을 한 문장으로 쓰세요.

  • 풀이: 온도를 높이면 선생 분포가 부드러워져 틀린 답들 사이의 상대 확률(추가 정보)이 드러납니다. 소프트 타깃의 기울기가 1/T21/T^2 로 작아지므로 T2T^2 를 곱해 정답 레이블 손실과의 비중을 유지합니다. Mamba는 입력에 따라 무엇을 남기고 잊을지 고르는 선택적 상태 공간 모델로, 길이에 선형으로 늘어나는 계산과 Transformer 대비 약 5배 높은 추론 처리량을 보고했습니다.
  • 틀렸다면: 200 1절 · Mamba.

무엇을 무엇이 줄이나 (복습 표)

기법계산메모리대역폭 · 통신품질 위험
친칠라식 배분같은 예산에서 손실 최소——낮음
혼합 정밀도빨라짐(텐서 코어)활성화 · 가중치 절반절반낮음(장치 두 개로 관리)
양자화(가중치 4비트)거의 그대로약 1/4약 1/4비트가 낮을수록 위험
LoRA · QLoRA학습 파라미터 극소옵티마이저 상태 대폭 감소—대체로 낮음
ZeRO · 병렬화나눠 계산GPU당 감소통신 증가없음(같은 계산)
KV 캐시 + GQA재계산 없앰KV 감소감소작음
FlashAttention같음(정확)점수 행렬 저장 안 함HBM 접근 감소없음
추측 디코딩초안 비용 추가초안 모델 추가목표 모델 호출 감소없음(분포 동일)
MoE토큰당 감소그대로(전체 필요)전문가 간 통신학습 안정성 관리 필요
증류 · 가지치기감소감소감소중간
mermaid
flowchart LR
  Q[문제 풀기] --> C{몇 개 맞혔나}
  C -->|11개 이상| N[다음 트랙으로]
  C -->|8~10개| R[틀린 문제의 '다시 볼 곳'만 복습]
  C -->|7개 이하| B[196 · 197 · 199 다시 읽고<br/>실습 201 코드 돌려 보기]
  R --> Q
  B --> Q

스스로 점검

  1. 이 트랙의 효율 기법 가운데 '출력이 수학적으로 바뀌지 않는' 것 세 가지는?
    • 답: FlashAttention(정확한 어텐션), 추측 디코딩(출력 분포 동일), ZeRO · 병렬화(같은 계산을 나눠 할 뿐)입니다. KV 캐시도 재계산을 저장으로 바꾼 것이라 결과가 같습니다.
  2. "메모리 병목"과 "계산 병목"을 구분해야 하는 이유는?
    • 답: 병목에 따라 효과 있는 기법이 다르기 때문입니다. 디코드처럼 메모리 병목이면 양자화 · 배칭 · GQA가, 프리필 · 학습처럼 계산 병목이면 혼합 정밀도 · 병렬화가 먼저입니다.
  3. 새 모델을 배포할 때 가장 먼저 계산해 볼 숫자 두 가지는?
    • 답: 가중치 메모리(파라미터 × 비트)와 목표 문맥 길이 · 동시 요청 수에서의 KV 캐시 크기입니다. 이 둘이 GPU 한 장(또는 몇 장)에 들어가는지가 첫 판단입니다.

용어 정리

용어쉬운 뜻
연산 예산학습에 쓸 총 FLOP
연산 최적정해진 예산에서 손실이 가장 낮은 모델 · 데이터 조합
모델 상태가중치 · 기울기 · 옵티마이저 값
묶음 양자화일정 개수씩 묶어 스케일을 따로 두는 양자화
버블파이프라인 병렬에서 GPU가 노는 시간
수락률추측 디코딩에서 초안 토큰이 받아들여지는 비율
활성 파라미터MoE에서 토큰 하나 처리에 실제 쓰이는 파라미터

다음에 볼 것

라이선스

본문은 KAITABASE 자체 작성입니다. 문제에 인용한 논문 결과(카플란 · 친칠라 · LLaMA · LoRA · QLoRA · ZeRO · GPipe · FlashAttention-2 · 추측 디코딩 · PagedAttention · Mixtral · Mamba)는 각 원문에서 확인한 것이며, 계산 문제의 숫자는 해설용으로 만들고 파이썬으로 검산했습니다.

출처

  • Kaplan 외 (2020): https://arxiv.org/abs/2001.08361 · Hoffmann 외 (2022): https://arxiv.org/abs/2203.15556 · Touvron 외 (2023): https://arxiv.org/abs/2302.13971
  • Hu 외, LoRA (2021): https://arxiv.org/abs/2106.09685 · Dettmers 외, QLoRA (2023): https://arxiv.org/abs/2305.14314
  • Rajbhandari 외, ZeRO (2019): https://arxiv.org/abs/1910.02054 · Huang 외, GPipe (2018): https://arxiv.org/abs/1811.06965
  • Dao, FlashAttention-2 (2023): https://arxiv.org/abs/2307.08691 · Leviathan 외 (2022): https://arxiv.org/abs/2211.17192 · Kwon 외 (2023): https://arxiv.org/abs/2309.06180
  • Fedus 외, Switch (2021): https://arxiv.org/abs/2101.03961 · Jiang 외, Mixtral (2024): https://arxiv.org/abs/2401.04088 · Gu · Dao, Mamba (2023): https://arxiv.org/abs/2312.00752
  • Hinton 외, Distillation (2015): https://arxiv.org/abs/1503.02531

AI 원리부터 이해하기 · 스케일링·효율 모듈

스케일링·효율 모듈 학습

이 글은 스케일링·효율 모듈의 학습 자료입니다. 전체 19개 자료 중 19번째입니다.

AI 기초 과정은 현재 진도 저장을 지원하지 않습니다.

출처·원문

원문 보기

요약만

본문 자체 작성