자동 음성 인식(ASR) 또는 음성 텍스트 변환은 사람의 음성을 디코딩하고 이를 디지털화된 텍스트로 변환하는 프로세스와 소프트웨어를 결합한 것입니다.
자동 음성 인식(ASR) 또는 음성 텍스트 변환은 사람의 음성을 디코딩하고 이를 디지털화된 텍스트로 변환하는 프로세스와 소프트웨어를 결합한 것입니다.
자동 음성 인식(ASR)은 사람의 음성을 입력 데이터로 받아들여 읽기 쉬운 텍스트로 변환합니다. ASR은 손을 사용하지 않고 텍스트 메시지를 작성하는 데 도움을 주고 머신의 이해를 지원하기 위한 프레임워크를 제공합니다. 인간의 언어를 검색 및 분석할 수 있게 됨에 따라 개발자들이 감성 분석(Sentiment Analysis)과 같은 고급 분석 기술을 도출할 수 있게 되었습니다.
ASR은 자연어로 머신과 소통할 수 있게 해주는 대화형 AI 애플리케이션 파이프라인의 첫 번째 단계입니다. 일반적인 대화형 AI 애플리케이션은 오디오를 처리하고 전사하는 단계를 수행하기 위해, 즉 질문을 이해(의미 도출)하고 답변(텍스트)을 생성하고 이 답변을 사람에게 다시 말하기 위해 세 가지 하위 시스템을 사용합니다. 이 단계들이 실행되려면 여러 딥 러닝 솔루션이 함께 작동해야 합니다. 첫째, ASR을 사용하여 원시 오디오 신호를 처리하고 텍스트를 전사합니다. 둘째, 자연어 처리(NLP)를 사용하여 전사된 텍스트(ASR 출력)에서 의미를 도출합니다. 셋째, 음성 합성 또는 텍스트 음성 변환(TTS)을 사용하여 텍스트를 토대로 사람 음성을 인공적으로 생성합니다. 이러한 각 단계마다 하나 이상의 딥 러닝 모델을 구축하여 사용해야 하기 때문에 이 다단계 프로세스를 최적화하는 것은 복잡한 작업입니다.
음성 비서와 챗봇부터 질문에 답변하여 고객의 셀프서비스를 지원하는 시스템에 이르기까지, 음성 인식과 대화형 AI의 응용 사례는 날마다 늘어나고 있습니다. ASR 또는 대화형 AI를 솔루션에 적용하고 있는 산업은 금융, 의료 등 실로 광범위합니다. 음성 텍스트 변환은 우리 실생활에서 다음과 같은 다양한 사례에 응용될 수 있습니다.
ASR은 자연어 처리에서 어려운 작업에 속합니다. 잡음이 있고 분할되지 않은 입력 데이터에서 레이블 시퀀스를 예측하기 위하여 음성 분할, 음향 모델링, 언어 모델링과 같은 일련의 하위 작업으로 구성되기 때문입니다. ASR에서 딥 러닝은 음소(음성 생성에 사용되는 소리의 최소 단위)를 식별할 때 더 높은 정확도를 제공하기 때문에 은닉 마르코프 모델, 가우시안 혼합 모델과 같은 기존의 통계적 방식을 대체하게 되었습니다. 딥 러닝 연결 시간 분류(CTC)가 도입되면서 데이터를 사전에 분할할 필요가 없어졌고 이를 통해 신경망은 바로 ASR 등의 시퀀스 레이블링 작업을 위한 엔드투엔드 훈련을 받을 수 있게 되었습니다.
일반적인 ASR CTC 파이프라인에는 다음과 같은 단계가 포함됩니다.
연결 시간 분류(CTC)와 같은 혁신적 기술은 ASR이 딥 러닝을 활용하게 되는 데 중요한 역할을 했습니다. ASR에 많이 사용되는 딥 러닝 모델로는 Wav2letter, Deepspeech, LAS 등이 있으며, 좀 더 최근에 NVIDIA 리서치가 개발한 Jasper는 딥 러닝을 활용하여 음성 애플리케이션을 개발하는 데 사용되는 툴킷입니다. Kaldi는 딥 러닝 모듈에 더해 기존 방식도 지원하는 C++ 툴킷입니다.
GPU는 수백 개의 코어로 구성되어 있어 수천 개의 스레드를 병렬로 처리할 수 있습니다. 신경망은 수많은 동일 뉴런에서 생성되기 때문에 본질적으로 병렬성이 매우 높습니다. 이러한 병렬성은 자연스럽게 GPU로 매핑됩니다. GPU는 CPU만 사용하는 훈련에 비해 월등히 높은 연산 속도를 제공합니다. 예를 들어, GPU 가속 Kaldi 솔루션은 실행 속도가 실시간 오디오보다 3,500배 빠르고 CPU만 사용하는 옵션보다는 10배 더 빠릅니다. 이런 성능으로 인해 GPU는 딥 러닝 모델의 훈련과 추론을 실행하는 플랫폼으로 선호되고 있습니다.
헬스케어
의료 부문의 난제 중 하나는 의료 서비스를 쉽게 이용할 수 있도록 만드는 것입니다. 병원에 전화하면 연결까지 한참 기다리는 일이 흔하고, 심사청구 담당자에게 연결되는 것도 마찬가지일 때가 많습니다. 챗봇 훈련을 위한 대화형 AI 구현은 의료 분야에서 부상 중인 기술로, 의료 전문가의 부족을 해결하고 환자에게 소통의 장을 열어줄 수 있습니다.
NGC의 NVIDIA Clara Guardian과 NVIDIA Fleet Command로 스마트 병원 강화하기라는 블로그에서는 환자로부터 입력 쿼리를 수신하고, 의도와 관련 슬롯을 추출하여 쿼리를 해석하며, 자연스러운 음성으로 응답을 실시간 산출하는 가상 환자 도우미 클라이언트 애플리케이션을 구축하는 방법을 알아볼 수 있습니다.
금융 서비스
금융 서비스 회사들은 대화형 AI를 통해 더 나은 챗봇과 AI 비서를 개발하고 있습니다.
소매
챗봇 기술은 고객 문의를 정확하게 분석하고 응답이나 추천을 생성하기 위해 소매 애플리케이션에 일반적으로 사용됩니다. 이를 통해 고객 여정을 간소화하고 매장 운영의 효율성을 개선할 수 있습니다.
대화형 AI로 서비스를 제공하는 것은 힘든 일처럼 보일 수 있지만, NVIDIA는 현재 이런 프로세스를 더 쉽게 구현할 수 있도록 Neural Modules(줄여서 NeMo)와 NVIDIA Riva라는 신기술을 비롯하여 여러 가지 도구를 제공하고 있습니다. 시간 절약을 위해 사전 훈련된 ASR 모델, 훈련 스크립트, 성능 결과 등도 NGC 소프트웨어 허브에서 구할 수 있습니다.
NVIDIA NeMo는 파이토치 기반의 툴킷으로, 대화형 AI를 위한 AI 애플리케이션을 개발할 때 사용합니다. NeMo는 모듈식 심층 신경망 개발을 지원하므로, 모듈을 연결하고 구성 요소를 혼합 및 결합하여 빠르게 실험을 완료할 수 있습니다. NeMo 모듈은 보통 데이터 레이어, 인코더, 디코더, 언어 모델, 손실 함수 또는 활성화 결합 방법을 나타냅니다. NeMo는 ASR, NLP, TTS 각각에 재사용할 수 있는 구성 요소를 활용하여 복잡한 신경망 아키텍처와 시스템을 쉽게 구축할 수 있도록 합니다. 또한 NVIDIA GPU Cloud(NGC)에서 대화형 AI를 위한 NeMo 리소스를 찾을 수 있습니다. 여기에는 사전 훈련된 모델, 훈련 또는 평가를 위한 스크립트 그리고 개발자가 자체 데이터 세트를 이용해 여러 알고리즘을 실험하고 전이 학습을 실행할 수 있게 해주는 NeMo 엔드투엔드 애플리케이션 등이 포함됩니다.
전체 ASR 파이프라인의 구현 및 도메인 적응을 용이하게 하기 위해 NVIDIA는 도메인 특화 – NeMo ASR 애플리케이션을 개발했습니다. NeMo로 개발된 이 애플리케이션을 사용하면 개발자가 사전 훈련된(음향 및 언어) ASR 모델을 자체 데이터로 훈련하거나 파인 튜닝할 수 있습니다. 이를 통해 개발자는 점진적으로 자체 데이터에 기반하여 더 나은 성능을 발휘하는 ASR 모델을 개발할 수 있습니다.
NVIDIA Riva는 대화형 AI 작업을 수행하기 위한 여러 파이프라인을 제공하는 애플리케이션 프레임워크입니다.
CUDA 를 기반으로 하는 오픈 소스 소프트웨어 라이브러리인 NVIDIA RAPIDS™ 제품군을 사용하면 판다스(Pandas) 및 Scikit-learn API와 같은 익숙한 인터페이스를 계속 사용하면서 엔드투엔드 데이터 사이언스 및 분석 파이프라인을 전적으로 GPU에서 실행할 수 있습니다.
GPU 가속 딥 러닝 프레임워크는 맞춤형 심층 신경망을 유연하게 설계하고 훈련할 수 있는 기능과 파이썬, C/C++와 같이 일반적으로 사용되는 프로그래밍 언어를 위한 인터페이스를 제공합니다. MXNet, 파이토치, 텐서플로 등과 같이 널리 사용되는 딥 러닝 프레임워크는 고성능 멀티 GPU 가속 훈련을 제공하기 위해 NVIDIA GPU 가속 라이브러리를 사용합니다.
더 자세한 내용은 아래 블로그, 코드 샘플, 웨비나 등을 참조해 주세요.
더 알아보기: