Kimi-Audio: обработка звука с открытым исходным кодом и базовая модель диалога

Общее введение

Kimi-Audio - это базовая модель аудио с открытым исходным кодом, разработанная Moonshot AI, которая ориентирована на понимание, генерацию и диалог аудио. Она поддерживает широкий спектр задач по обработке аудио, таких как распознавание речи, аудио вопросы и ответы и распознавание эмоций в речи. Модель была предварительно обучена на более чем 13 миллионах часов аудиоданных и, в сочетании с инновационной гибридной архитектурой, демонстрирует высокие результаты в различных аудиоэталонах. kimi-Audio предоставляет весовые коэффициенты модели, код вывода и набор инструментов для оценки, чтобы разработчики могли легко интегрировать ее в свои исследования и приложения. Он подходит для сценариев, требующих эффективной обработки аудио и диалоговых возможностей, имеет понятную документацию, поддержку развертывания Docker, активное сообщество и постоянные обновления.

Kimi-Audio:开源音频处理与对话基础模型

 

Список функций

  • Распознавание речи (ASR): преобразование аудио в текст и поддержка транскрипции речи на нескольких языках.
  • Аудиовопросы и ответы (AQA): ответы на вопросы пользователей на основе аудиоконтента и понимания аудиоконтекста.
  • Audio Captioning (AAC): генерирует точные титры или описания для аудио.
  • Speech Emotion Recognition (SER): анализирует эмоциональные состояния в аудио, например, счастье или грусть.
  • Классификация звуковых событий/сцен (SEC/ASC): определяет конкретные события или сцены в аудио, например звуки автомобиля или обстановки в помещении.
  • Преобразование текста в речь (TTS): преобразование текста в естественную речь, поддержка нескольких тонов.
  • Преобразование голоса (VC): изменение тембра или стиля голоса для создания индивидуального аудио.
  • Сквозной голосовой диалог: поддерживает непрерывное голосовое взаимодействие, имитируя естественный диалог.
  • Генерация потокового аудио: генерация аудио с низкой задержкой с помощью декодера потокового вещания.
  • Набор инструментов для оценки: предоставляет стандартизированные инструменты оценки для облегчения сравнения производительности различных моделей.

 

Использование помощи

Процесс установки

Для развертывания Kimi-Audio рекомендуется использовать Docker, чтобы обеспечить согласованную среду и простоту установки. Ниже приведены подробные шаги по установке:

  1. склад клонов
    Выполните следующую команду в терминале, чтобы получить код и подмодули Kimi-Audio:

    git clone https://github.com/MoonshotAI/Kimi-Audio.git
    cd Kimi-Audio
    git submodule update --init --recursive
  1. Установка зависимостей
    Установите зависимости Python, рекомендуется среда Python 3.10:

    pip install -r requirements.txt
    

    Обеспечьте установку torch ответить пением soundfileЕсли у вас есть поддержка GPU, вам нужно установить CUDA-версию PyTorch.

  2. Создание образа Docker
    Соберите образ Docker в директории Kimi-Audio:

    docker build -t kimi-audio:v0.1 .
    

    Или используйте официальный готовый образ:

    docker pull moonshotai/kimi-audio:v0.1
    
  3. Запуск контейнеров
    Запустите контейнер Docker и смонтируйте локальный рабочий каталог:

    docker run -it -v $(pwd):/app kimi-audio:v0.1 bash
    
  4. Скачать модельные веса
    Kimi-Audio предлагает две основные модели:Kimi-Audio-7B(базовая модель) и Kimi-Audio-7B-Instruct(Инструкции по тонкой настройке модели). Скачано с сайта "Обнимая лицо":

    • moonshotai/Kimi-Audio-7B-Instruct: Подходит для прямого использования.
    • moonshotai/Kimi-Audio-7B: Подходит для дальнейшей доработки.
      Используйте Hugging Face CLI для входа в систему и загрузки:
    huggingface-cli login
    

    Модель автоматически загружается по указанному пути.

Использование

Основные функции Kimi-Audio реализованы через вызовы Python API. Ниже приводится подробная схема работы основных функций:

1. распознавание речи (ASR)

аудиофайл в текст. Пример кода:

import soundfile as sf
from kimia_infer.api.kimia import KimiAudio
# 加载模型
model_path = "moonshotai/Kimi-Audio-7B-Instruct"
model = KimiAudio(model_path=model_path, load_detokenizer=True)
# 设置采样参数
sampling_params = {
"audio_temperature": 0.8,
"audio_top_k": 10,
"text_temperature": 0.0,
"text_top_k": 5,
"audio_repetition_penalty": 1.0,
"audio_repetition_window_size": 64,
"text_repetition_penalty": 1.0,
"text_repetition_window_size": 16,
}
# 准备输入
asr_audio_path = "asr_example.wav"  # 确保文件存在
messages_asr = [
{"role": "user", "message_type": "text", "content": "请转录以下音频:"},
{"role": "user", "message_type": "audio", "content": asr_audio_path}
]
# 生成文本输出
_, text_output = model.generate(messages_asr, **sampling_params, output_type="text")
print("转录结果:", text_output)

процедура::

  • Подготовьте аудиофайл в формате WAV.
  • устанавливать messages_asr Укажите задание как транскрипцию.
  • Запустите код и получите текстовый вывод.

2. Аудиовикторина (AQA)

Ответьте на вопросы, основываясь на аудиозаписи. Пример:

qa_audio_path = "qa_example.wav"
messages_qa = [
{"role": "user", "message_type": "text", "content": "音频中说了什么?"},
{"role": "user", "message_type": "audio", "content": qa_audio_path}
]
_, text_output = model.generate(messages_qa, **sampling_params, output_type="text")
print("回答:", text_output)

процедура::

  • Загрузите аудиофайл с информацией.
  • существовать messages_qa Задайте конкретные вопросы в
  • Получите текстовые ответы от модели.

3. преобразование текста в речь (TTS)

Преобразование текста в речь. Пример:

messages_tts = [
{"role": "user", "message_type": "text", "content": "请将以下文本转为语音:你好,欢迎使用 Kimi-Audio!"}
]
audio_output, _ = model.generate(messages_tts, **sampling_params, output_type="audio")
sf.write("output.wav", audio_output, samplerate=16000)

процедура::

  • Введите текст для преобразования.
  • устанавливать output_type="audio" Получение аудиоданных.
  • пользоваться soundfile Сохраните в формате WAV.

4. сквозной голосовой диалог

Поддерживает непрерывное голосовое взаимодействие. Пример:

messages_conversation = [
{"role": "user", "message_type": "audio", "content": "conversation_example.wav"},
{"role": "user", "message_type": "text", "content": "请回复一段语音,介绍你的功能。"}
]
audio_output, text_output = model.generate(messages_conversation, **sampling_params, output_type="both")
sf.write("response.wav", audio_output, samplerate=16000)
print("文本回复:", text_output)

процедура::

  • Обеспечивает первоначальный голосовой ввод и текстовые команды.
  • устанавливать output_type="both" Получайте голосовые и текстовые ответы.
  • Сохраните аудиовыход и просмотрите текст.

5. Использование набора инструментов для оценки

Любезно предоставлено Kimi-Audio Kimi-Audio-Evalkit Для оценки производительности модели. Установка:

git clone https://github.com/MoonshotAI/Kimi-Audio-Evalkit.git
cd Kimi-Audio-Evalkit
pip install -r requirements.txt

Оперативная оценка:

bash run_audio.sh --model Kimi-Audio --dataset all

процедура::

  • Загрузите набор данных в указанную директорию.
  • настроить config.yaml Указывает путь к набору данных.
  • Запустите сценарий для создания отчета об оценке.

предостережение

  • Убедитесь, что формат аудиофайла - WAV с частотой дискретизации 16 кГц.
  • Среда GPU ускоряет вычисления, рекомендуется использовать CUDA 12.4.
  • Загрузка моделей требует большого объема памяти, рекомендуется не менее 16 Гб графической памяти.
  • Для развертывания не на платформе Docker требуется ручная установка системных зависимостей, см. документацию на GitHub.

 

сценарий применения

  1. Интеллектуальное обслуживание клиентов
    Kimi-Audio можно использовать для создания систем обслуживания клиентов с голосовым взаимодействием. Она транскрибирует вопросы пользователей с помощью распознавания речи, комбинирует аудио вопросы и ответы и генерирует естественные голосовые ответы. Она подходит для платформ электронной коммерции или сценариев технической поддержки для повышения качества обслуживания пользователей.
  2. Учебные пособия
    При изучении языка Kimi-Audio транскрибирует произношение студентов, анализирует эмоции и интонацию, а также предоставляет обратную связь. Он также транскрибирует учебные тексты в речь для создания материалов для аудирования, что делает его подходящим для платформ онлайн-образования.
  3. создание контента
    Видеопродюсеры могут использовать Kimi-Audio для создания субтитров или дубляжа. Он может автоматически генерировать точные субтитры для видео или преобразовывать сценарии в речь с несколькими тонами для упрощения последующей обработки.
  4. медицинская карта
    Врачи могут вводить случаи голосом, Kimi-Audio транскрибирует их в текст и классифицирует эмоции, чтобы помочь диагностировать эмоциональное состояние пациента. Подходит для больничных информационных систем.

 

QA

  1. Какие языки поддерживает Kimi-Audio?
    Kimi-Audio поддерживает распознавание и генерацию речи на нескольких языках, особенно на английском и китайском. Для поддержки других языков, пожалуйста, обратитесь к официальной документации.
  2. Как оптимизировать скорость рассуждений?
    Чтобы использовать ускорение GPU, установите flash-attn библиотека, набор torch_dtype=torch.bfloat16. Кроме того, корректировки audio_top_k ответить пением text_top_k Параметры обеспечивают баланс между скоростью и качеством.
  3. Поддерживает ли модель диалог в режиме реального времени?
    Да, потоковый декодер Kimi-Audio поддерживает генерацию звука с низкой задержкой для голосового взаимодействия в реальном времени.
  4. Как добавить пользовательский набор данных для оценки?
    существовать Kimi-Audio-Evalkit Создайте JSONL-файл в index, иaudio_path ответить пением question поле. Изменить config.yaml Просто укажите путь к набору данных и запустите сценарий оценки.
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...