[논문 리뷰] Efficient Sequence Packing without Cross-contamination: Accelerating Large Language Models without Impacting Performance
이 논문은 대규모 언어 모델 훈련에서 패딩 토큰을 제거하기 위해 시퀀스 패킹을 백정렬 문제로 새로운 수학적 공식화하는 방법을 제안한다. 이로 인해 성능 손실 없이 최대 2배의 속도 향상을 달성한다. 효율적인 수학적으로 동치인 패킹 알고리즘을 사용하고, 주의 메커니즘을 수정하여 서로 다른 시퀀스 간의 오염을 방지함으로써, 표준 하드웨어에서도 높은 처리량 훈련이 가능해지며 정확도 저하 없이 작동한다.
Effective training of today's large language models (LLMs) depends on large batches and long sequences for throughput and accuracy. To handle variable-length sequences on hardware accelerators, it is common practice to introduce padding tokens, so that all sequences in a batch have the same length. We show in this paper that the variation in sequence lengths in common NLP datasets is such that up to 50% of all tokens can be padding. In less common, but not extreme, cases (e.g. GLUE-cola with sequence length 128), the ratio is up to 89%. Existing methods to address the resulting inefficiency are complicated by the need to avoid cross-contamination in self-attention, by a reduction in accuracy when sequence ordering information is lost, or by customized kernel implementations only valid for specific accelerators. This paper introduces a new formalization of sequence packing in the context of the well-studied bin packing problem, and presents new algorithms based on this formulation which, for example, confer a 2x speedup for phase 2 pre-training in BERT. We show how existing models can be adapted to ensure mathematical equivalence between the original and packed models, meaning that packed models can be trained with existing pre-training and fine-tuning practices.
연구 동기 및 목표
- 대규모 언어 모델의 가변 길이 시퀀스 배치 처리에서 발생하는 패딩 토큰으로 인한 비효율성을 해결한다.
- 구분자 토큰이나 정렬된 배치 처리에 의존하는 기존 방법들이 겪는 상호 오염, 정확도 저하, 하드웨어에 종속된 최적화 등의 한계를 극복한다.
- 일반적인 목적의, 가속기와 무관한 시퀀스 패킹 프레임워크를 개발하여 표준 훈련 및 피지테이닝 워크플로우와 호환되도록 한다.
- 패킹된 모델과 언패킹된 모델 간의 수학적 동치성을 확보하여 수렴 행동과 모델 성능을 유지한다.
- 복잡한 커널 구현이나 구분자 토큰이 필요 없이도 근사 최적의 패킹 효율을 달성한다.
제안 방법
- 패딩을 최소화하기 위해 시퀀스 패킹을 새로운 수학적 공식화를 통해 백정렬 문제로 공식화한다.
- 기존의 해법(예: 비음수 최소 제곱법 등)을 기반으로 최적의 패킹 전략을 계산하는 두 가지 결정적이고 효율적인 알고리즘을 도입한다.
- 잔차 페널티를 포함한 가중치가 부여된 선형 프로그래밍 공식화를 사용하여 패딩 토큰을 최소화하고 남은 시퀀스를 처리한다.
- 패킹된 배치 내에서 서로 다른 시퀀스 간의 오염을 방지하기 위해 자기주의 메커니즘을 수정하여, 주의 계산을 시퀀스 내부에서만 수행하도록 보장한다.
- 남은 시퀀스를 처리하기 위해 잔차 기반 보정 단계를 도입하여 동적으로 새로운 패킹 전략을 추가한다.
- 주의 마스크와 위치 임베딩을 조정하여 패킹된 시퀀스에서도 주의 패턴을 유지함으로써 모델의 동치성을 확보한다.
실험 결과
연구 질문
- RQ1패딩을 최소화하면서 모델 성능을 유지하기 위해 시퀀스 패킹을 백정렬 문제로 공식화할 수 있는가?
- RQ2구분자 토큰이나 정렬된 배치 처리에 의존하는 기존 패킹 방법의 성능 및 정확도 상호 간의 상충 관계는 어떠한가?
- RQ3하드웨어에 종속되지 않은 최적의 효율성과 표준 훈련 워크플로우와 호환되는 패킹 전략을 설계할 수 있는가?
- RQ4정확도 저하 없이 패킹된 시퀀스에서 자기주의의 상호 오염을 어떻게 방지할 수 있는가?
- RQ5제안된 방법이 수렴 행동과 모델 정확도를 유지하면서 훈련 처리량을 얼마나 향상시킬 수 있는가?
주요 결과
- BERT의 2단계 사전학습에서 시퀀스 길이 512일 때 위키백과 사전학습 데이터셋의 최대 50%가 패딩 토큰이며, GLUE-cola에서는 길이 128일 때 최대 89%가 패딩 토큰이다.
- 제안된 패킹 방법은 BERT의 2단계 사전학습에서 패딩 토큰을 제거함으로써 이론적으로 최대 2배의 속도 향상을 달성한다.
- 패킹된 데이터셋에서 BERT-large의 수렴 행동은 언패킹된 데이터셋과 수학적으로 동치이며, 성능 저하가 없다.
- 이 방법은 패딩 토큰을 거의 제로 수준으로 줄여 위키백과 데이터셋에서 패킹 효율 98.7%를 달성한다.
- 수백만 개의 시퀀스를 포함한 데이터셋에 대해서도 패킹 전략을 1초 이내에 계산할 수 있어 실시간 프리프로세싱이 가능하다.
- 이 방법은 하드웨어에 종속되지 않으며 표준 훈련 및 피지테이닝 워크플로우와 호환되며, 모델 재학습이나 맞춤형 커널이 필요하지 않다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.