Inteligência artificial, sem ruído.
Modelos e LLMs4 min

NVIDIA Nemotron 3 Diarization: modelo aberto identifica quem falou quando em conversas com até 8 pessoas

Modelo de 100M de parâmetros lidera o ranking VoiceArena com 14,72% de DER e reduz erros em 41% ante o modelo anterior.

NVIDIA Nemotron 3 Diarization: modelo aberto identifica quem falou quando em conversas com até 8 pessoas

O lançamento

A NVIDIA apresentou o Nemotron 3 Diarization, um modelo de diarização de fala com 100 milhões de parâmetros e pesos abertos, que lidera o ranking Diarization-Bench da VoiceArena com uma taxa de erro de diarização (DER) de 14,72%. Ele suporta até oito falantes, funciona em conversas ao vivo e gravadas, lida com falas sobrepostas e oferece latência de streaming configurável.

Diarização é a tarefa de responder “quem falou quando”. Enquanto o reconhecimento de fala (ASR) transcreve as palavras, a diarização atribui cada trecho ao participante certo — o que torna busca, resumos, itens de ação e a memória de agentes de voz muito mais úteis.

Por que isso importa

Considere uma transcrição de reunião em que todas as frases estão corretas, mas nenhuma é atribuída a um falante. Você lê as palavras, mas não consegue saber quem assumiu um compromisso, quem levantou uma objeção ou quem interrompeu. É exatamente essa lacuna que a diarização preenche — incluindo os intervalos em que duas pessoas falam ao mesmo tempo.

O modelo segue a abordagem Sortformer, ordenando os falantes pela ordem de chegada: a primeira voz nova vira o canal do falante 1, a próxima vira o 2, e assim por diante. Essa ordenação por chegada mantém os rótulos estáveis durante o streaming e elimina a necessidade de resolver uma nova permutação de falantes a cada trecho de áudio.

Como funciona por dentro

O modelo recebe áudio mono de 16 kHz, converte para espectrogramas de Mel com passo de 10 ms e empilha as features em quadros de 80 ms. Um codificador Transformer de 31 camadas com embeddings posicionais rotativos (RoPE) processa a entrada, e uma camada Conv1D converte as previsões para a resolução original.

A saída padrão é um tensor [T, 8] — T passos de tempo por oito canais de falante possíveis — onde cada valor é a probabilidade de um falante estar ativo naquele instante. Essa representação lida com sobreposição naturalmente: se duas pessoas falam juntas, dois canais podem estar ativos no mesmo quadro.

Durante a inferência em streaming, duas formas de memória fornecem contexto: o AOSC (Arrival-Order Speaker Cache), que retém informações sobre falantes vistos em trechos anteriores, e uma fila FIFO que fornece o contexto recente. Juntas, permitem que um único modelo opere em vários pontos de latência.

Resultados

No Diarization-Bench inicial da VoiceArena, o Nemotron 3 Diarization ficou em primeiro lugar entre 12 sistemas e 17 configurações, avaliados em 139 conversas em inglês (cerca de 22 horas). Com fala sobreposta pontuada, o modelo atingiu 14,72% de DER, contra 19,3% do segundo colocado — uma redução relativa de ~24%.

Comparado ao Sortformer anterior da NVIDIA (limitado a quatro falantes), o novo modelo reduz o DER em média 41% nas oito condições avaliadas, com ganhos que aumentam em cenários com mais falantes. Em throughput, alcança 15.113× de aceleração em tempo real (RTFx) na configuração offline, contra 2.619× do modelo anterior.

Diarização ≠ transcrição com falantes

Um ponto de arquitetura importante: diarização isolada produz atividade de falante e timestamps, não as palavras. O ASR produz texto, mas não preserva a atribuição. Uma transcrição com atribuição de falantes combina os dois:

from nemo.collections.asr.models import ASRModel

asr_model = ASRModel.from_pretrained(
    model_name="nvidia/parakeet-tdt-0.6b-v3"
)
words = asr_model.transcribe(
    ["/caminho/conversa.wav"], timestamps=True
)[0].timestamp["word"]

Para execução offline, o modelo carrega direto pelo checkpoint:

from nemo.collections.asr.models import SortformerEncLabelModel

diar = SortformerEncLabelModel.from_pretrained(
    "nvidia/Nemotron-3-Diarization"
)
segments = diar.diarize(audio=["/caminho/conversa.wav"], batch_size=1)

A saída vem no formato início fim falante — por exemplo, 0.400 2.100 speaker_0. Como os rótulos são anônimos (o modelo diz que o speaker_2 falou entre X e Y, mas não que ele é o João), aplicações downstream mapeiam esses canais para identidades reais pareando timestamps com metadados de reunião ou verificação de falante.

Latência configurável

ConfiguraçãoLatência do bufferUso
Offline30,4 sGravações completas
Baixa latência1,04 sStreaming em tempo real
Latência muito baixa0,64 sInteração quase imediata
Ultra baixa latência0,32 sMínima (recomendado)
Pontos de operação disponíveis no Nemotron 3 Diarization.

Os valores medem o áudio armazenado antes da inferência — computação, rede e ASR se somam à latência total. O modelo foi treinado com dados de fala públicos e licenciados (incluindo dados da David AI), cobrindo 21 idiomas. O uso é regido pela licença OpenMDW 1.1, e o Argmax Pro SDK 3 já traz suporte ao modelo para atribuição de falantes em tempo real no dispositivo.

As limitações são claras: máximo de oito falantes, e desempenho que pode degradar em gravações muito longas, ruído severo, reverberação ou captura de campo distante. Para workflows regulados ou de segurança, a recomendação é avaliar o sistema completo no áudio real do ambiente — não tratar cada atribuição como infalível.



Descubra mais sobre noticiAI

Assine para receber nossas notícias mais recentes por e-mail.

R
Sobre o autorRedação Noticiai

Equipe editorial dedicada a explicar inteligência artificial com clareza, independência e contexto.