facebookresearch/LayerSkip

Code for "LayerSkip: Enabling Early Exit Inference and Self-Speculative Decoding", ACL 2024

해결하는 문제

LayerSkip는 대규모 언어 모델(LLM) 추론의 계산 비용과 지연을 해결합니다. 생성 과정의 드래프트 단계에서 모델이 깊은 레이어 스택에서 "조기 종료"할 수 있게 함으로써 각 토큰 생성에 필요한 계산량을 줄여 더 빠른 토큰 생성을 가능하게 합니다.

작동 방식

LayerSkip는 단일 모델이 드래프트 모델과 검증 모델 모두로 작동할 수 있도록 하는 학습 기법을 사용합니다. 자기 추측적 디코딩을 구현하여, 지정된 레이어(exit_layer)에서 모델이 종료되어 빠르게 드래프트 토큰을 생성합니다. 이 토큰들은 이후 전체 모델이 한 번의 패스로 검증되며, 표준 자기 회귀적 디코딩보다 훨씬 빠른 처리 속도를 제공합니다.

대상 사용자

정확성을 희생하지 않고 Llama 기반 모델의 추론 속도를 높이고 싶은 AI 연구자 및 개발자에게 적합합니다. 특히 요약 및 코드 생성과 같은 생성 작업에 유용합니다.

주요 특징

  • 자기 추측적 디코딩: 드래프트와 검증에 동일한 모델을 사용하여 별도의 작은 드래프트 모델이 필요하지 않습니다.
  • 조기 종료 추론: 속도와 정확성의 균형을 위해 종료할 레이어를 사용자가 지정할 수 있습니다.
  • 광범위한 모델 지원: 다양한 Llama 2, Llama 3, Llama 3.2, CodeLlama 모델에 대한 사전 학습된 체크포인트를 제공합니다.
  • 통합: Hugging Face transformers 및 PyTorch torchtune에 통합되어 있습니다.
  • 평가 도구: 벤치마크, 정확성 검증, 하이퍼파라미터 스위핑을 위한 스크립트를 포함하여 최적의 종료 레이어와 추측 수를 찾을 수 있습니다.

관련

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