도구스개발

트랜스포머 학습 연산량 계산기

트랜스포머 학습에 드는 연산량을 6ND 어림으로 계산하고, 계수 6이 순전파 2와 역전파 4에서 나오는 것을 보여 줍니다. 6ND가 놓치는 어텐션의 시퀀스 항을 따로 세어 언제 이 어림이 깨지는지도 함께 냅니다.

d_ff ÷ d_model

층 하나에 어텐션 Q·K·V·O 네 행렬이 4·d² , FFN이 2·r·d²입니다. 지금 설정이면 층당 2.01억.

6ND는 이 값과 무관합니다. 어텐션 항에만 들어갑니다.

PFLOPS

쓰는 장비 전체를 합한 이론상 최대치

%

학습에 드는 총 연산량

4.027 × 10^22 FLOP

6ND 3.87 × 10^22 + 어텐션 1.61 × 10^21 · 1.2일 걸립니다

계수 6은 어디서 오는가

파라미터 N (임베딩 제외)64.42억개
임베딩 파라미터1.31억개
학습 토큰 D1조개
순전파 2ND1.29 × 10^22 FLOP
역전파 4ND2.58 × 10^22 FLOP
합계 6ND3.87 × 10^22 FLOP
추론은 토큰당 2N1.29 × 10^10 FLOP
가중치 하나는 곱셈 한 번과 덧셈 한 번에 쓰이므로 순전파가 토큰당 2N입니다. 역전파는 앞쪽 층으로 흘려보낼 입력 기울기 2N과 실제로 갱신할 가중치 기울기 2N을 각각 구하므로 4N이고, 합쳐 6N이 됩니다. 「역전파는 순전파의 두 배」라는 말이 이 2 + 2를 가리킵니다. 추론에는 역전파가 없으니 학습의 3분의 1입니다.

6ND가 놓치는 것 — 어텐션의 시퀀스 항

어텐션 항 (계수 6)1.61 × 10^21 FLOP
6ND에 견준 비4.17%
이 비가 10%가 되는 시퀀스 길이4,915 토큰
총합 대비 6ND의 몫96%
6ND는 가중치를 거치는 곱셈만 셉니다. 그런데 어텐션에는 가중치가 없는 큰 곱셈이 둘 있습니다 — QKᵀ와 (softmax 결과)·V입니다. 이 둘은 파라미터 수와 무관하고 시퀀스 길이의 제곱으로 늘어나므로, 문맥이 길어지면 6ND가 실제 연산량을 밑돌게 됩니다.
표준 FFN이라면 이 비가 층 수와 무관하게 L ÷ (12·d_model)로 정리됩니다 (인과 마스킹을 반영할 때). 곧 시퀀스 길이가 d_model의 1.2배쯤 되면 10%를 넘습니다. 지금 설정에서는 4,915 토큰이 그 지점입니다.
자료마다 이 항의 계수가 12로도 6으로도 나옵니다. 인과 마스킹으로 절반을 실제로 건너뛰느냐의 차이이며, 어느 쪽인지 밝히지 않은 수치는 두 배까지 어긋날 수 있습니다.

걸리는 시간

이론상 최대 성능1,000 PFLOPS
MFU40%
실효 성능4.00 × 10^17 FLOP/s
걸리는 시간1.2일
MFU(model FLOPs utilization)는 이론상 최대치의 몇 %를 실제로 쓰는가입니다. 하드웨어·구현·병렬화 방식마다 크게 달라 하나로 정할 수 없으므로 직접 넣는 값으로 두었습니다. 여기 나오는 시간은 계산이 멈추지 않는다고 본 하한이며, 자료 적재·체크포인트·재시작·장애 복구는 들어 있지 않습니다.

사용 방법

  1. 1파라미터 수를 직접 넣거나 층 수·d_model 같은 구조에서 세게 합니다.
  2. 2학습 토큰 수를 넣으면 6ND가 바로 나옵니다.
  3. 3시퀀스 길이를 바꿔 가며 어텐션 항이 몇 %인지 보십시오.
  4. 4가속기 전체 최대 성능과 MFU를 넣으면 걸리는 시간이 나옵니다.
  5. 5«이 비가 10%가 되는 시퀀스 길이»를 보면 6ND만으로 충분한지 알 수 있습니다.

자주 묻는 질문

순전파 2와 역전파 4를 더한 값입니다. 가중치 하나는 곱셈 한 번과 덧셈 한 번에 쓰이므로 곱하고 더하기가 2 FLOP이고, 순전파는 토큰당 2N이 됩니다. 역전파는 앞쪽 층으로 흘려보낼 입력 기울기와 실제로 갱신할 가중치 기울기를 각각 구해야 해서 2N씩 두 번, 곧 4N입니다.

토큰당 2N으로 학습의 3분의 1입니다. 역전파가 없기 때문입니다. 다만 실제 추론 속도는 연산량보다 메모리 대역폭에 걸리는 경우가 많아, 이 값만으로 속도를 예측하기는 어렵습니다.

시퀀스가 길 때입니다. 6ND는 가중치를 거치는 곱셈만 세는데, 어텐션의 QKᵀ와 (softmax 결과)·V는 가중치가 없고 시퀀스 길이의 제곱으로 늘어납니다. 표준 FFN이라면 이 항이 6ND에서 차지하는 비가 층 수와 무관하게 L ÷ (12·d_model)로 정리되므로, 시퀀스 길이가 d_model의 1.2배쯤 되면 10%를 넘습니다.

인과 마스킹으로 절반을 실제로 건너뛰느냐에 달렸습니다. 층 하나에서 QKᵀ와 (attn)·V가 각각 L²·d_model번의 곱하고더하기이므로 순전파가 4L²·d_model FLOP이고, 역전파까지 3배 하면 토큰당 12·n_layers·L·d_model이 됩니다. 인과 마스킹으로 위 삼각형만 계산하면 그 절반인 6입니다. 자료마다 두 값이 섞여 나오므로 어느 쪽인지 밝히지 않은 수치는 두 배까지 어긋날 수 있습니다.

층 하나에 어텐션 Q·K·V·O 네 행렬이 4·d²이고, FFN이 표준이면 2·r·d², 게이트(SwiGLU 등)면 3·r·d²입니다. r은 d_ff ÷ d_model이며 흔히 4를 씁니다. 게이트를 쓰면 행렬이 하나 더 있으므로 파라미터 수를 맞추려고 r을 8/3로 줄이는 관례가 있습니다 — 3 × 8/3 = 2 × 4로 같아집니다.

6ND의 N은 관례상 임베딩을 뺀 값입니다. 임베딩은 표를 조회하는 것이라 곱셈이 아니기 때문입니다. 다만 출력 쪽 언임베딩은 실제로 행렬 곱이라 세는 관례도 있어서, 이 계산기는 두 값을 나란히 냅니다. 모형이 크면 임베딩 몫이 작아 어느 쪽이든 크게 다르지 않습니다.

이 계산기가 정해 드릴 수 없습니다. 하드웨어, 커널 구현, 병렬화 방식, 통신 비용, 시퀀스 길이에 따라 크게 달라지므로 쓰시는 환경에서 실제로 재신 값을 넣으셔야 합니다. 특정 제품의 성능이나 가격은 자주 바뀌어 굳혀 두면 곧 틀린 값이 되므로 이 계산기에 담지 않았습니다.

여기서 나오는 시간은 계산이 한 번도 멈추지 않는다고 본 하한입니다. 자료를 읽어 오는 시간, 체크포인트 저장, 장애로 인한 재시작, 예열과 평가에 드는 시간은 들어 있지 않습니다. 실제 일정은 대개 이보다 길게 잡습니다.

전송되지 않습니다. 계산은 모두 브라우저 안에서 이루어지며 입력한 값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 6ND는 규모를 가늠하는 어림입니다. 정규화·활성함수·소프트맥스 등 가중치가 없는 잔잔한 연산은 세지 않습니다.
  • 전문가 혼합(MoE)처럼 토큰마다 일부 파라미터만 쓰는 구조에서는 N에 «실제로 활성화되는» 파라미터 수를 넣어야 합니다.
  • 어텐션 항의 계수는 인과 마스킹 반영 여부를 골라 쓰십시오. 어느 쪽을 썼는지 밝히지 않으면 결과를 견줄 수 없습니다.
  • 걸리는 시간은 계산이 멈추지 않는다고 본 하한입니다. 자료 적재·체크포인트·재시작은 포함하지 않습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.