중간 점검: 스케일링 · 효율
스케일링·효율 트랙 14문제 점검 — 연산 예산 · 양자화 · 분산 학습 · 추론 최적화 · 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부터 다시 |
들어가기 전에
- 이 트랙의 수업을 한 번씩 읽었다면 충분합니다. 특히 스케일링 법칙과 연산 예산, 수치 형식 · 혼합 정밀도 · 양자화, 추론 최적화 의 공식을 씁니다.
- 실습 양자화 오차와 KV 캐시 메모리 계산하기 의 계산기 코드로 계산 문제를 검산해도 됩니다.
한눈에 보기
- 연산량 · 메모리 · 지연을 '어림'하는 공식 5개를 손에 익혔는지 확인합니다.
- 각 효율 기법이 무엇을(계산 · 메모리 · 대역폭 · 통신) 줄이는지 구분할 수 있는지 확인합니다.
- 논문 결과를 정확히 기억하기보다, 결과가 왜 그렇게 나왔는지 설명할 수 있는지 봅니다.
공식 요약(문제 풀 때 참고)
| 무엇 | 공식 | 수업 |
|---|---|---|
| 학습 연산량 | 196 | |
| 친칠라 어림 | → | 196 · 40 |
| 학습 모델 상태 | 파라미터당 16바이트(혼합 정밀도 Adam) | 196 · 198 |
| absmax 양자화 | , | 197 |
| KV 캐시 | 199 | |
| 추측 디코딩 | 199 · 77 |
1부: 연산 예산과 스케일링
문제 1. 7B 모델을 2T 토큰으로 학습합니다. 연산량은? GPU당 실효 150 TFLOPS인 GPU 1,000장이면 며칠?
- 풀이: FLOP. 초당 FLOP이므로 초, 약 6.5일입니다.
- 틀렸다면: 196 1절.
문제 2. 연산 예산이 FLOP일 때 친칠라 어림(토큰 ≈ 파라미터 × 20)으로 최적 모델 크기와 토큰 수는?
- 풀이: , 즉 100억 파라미터, 토큰 2,000억(200B)입니다. 친칠라 표 3의 100억 → 2,051억 토큰과도 맞습니다.
- 틀렸다면: 196 3절 · Chinchilla.
문제 3. 카플란의 에서 모델을 10배 키우면 손실은 몇 배가 되나요? 그리고 친칠라 이후 LLaMA가 7B 모델을 1T 토큰으로 '과학습'한 이유는?
- 풀이: 배, 약 16% 감소입니다. LLaMA는 학습 비용만이 아니라 추론 비용 을 고려해, 같은 성능이면 더 작은 모델을 더 오래 학습하는 편이 배포 후 싸다고 보았습니다. 논문은 7B 모델이 1T 토큰 이후에도 계속 좋아졌다고 보고했습니다.
- 틀렸다면: 196 2 · 4절 · LLaMA.
2부: 수치 형식 · 양자화 · 미세조정 효율
문제 4. 을 INT8 absmax로 양자화하고 되돌린 값을 구하세요.
- 풀이: . → → 입니다.
- 틀렸다면: 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. 가중치 하나에 랭크 LoRA를 붙이면 학습할 파라미터는 몇 개이고, 원래 행렬의 몇 %인가요? QLoRA가 여기에 더한 세 가지는?
- 풀이: 가 , 가 이므로 개, 개의 약 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식 버블 비율은?
- 풀이: GB. ZeRO-3는 모두 나누므로 GB. 버블 입니다.
- 틀렸다면: 198 2 · 4절.
문제 9. 텐서 병렬은 서버 안에, 파이프라인 병렬은 서버 사이에 두는 것이 원칙인 이유는?
- 풀이: 텐서 병렬은 층마다 올리듀스가 필요해 NVLink 같은 고대역폭 연결이 있어야 하고, 파이프라인 병렬은 단계 경계에서만 활성화를 주고받아 느린 서버 간 연결에서도 견딜 수 있기 때문입니다.
- 틀렸다면: 198 3 · 5절.
4부: 추론 최적화
문제 10. 층 32개, KV 헤드 8개(GQA), 헤드 차원 128, FP16 모델에서 8,192토큰 요청 하나의 KV 캐시는? 같은 모델이 쿼리 헤드 32개를 모두 KV 헤드로 쓰는 MHA였다면?
- 풀이: 바이트, 약 1.07GB. MHA면 KV 헤드가 4배라 약 4.3GB입니다.
- 틀렸다면: 199 2 · 3절.
문제 11. FlashAttention이 '근사 없이' 빨라지는 이유를 HBM · SRAM으로 설명하고, FlashAttention-2가 보고한 개선 폭을 쓰세요.
- 풀이: 어텐션 계산을 타일로 나눠 빠른 온칩 SRAM 안에서 끝내고, 큰 점수 행렬을 느린 HBM에 쓰고 읽는 횟수를 줄이기 때문입니다. 연산 결과는 표준 어텐션과 같습니다. FlashAttention-2는 작업 분할 · 병렬화를 개선해 FlashAttention보다 약 2배 빠르고, A100에서 이론 최대 FLOPs/s의 50~73%에 도달했다고 보고합니다.
- 틀렸다면: 플래시어텐션 · 플래시어텐션-2.
문제 12. 추측 디코딩에서 수락률 , 초안 길이 이면 목표 모델 한 번에 기대 토큰 수는? 이 방법이 출력 품질을 바꾸지 않는 이유와, PagedAttention이 해결한 문제도 쓰세요.
- 풀이: 개. 수락 · 재샘플링 규칙이 최종 분포를 목표 모델과 똑같이 만들기 때문입니다. PagedAttention은 KV 캐시를 요청마다 연속 공간으로 미리 잡아 생기던 낭비(논문 측정으로 실제 사용이 20.4%~38.2%)를 블록 단위 할당으로 없애, 같은 지연에서 처리량을 2~4배 높였습니다.
- 틀렸다면: 199 4 · 5절 · 추측 디코딩 · PagedAttention.
5부: 압축 · MoE · 새 구조
문제 13. 전문가 4개의 라우터 점수가 일 때 top-2 게이트 값은? Mixtral(총 47B · 활성 13B)이 13B 밀집 모델과 비교해 계산과 메모리에서 각각 어떤가요?
- 풀이: 전문가 2 · 3이 뽑히고 소프트맥스 입니다. 토큰당 계산은 활성 13B 수준으로 비슷하지만, 모든 전문가를 메모리에 올려야 하므로 가중치 메모리는 47B 분이 필요합니다. Switch Transformer는 top-1로 단순화하고 부하 균형 손실 · 용량 계수로 쏠림을 막았습니다.
- 틀렸다면: 200 3절 · Switch · Mixtral.
문제 14. 지식 증류에서 온도 를 높이는 이유와 손실에 를 곱하는 이유를 쓰고, Mamba가 어텐션 대신 택한 방식의 장점을 한 문장으로 쓰세요.
- 풀이: 온도를 높이면 선생 분포가 부드러워져 틀린 답들 사이의 상대 확률(추가 정보)이 드러납니다. 소프트 타깃의 기울기가 로 작아지므로 를 곱해 정답 레이블 손실과의 비중을 유지합니다. Mamba는 입력에 따라 무엇을 남기고 잊을지 고르는 선택적 상태 공간 모델로, 길이에 선형으로 늘어나는 계산과 Transformer 대비 약 5배 높은 추론 처리량을 보고했습니다.
- 틀렸다면: 200 1절 · Mamba.
무엇을 무엇이 줄이나 (복습 표)
| 기법 | 계산 | 메모리 | 대역폭 · 통신 | 품질 위험 |
|---|---|---|---|---|
| 친칠라식 배분 | 같은 예산에서 손실 최소 | — | — | 낮음 |
| 혼합 정밀도 | 빨라짐(텐서 코어) | 활성화 · 가중치 절반 | 절반 | 낮음(장치 두 개로 관리) |
| 양자화(가중치 4비트) | 거의 그대로 | 약 1/4 | 약 1/4 | 비트가 낮을수록 위험 |
| LoRA · QLoRA | 학습 파라미터 극소 | 옵티마이저 상태 대폭 감소 | — | 대체로 낮음 |
| ZeRO · 병렬화 | 나눠 계산 | GPU당 감소 | 통신 증가 | 없음(같은 계산) |
| KV 캐시 + GQA | 재계산 없앰 | KV 감소 | 감소 | 작음 |
| FlashAttention | 같음(정확) | 점수 행렬 저장 안 함 | HBM 접근 감소 | 없음 |
| 추측 디코딩 | 초안 비용 추가 | 초안 모델 추가 | 목표 모델 호출 감소 | 없음(분포 동일) |
| MoE | 토큰당 감소 | 그대로(전체 필요) | 전문가 간 통신 | 학습 안정성 관리 필요 |
| 증류 · 가지치기 | 감소 | 감소 | 감소 | 중간 |
flowchart LR
Q[문제 풀기] --> C{몇 개 맞혔나}
C -->|11개 이상| N[다음 트랙으로]
C -->|8~10개| R[틀린 문제의 '다시 볼 곳'만 복습]
C -->|7개 이하| B[196 · 197 · 199 다시 읽고<br/>실습 201 코드 돌려 보기]
R --> Q
B --> Q스스로 점검
- 이 트랙의 효율 기법 가운데 '출력이 수학적으로 바뀌지 않는' 것 세 가지는?
- 답: FlashAttention(정확한 어텐션), 추측 디코딩(출력 분포 동일), ZeRO · 병렬화(같은 계산을 나눠 할 뿐)입니다. KV 캐시도 재계산을 저장으로 바꾼 것이라 결과가 같습니다.
- "메모리 병목"과 "계산 병목"을 구분해야 하는 이유는?
- 답: 병목에 따라 효과 있는 기법이 다르기 때문입니다. 디코드처럼 메모리 병목이면 양자화 · 배칭 · GQA가, 프리필 · 학습처럼 계산 병목이면 혼합 정밀도 · 병렬화가 먼저입니다.
- 새 모델을 배포할 때 가장 먼저 계산해 볼 숫자 두 가지는?
- 답: 가중치 메모리(파라미터 × 비트)와 목표 문맥 길이 · 동시 요청 수에서의 KV 캐시 크기입니다. 이 둘이 GPU 한 장(또는 몇 장)에 들어가는지가 첫 판단입니다.
용어 정리
| 용어 | 쉬운 뜻 |
|---|---|
| 연산 예산 | 학습에 쓸 총 FLOP |
| 연산 최적 | 정해진 예산에서 손실이 가장 낮은 모델 · 데이터 조합 |
| 모델 상태 | 가중치 · 기울기 · 옵티마이저 값 |
| 묶음 양자화 | 일정 개수씩 묶어 스케일을 따로 두는 양자화 |
| 버블 | 파이프라인 병렬에서 GPU가 노는 시간 |
| 수락률 | 추측 디코딩에서 초안 토큰이 받아들여지는 비율 |
| 활성 파라미터 | MoE에서 토큰 하나 처리에 실제 쓰이는 파라미터 |
다음에 볼 것
- 생성적 적대 신경망 (GAN) — 다음 트랙(생성 모델)의 첫 걸음
- 정렬 개요와 RLHF 파이프라인 — 효율적으로 학습한 모델을 사람의 의도에 맞추는 방법
- 강화학습 입문 (Sutton · Barto, 2판) — 과정 순서상 다음 트랙(강화학습)의 첫 수업입니다
라이선스
본문은 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번째입니다.
출처·원문
원문 보기요약만