피드로 돌아가기
Dev.toAI/ML
원문 읽기
tanh 근사화를 통한 연산 비용 절감 및 추론 속도 10배 향상
Aproximar tanh en ML: Padé, K-TanH y bit-hacks IEEE-754
AI 요약
Context
ML 추론 및 오디오 DSP의 forward pass에서 발생하는 수백만 번의 tanh 연산이 시스템 병목으로 작용. 표준 libm::tanhf의 지수 연산 및 나눗셈 기반 구조로 인한 높은 CPU 사이클 소모 및 연산 지연 발생.
Technical Solution
- FMA(Fused Multiply-Add) 기반의 Taylor 급수 적용을 통한 원점 부근 고속 연산 및 임계값(1.365) 기준 Saturation 처리
- Rational Function 구조의 Padé [7/6] 근사법 도입으로 분수 형태의 점근선 구현 및 넓은 입력 범위([-5, 5]) 내 정밀도 확보
- Piecewise Splines 설계를 통한 도메인 분할 및 구간별 최적 다항식 적용으로 오차 최소화
- IEEE-754 부동소수점 비트 레이아웃을 직접 조작하는 Bit-hack 기법을 통한 하드웨어 레벨의 초고속 연산 구현
- NPU 특화 구조인 K-TanH의 Lookup Table 방식을 통한 정수 파이프라인 최적화 설계
Impact
- 다항식 기반 근사법 도입 시 단일 연산 시간 기준 기존 대비 최대 1 order of magnitude(10배) 성능 향상
Key Takeaway
하드웨어 특성(CPU L1 Cache vs NPU Lookup Table)에 따라 최적의 근사 알고리즘이 달라지므로, Target Hardware의 명령어 셋과 메모리 계층 구조를 고려한 알고리즘 선택이 필수적임.
실천 포인트
- CPU 환경에서는 Division 비용이 높은 Padé보다 Taylor 또는 Spline 검토 - NPU/FPGA 등 특수 하드웨어에서는 Lookup Table 기반의 K-TanH 적용 고려 - ML 추론 모델의 경우 1% 미만의 Relative Error가 최종 Accuracy에 미치는 영향도 평가 후 적용 - f32에서 f64로 확장 시 IEEE-754 레이아웃 변경에 따른 Bit-hack 상수 재설정 필요