Nemotron 3 vs pyannote: 화자 분할 오류율 16.0% → 9.9%

2026년 11월 8일
·
읽는 데 10분
·Whisper Notes Team

여러 사람이 참여한 인터뷰나 회의를 전사할 때는 문장마다 누가 말했는지 아는 것이 무엇보다 중요합니다. Whisper Notes는 음성 인식과 화자 식별을 iPhone이나 Mac에서 오프라인으로 처리합니다. 그래서 앱에 넣는 모델은 모두 정확도와 속도 사이에서 균형을 맞춰야 하고, 저희는 늘 정확도를 먼저 챙겨 왔습니다. 최근 앱에 내장된 화자 식별 모델을 pyannote community-1에서 NVIDIA의 Nemotron 3 Diarization으로 바꾸고, 화자가 1~12명인 공개 녹음 122개로 두 모델을 비교했습니다. 화자 분할 오류율(DER)은 16.0%에서 9.9%로 내려갔습니다.

Nemotron 3는 화자 분할 오류율을 16.0%에서 9.9%로 낮췄습니다

화자 분할 오류율(DER)은 세 가지 오류를 발화 시간 기준으로 더한 값입니다. 다른 사람에게 배정된 음성, 모델이 놓친 음성, 음성으로 잘못 잡은 소음이 그것입니다. 화자 분할을 평가할 때 쓰는 표준 지표입니다. 아래 표에는 이 값과 함께 사용자가 가장 먼저 알아차리는 문제들, 그리고 Mac과 iPhone에서 잰 두 모델의 속도와 메모리를 정리했습니다.

pyannote
community‑1
Nemotron 3
화자 분할 오류율, 녹음 122개16.0%9.9%
화자 수를 맞힌 녹음전체의 52%전체의 80%
다른 사람에게 배정된 음성4.5%1.0%
Mac(M5)에서 오디오 1시간약 22초약 8.5초
Mac에서 쓰는 메모리0.88 GB0.12 GB
iPhone 15에서 55분 녹음약 27초약 12초
iPhone 15에서 추가로 쓰는 메모리약 830 MB약 30 MB
최대 화자 수정해진 상한 없음(앱에서는 최대 10명)8명

이 표와 아래의 모든 표·차트에서 초록색은 차이가 오차 범위를 넘을 때 더 나은 쪽을 표시합니다. 정확도는 95% 구간에 0이 들어가지 않을 때, 속도와 메모리는 차이가 실행할 때마다 생기는 편차보다 훨씬 클 때입니다. 오류율은 낮을수록 좋습니다. 정확도 행은 공개 녹음 122개(25시간, 영어와 중국어)에서 나온 결과입니다. 속도와 메모리는 두 모델을 Core ML로 실행한 값이며, Nemotron 3는 Neural Engine에서 실행했습니다. Mac은 순수 처리 시간이고, iPhone은 식별을 시작해 결과가 나올 때까지 걸린 시간입니다.

이 감소는 몇몇 녹음에 치우친 결과가 아닙니다. 아래 차트는 녹음 122개 각각의 변화를, 가장 크게 줄어든 녹음부터 가장 크게 늘어난 녹음 순으로 보여 줍니다.

오류율 변화(%p)+100−10−20−30−40녹음 99개 개선0 아래: Nemotron 3의 오류가 더 적음23개 악화그중 12개는 1%p 미만녹음 122개, 변화량 순

막대 하나가 녹음 하나이며, Nemotron 3로 바꾼 뒤 오류율이 몇 %p 바뀌었는지 보여 줍니다. 0보다 아래면 줄어든 것이고, 위면 늘어난 것입니다.

Nemotron 3가 더 나쁜 경우는 세 가지입니다. 화자가 8명을 넘는 녹음, 화자가 한 명뿐인 녹음, 그리고 문장 중간에서 문단이 나뉘는 문제입니다.

화자 혼동이 거의 사라졌습니다: 4.5% → 1.0%

세 가지 오류 가운데 읽는 사람이 가장 먼저 알아차리는 것은 화자 혼동, 즉 다른 사람에게 배정된 음성입니다. 내용은 맞는데 이름이 틀린 경우입니다. Nemotron 3에서는 이 오류가 거의 사라졌고, 놓친 음성도 줄었습니다.

pyannote community-1Nemotron 3전체16.0%9.9%화자 혼동4.5%1.0%놓친 음성8.4%6.0%소음을 음성으로 잡음3.2%2.9% 오차 범위 이내

녹음 122개의 평균이며, 단위는 발화 시간 대비 비율(%)입니다. 각 행의 두 막대는 모두 0에서 시작합니다. 화자 혼동과 놓친 음성의 감소는 오차 범위를 넘습니다. 소음을 음성으로 잡은 비율의 차이는 오차 범위 안이어서 그 막대는 연회색으로 표시했습니다. 값을 반올림했기 때문에 합이 전체와 정확히 맞지 않을 수 있습니다.

화자 수를 맞힌 녹음이 52%에서 80%로 늘었습니다

화자를 실제보다 적게 찾았다면 두 목소리를 한 사람으로 합친 것입니다. 그러면 두 사람의 발언이 화자 라벨 하나로 묶여 나옵니다. pyannote community-1에서 가장 흔한 실수였고, Nemotron 3는 이 실수가 훨씬 적습니다.

너무 적음정확너무 많음pyannote community-156642Nemotron 3129812녹음 122개 기준

녹음 122개에서 각 모델이 찾은 화자 수를 실제 인원과 비교했습니다. pyannote community-1은 대부분 적게 찾았습니다. Nemotron 3는 맞힌 경우가 더 많고, 틀린 경우에는 실제보다 많이 찾은 녹음과 적게 찾은 녹음의 수가 같습니다.

회의, 방송, 화자 2~8명 녹음에서 더 정확합니다

녹음에 따라 난도 차이가 큽니다. 원거리 마이크로 녹음한 회의가 가장 어렵고, 방송이 가장 쉽습니다. 녹음 유형, 언어, 화자 수로 나눠 보면 녹음이 10개 이상인 그룹은 모두 오류율이 내려갔습니다. 다만 화자 1명 그룹은 차이가 오차 범위 안입니다. 화자가 9~12명인 녹음 3개는 나빠졌지만, 검정하기에는 수가 너무 적습니다.

pyannote community-1Nemotron 3녹음 유형회의, 원거리 마이크 · 58개20.4%13.9%방송 · 48개10.8%4.1%단일 화자, 클립 연결 · 10개14.5%10.2%언어영어 · 91개14.7%9.8%중국어 · 31개19.7%10.5%화자 수화자 1명 · 14개12.5%9.4% 오차 범위 이내화자 2명 · 39개10.2%5.8%화자 3–4명 · 55개20.5%12.2%화자 5–8명 · 11개16.2%9.9%화자 9–12명, 검정하기엔 적음 · 3개23.2%25.1%

각 그룹의 두 막대는 모두 0에서 시작합니다. 회색은 pyannote community-1, 초록색은 Nemotron 3입니다. 막대 끝의 숫자는 평균 오류율입니다. 초록색은 오차 범위를 넘는 감소, 연회색은 오차 범위 안의 차이, 노란색은 증가를 뜻합니다. 실적 발표 콘퍼런스 콜 6개는 전체 결과에는 포함되지만, 따로 그룹을 만들기에는 수가 너무 적습니다.

전사본 정리: 10분당 수동 수정이 28.9회에서 18.9회로 줄었습니다

오류율은 결국 사람이 직접 고쳐야 하는 일로 돌아옵니다. 화자 보기를 바로잡으려면 화자를 합치고, 나누고, 바꿔야 합니다. 단어 단위 정답 텍스트가 있는 2인 녹음 4개(네덜란드어 2개, 중국어 1개, 핀란드어 1개)에서 이런 수정의 최소 횟수를 셌습니다. 읽는 사람이 알아차리는 또 다른 오류는 한 사람의 문장이 두 화자로 나뉘는 경우입니다. 원거리 마이크로 녹음한 영어 회의 12개에서는 두 모델 모두 이런 경우가 드물었고, 차이도 오차 범위 안이었습니다.

pyannote
community‑1
Nemotron 3
10분당 수동 수정 횟수, 2인 녹음 4개28.918.9
두 화자로 나뉜 문장, 영어 회의 12개문장의 0.58%문장의 0.88%

수동 수정 횟수는 녹음 4개만으로 낸 값이어서, 통계 검정을 하거나 일반화하기에는 표본이 너무 적습니다. 나뉜 문장이란 한 사람이 말한 문장이 두 화자의 문단에 나뉘어 들어간 경우를 말합니다.

Nemotron 3는 더 빠르고, 메모리는 7분의 1도 쓰지 않습니다

기기에서 실행할 때는 속도와 메모리도 정확도만큼 중요합니다. 아래 표는 두 모델을 Core ML로 실행했을 때의 처리 시간과 메모리이며, Nemotron 3는 Neural Engine에서 실행했습니다. 저희가 테스트한 모든 기기에서 Nemotron 3가 더 빠르고 메모리도 훨씬 적게 썼습니다. 메모리가 4 GB인 구형 iPhone에서는 이 차이가 특히 중요합니다.

pyannote
community‑1
Nemotron 3
Mac(M5)
오디오 1시간약 22초약 8.5초
메모리0.88 GB0.12 GB
iPhone 15
55분 녹음26.6초11.8초
식별 중 추가 메모리833 MB30 MB
iPhone 12 mini
55분 녹음30.1초17.2초
식별 중 앱 최대 메모리638 MB71 MB

여러 번 실행한 중앙값입니다(pyannote community-1은 iPhone 15에서 한 번만 실행). 모두 화자 10명이 참여한 같은 55분짜리 실적 발표 콘퍼런스 콜로 측정했습니다. 두 모델 모두 Core ML로 실행했고, Nemotron 3는 Neural Engine에서 실행했습니다. Mac은 처리 시간만 쟀으며 오디오 디코딩과 모델 로딩은 포함하지 않습니다. iPhone은 식별 시작부터 결과까지의 시간으로, 모델 로딩이 포함되며, pyannote community-1은 모델과 함께 제공되던 후처리도 포함됩니다. 휴대폰은 USB로 연결했고, 매번 기기가 식은 상태에서 시작했습니다.

Core ML은 Neural Engine에서 모델을 처음 실행할 때 그 기기에 맞게 모델을 컴파일합니다. Mac에서는 약 7초, iPhone 15에서는 약 1분이 걸립니다. 그 뒤로는 모델을 불러오는 데 1초도 걸리지 않습니다.

pyannote community-1이 여전히 나은 경우

  • 화자가 8명을 넘을 때. Nemotron 3는 최대 8명까지만 라벨을 붙입니다. 화자가 9~12명인 녹음 3개 중 2개에서 pyannote community-1보다 나빴습니다.
  • 한 사람만 말할 때. 화자가 한 명인 녹음 14개 중 Nemotron 3는 5개에서 없는 화자를 더 찾았고, pyannote community-1은 1개였습니다.
  • 문장 중간의 문단 나눔. 영어 회의 12개에서 Nemotron 3의 문단 나눔 중 25.8%가 문장 중간에 들어갔습니다. pyannote community-1은 14.6%였습니다.

Whisper Notes에서 Nemotron 3를 더 잘 쓰는 팁

  • 인원을 알면 화자 수를 지정하세요. 화자가 2명 이상인 녹음 108개에서 Nemotron 3에 인원을 알려 주자 15개에서 화자 수가 바로잡혔고, 틀리게 바뀐 녹음은 없었습니다. 오류율에는 뚜렷한 변화가 없었습니다(+0.16%p, 오차 범위 이내).
  • 한 사람만 말한다면 화자 식별을 건너뛰세요. 가끔 나타나는 두 번째 ‘화자’를 피할 수 있습니다.
  • 화자가 8명을 넘으면 라벨을 초안으로 보세요. 필요한 곳은 화자 보기에서 화자를 합치고 이름을 바꾸면 됩니다.
화자별로 나뉜 Whisper Notes Mac 버전의 회의 전사본에서 Not right? 메뉴를 연 화면: Auto-detect remote speakers, 그리고 원격 화자 2~8명

Mac 화자 보기에서 Not right?로 화자 수 지정하기

화자 식별은 iPhone과 Mac에서 똑같이 작동하며, 모든 처리가 기기 안에서 이뤄집니다. 앱에서 쓰는 방법은 Whisper Notes, 온디바이스 화자 분할 지원을 참고하세요.

작동 방식: pyannote는 잘라서 묶고, Nemotron 3는 처음 말한 순서대로 화자에 번호를 붙입니다

pyannote community-1은 세 단계로 이뤄진 파이프라인입니다. 먼저 오디오를 10초 길이의 윈도우로 자르고, 윈도우마다 누가 말하는지 찾습니다(윈도우 하나에 최대 3명, 같은 순간에는 최대 2명). 다음으로 음성 구간마다 목소리 특징을 담은 임베딩을 추출합니다. 마지막으로 VBx 클러스터링이 비슷한 임베딩을 묶어 화자로 만듭니다. 윈도우 안의 화자 번호는 그 윈도우에서만 유효하므로, 전체 화자 수는 마지막 단계에서야 정해집니다.

① 윈도우로 자르고 화자 찾기10초마다 윈도우 하나, 화자 번호는 그 안에서만 유효1212121210초10초10초10초② 임베딩 추출음성 구간 하나가 임베딩 하나가 됨③ VBx로 클러스터링비슷한 임베딩을 한 화자로 묶음, 인원은 여기서 결정화자 A화자 B화자 C

Nemotron 3 Diarization은 모델 하나로 동작합니다. 31층 Transformer 인코더가 매 순간 화자 트랙 8개에 각각 점수를 매깁니다. 트랙마다 따로 점수를 매기므로, 여러 사람이 동시에 말하면 여러 트랙이 함께 활성화됩니다. NVIDIA의 Sortformer 방식을 따라, 각 사람이 처음 말한 순서대로 트랙에 번호를 붙입니다. 가장 먼저 말한 사람은 항상 1번 트랙에 들어가므로, 모델은 어떤 목소리가 몇 번 트랙에 들어갈지 추측할 필요가 없습니다. 모델 카드에 설명된 스트리밍 방식에서는 등장 순서대로 쌓이는 화자 캐시가 앞서 나온 화자를 기억해, 뒤에 나오는 구간도 같은 번호에 맞출 수 있습니다.

모델 하나가 매 순간 트랙 8개에 점수를 매김트랙 번호는 처음 말한 순서12345678두 사람이 동시에 말함: 트랙 두 개 활성트랙 4–8: 이 녹음에선 미사용1번 트랙은 항상 가장 먼저 말한 사람

두 설계에는 각자 한계가 있습니다. pyannote community-1은 화자 수 상한이 없지만, 같은 순간에는 최대 두 사람까지만 구분합니다. Nemotron 3는 동시에 말하는 여러 사람에게 라벨을 붙일 수 있지만, 트랙이 8개라 최대 8명까지만 찾습니다.

개념도는 단순화한 것입니다. pyannote community-1: Whisper Notes에서 약 21 MB, CC BY 4.0(모델 카드). 세그멘테이션 모델: Plaquet·Bredin(Interspeech 2023), 임베딩: WeSpeaker, 클러스터링: VBx(Landini 외, 2022). Nemotron 3 Diarization: 97 MB(Fluid Inference의 8비트 Core ML 변환), 파라미터 약 1억 개, OpenMDW 1.1(모델 카드). 방법은 Sortformer와 Streaming Sortformer 논문에 나와 있습니다.

테스트 방법

  • 녹음. 영어와 중국어로 된 공개 녹음 122개, 총 25시간이며 녹음마다 화자는 1~12명입니다. 원거리 마이크로 녹음한 회의, 방송, 실적 발표 콘퍼런스 콜, 따로 녹음한 클립을 이어 붙인 단일 화자 녹음으로 구성했습니다. 그 밖에 영어, 네덜란드어, 중국어, 핀란드어 2인 녹음 5개를 썼고, 그중 4개에는 단어 단위 정답 텍스트가 있습니다.
  • 데이터셋. AMI, AISHELL-4, AliMeeting, VoxConverse, Earnings-21, LibriSpeech, IFADV, SKN과 저희가 직접 만든 녹음입니다. 결과 공개를 허용하는 라이선스의 데이터셋만 썼고, 사용자 녹음은 쓰지 않았습니다.
  • 지표. 화자 분할 오류율입니다. 10 ms 프레임 단위로 칼라(collar) 없이 채점했고, 겹친 발화도 포함했으며, 녹음별 값을 평균했습니다.
  • 통계. 95% 구간은 녹음을 통째로 단위 삼아 10,000번 부트스트랩 재표본추출해 구했습니다. 녹음이 10개 미만인 그룹은 구간을 내지 않았습니다.
  • 기기. M5 칩을 탑재한 Mac, iPhone 15, iPhone 12 mini입니다. 정확도는 Mac에서 계산했습니다.
  • 사전 등록. 테스트 계획은 2026년 11월 2일에, 2인 녹음 구성은 11월 4일에 확정했습니다. 두 시점 모두 어떤 모델도 해당 클립을 처리하기 전이었습니다.
테스트 세부 사항

선정. 질문과 규칙은 더 큰 벤치마크용으로, 모델을 한 번도 실행하기 전에 정해 두었습니다. 이 하위 집합은 결과가 아니라 라이선스를 기준으로 골랐고, 같은 출력과 같은 채점 방식으로 수치를 다시 계산했습니다. LibriSpeech와 AISHELL-4 클립을 이어 붙인 단일 화자 녹음은 원래 데이터셋으로 집계했습니다. 저희는 집계 결과만 공개하며, 오디오나 정답 텍스트는 공개하지 않습니다.

데이터셋라이선스사용한 녹음
AMI Meeting CorpusCC BY 4.0회의 16개, 1분 발췌 16개
AISHELL-4CC BY-SA 4.0회의 5개, 발췌 5개, 이어 붙인 단일 화자 녹음 5개
AliMeetingCC BY-SA 4.0회의 8개, 발췌 8개, 2인 녹음 1개
VoxConverseCC BY 4.0(영상 저작권은 원저작자에게 있음)방송 30개, 발췌 18개
Earnings-21CC BY-SA 4.0실적 발표 콘퍼런스 콜 6개, 2인 녹음 1개
LibriSpeechCC BY 4.0이어 붙인 단일 화자 녹음 5개
IFADVGNU GPL v2 이상2인 녹음 2개
SKN 핀란드어 방언 샘플CC BY(핀란드 언어연구소)2인 녹음 1개

라이선스는 각 데이터셋 공식 페이지에 적힌 내용이며, 2026년 11월에 확인했습니다.

구간. 전체 오류율은 6.0%p 내려갔습니다(4.5~7.6). 놓친 음성은 2.3%p(1.3~3.4), 화자 혼동은 3.4%p(2.4~4.6) 줄었습니다. 소음을 음성으로 잡은 비율은 0.30%p 줄었지만 오차 범위 안입니다(−0.02~0.62). 화자 수를 맞힌 녹음의 비율은 27.9%p 올랐습니다(17.2~38.5). 그룹별로는 화자 1명 그룹을 빼면 모든 구간에 0이 들어가지 않습니다. 영어 회의 12개에서 나뉜 문장의 구간에는 0이 들어가고, 문장 중간 문단 나눔의 구간에는 들어가지 않습니다.

채점. 저희 채점 코드의 결과는 pyannote.metrics와 0.003%p 이내로 일치합니다.

화자가 8명을 넘는 녹음. 이런 녹음의 결과는 칩과 오디오 디코딩의 작은 차이에도 민감합니다. 화자 10명이 참여한 55분짜리 실적 발표 콘퍼런스 콜에서 Nemotron 3는 칩, 설정, 오디오 디코더에 따라 30.6%에서 42.8%까지 달라졌고, pyannote community-1은 21.6%였습니다.

후처리 설정. 일부 후처리 설정은 사전 등록 이후에 별도의 튜닝용 녹음만으로 정했습니다. 테스트 녹음은 결과를 보고하는 데만 썼습니다.

한계. 정확도는 영어와 중국어로만 측정했고, 수동 수정 횟수는 녹음 4개에서 나온 값입니다. Mac 시간은 다른 작업이 함께 돌아가고 macOS 베타가 설치된 M5 Mac에서 쟀습니다. 휴대폰은 USB로 연결했기 때문에 배터리 사용량은 측정하지 않았습니다.

직접 써 보세요

이제 iPhone과 Mac의 Whisper Notes는 화자 식별에 Nemotron 3를 사용합니다. 궁금한 점은 support@whispernotes.app으로 보내 주세요.