[논문 리뷰] Trace norm regularization and faster inference for embedded speech recognition RNNs
이 논문은 음성 인식 모델에서 저차원 순환 및 완전 연결 계층을 훈련하기 위해 트레이스 노름 정규화를 도입하여 사전에 차수를 알지 못해도 더 나은 파라미터-정확도 트레이드오프를 가능하게 한다. 또한 저배치 크기에서 3배에서 7배 빠른 추론을 가능하게 하는 최적화된 ARM64 커널을 제안하여 임베디드 LVCSR 시스템의 현장 성능을 크게 향상시킨다.
We propose and evaluate new techniques for compressing and speeding up dense matrix multiplications as found in the fully connected and recurrent layers of neural networks for embedded large vocabulary continuous speech recognition (LVCSR). For compression, we introduce and study a trace norm regularization technique for training low rank factored versions of matrix multiplications. Compared to standard low rank training, we show that our method leads to good accuracy versus number of parameter trade-offs and can be used to speed up training of large models. For speedup, we enable faster inference on ARM processors through new open sourced kernels optimized for small batch sizes, resulting in 3x to 7x speed ups over the widely used gemmlowp library. Beyond LVCSR, we expect our techniques and kernels to be more generally applicable to embedded neural networks with large fully connected or recurrent layers.
연구 동기 및 목표
- 엄격한 지연과 크기 제약 조건을 가진 자원 제약이 있는 임베디드 장치에 대규모 정확도가 높은 음성 인식 모델을 구현하는 데 도전하는 것.
- 대용량 연속 음성 인식(LVCSR) 시스템에서 RNN과 완전 연결 계층의 밀도 행렬 곱셈을 압축하여 모델 크기와 추론 지연을 줄이는 것.
- 새로운 트레이스 노름 정규화 기법을 통해 저차원 인공신경망의 훈련 효율성과 정확도를 향상시키며, 최적의 차수를 자동으로 선택하는 것.
- 순차적 RNN 처리에서 흔한 낮은 배치 크기에 맞게 최적화된 커널을 설계하여 ARM 프로세서에서의 추론 성능을 향상시키는 것.
제안 방법
- 훈련 중에 변분 트레이스 노름 정규화를 적용하여 가중치 행렬에 저차원의 구조를 유도하고, 수동적인 차수 선택이 필요 없도록 특이값에 대한 희박성 유도.
- 두 단계 훈련 방식을 사용: 먼저 전체 차수 모델을 사전 훈련하고, 그 다음 사전 훈련된 가중치의 절삭 SVD를 통해 저차원 모델을 초기화한 후, 트레이스 노름 정규화를 통한 미세조정을 수행.
- 64비트 ARM(AArch64) 프로세서를 대상으로 하여 낮은 배치 크기(1~4)에 최적화된 수동으로 최적화된 어셈블리 커널을 구현.
- 트레이스 노름 정규화를 int8 양자화와 모델 프루닝과 결합하여 정확도를 유지하면서도 더 강력한 모델 압축을 달성.
- iPhone 7, iPhone 6, Raspberry Pi 3 등의 기기에서 gemmlowp(광범위하게 사용되는 저정밀도 GEMM 라이브러리)와의 성능 비교를 수행.
- GitHub를 통해 최적화된 커널과 구현 세부 사항을 공개하여 임베디드 딥 러닝 시스템에서의 광범위한 도입을 가능하게 한다.
실험 결과
연구 질문
- RQ1트레이스 노름 정규화는 최적의 차수를 사전에 알지 못해도 저차원 인공신경망 RNN의 정확도와 파라미터 효율성을 향상시킬 수 있는가?
- RQ2트레이스 노름 정규화는 LVCSR 모델에서 경쟁적인 WER를 유지하면서도 파라미터 수를 얼마나 줄일 수 있는가?
- RQ3기존의 라이브러리인 gemmlowp와 비교해 볼 때, 커스터마이즈된 ARM64 커널은 낮은 배치 크기의 GEMM에서 얼마나 추론 속도를 향상시키는가?
- RQ4낮은 배치 크기 최적화는 현장 음성 인식 시스템에서 종단 간 지연에 어떤 영향을 미치는가?
- RQ5저차원 인공신경망 인공신경망, 양자화, 최적화된 커널의 조합이 다양한 임베디드 기기에서 생산 수준의 현장 음성 인식을 가능하게 할 수 있는가?
주요 결과
- 트레이스 노름 정규화를 통해 자동으로 차수를 선택할 수 있으며, 기존의 저차원 훈련 방식보다 더 나은 정확도 대비 파라미터 효율성을 달성했으며, 전체 크기 기준 기준 모델 대비 상대적 WER 감소율은 iPhone 7에서 -19.6%, iPhone 6에서 -27.4%, Raspberry Pi 3에서 -37.6%를 기록했다.
- 제안된 ARM64 최적화 커널은 iPhone 7, iPhone 6, Raspberry Pi 3 등 다양한 기기에서 gemmlowp 대비 3배에서 7배 빠른 추론 속도를 달성했으며, 특히 낮은 배치 크기 영역(1~4)에서 두드러진 성능 향상을 보였다.
- 저차원 인공신경망 인공신경망, int8 양자화, 커스터마이즈된 커널의 조합을 통해 음성 모델 크기를 최소 14MB(Raspberry Pi 3 기준)까지 압축하면서도 만족스러운 WER를 유지할 수 있었다.
- 추론 지연이 크게 감소하여, GPU 서버에서의 실시간 요소가 10.39에서 Raspberry Pi 3에서 1.08로 감소하여 실시간 성능의 86.3%를 달성했다.
- 이 방법은 LVCSR를 넘어서 일반화 가능하며, 임베디드 플랫폼에서 큰 밀도 또는 순환 계층을 가진 신경망을 압축하고 가속화하는 실용적인 프레임워크를 제공한다.
- 트레이스 노름 정규화 기법이 저차원의 구조를 효과적으로 유도하며, 표준 SVD 기반 초기화 대비 수렴 성능 향상과 초기 차수 선택에 대한 민감도 감소를 보였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.