Leia isso em inglês
GLM-4-Voice é um modelo de fala ponta a ponta lançado pela Zhipu AI. O GLM-4-Voice pode compreender e gerar diretamente vozes em chinês e inglês, conduzir conversas de voz em tempo real e pode alterar a emoção, entonação, velocidade, dialeto e outros atributos da voz de acordo com as instruções do usuário.
GLM-4-Voice consiste em três partes:
GLM-4-Voice-Tokenizer: Ao adicionar quantização vetorial à parte do codificador do Whisper e treinamento supervisionado em dados ASR, a entrada de voz contínua é convertida em tokens discretos. Em média, o áudio só precisa ser representado por 12,5 tokens discretos por segundo.
GLM-4-Voice-Decoder: Um decodificador de fala que suporta raciocínio de streaming e é treinado com base na estrutura do modelo Flow Matching do CosyVoice para converter tokens de fala discretos em saída de fala contínua. São necessários pelo menos 10 tokens de voz para começar a gerar, reduzindo o atraso da conversa de ponta a ponta.
GLM-4-Voice-9B: Baseado no GLM-4-9B, são realizados pré-treinamento e alinhamento de modalidades de voz para compreender e gerar tokens de voz discretizados.
Em termos de pré-treinamento, para superar as duas dificuldades do QI do modelo e da expressividade sintética no modo de fala, dissociamos a tarefa Speech2Speech em "fazer uma resposta de texto baseada no áudio do usuário" e "sintetizar uma fala baseada em a resposta de texto e a fala do usuário" Duas tarefas e dois objetivos de pré-treinamento são projetados para sintetizar dados intercalados de fala-texto com base em dados de pré-treinamento de texto e dados de áudio não supervisionados para se adaptar a essas duas formas de tarefa. Baseado no modelo básico do GLM-4-9B, o GLM-4-Voice-9B foi pré-treinado com milhões de horas de áudio e centenas de bilhões de tokens de dados intercalados de áudio-texto e possui forte compreensão e modelagem de áudio . habilidade.
Em termos de alinhamento, para suportar diálogo de voz de alta qualidade, projetamos uma arquitetura de pensamento de streaming: de acordo com a voz do usuário, o GLM-4-Voice pode gerar conteúdo alternadamente em dois modos: texto e voz em formato de streaming. o modo de voz é representado por O texto é usado como referência para garantir a alta qualidade do conteúdo da resposta, e as alterações de voz correspondentes são feitas de acordo com os requisitos de comando de voz do usuário. Ele ainda tem a capacidade de modelar de ponta a ponta, mantendo. o QI do modelo de linguagem ao máximo e, ao mesmo tempo, tem baixa latência. Ele só precisa gerar um mínimo de 20 tokens para sintetizar a fala.
Um relatório técnico mais detalhado será divulgado posteriormente.
Modelo | Tipo | Download |
---|---|---|
Tokenizador de voz GLM-4 | Tokenizador de fala | ? Abraçando o rosto? |
GLM-4-Voz-9B | Modelo de bate-papo | ? Abraçando o rosto? |
GLM-4-Decodificador de voz | Decodificador de fala | ? Abraçando o rosto? |
Fornecemos uma demonstração na Web que pode ser iniciada diretamente. Os usuários podem inserir voz ou texto, e o modelo dará respostas de voz e texto.
Primeiro baixe o repositório
git clone --recurse-submodules https://github.com/THUDM/GLM-4-Voicecd GLM-4-Voice
Em seguida, instale as dependências. Você também pode usar a imagem zhipuai/glm-4-voice:0.1
que fornecemos para pular esta etapa.
pip instalar -r requisitos.txt
Como o modelo Decoder não suporta inicialização por meio transformers
, o checkpoint precisa ser baixado separadamente.
# download do modelo git, certifique-se de ter instalado git-lfsgit lfs install clone git https://huggingface.co/THUDM/glm-4-voice-decoder
Iniciar serviço de modelo
python model_server.py --host localhost --model-path THUDM/glm-4-voice-9b --port 10000 --dtype bfloat16 --device cuda:0
Se você precisar inicializar com precisão Int4, execute
python model_server.py --host localhost --model-path THUDM/glm-4-voice-9b --port 10000 --dtype int4 --device cuda:0
Este comando baixará automaticamente glm-4-voice-9b
. Se as condições da rede não forem boas, você também pode baixar manualmente e especificar o caminho local por meio de --model-path
.
Iniciar serviço web
python web_demo.py --tokenizer-path THUDM/glm-4-voice-tokenizer --model-path THUDM/glm-4-voice-9b --flow-path ./glm-4-voice-decoder
Você pode acessar a demonstração na web em http://127.0.0.1:8888.
Este comando baixa automaticamente glm-4-voice-tokenizer
e glm-4-voice-9b
. Observe que glm-4-voice-decoder
precisa ser baixado manualmente.
Se as condições da rede não forem boas, você pode baixar manualmente esses três modelos e, em seguida, especificar o caminho local por meio de --tokenizer-path
, --flow-path
e --model-path
.
A reprodução de streaming de áudio do Gradio está instável. A qualidade do áudio será maior quando clicado na caixa de diálogo após a conclusão da geração.
Fornecemos alguns exemplos de conversação do GLM-4-Voice, incluindo controle de emoções, alteração da velocidade da fala, geração de dialetos, etc.
Guie-me para relaxar com uma voz suave
Comentário sobre jogos de futebol com voz animada
Conte uma história de fantasmas com uma voz queixosa
Apresente como o inverno é frio no dialeto nordestino
Diga "Coma uvas sem cuspir cascas de uva" no dialeto de Chongqing
Diga um trava-língua no dialeto de Pequim
fale mais rápido
mais rápido
Parte do código deste projeto vem de:
Voz aconchegante
transformadores
GLM-4
O uso dos pesos do modelo GLM-4 precisa seguir o protocolo do modelo.
O código deste repositório de código aberto segue o protocolo Apache 2.0.