austin-distel-rxpThOwuVgE-unsplash.jpg

AI연구회

경남ICT협회 AI 연구 모임

자료실

DeepSeek R1의 저 학습 비용과 FP4 방식에 대해

FP4: 대규모 AI 모델의 새로운 돌파구 - 메모리 절약과 학습 성능을 동시에 잡다


들어가며

오늘날의 대규모 언어 모델(LLM)과 같은 AI 시스템은 수십억 개의 파라미터를 필요로 하며, 이를 처리하기 위한 메모리와 계산 비용이 날로 증가하고 있습니다. 이러한 문제를 해결하기 위해 FP4(4비트 부동소수점) 형식이 주목받고 있습니다. FP4는 기존의 FP16(16비트)나 FP32(32비트)보다 훨씬 적은 메모리로도 정확한 학습 성능을 유지할 수 있는 잠재력을 가지고 있습니다.


FP4란 무엇인가?

FP4는 4비트 부동소수점(Floating Point) 데이터 형식으로, 기존의 FP16이나 FP32보다 훨씬 적은 메모리를 사용하여 숫자를 표현하는 방식입니다. 일반적인 딥러닝 모델에서 가중치(weight)와 활성화(activation) 값을 저장하는 데 필요한 메모리 용량은 모델의 크기에 따라 어마어마해지기 때문에 FP4는 이러한 문제를 효율적으로 해결할 수 있는 대안으로 떠오르고 있습니다.


FP4가 왜 중요한가?

메모리 절약:
FP4는 4비트만 사용하기 때문에 FP16 대비 4배, FP32 대비 8배 적은 메모리로 대규모 모델을 저장할 수 있습니다. 이를 통해 GPU나 TPU 메모리 용량의 한계를 극복하고 더 큰 모델을 단일 장치에서 학습할 수 있습니다.

속도 향상:
FP4는 전용 하드웨어(FP4 Tensor Core)에서 연산되며, 빠른 계산 속도를 유지할 수 있습니다. 메모리 대역폭을 적게 사용하기 때문에 연산 속도도 최적화됩니다.

정밀도 문제 해결:
FP4는 낮은 정밀도로 인해 학습 성능이 저하될 수 있는 문제가 있지만, 이를 보완하기 위해 Look-up Table 기반의 양자화(Quantization)스케일링 팩터가 사용됩니다. 이로 인해 BF16과 유사한 학습 성능을 유지할 수 있습니다.


FP4 학습 프로세스: 어떻게 정밀도를 유지할까?

FP4가 메모리를 줄이면서도 정밀도를 유지하는 핵심은 양자화 과정스케일링 팩터에 있습니다. 아래는 그 과정에 대한 설명입니다:

BF16 텐서에서 FP4로 변환 (양자화)

  • 처음 입력되는 값(예: 가중치, 활성화 값)은 BF16 형식으로 주어집니다.
  • 이 값들은 Look-up Table을 사용해 가장 적절한 FP4 값으로 매핑됩니다. 예를 들어, −0.53-0.53−0.53이라는 BF16 값은 FP4의 정수 값인 −2-2−2로 변환됩니다.

FP4 Look-up Table 사용

  • Look-up Table은 FP4가 표현할 수 있는 4비트 정수 값들을 미리 정의하여 BF16 값을 해당 범위로 매핑합니다.
  • 이 과정은 FP4의 낮은 정밀도로 인해 발생할 수 있는 양자화 오류를 최소화하는 데 기여합니다.

스케일링 팩터 적용

  • 변환된 FP4 값에  스케일링 팩터(예: 4.3)가 적용되어 연산 과정에서 원래 값과 유사한 실제 값을 복원합니다.
  • 이를 통해 FP4로 연산하더라도 정확한 결과를 도출할 수 있습니다.

FP4 Tensor Core에서 연산

  • 변환된 FP4 값들은 FP4 전용 하드웨어 코어에서 빠르게 계산됩니다.
  • 행렬-행렬 곱(GeMM)과 같은 연산이 효율적으로 이루어진 후, 결과값에 다시 스케일링 팩터가 적용되어 최종 결과의 정확성을 보장합니다.

FP4의 실제 성능: BF16과의 비교

아래의 그림은 FP4와 BF16의 학습 손실(loss) 변화를 비교한 것입니다.

![Loss Comparison](이미지 삽입 위치)

  • FP4(Direct Cast)는 BF16을 단순히 FP4로 변환했을 때 발생하는 문제를 보여줍니다. 손실 값이 불안정하고 학습이 제대로 이루어지지 않습니다.
  • 하지만, 제안된 FP4 방법(FP4 Ours)은 Look-up Table과 스케일링 팩터를 사용하여 BF16과 거의 동일한 손실 곡선을 보여줍니다.
  • 결과적으로, FP4는 메모리를 크게 절약하면서도 정확한 학습 성능을 제공합니다.

FP4의 한계와 극복 방안

정밀도 부족:
FP4는 낮은 정밀도 때문에 양자화 오류나 손실 폭발 문제가 발생할 수 있습니다.

  • 이를 극복하기 위해 스케일링 팩터, Look-up Table, 양자화 재조정 등의 기법을 적용합니다.

하드웨어 지원:
기존의 GPU나 TPU에서는 FP4 연산이 제한될 수 있지만, NVIDIA Hopper 아키텍처와 같은 최신 하드웨어에서 FP4를 지원하고 있습니다.

  • 앞으로 FP4는 더 많은 하드웨어에서 최적화될 가능성이 높습니다.

결론: FP4는 대규모 AI 학습의 게임 체인저

FP4는 단순히 메모리를 줄이는 데 그치지 않고, 대규모 모델에서 메모리, 속도, 정밀도 간의 균형을 맞춘 혁신적인 기술입니다.

- 메모리 사용량을 대폭 줄이면서
- 빠른 학습 속도를 유지하고
- BF16과 유사한 학습 성능을 제공합니다.

따라서 앞으로 대규모 언어 모델, 컴퓨터 비전 모델 등에서 FP4가 중요한 역할을 할 가능성이 높으며, AI의 메모리 및 연산 자원 문제를 해결하는 주요 기술로 자리 잡을 것입니다. 

 

이 그래프는 FP4 형식을 사용하는 방법별 손실(loss)의 변화를 나타냄으로써 각 방법의 성능을 비교합니다.

FP4 (Direct Cast) (초록색 선):
BF16을 직접적으로 4비트 형식으로 변환했을 때의 손실 변화입니다.

  • 처음에는 손실이 감소하지만, 이후 정체되거나 급격히 손실이 증가하는 모습을 보입니다.
  • 이는 FP4의 정밀도 부족 문제로 인해 학습이 불안정해진다는 것을 의미합니다.

FP4 (Ours) (빨간색 선):
제안된 FP4 변환 방식입니다.

  • 손실 값이 **BF16 기준(파란색 선)**과 거의 동일하게 안정적으로 감소하는 것을 볼 수 있습니다.
  • 즉, FP4의 정밀도 문제를 해결한 방법임을 의미합니다.

BF16 Baseline (파란색 선):
BF16 형식을 사용한 기준 성능입니다.

  • FP4(Ours)와 거의 비슷한 손실 감소 패턴을 보이며, 안정적인 학습이 이루어집니다.

결론:

  • 직접적인 FP4 변환(Direct Cast)은 불안정하며 학습이 제대로 이루어지지 않습니다.
  • 제안된 FP4 방법은 정밀도를 보완하여 BF16과 비슷한 성능을 보입니다.

 

이 그림은 BF16 텐서를 FP4로 양자화(Quantization)하여 텐서 코어에서 연산하는 전체 과정을 설명합니다.

과정 설명:

BF16 Tensor (왼쪽 녹색 박스)

  • 초기 입력 텐서 또는 가중치 텐서가 BF16 형식으로 주어집니다.

Quantization Function (Q)

  • BF16 값을 FP4 Look-up Table에 매핑하여 정수 형태의 FP4 값으로 변환합니다.
  • 예: -0.53 (BF16) → -2 (FP4 정수 값)

FP4 Look-up Table과 Scaling Factor (4.3)

  • FP4로 변환된 값에 **스케일링 팩터(4.3)**가 적용되어 FP4의 낮은 정밀도를 보완합니다.
  • 작은 정수 값을 실제 값에 가깝게 확장하여 연산 시 정확성을 확보합니다.

FP4 Tensor Core (오른쪽 연산 블록)

  • 변환된 FP4 텐서가 FP4 Tensor Core에서 연산됩니다.
  • **GeMM(General Matrix-Matrix Multiplication)**을 수행하여 입력과 가중치 간의 곱셈이 이루어집니다.

스케일링 팩터 SwS_wSw​와 SiS_iSi​ 적용

  • 결과값에 스케일링 팩터를 적용하여 최종적으로 계산 정확도를 유지합니다.

 

핵심내용은 

FP4의 정밀도 부족 문제:

  • 첫 번째 그림에서 직접적인 FP4 변환(초록색 선)은 손실 증가를 초래하는 문제가 있음을 보여줍니다.

제안된 FP4 방법의 개선:

  • 제안된 방법에서는 FP4 Look-up Table과 스케일링 팩터를 적절히 활용하여 정밀도를 보완하고, BF16과 비슷한 성능을 달성합니다.

효율성과 정확성의 균형:

  • FP4로 변환하여 메모리 사용량을 크게 줄이면서도 스케일링 팩터를 통해 계산 정확성을 유지하는 방법을 제시하고 있습니다.

 

결국 FP4 방식은 낮은 비용으로도 대규모 언어 모델(LLM)과 같은 AI 모델을 학습하는 데 매우 유용한 기술메모리와 계산 비용을 줄이면서도 기존 정밀도를 유지할 수 있다는 것입니다. 이를 통해 저비용 하드웨어 환경에서도 LLM과 같은 거대한 모델을 효과적으로 학습할 수 있는 길이 열리게 됩니다.

 

**참고 Site: 

http://www.gnict.org/게시판/ai연구회/llm을-소비자-하드웨어에서-학습-위한-검토-fp4와-양자화/

Optimization Using FP4 Quantization For Ultra-Low Precision Language Model Training - MarkTechPost  

https://medium.com/towards-data-science/a-visual-guide-to-quantization-930ebcd9be94

https://arxiv.org/html/2501.17116v1(이미지 출처) 

 

기업 홍보를 위한 확실한 방법
협회 홈페이지에 회사정보를 보강해 보세요.