본문 바로가기
  • ✨contact : survd0404@gmail.com
cs

컴퓨터의 수 표현 진화 타임라인

by 수민이수민수민이수민 2025. 11. 9.

아날로그 시대 — “수”를 전기로 표현하려던 시절

  • 시대: 1940~50년대 초반
  • 방법: 전압이나 전류 크기 자체가 “수”
  • 문제: 잡음이 조금만 섞여도 값이 달라짐
  • “연속값(analog)”은 정확하지 않다.

➡ 인간이 생각함:

“전압을 아예 0과 1로 나누면 어때?”
→ 노이즈에 강하고 단순한 디지털 표현의 시작.


고정소수점 (Fixed-Point)

  • 시대: 1950–1960
  • 개념:
    • 일정한 자릿수를 정해놓고 소수점 위치를 “고정”시킨 수.
    • 예: 00011010 = 26 → 2.6 으로 소수점 위치를 인간이 미리 약속.
  • 장점: 빠르고 간단.
  • 단점: 표현 가능한 범위가 작고, 큰/작은 수 둘 다 다루기 어려움.

➡ 과학 계산, 통계용으로 부족.


부동소수점 (Floating-Point)

  • 시대: 1970~1980
  • 대표: IEEE 754 표준
  • 개념:→ 소수점이 “떠다닌다(floating)” → 매우 큰 수, 작은 수를 모두 표현 가능.
  •  
    float = 부호(1bit) + 지수(exponent) + 가수(mantissa)
  • 대표 포맷:
    • float32 (fp32)
    • float64 (fp64)

➡ 과학계·그래픽·AI 초기 연구의 근본 단위로 자리 잡음.


효율 전쟁의 시작 — 16bit (Half Precision)

  • 시대: 2010년대 중반 (NVIDIA Pascal, Volta 세대)
  • 배경:
    • GPU로 딥러닝을 학습시키기 시작하면서 “정밀도는 충분하지만 메모리가 부족함”.
    • 대부분의 딥러닝 가중치는 소수점 몇 자리만 중요하다는 걸 알게 됨.
  • 등장:
    • fp16 (IEEE half precision)
    • bfloat16 (brain float16) → 구글 TPU에서 개발, exponent 범위를 더 넓힘.
  • 효과:
    • 학습 속도 2배, 메모리 절반으로 감소
    • 정확도 거의 유지

➡ “정밀도 줄여도 모델은 괜찮다”는 첫 실험적 성공.


양자화 (Quantization)

  • 시대: 2018~2022
  • 아이디어:
  • “16비트도 많다. 추론할 때는 8비트, 4비트로 줄이자.”
  • int8 quantization:
    • 학습된 float 가중치를 8bit 정수로 근사.
    • 속도 ↑, 메모리 ↓
  • 문제:
    • 정수 스케일링으로 인한 표현 손실 (특히 activation에서 심함)
    • “정밀도 저하” → “모델 성능 하락”

 QLoRA의 등장 — nf4 (Normalized Float 4)

  • 시대: 2023 (Berkeley, Hugging Face 공동 연구)
  • 핵심 아이디어:
  • “4비트로 줄이되, 단순 int4가 아니라
    float 성질을 흉내내는 정규화된 부동소수점(nf4)을 쓰자.”
  • nf4 특징:
    • 4비트지만 단순 정수 아님.
    • 0을 중심으로 한 정규 분포 가정.
    • 가중치를 미리 z-score로 정규화한 후 4bit에 압축.
    • 계산 직전엔 다시 bfloat16으로 복원.
  • 결과:
    • 기존 16비트 대비 메모리 4배 절약,
    • 성능은 거의 동일 (1% 이하 차이).

➡ QLoRA = “Quantized Low-Rank Adapter”
→ 4bit로 저장 + LoRA로만 학습 → VRAM 24GB짜리 GPU로도 Llama-7B 미세튜닝 가능.


미래 — Dynamic Precision / 2bit quant / Mixed FP8

  • 현재(2024~)
    • NVIDIA Hopper 아키텍처에서 FP8 지원
    • 일부 연구는 3bit, 2bit quantization 실험 중
    • 학습 중 자동으로 “필요한 구간만 고정밀도”로 바꾸는 dynamic precision 기법 연구

➡ 최종 목표:

“필요할 때만 정밀하고, 나머지는 최소한으로 저장/계산”
→ 인간 뇌의 에너지 효율에 근접한 AI 하드웨어.


📜 요약 타임라인

시대표현 방식비트수핵심 아이디어대표 용도
1950s 고정소수점 8~16 소수점 위치 고정 초기 컴퓨터
1970s 부동소수점 (float32/64) 32–64 큰 범위 표현 과학 계산, 그래픽
2010s 반정밀도 (fp16, bf16) 16 메모리 절약 딥러닝 학습
2018+ 정수 양자화 (int8) 8 추론 가속 경량화 모델
2023 nf4 (QLoRA) 4 정규화된 float 근사 대형 LLM SFT
미래 FP8, 2bit, dynamic 8↓ 구간별 정밀도 적응 초고효율 AI 하드웨어

 

'cs' 카테고리의 다른 글

메모리의 주소 공간 - 물리 주소와 논리 주소  (0) 2024.08.11
소스코드와 명령어  (0) 2024.08.10
컴퓨터 구조의 큰 그림  (0) 2024.08.10