2회차 · 손으로 움직여 보는 루프라인

루프라인 실험대

2회차 6절의 부등식 하나를 손으로 움직여 보는 페이지다. 배치와 정밀도를 바꿔 가며 워크로드가 지붕의 어느 쪽에 떨어지는지, 그때 칩의 몇 퍼센트를 쓰는지 직접 확인한다.

Pattainable(I) = min( Ppeak , B × I ) · I* = Ppeak / B

워크로드를 지붕 위에 찍기

칩 (BF16 dense)
단계
가중치 정밀도
연산강도 I
리지 포인트 I*
달성 가능 성능
연산 유닛 이용률 상한
판정

디코딩 속도의 상한

같은 부등식을 토큰 수로 옮긴 어림식이다. 대역폭 쪽 상한과 연산 쪽 상한 중 작은 값이 답이 된다. 칩·정밀도·배치는 위의 설정을 그대로 쓴다.

tokens/s ≲ min( N·B·η / (P·b) × Bsz , N·Ppeak / (2P) )
모델 크기 P
가중치 용량
용량상 최소 칩 수
총 대역폭 N·B·η
시퀀스당 tok/s
전체 tok/s
걸린 상한

칩 수 슬라이더는 용량상 최소치에서 몇 장을 더 얹을지 정한다. 이 계산은 칩 N장이 가중치를 나눠 동시에 읽는다고 보고 대역폭을 N배로 더하므로, 칩을 얹을수록 대역폭 쪽 상한이 장수에 비례해 오른다(405B fp16, 배치 1이면 11장 45 → 12장 50 tok/s). 실제로는 칩 사이 통신이 붙어 그만큼 오르지 않는다(아래 「이 도표가 말하지 않는 것」). 최소 장수에서는 모델 크기와 정밀도를 바꿔도 배치 1 상한이 칩 한 장의 용량 ÷ 대역폭(H100은 약 42 tok/s) 바로 위에 모이는 것을 70B·405B에서 확인해 볼 것. η는 본문의 「대역폭 이용률 60~80%」를 넣어 보라고 둔 손잡이다.

풀이표와 대조 ()
이 그림의 계산을 2회차 6절 표·본문, 실습 1·2 풀이와 대조한 것이다(실습 2는 H100 SXM, 배치 1, η 100%). 「풀이」 열은 풀이표의 반올림 값이다.
항목계산풀이

이 도표가 말하지 않는 것

루프라인은 오래 도는 커널이 넘을 수 없는 상한을 준다. 실제 속도를 예측하는 모형은 아니다. 2회차 부록 B가 꼽은 한계를 여기 옮긴다.