Less is More: Accurate Speech Recognition & Translation without Web-Scale Data (Canary)
2024년 6월 arxiv, Interspeech 2024
NVIDIA Santa Clara
대규모 데이터, 학습 시간을 요구하는 Transformer Attention Encoder-Decoder (AED) 구조의 기존 Automatic Speech Recognition 모델들보다 효율적으로 학습한 Canary 모델 제안
Whisper, Seamless, OWSM을 위시한 기존 모델들은 autoregressive 구조로 inference time이 길고, 학습 단계에서 엄청난 양의 데이터와 시간을 요구함. 학습 자원이 상세하게 공개된 OWSM은 64 A100 40G에서 16일간 180k 시간의 데이터를 사용하여 학습하였는데, Whisper 등 다른 모델은 OWSM보다도 대규모로 학습된 것으로 추정됨.
특히, OWSM과 Whisper는 256의 global batch size (Whisper v2, v3에서는 1024)로 학습하였는데, 이때 모든 배치가 30초 길이로 패딩되어 학습이 비효율적으로 진행되고 수렴이 방해됨.
Canary는 128 A100 80G에서 48시간 미만의 학습을 진행함. (225k weight updates) 데이터는 86k 시간 사용.
저자들은 3가지 방법으로 기존 방법론들의 비효율을 개선하여 더 저비용으로 학습하면서도 고성능이고, 효율이 좋은 Canary 모델을 개발함.
- 비슷한 길이의 데이터들로 mini-batch를 구성하여 패딩을 최소화하여 학습 시간을 2배 이상 단축
- FastConformer 구조와 사전학습된 weights를 도입하여 학습과 추론 가속.
- Synthetic한 AST supervision을 ASR 데이터에서 생성하여 AST 데이터 없이도 AST 학습 수행
OWSM 대비 GPU vram은 4배, 학습 시간은 1/8배, 학습 데이터는 1/2배 사용
Fast Conformer란 Transformer 기반 ASR 모델인 Conformer의 효율화 버전으로, Transformer로 생각하면 됨
저자들은 Fast Conformer 인코더와 디코더로부터 Canary를 학습했고, CE Loss 사용함.
TOKENIZE
Whisper랑 유사하게 <|startoftranscript|>, <|transcribe|>, <|translate|>, <|nospeech|>, <|endoftranscript|> 과 각 언어별 스페셜 토큰 사용.
프롬프트는 whisper와 유사하지만 입력 및 출력 언어를 <|translate|> 토큰 전후에 특정하게 되어있다. 또한 문장부호와 대소문자를 예측할지를 나타내는 <|pnc|>, <|nopnc|> 토큰이 존재한다.
언어 별 vocab size 1024의 SentencePiece와 conceatenated tokenizer를 사용했고, 스페셜토큰을 위한 32-unit sub-tokenizer를 사용했다.
Dataset Blending
각 데이터셋이 고루 샘플링 되도록하는 확률 P(d)를 지정하고, 이를 학습에서 유지하며 미니 배치 샘플링 수행. 먼저 P(d)에 의해 데이터셋이 선택되고, 그 안에서 샘플을 추출함. 각 데이터셋의 cumulative duration이 동등할 때 natural 하다고 보았음. 언어나 데이터셋에 따라 weight를 다르게 부여하는 실험도 수행.
Variable Utterance Length and Dynamic Batch Sizes
1~40초까지 다양한 음성 길이를 적절하게 다루기 위해 bucketing을 통한 stratified sampling을 수행하였다. (M개의 버킷을 정의하고, 각 버킷에 비슷한 길이의 샘플들을 보관, 미니 배치 샘플링은 한 버킷 안에서만 진행)
버킷을 미리 CPU RAM에 올려두고, max length를 만족하는 샘플들을 이 안에서 mini-batch에 샘플링하여 다이나믹 배치 사이즈 구현. 패딩의 양을 50%에서 3%로 줄임.
Robustness to Hallucinations
음성이 없는 경우에 대한 강건함을 늘리기 위해, 학습 데이터에 노이즈, 음악 등 non-speech 데이터를 추가함