Skip to main content
공개 노트

DeepSeek Attention FLOPs가 중요한 이유

Views 4약 4분생성형 AI 활용
Summary

DeepSeek Attention FLOPs가 중요한 이유

AI 학습 시간을 추정할 때 “GPU가 몇 장인가”만으로는 부족합니다. 더 중요한 질문은 두 가지입니다.

  1. 모델이 실제로 얼마나 많은 연산을 만드는가

  2. 그 연산을 하드웨어가 초당 얼마나 처리하는가

여기서 FLOPs는 부동소수점 연산량, FLOPS는 초당 처리한 부동소수점 연산 수를 뜻합니다.1
쉽게 말해 FLOPs는 “해야 할 일의 양”이고, FLOPS는 “처리 속도”입니다.

DeepSeek Attention FLOPs를 보는 이유도 여기에 있습니다. 모델의 구조가 attention 연산량을 얼마나 줄이는지 알면, 학습·추론 시간과 인프라 비용을 더 현실적으로 추정할 수 있습니다.

Attention FLOPs가 비용을 좌우하는 이유

트랜스포머에서 attention은 입력 토큰들이 서로를 참조하는 계산입니다. 컨텍스트가 짧을 때는 전체 비용의 일부처럼 보일 수 있지만, 긴 컨텍스트에서는 상황이 달라집니다.

일반적인 self-attention의 prefill 비용은 시퀀스 길이에 대해 대략 제곱으로 증가합니다.2
즉, 입력 토큰 수가 늘어날수록 attention 연산량이 빠르게 커집니다.

이 때문에 DeepSeek 계열의 attention 최적화가 주목받습니다. DeepSeek-V4는 CSA와 HCA를 결합한 하이브리드 attention 구조를 사용하며, 100만 토큰 컨텍스트에서 V3.2 대비 토큰당 추론 FLOPs를 약 27%, KV 캐시를 약 10% 수준으로 줄인다고 설명됩니다.3

핵심은 단순합니다.
긴 문서, 긴 대화, 대규모 컨텍스트를 다루는 모델일수록 attention FLOPs 감소는 곧 지연시간과 비용 감소로 이어질 수 있습니다.

학습 시간 추정의 기본식: 연산량 ÷ 실제 속도

학습 시간을 거칠게 추정하는 기본 방식은 다음과 같습니다.

예상 시간 ≈ 전체 FLOPs ÷ 실제 FLOPS

여기서 주의할 점은 “이론상 GPU 성능”이 아니라 “모델을 실제로 실행했을 때의 FLOPS”를 봐야 한다는 것입니다. 같은 GPU를 쓰더라도 모델 구조, 배치 크기, 컨텍스트 길이, 병렬화 방식에 따라 실제 처리 속도는 달라집니다.

DeepSpeed Flops Profiler는 이런 판단에 필요한 지표를 제공합니다. 이 도구는 모델의 학습·추론 속도와 효율을 측정하며, 지연시간, 처리량, 파라미터 수, FLOPs, FLOPS를 함께 출력합니다.1 또한 모델 전체뿐 아니라 하위 모듈별 FLOPs와 지연시간도 측정합니다.1

따라서 단순히 “모델이 크다”가 아니라, 어느 부분이 실제 병목인지 확인할 수 있습니다. attention이 문제인지, MLP가 문제인지, 또는 병렬화와 통신이 영향을 주는지 분리해서 볼 수 있습니다.

프로파일러 수치를 어떻게 읽을까

DeepSpeed 문서의 예시를 보면, BERT-Large는 A100 GPU 1개와 GPU당 배치 크기 80으로 프로파일링됐고, 순전파 FLOPs는 GPU당 6279.86G로 표시됩니다.1

DeepSpeed 예시에서 FLOPS 계산은 다음 방식으로 설명됩니다.1

  • 순전파 FLOPS = 순전파 FLOPs ÷ 순전파 지연시간

  • 역전파 FLOPS = 2 × 순전파 FLOPs ÷ 역전파 지연시간

  • 순전파+역전파 FLOPS = 3 × 순전파 FLOPs ÷ 순전파와 역전파 지연시간의 합

이 계산이 중요한 이유는 학습 비용이 순전파만으로 결정되지 않기 때문입니다. 실제 학습에서는 역전파가 포함되고, 전체 지연시간과 처리량이 함께 봐야 할 대상입니다.

DeepSpeed Flops Profiler는 데이터 병렬 크기와 모델 병렬 크기도 프로파일 요약에 포함합니다.1 즉, 단일 GPU 기준의 계산량뿐 아니라 병렬 실행 환경에서의 효율도 함께 확인할 수 있습니다.

파라미터 수보다 실행 프로파일이 중요하다

모델 크기는 중요한 정보지만, 학습 시간과 추론 비용을 설명하기에는 충분하지 않습니다. 같은 파라미터 규모라도 attention 구조, KV 캐시 사용 방식, sparse attention, 커널 최적화, 배치 크기와 컨텍스트 길이에 따라 실제 FLOPs와 FLOPS는 달라질 수 있습니다.

그래서 DeepSeek Attention FLOPs를 본다는 것은 단순히 “이 모델이 얼마나 큰가”를 묻는 일이 아닙니다. 더 실용적인 질문은 이것입니다.

이 모델을 원하는 컨텍스트 길이와 처리량으로 실제로 돌릴 수 있는가?

FLOPs는 필요한 연산량의 출발점이고, FLOPS는 현재 인프라가 그 연산을 얼마나 효율적으로 처리하는지 보여주는 결과입니다.

실무적으로 확인할 것

DeepSeek Attention FLOPs를 학습 시간 추정에 활용하려면 다음 항목을 함께 봐야 합니다.

  • attention FLOPs가 컨텍스트 길이에 따라 어떻게 변하는가

  • 목표 배치 크기에서 실제 지연시간과 처리량이 얼마인가

  • 순전파뿐 아니라 역전파까지 포함한 FLOPS가 얼마인가

  • 병목이 attention, MLP, 통신 중 어디에서 발생하는가

  • 데이터 병렬·모델 병렬 설정에서 효율이 유지되는가

결론은 간단합니다.
학습 시간을 추정하려면 모델 이름이나 GPU 수만 볼 것이 아니라, attention FLOPs, 컨텍스트 길이, 배치 크기, 실제 프로파일러 수치를 함께 봐야 합니다. 그래야 GPU 예산과 일정이 감이 아니라 계산에 가까워집니다.

1Flops Profiler - DeepSpeed

2DeepSeek Sparse Attention from First Principles

3DeepSeek-V4 - SGLang Documentation

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기