linkedin/Liger-Kernel

Efficient Triton Kernels for LLM Training

해결하는 문제

Liger Kernel은 거대 언어 모델(LLM) 학습 시 발생하는 메모리 및 처리량 병목 현상을 해결합니다. 메모리 사용량을 최대 60%까지 줄이고 다중 GPU 학습 처리량을 약 20% 향상시켜, 메모리 부족(OOM) 오류 없이 더 큰 배치 크기, 더 긴 컨텍스트 길이, 더 큰 어휘 사전을 사용할 수 있게 합니다.

작동 원리

이 프로젝트는 표준 PyTorch 레이어를 대체하는 최적화된 Triton 커널 모음을 제공합니다. 커널 퓨전, 인플레이스 교체, 청킹과 같은 기술을 사용하여 핵심 LLM 구성 요소의 순전파 및 역전파를 최적화합니다. Hugging Face와 호환되는 RMSNorm, RoPE, SwiGLU, CrossEntropy(FusedLinearCrossEntropy 포함) 버전을 구현합니다. 또한 학습 후 정렬 및 증류 작업(예: DPO, ORPO, CPO, SimPO, KTO)을 위한 특수 커널도 제공합니다.

대상 사용자

NVIDIA (CUDA), AMD (ROCm) 또는 Ascend NPU 하드웨어에서 하드웨어 효율성을 극대화하려는 LLM 학습 및 미세 조정 분야의 AI 연구원과 엔지니어를 위해 설계되었습니다.

주요 특징

  • 고효율: 일반 학습 시 처리량을 20% 높이고 메모리 사용량을 60% 줄이며, 학습 후 커널의 경우 최대 80%의 메모리 절감 효과를 제공합니다.
  • 사용 편의성: 단 한 줄의 코드로 Hugging Face 모델에 통합하거나 독립형 모듈로 사용할 수 있습니다.
  • 폭넓은 호환성: Flash Attention, PyTorch FSDP, Microsoft DeepSpeed 및 Axolotl, LLaMA-Factory와 같은 다양한 학습 프레임워크와 즉시 연동됩니다.
  • 정확한 계산: 근사치 없이 수학적 정확성을 보장하며, 엄격한 단위 테스트와 수렴 테스트를 통해 검증되었습니다.
  • 하드웨어 지원: CUDA, ROCm, Ascend NPU를 지원하며, Hopper 및 Blackwell 아키텍처를 위한 cuTile 및 CuTe DSL과 같은 고성능 백엔드를 선택적으로 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch