Speech LM 이란?
Chat GPT를 필두로 텍스트 기반의 생성형 언어모델이 성공하자 이를 활용한 멀티모달 인공지능에 대한 연구가 활발해지고 있습니다. (멀티모달이란, 텍스트 외에 사진이나 소리 등을 입력으로 함께 받아 이를 함께 활용하는 인공지능 모델을 의미) 오늘은 그 중에서 음성을 같이 활용한 SLM(Speech Language Model)에 대하여 포스팅 하도록 하겠습니다. SLM은 최근에 급격하게 연구가 이루어지고 있는 분야로, 사실 이를 부르는 용어도 통일 되지 않았습니다. speech LM 이라고도 불리고, Spoken LM이라고도 불리며 Large Audio Language Model(LALM) 이라고 불리기도 한답니다. 이를 공부하기 위해 저희는 “On The Landscape of Spoken Language Models: A Comprehensive Survey” 이라는 논문을 가지고 SLM의 개념에 대해서 공부를 하였고, 이를 간략하게나마 공유하고자 합니다. SLM의 구성요소 위 그림은 음성을 이용한 SLM에 대한 여러 카테고리와 구성 요소들에 대한 도식입니다. 음성 입력만 있고, 음성 출력만 있는 순수한 “Pure Speech LM”, 음성과 텍스트 입력이 되고, 출력은 텍스트만 있는 “speech-aware text LM” 그리고, 입출력 모두 음성, 텍스트가 가능한 “speech+text LM”으로 구분할 수 있겠습니다. 위 그림의 가운데에 있는 Sequence Model이 흔히들 말하는 LLM 입니다. 여기에는 Meta에서 개발한 LLAMA, 중국의 알리바바에서 개발한 Qwen 등 다양한 LLM 모델이 들어갈 수 있습니다. 그리고 이 모델에 input으로 텍스트나 음성을 넣기 위한 encoder와 소리를 생성하기 위한 decoder가 있습니다. 보통은 LLM 자체만으로 너무 큰 모델이기 때문에 인코더, 디코더, sequence model을 각각 따로 학습 시킨 뒤 (보통은 학습 되어 있는 모델을 다운 받습니다.) 이를 결합해주는 어댑터 부분만을 학습시키는 경우가 많습니다. 음성 인코더로 사용할 수 있는 모델은 많이 있는데, 음성에서 전통적인 특징 추출 방법(푸리에 변환 - 멜 스펙트로그램 등)을 이용한 방법, 음성인식기에서 앞부분을 취해 음성에 대한 임베딩을 추출할 수 있는 부분 등 여러 방법이 있습니다. 음성은 텍스트에 비해 특정 시간 동안 동일한 의미의 임베딩이 추출될 가능성이 높고, 같은 내용을 담은 시퀀스에 대해 텍스트와 길이가 다르기 때문에 이를 적절히 압축해 줄 수 있는것이 또 하나의 연구거리 입니다. 어댑터로도 선형 변환을 이용한 어댑터, CNN 레이어를 이용한 어댑터 등 다양한 종류를 선택할 수 있습니다. 좋은 어댑터를 고르면, SLM에 대한 특별한 데이터셋 없이 음성인식 학습을 위한 데이터셋 만으로 모델을 잘 학습할수 있다고 합니다. SLM의 음성 토큰 생성 전략 sequence model도 기존 LLM과 달리 음성 특징에 대한 토큰을 생성해내야 하기 때문에 특별한 작업이 필요합니다. 생성해야 할 음성에는 언어적인 정보 뿐 아니라 장단이나 음색과 같은 소리의 특성적인 부분도 있기 때문에 이를 coarse token, finer token 등 여러 부분에 대한 token으로 나누어 생성해내도록 합니다. coarse token은 언어정보가 들어있고, finer token에는 소리의 특성이 들어있습니다. 위의 그림처럼 크게 4가지 전략을 이용하여 생성해낼 수 있습니다. 음성과 텍스트를 동시에 출력해야 한다고 한다면, 동일한 시퀀스 동안 동일한 양의 정보를 출력해주는 것도 중요합니다. 이를 위해 또 위와 같이 4가지 방법으로 padding을 주어 텍스트와 음성 토큰의 align을 맞출 수 있다고 합니다. (c), (d) 방법은 음성-텍스트 간의 align이 맞는 데이터셋이 추가로 필요합니다. 이런 token을 생성해냈으면 이를 소리로 변환해주는 decoder를 학습하여 적용합니다. 학습을 하는 방법으로는 pre-training과 post-training의 단계를 거칩니다.
- NeN
1


4