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및 PyTorchtorchtune에 통합되어 있습니다. - 평가 도구: 벤치마크, 정확성 검증, 하이퍼파라미터 스위핑을 위한 스크립트를 포함하여 최적의 종료 레이어와 추측 수를 찾을 수 있습니다.
관련
- Dispatch
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트