4 minute read

2014년에 Dario Amodei와 Andrew Ng는 중국 기업 바이두 실리콘밸리 연구소에서 근무한적 있는데, 다리오 아모데이 등의 연구진이 개발한 Deep Speech 2(DS2)는 기존의 복잡한 음성 인식 시스템을 단일 딥러닝 구조로 통합한 대규모 음성 인식 모델이다. AlexNet이 gpu와 대용량 데이터를 활용해 computer vision 분야의 패러다임을 바꾼 것처럼, DS2는 음성 인식 분야에서 종단간(End-to-End) 대규모 딥러닝 방식이 기존의 다단계 복합 시스템보다 뛰어난 성능을 낼 수 있음을 입증했다.

아키텍처

DS2는 음성 신호를 입력받아 텍스트로 직접 변환하는 구조를 가진다.

기존 음성 인식 시스템은 사람이 언어학적 규칙에 따라 만든 ‘발음 사전(Phonetic dictionary)’을 필수적으로 사용했다. 발은 사전은 단어의 발음을 기호로 정의한 것인데, 언어나 방언, 발음 변형에 따라 매번 새로 구축해야해서 노동 집약적이고 오류가 발생하기 쉬웠다. DS2는 이 발음 사전을 완전히 제거하고, 오디오 특징값에서 문자단위로 직접 매핑하는 방법을 학습했다.

또한 기존 시스템은 음성 데이터의 각 프레임 단위가 정확히 어떤 음성 단어에 해당하는지 위치를 맞춰주는 ‘프레임 단위 정렬’ 작업이 필요했다. DS2는 Connectionist Temporal Classification, CTC 기법을 대규모로 적용하여, 사전 정렬 과정 없이도 음성 시퀀스와 텍스트 시퀀스를 직접 연결히야 학습할 수 있게 했다.

모델의 내부 동작 과정을 보면, 입력된 오디오 신호는 먼저 음성의 주파수 변화를 시각화한 Spectrogram으로 변환된다. 그후 합성곱(Convolutional) 레이어가 spectrogram을 스캔하며 배경 소음이나 톤의 변화 같은 국소적 특징을 추출한다. 이 특징값은 여러개의 순환 계층(Recurrent Layer)을 거치면서 시간에 따른 음성의 흐름과 맥락을 추적한다. 마지막으로 완전 연결 계층(Fully connected layer)를 거쳐 영어의 경우 연속된 두 글자 조합을 중국어의 경우 단일 문자를 출력한다.

image

실시간 서비스를 위해 DS2는 두 가지 주요 구조적 기술을 도입했다.

첫번째는 Row convolution(행 합성곱)이다. 과거와 미래의 문맥을 모두 참조하는 양방향 RNN은 인식 정확도가 높지만, 미래의 음성이 입력될 때까지 기다려야 하므로 실시간 음성 스트리밍 서비스에 사용할 수 없었다. DS2는 단방향 RNN의 출력 위에 좁은 시간 범위를 커버하는 행 합성곱 레이어를 얹어, 미래의 짧은 순간만 참조함으로써 스트리밍 환경에서도 낮은 지연 시간으로 높은 정확도를 구현했다.

둘째는 Stride(보폭)와 Bigram(글자 조합) 출력이다. 초기 합성곱 계층에서는 시간 축으로 보폭을 넓혀 데이터를 압축함으로써, 뒤따르는 순환 계층이 처리해야 할 시간 연산 단계를 크게 줄였다. 이때 정보 손실을 막기 위해 영어 모델에서는 단일 글자 대신 두 글자 조합을 한번에 예측하도록 설계하여 연산 효율과 메모리 사용량을 대폭 개선했다.

추가적으로, 시퀀스 길이에 따라 배치 단위로 입력 데이터의 평균과 분산을 정규화하는 ‘시퀀스 단위 배치 정규화’를 적용하여 깊은 순환 신경망의 학습 안정성을 확보하고 수렴 속도를 높였다.

학습 기법

DS2는 대규모 데이터와 컴퓨팅 자원을 효과적으로 활용하기 위해 다수의 GPU를 동시 활용하는 Data parallelism(데이터 병렬화) 기술을 구축했다. 8개에서 16개의 GPU에 데이터를 나누어 동시에 계산한 뒤 Gradient를 동기화하는 방식을 취했으며, 표준 통신 프로토콜 대신 gpu 간 직접 데이터 전송이 가능한 커스텀 All reduce 연산을 직접 개발하여 전체 학습 속도를 2.5배 향상시켰다.

추론 과정에서는 기존 32비트 단정밀도 플로팅 포인트 대신 16비트 반정밀도(FP16)연산을 도입했다. 이로인해 인식 정확도와의 손실 없이 메모리 사용량을 절반으로 줄이고 추론 처리량을 약 2배로 늘렸다. 이는 현대 딥러닝에서 보편화된 양자화(Quantization) 및 저정밀도 연산 기술의 중요한 선구적 사례가 되었다.

학습 초기 단계의 안정성을 위해 SortaGrad라는 커리큘럼 학습 기법을 개발했다. 학습의 첫 번째 Epoch 동안 오디오 입력 데이터를 길이가 짧은 순서대로 정렬하여 모델에 제공했다. 길이가 짧고 단순한 음성 데이터를 먼저 학습시킴으로써 초기의 수치적 불안정성을 줄이고 안정적인 수렴을 유도했다.

또한, 전체 학습 데이터의 약 40%에 인위적인 합성 배경 소음을 섞는 Data augmentation을 적용했다. 이를 통해 다양한 실제 소음 환경에서도 모델이 음성 신호의 핵심 특징을 잘 찾아내도록 일반화 성능을 높였다.

이러한 기법들을 바탕으로 DS는 각각 약 1만시간의 영어, 중국어 음성 데이터를 사용해 학습되었다. 연구진은 학습 데이터의 양이 10배 늘어날 때마다 단어 오류율(WER)이 상대적으로 약 40%씩 감소하는 경향을 밝혀냈다. 깨끗한 음성 조건에서 DS2는 크라우드소싱 기반의 일반 사람 평가자보다 더 낮은 오류율을 기록하며 뛰어난 성과를 보였다. 다만 소음이 심하거나 억양이 강한 환경에서는 여전히 사람의 인식 능력에 미치지 못했다.

언어 모델 및 디코딩

DS2는 최대 1억 개에 달하는 파라미터를 가지고 있어 단말기 내부에서 직접 실행하기에는 부적합했기에, GPU 서버를 활용한 클라우드 서비스 형태로 배치되었다.

실시간 추론의 효율성을 극대화하기 위해 “Batch dispatch” 기술을 사용했다. 여러 사용자의 음성 요청이 동시에 들어올 때 이를 2개에서 4개 단위의 소규모 배치로 실시간으로 묶어서 처리함으로써, GPU 메모리 대역폭의 낭비를 줄이고 평균 50~70밀리초의 매우 낮은 지연 시간을 달성했다.

음성 모델의 출력을 최종 텍스트로 변환할 때는 외부 언어 모델과 결합된 Beam search 디코딩 알고리즘을 사용했다. 가장 확률이 높은 단어 하나만 선택하는 Greedy search 방식은 속도는 빠르지만 전체적인 문맥을 놓치기 쉽다. 반면 Beam search는 유망한 문장 후보군을 일정 개수 유지하면서 음성 모델의 점수와 문맥적 자연스러움을 평가하는 언어 모델의 점수를 함께 합산하여 최적의 문장을 선택한다.

이 과정에서 수많은 후보를 탐색할 때 발생하는 연산 병목을 막기 위해 Heuristric pruning을 도입했다. 영어 디코더에서는 매 단계 상위 500개, 중국어 디코더에서는 상위 200개의 후보만 남기고 가능성이 낮은 후보를 제거함으로써, 높은 변환 정확도를 유지하면서도 탐색 연산량을 크게 줄였다.

영향

DS2는 단순한 음성 인식 모델을 넘어, 대규모 데이터와 강력한 컴퓨팅 자원, 알고리즘의 결합이 가져오는 성능 확장성을 정량적으로 증명한 대표적 사례이다. 학습 시간을 최대 7배 단축시켜 몇 주씩 걸리던 실험을 며칠 단위로 줄였으며, 언어가 바뀌더라도 구조의 근본적인 수정 없이 영어와 중국어 모두에서 높은 성능을 확보하는 범용성을 보여주었다.

다만 DS2가 완전한 종단간 구조에는 한계도 존재했다. Beam search 과정에서 외부 언어 모델에 의존해야했기 때문에, 신경망 혼자서 음성 인식의 모든 문제를 환전히 해결한 것은 아니었다. 이후 transformer, conformer 아키텍처가 등장하고 Byte-Pair Encoding(BPE)과 같은 더 유연한 토큰화 기법이 도입되면서 DS2의 세부 기술 일부는 교체되었다. 그러나 대용량 데이터 가반의 종단간 학습, CTC 기반 시퀀스 학습, 합성곱 프론트엔드 활용, 실시간 배치를 고려한 엔지니어링 설계는 현대 음성 인식 시스템의 표준적인 기틀이 되었다.

엔지니어링 패러다임의 전환

2010년대 인공지능 연구는 학술적인 수식이나 이론적 신규성에 집중하던 방식에서, 대규모 시스템과 고도화된 엔지니어링을 통합하여 실제 문제를 해결하는 방향으로 전환되기 시작했습니다. DS2는 이러한 엔지니어링 중심 패러다임 전환의 대표적인 연구이다.

DS2가 발표되었을 당시 학계 일각과 학술 대회(ICML 2016) 피어 리뷰어들은 이 논문에 근본적으로 새로운 알고리즘적 이론이 없으며, 기존 기술들을 대규모로 확장하고 구현한 것에 불과하다며 ‘순수 엔지니어링’ 또는 ‘무력(Brute force)에 의한 성과’라고 비판적인 시각을 보이기도 했다.

그러나 일리야 수츠케버(Ilya Sutskever)를 비롯한 주요 연구자들은 실제 AI의 거대한 도약이 단순한 이론적 아이디어에 그치는 것이 아니라, 검증된 기술을 깊이 이해하고 이를 대규모 데이터와 최적화된 컴퓨팅 시스템 위에서 안정적으로 실행 및 배포하는 엔지니어링적 정교함에서 나온다고 보았다. 단 2~3명의 소규모 팀이 단편적인 아이디어를 제시하던 과거와 달리, Deep Speech 2(34명의 저자)나 AlphaGo(20명의 저자)처럼 대규모 인원이 협력하여 정교한 엔지니어링 시스템을 구축하는 연구 형태가 인공지능 발전의 핵심 동력으로 자리잡게 되었다.

결과적으로 Deep Speech 2는 이론과 실제 구현 사이의 격차를 줄이고, 대규모 컴퓨팅 인프라와 제품 중심의 엔지니어링이 실제 인공지능 성능 향상에 얼마나 결정적인 역할을 하는지를 명확하게 보여준 역사적 이정표가 되었다.

Leave a comment