IT용어위키


PICACHU (인공지능)

PICACHU(Plug-In CGRA for Nonlinear Operations in LLMs)는 대규모 언어 모델(LLM)에서 반복적으로 등장하는 비선형 연산(Softmax, GELU, LayerNorm, RMSNorm, RoPE 등)을 전용 하드웨어에서 가속하기 위해 고안된 플러그인(Plug-In) CGRA(Coarse-Grained Reconfigurable Architecture) 기반 가속기이다. PICACHU는 전용 컴파일러, 연산 알고리즘 최적화, 그리고 비선형 연산 전용 재구성 가능 연산 유닛(FU)을 결합하여 기존 GPU가 병목으로 겪는 비선형 연산을 빠르게 처리하도록 설계되었다.

본 기술은 다음 논문을 기반으로 한다: Qin, Jiajun, et al. "PICACHU: Plug-In CGRA Handling Upcoming Nonlinear Operations in LLMs." (ASPLOS 2025).

배경: 왜 PICACHU가 필요한가?

대규모 언어 모델은 대부분의 연산이 행렬곱(GEMM)으로 구성되며, 이는 GPU에서 매우 빠르게 처리된다. 그러나 다음과 같은 비선형 함수들은 GPU에서 상대적으로 느리고 병목이 된다.

  • Softmax
  • GELU
  • Sigmoid / SiLU
  • LayerNorm / RMSNorm
  • RoPE (Rotary Positional Embedding)

이 함수들은 다음과 같은 고비용 연산을 포함한다:

  • 지수(exp)
  • 로그(log)
  • 나눗셈(division)
  • 제곱근 / 역제곱근(sqrt / inverse sqrt)
  • 삼각함수(sin, cos)

따라서 전체 추론(latency)의 15~30%가 비선형 함수 처리에 소요되는 경우가 발생한다. PICACHU는 이러한 병목을 완전히 해결하기 위해 설계된 하드웨어 가속기이다.

PICACHU의 전체 구조

다음 구성요소로 이루어진다.

1. Compiler (비선형 연산 탐지 및 오프로딩)

PICACHU 전용 컴파일러는 LLM 모델 그래프 내에서 다음 패턴들을 자동으로 탐지한다.

  • call_cgra_GELU
  • call_cgra_SOFTMAX
  • call_cgra_LAYERNORM
  • call_cgra_RMSNORM
  • call_cgra_ROPE

탐지된 비선형 연산은 기존 GPU가 아닌 PICACHU CGRA 쪽으로 오프로딩된다. 컴파일러는 다음 과정을 수행한다.

  • 패턴 매칭 및 오프로딩
  • Loop Transformation (Unroll & Vectorize)
  • 정밀도 변환(FP / INT)
  • CGRA용 제어 신호(Control Signals) 생성
  • Tile 분할 및 맵핑(Tune & Map)

2. Algorithm Layer (수학적 최적화)

비선형 함수들은 계산 비용을 절감하기 위해 다음과 같은 방식으로 단순화된다.

  • Softmax → 근사 exp + sum + division
  • GELU → 다항식 근사 또는 x·σ(ax + b) 형태로 변환
  • SiLU / Sigmoid → exp 기반 근사
  • LayerNorm → mean/variance 계산 + inverse sqrt 근사
  • RMSNorm → sqrt 근사
  • RoPE → sin/cos 근사 및 LUT 활용

이 구조는 하드웨어에서 빠르게 수행될 수 있도록 함수들을 기초 수학 연산(exponential, division, inverse sqrt, trigonometric)으로 분해한다.

3. Architecture (PICACHU CGRA)

PICACHU의 핵심은 구조적으로 재구성 가능한 연산 어레이(FU Array)이다.

주요 구성 요소:

  • Precision-aware Functional Units (FU)
  • Shared Buffer
  • Streaming Interface
  • Local Interconnect Network
  • DMA 엔진
  • CPU 제어 모듈

CGRA는 특정 비선형 함수에 맞춰 데이터 경로를 재구성하여 최적의 병렬 처리 구조를 만든다.

LLM의 비선형 연산 분류

PICACHU는 다음과 같은 함수들을 모두 처리한다.

Category Nonlinear Operation Mathematical Operator 사용 LLM 예시
Activation Function Softmax exp, division OPT, TS 등 대부분
Activation Function GELU(x), GeLU(U·W + b) division + exponential GPT, LLaMA, BLOOM 등
Activation Function SwiGLU / SiLU(x) division + exponential PaLM, DeepSeek, InternLM
Activation Function ReLU(x) = max(x, 0) maximum 모든 LLM
Normalization LayerNorm(x) inverse square root GPT, Falcon 등
Normalization RMSNorm(x) square root LLaMA, Qwen 등
Positional RoPE sine, cosine GPT-NeoX, LLaMA 등

문서의 핵심은 다음과 같다:

LLM에서 등장하는 모든 비선형 연산은 결국 "기초적인 수학 연산"들의 조합이며, PICACHU는 이들 연산을 전용 하드웨어에서 가속한다.

PICACHU의 장점

  • 비선형 연산의 전용 가속으로 GPU 병목을 제거
  • GEMM과 비선형 연산의 파이프라이닝 가능
  • FP/INT 정밀도 혼합으로 에너지 효율 증가
  • 컴파일러가 자동 오프로딩하여 개발자 부담 감소
  • 기존 시스템(GPU/CPU)에 플러그인 형태로 통합 가능

  출처: IT위키 (IT위키에서 최신 문서 보기)

  * 본 페이지는 IT Wiki에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 IT Wiki에서 확인하세요!