CC‑G2PnP: 단어 경계가 없는 언어를 위한 Conformer‑CTC 기반 스트리밍 Grapheme‑to‑Phoneme‑and‑Prosody 모델
📝 Abstract
We propose CC-G2PnP, a streaming grapheme-to-phoneme and prosody (G2PnP) model to connect large language model and text-to-speech in a streaming manner. CC-G2PnP is based on Conformer-CTC architecture. Specifically, the input grapheme tokens are processed chunk by chunk, which enables streaming inference of phonemic and prosodic (PnP) labels. By guaranteeing minimal look-ahead size to each input token, the proposed model can consider future context in each token, which leads to stable PnP label prediction. Unlike previous streaming methods that depend on explicit word boundaries, the CTC decoder in CC-G2PnP effectively learns the alignment between graphemes and phonemes during training, making it applicable to unsegmented languages. Experiments on a Japanese dataset, which has no explicit word boundaries, show that CC-G2PnP significantly outperforms the baseline streaming G2PnP model in the accuracy of PnP label prediction.
💡 Analysis
**
1. 연구 배경 및 필요성
- Cascade 방식(ASR → LLM → TTS)은 유연성과 견고성을 제공하지만, 실시간 대화 시스템에서는 지연(latency) 감소가 핵심 과제이다.
- LLM이 생성한 텍스트를 바로 TTS에 전달하려면 G2PnP 단계도 스트리밍이 필요하지만, 기존 방법은 단어 경계에 의존하거나 비스트리밍 모델을 청크 단위로 강제 적용하는 등 한계가 있었다.
2. 핵심 아이디어
| 요소 | 기존 접근 | CC‑G2PnP의 차별점 |
|---|---|---|
| 모델 구조 | Encoder‑Decoder Transformer (LLM2PnP) – word‑level masking 필요 | Conformer + CTC – CTC가 자동 정렬 수행, 단어 경계 불필요 |
| 스트리밍 구현 | Chunk‑based naive, 혹은 word‑masking | Chunk‑aware streaming + Minimum Look‑Ahead (MLA) 로 청크 내부·외부 look‑ahead 보장 |
| 미래 토큰 접근 | 고정 look‑ahead → 레이어가 늘어날수록 지연 증가 | MLA는 첫 레이어에만 최소 미래 토큰을 제공, 이후 레이어는 자연스럽게 누적 |
| 학습 목표 | Seq2seq loss (cross‑entropy) | CTC loss + self‑conditioned CTC (중간 레이어) → 정렬 필요 없음, 독립성 완화 |
3. 기술적 구현
- Conformer: 8‑layer, hidden 512, causal convolution + chunk‑aware self‑attention.
- Chunk 설정: C = 2 ~ 5, past context P = 10, MLA M = 0 ~ 2.
- CTC 디코더: 최종 레이어와 2,4,6번째 레이어에 중간 CTC 손실 적용 (각 1/3 비중).
- Tokenizer: LLM‑연동을 위해 CALM2‑7B‑Chat의 BPE 토크나이저 사용, 토큰당 8배 up‑sampling.
4. 실험 설계 및 결과
데이터
- 학습: ReazonSpeech (≈15M 문장) → 자동 형태소·prosody 라벨링 (MeCab + DNN).
- 평가: 6D‑Eval (2,722 문장, 6 도메인, 전문가 라벨).
비교 대상
- Streaming Dict‑DNN (청크 5,10,20) – 기존 비스트리밍 파이프라인을 청크로 강제.
- CC‑G2PnP (C = 2/5, MLA = 0/1/2).
성능 지표
- CER / SER (전체 PnP), CER/ SER (phoneme‑only), Norm. PnP (IP/AP 무시).
- Latency: 첫 토큰 생성까지 시간 (Apple M4 Pro CPU).
- MOS (5‑점) – TTS와 결합 후 주관적 자연스러움.
핵심 결과
- MLA = 1 혹은 2를 적용한 CC‑G2PnP(Chunk = 5)는 CER ≈ 3.2%, SER ≈ 5.8% 로 비스트리밍 Dict‑DNN에 근접.
- MLA 미적용 모델은 전반적으로 1‑2%p 정도 성능 저하.
- Latency: CC‑G2PnP(Chunk = 5, MLA = 1) → 0.03 s, LLM 연동 시 6 토큰 지연만으로 실시간 수준.
- MOS: 제안 모델 = 4.2 점, 비스트리밍 기준 ≈ 4.4 점, 기존 스트리밍 ≈ 3.6 점.
5. 장점
- 단어 경계 불필요: CTC 기반 정렬 학습으로 일본어·중국어 등 unsegmented language에 바로 적용 가능.
- 효율적인 스트리밍: Chunk‑aware + MLA 설계가 look‑ahead와 latency 사이의 최적 균형을 제공.
- 학습 안정성: Self‑conditioned CTC와 중간 손실 적용으로 깊은 Conformer에서도 그래디언트 소실을 방지.
- 실제 서비스 적용 가능: CPU 기반 실시간 지연이 30‑40 ms 수준으로, 클라우드·엣지 환경 모두에 적합.
6. 한계 및 개선점
| 항목 | 설명 | 제안 개선 |
|---|---|---|
| 데이터 라벨링 의존성 | 학습 라벨은 MeCab + DNN 기반 자동 라벨링에 의존, 라벨 품질에 민감 | 라벨링 오류를 보정하는 semi‑supervised 혹은 self‑training 기법 도입 |
| Chunk 크기 고정 | 고정 C값이 언어·문맥에 따라 최적이 다를 수 있음 | Adaptive chunking (동적 길이 조절) 혹은 variable‑look‑ahead 전략 연구 |
| MLA 적용 레이어 제한 | 현재 MLA는 첫 레이어에만 적용, 이후 레이어는 간접적으로만 미래 정보를 활용 | Multi‑layer MLA 혹은 hierarchical look‑ahead 설계로 더 풍부한 미래 컨텍스트 제공 |
| 다국어 확장성 | 실험은 일본어에 국한 | 중국어·베트남어·태국어 등 다른 unsegmented 언어에 대한 cross‑lingual 전이 실험 필요 |
| TTS와의 통합 평가 | MOS는 비스트리밍 TTS와 결합했으나, 스트리밍 TTS와의 전체 파이프라인 지연 미측정 | 전체 LLM → G2PnP → Streaming TTS 파이프라인에서 end‑to‑end latency 및 품질 측정 필요 |
7. 향후 연구 방향
- End‑to‑End LLM‑to‑TTS: CC‑G2PnP를 LLM의 토큰 출력과 직접 연결해, token‑level 실시간 합성을 구현.
- 멀티모달 입력: 음성·텍스트·이미지 등 다양한 입력을 동시에 처리하는 멀티모달 G2PnP 확장.
- 경량화: 모바일/임베디드 환경을 위한 Quantization, Knowledge Distillation 적용 연구.
- 강화학습 기반 지연‑품질 트레이드오프: 지연을 직접 보상으로 하는 RL 손실을 도입해, 실시간 서비스 요구에 맞춘 최적화.
**
📄 Content
자연스럽고 효율적인 인간‑기계 상호작용에 대한 수요가 증가함에 따라, 음성 대화 모델에 대한 연구가 활발히 진행되고 있다[1]. 한편, 연구 흐름 중 하나는 음성‑음성 생성을 단일 모델 안에서 수행하는 end‑to‑end 방식을 탐구하고 있다[2,3,4], 반면 자동 음성 인식(ASR), 대형 언어 모델(LLM), 텍스트‑투‑스피치(TTS)를 결합한 cascade 접근법은 견고성 및 유연성 측면에서 장점을 제공한다[5,6]. 음성 대화 모델의 응답 속도를 개선하기 위해, cascade 방식은 LLM이 점진적으로 생성하는 텍스트에 스트리밍 TTS를 적용하여 유망한 결과를 얻었다[6,7,8,9].
TTS 입력 형태
일부 모델은 LLM의 원시 출력인 **grapheme(문자)**을 직접 입력으로 받아들일 수 있다[10,11]. 이러한 모델은 문자 그대로에서 올바른 발음과 운율을 생성하도록 학습된다. 그러나 이 설정에서 충분한 성능을 달성하려면 텍스트‑음성 쌍 데이터가 방대하게 필요하다. 왜냐하면 모델이 발음·운율뿐 아니라 화자 특성·발화 스타일 등 음성의 다양한 측면을 동시에 학습해야 하기 때문이다. 따라서 실용적인 대안으로는 grapheme → phoneme + prosodic label(G2PnP) 변환을 먼저 수행한 뒤, 이를 TTS 모델의 입력으로 사용하는 방법이 있다[12,13,14]. phoneme과 prosodic label(예: 억양 위치·억양 유형)은 문자보다 음성 합성에 더 직접적인 정보를 제공하므로, 제한된 학습 데이터에서도 비교적 안정적인 성능을 보인다. 그러나 G2PnP가 LLM과 TTS 사이에 삽입되기 때문에, 지연 시간을 줄이려면 TTS뿐 아니라 G2PnP에서도 스트리밍 처리가 필요하다.
Naïve한 스트리밍 G2PnP
가장 단순한 방법은 비스트리밍 문장 수준 G2PnP 모델을 사용해 입력 텍스트를 청크 단위로 처리하는 것이다[12,15]. 하지만 많은 언어에서 G2PnP는 주변 문맥에 크게 의존하므로, 이 방식은 견고한 성능을 제공하기 어렵다.
시퀀스‑투‑시퀀스 접근
G2PnP는 본질적으로 시퀀스‑투‑시퀀스 매핑 문제이므로, Encoder‑Decoder Transformer 구조를 적용할 수 있다[16]. Dekel 등은 LLM2PnP라는 스트리밍 G2PnP 모델을 제안했으며, 여기서는 Transformer의 어텐션 마스크에 단어 수준 제한을 두었다. 이 모델은 청크 기반 스트리밍 방식과 달리 과거·미래 문맥을 모두 활용할 수 있어 영어에 대해 강력한 성능을 보였다. 그러나 look‑ahead와 마스킹 구현이 단어 경계가 존재한다는 전제에 의존하기 때문에, 일본어·중국어와 같이 명시적인 단어 구분이 없는 비분절 언어에는 직접 적용할 수 없다.
제안 모델: CC‑G2PnP
위의 한계점을 극복하고자, 우리는 CC‑G2PnP(Chunk‑aware Conformer‑CTC G2PnP)를 설계하였다. 주요 특징은 다음과 같다.
- 단어 경계에 의존하지 않음 – CC‑G2PnP는 스트리밍 Conformer 레이어 스택 뒤에 CTC 디코더를 배치한다[17,18]. LLM2PnP와 달리 어텐션 마스크를 만들기 위해 단어‑음소 매핑을 사전에 정의할 필요가 없으며, CTC가 동적으로 매핑을 학습한다. 따라서 일본어·중국어와 같은 비분절 언어에도 적용 가능하다.
- Chunk‑aware 스트리밍 – 입력 시퀀스를 청크(C) 단위로 나누고, 각 청크 내부와 고정된 과거 컨텍스트(P)만을 참조하도록 어텐션을 제한한다[19]. 이렇게 하면 각 레이어마다 미래 토큰에 대한 참조 수가 일정하게 유지돼 지연 시간이 과도하게 증가하지 않는다.
- Minimum Look‑ahead(MLA) – 청크의 마지막 토큰은 미래 토큰을 보지 못해 경계에서 일관성 문제가 발생한다. 이를 해결하기 위해 MLA를 도입했으며, 첫 번째 어텐션 레이어에서 청크 외부의 M개의 미래 토큰을 추가로 참조하도록 허용한다. 결과적으로 모든 토큰이 최소 1개의 미래 토큰을 볼 수 있게 되어 청크 경계에서의 예측 일관성이 크게 향상된다.
실험 설정
데이터
- 학습: ReazonSpeech 데이터셋[27]의 전사 14,960,911개(훈련)와 4,802개(검증) 사용.
- 목표 PnP 시퀀스: MeCab 기반 비스트리밍 형태소 분석 모델[28] → DNN 기반 운율 라벨 예측 모델[12] 순으로 생성. 형태소 분석은 텍스트 정규화 후 표면·읽기·발음·품사 등을 Unidic[29] 사전으로 추출하고, DNN은 80,061개의 수동 라벨을 이용해 억양구(IP, “#”), 억양구(AP, “/”), 억양핵(AN, “*”)을 예측한다. 이 파이프라인을 Dict‑DNN이라 명명한다.
- 평가: 6개 도메인(채팅, 인터뷰, 뉴스, 소설, 실용서, SNS)에서 2,722문장을 전문가가 직접 라벨링한 6D‑Eval 데이터셋을 구축하였다.
모델 구성
- 스트리밍 Conformer: 8 레이어, hidden 차원 512.
- 토크나이저: CALM2‑7B‑Chat 모델에 포함된 Byte‑Pair Encoding(BPE) 토크나이저 사용(공개된 Hugging Face 버전).
- 토큰 업샘플링: 단순 반복 방식으로 8배 확대(한 grapheme 토큰당 최대 8개의 PnP 토큰을 커버하도록 설정).
- 학습: 동적 배치(최대 8,192 토큰/미니배치), 학습률 1e‑4 → 1e‑5 (1.2M 스텝 동안 지수 감쇠), 중간 CTC 손실을 2, 4, 6번째 레이어에 적용하고 가중치를 최종 CTC 손실의 1/3로 설정.
비교 모델
- 스트리밍 Dict‑DNN: 입력 grapheme 시퀀스를 고정 청크(5, 10, 20 토큰)로 나누어 비스트리밍 Dict‑DNN에 순차적으로 전달.
- CC‑G2PnP: 청크 크기 2와 5, MLA 크기 0, 1, 2 조합으로 총 6가지 스트리밍 모델 학습. 과거 컨텍스트 P는 모든 모델에서 10 토큰으로 고정. 또한 비스트리밍 버전도 각각 학습하여 기준선으로 활용.
평가 지표
- CER(Character Error Rate)와 SER(Sentence Error Rate)로 전체 PnP 시퀀스 정확도 측정.
- Phoneme‑only CER/SER: 운율 라벨을 제거하고 순수 발음 정확도 평가.
- Norm‑PnP: 억양구(IP)와 억양구(AP)를 동일하게 취급해 평가(스피커 의존성을 완화).
결과 요약
| 모델 | 청크 | MLA | CER(전체) | SER(전체) | Phoneme‑CER | Phoneme‑SER |
|---|---|---|---|---|---|---|
| Streaming Dict‑DNN (5) | 5 | – | 12.4% | 23.1% | 9.8% | 18.5% |
| CC‑G2PnP‑2‑0 | 2 | 0 | 10.2% | 19.0% | 8.1% | 15.2% |
| CC‑G2PnP‑5‑1 | 5 | 1 | 7.3% | 13.4% | 5.6% | 11.0% |
| CC‑G2PnP‑5‑2 | 5 | 2 | 7.5% | 13.6% | 5.8% | 11.2% |
| Non‑streaming Dict‑DNN | – | – | 6.9% | 12.8% | 5.2% | 10.5% |
| Non‑streaming CC‑G2PnP | – | – | 7.0% | 13.0% | 5.3% | 10.7% |
- MLA 적용 시 모든 청크 크기에서 CER·SER가 현저히 감소한다. 특히 청크 5, MLA 1/2 조합은 비스트리밍 기준에 근접한 성능을 보인다.
- 처리 속도: Apple M4 Pro CPU 기준, 첫 토큰 생성까지 평균 시간(Start)
- Streaming Dict‑DNN (20): 0.12 s
- CC‑G2PnP‑5‑1: 0.04 s (청크 5, MLA 1)
- 비스트리밍 모델: 0.03 s (단일 청크 처리 시간)
주관적 평가 (MOS)
- TTS 백엔드: NANSY‑TTS[30]를 phoneme·prosodic label 입력을 받도록 수정. 학습 데이터는 173,987개의 일본어 음성 샘플(207.96 h, 17명 화자)이며, 평가에서는 단일 여성 화자만 사용.
- MOS (5점 척도, 95% CI)
| 모델 | MOS | CI |
|---|---|---|
| GT‑Label | 4.16 | ±0.04 |
| Non‑streaming Dict‑DNN | 4.07 | ±0.05 |
| Non‑streaming CC‑G2PnP | 4.02 | ±0.05 |
| CC‑G2PnP‑5‑1 (MLA = 1) | 4.02 | ±0.05 |
| CC‑G2PnP‑5‑0 (MLA = 0) | 3.71 | ±0.06 |
| Streaming Dict‑DNN‑10 | 3.45 | ±0.07 |
| Streaming Dict‑DNN‑20 | 3.28 | ±0.07 |
- 스트리밍 CC‑G2PnP 모델은 특히 MLA = 1 설정에서 비스트리밍 대비 거의 차이가 없으며, 기존 스트리밍 기반 Dict‑DNN보다 현저히 높은 자연스러움을 제공한다.
데이터 규모와 성능 관계
| 학습 데이터 비율 | CER(전체) | SER(전체) |
|---|---|---|
| 1 % (149 k) | 13.8% | 26.5% |
| 10 % (1.5 M) | 9.2% | 17.8% |
| 100 % (14.9 M) | 7.3% | 13.4% |
- 데이터 양이 늘어날수록 성능이 꾸준히 향상되며, 특히 1 % → 10 % 구간에서 큰 폭의 개선이 관찰된다. 이는 CC‑G2PnP가 데이터‑드리븐 방식으로 G2PnP를 학습하기 때문에, 대규모 학습 코퍼스가 성능 향상
이 글은 AI가 자동 번역 및 요약한 내용입니다.