Kimi-Audio音频大模型介绍、本地部署与开发

article/2025/8/21 18:58:41

目录

一、模型介绍

二、模型部署

 1、创建工作空间

2、下载模型

3、下载依赖

4、下载模型库 

5、下载glm4_tokenizer

6、代码编程修改


4 月 26 日,Moonshot AI正式宣布推出Kimi-Audio,一款全新的开源音频基础模型,旨在推动音频理解、生成和交互领域的技术进步。这一发布引发了全球AI社区的广泛关注,被认为是多模态AI发展的重要里程碑。Kimi-Audio-7B-Instruct基于Qwen2.5-7B架构,并结合Whisper技术,展现了强大的多功能性。

一、模型介绍

Kimi Audio被设计为一个通用的音频基础模型,能够在一个统一的框架内处理各种音频处理任务。主要功能包括:

通用功能:处理各种任务,如语音识别(ASR)、音频问答(AQA)、音频字幕(AAC)、语音情感识别(SER)、声音事件/场景分类(SEC/ASC)和端到端语音对话。

最先进的性能:在众多音频基准测试中取得SOTA结果(见评估和技术报告)。

大规模预训练:对超过1300万小时的各种音频数据(语音、音乐、声音)和文本数据进行预训练,实现强大的音频推理和语言理解。

新颖的架构:采用混合音频输入(连续声学+离散语义标记)和具有并行头的LLM核心来生成文本和音频标记。

高效推理:基于流匹配的块流式去标记器,用于低延迟音频生成。

开源:我们发布了代码、用于预训练和指令微调的模型检查点,以及一个全面的评估工具包,以促进社区的研究和开发。

模型地址:https://github.com/MoonshotAI/Kimi-Audio

论文地址:https://github.com/MoonshotAI/Kimi-Audio/blob/master/assets/kimia_report.pdf

模型数据:魔搭社区

模型架构:

测评结果: 

Kimi-Audio与以往音频语言模型在各类基准测试上的表现对比

语音识别方面,LibriSpeech英文测试集,Kimi-Audio的错误率(WER)只有1.28%,比Qwen2.5-Omni的2.37%还低一截。AISHELL-1中文:WER 0.60%,比上一代模型低一半。此外多场景、多语种、多环境,Kimi-Audio基本都是榜首。

音频理解方面,Kimi-Audio在MMAU、MELD、VocalSound、TUT2017等公开集上,分数都是最高。比如MMAU的“声音理解”类,Kimi-Audio得分73.27,超过其它竞品。

音频对话&音频聊天方面,VoiceBench的多项任务,Kimi-Audio都是第一,平均得分76.93。

Kimi-Audio的卓越性能得益于其庞大的训练数据集。据官方披露,该模型在超过1300万小时的多样化音频数据上进行训练,涵盖语音、音乐、环境音等多种类型。Moonshot AI还开源了Kimi-Audio的训练代码、模型权重以及评估工具包。

二、模型部署

环境 :ubuntu22.4 系统、内存32G、GPU 32G 英伟达V100、CPU 16核

Python 3.10.12

Pytorch 2.4.1

CUDA  12.1

前置部署请参照 

Ubuntu22.4部署及更新cuda11.8与cuda12.1-CSDN博客

 1、创建工作空间

mkdir /opt/workspace

2、下载模型

cd /opt/workspace
git clone https://github.moeyy.xyz/https://github.com/MoonshotAI/Kimi-Audio.git

 

3、下载依赖

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

下载flash_attn依赖(这一步很重要,要不然代码程序无法执行)

pip install flash_attn

如果一直无法安装,可直接下载安装文件,然后再安装

cd /opt/workspace/
wget https://github.moeyy.xyz/https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.4.post1/flash_attn-2.7.4.post1+cu12torch2.4cxx11abiFALSE-cp310-cp310-linux_x86_64.whl
pip install flash_attn-2.7.4.post1+cu12torch2.4cxx11abiFALSE-cp310-cp310-linux_x86_64.whl

以上下载地址可参考:Releases · Dao-AILab/flash-attention · GitHub 

4、下载模型库 

模型库地址:魔搭社区

在/opt/workspace/Kimi-Audio/中创建文件夹moonshotai 

定位到目录

cd moonshotai

执行如下操作

sudo apt-get install git-lfs
git lfs  install
git clone https://www.modelscope.cn/moonshotai/Kimi-Audio-7B.git

5、下载glm4_tokenizer

为何要下载gml4,是因为源码中调用,官方代码中没有

 查看源码

发现glm4中竟然缺少文件,查看官网发现竟然超链接到GitHub - THUDM/GLM-4-Voice: GLM-4-Voice | 端到端中英语音对话模型

cd /opt/workspace/Kimi-Audio/kimia_infer/models/tokenizer
rm -fr glm4
git clone https://github.moeyy.xyz/https://github.com/THUDM/GLM-4-Voice.git
mv GLM-4-Voice glm4

 结果如下

6、代码编程修改

 将/opt/workspace/Kimi-Audio/infer.py文件中第九行内容moonshotai/Kimi-Audio-7B-Instruct修改为moonshotai/Kimi-Audio-7B

代码如下(已完善注释): 

# 导入必要的库
from kimia_infer.api.kimia import KimiAudio  # Kimi音频模型接口
import os  # 操作系统接口
import soundfile as sf  # 音频文件读写库if __name__ == "__main__":# 初始化KimiAudio模型model = KimiAudio(model_path="moonshotai/Kimi-Audio-7B",  # 指定模型路径load_detokenizer=True,  # 加载detokenizer)# 设置采样参数sampling_params = {"audio_temperature": 0.8,  # 音频生成温度(音频情感波动性)"audio_top_k": 10,  # 音频生成的top-k采样"text_temperature": 0.0,  # 文本生成温度"text_top_k": 5,  # 文本生成的top-k采样"audio_repetition_penalty": 1.0,  # 音频重复惩罚因子"audio_repetition_window_size": 64,  # 音频重复窗口大小"text_repetition_penalty": 1.0,  # 文本重复惩罚因子"text_repetition_window_size": 16,  # 文本重复窗口大小}# ================= 第一部分:语音识别(ASR) =================# 构建消息列表,包含用户指令和音频输入messages = [{"role": "user", "message_type": "text", "content": "请将音频内容转换为文字。"},  # 文本指令{"role": "user","message_type": "audio","content": "test_audios/asr_example.wav",  # 音频文件路径},]# 调用模型生成文本输出(语音转文字)wav, text = model.generate(messages, **sampling_params, output_type="text")print(">>> output text: ", text)  # 打印识别结果# ================= 第二部分:音频处理 =================# 创建输出目录output_dir = "test_audios/output"os.makedirs(output_dir, exist_ok=True)  # 如果目录不存在则创建# 构建只包含音频输入的消息messages = [{"role": "user","message_type": "audio","content": "test_audios/qa_example.wav",  # 输入音频文件}]# 调用模型同时生成音频和文本输出wav, text = model.generate(messages, **sampling_params, output_type="both")# 保存生成的音频文件sf.write(os.path.join(output_dir, "output.wav"),  # 输出文件路径wav.detach().cpu().view(-1).numpy(),  # 处理音频数据24000,  # 采样率24kHz)print(">>> output text: ", text)  # 打印生成的文本

代码展示了如何使用KimiAudio模型进行音频处理任务。我来为您解释一下代码的主要功能:

  1. 首先导入必要的库:

    • KimiAudio:Kimi音频模型的接口
    • os:操作系统接口
    • soundfile:音频文件读写库
  2. 主要功能分为两部分:

第一部分 - 语音识别(ASR):

  • 加载KimiAudio模型,指定模型路径为"moonshotai/Kimi-Audio-7B-Instruct"
  • 设置采样参数,包括音频和文本生成的各种温度、top_k等参数
  • 构建消息列表,包含一条文本指令和一条音频输入
  • 调用模型生成文本输出(语音转文字)

第二部分 - 音频处理:

  • 创建输出目录
  • 构建只包含音频输入的消息
  • 调用模型同时生成音频和文本输出
  • 使用soundfile将生成的音频保存为WAV文件

注意事项:

  1. 代码中使用了相对路径"test_audios/"下的音频文件,请确保这些文件存在
  2. 输出音频采样率设为24000Hz
  3. 模型需要加载detokenizer(load_detokenizer=True)

这个示例展示了KimiAudio模型的两个主要功能:

  • 语音识别(将音频转为文字)
  • 音频生成/处理(输入音频生成新的音频)

6、代码调试

cd /opt/workspace/Kimi-Audio/
python3 infer.py

FAQ

1、代码报错flash_attn未找到

解决方案:检查本地的flash_attn是否与torch版本一致

2、OSError: We couldn't connect to 'https://huggingface.co' to load the files, and couldn't find them in the cached files. Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'

解决方案:上述原因是未找到本地模型地址,重新从远程服务器上获取缓存,而缓存服务器是国外的,检查/opt/workspace/Kimi-Audio/infer.py代码文件中第九行代码中moonshotai/Kimi-Audio-7B路径是否和服务器上一致


http://www.hkcw.cn/article/KRVjnUxUVX.shtml

相关文章

YOLO11n动态库部署实战:Windows11 + C++ + OpenCV + DDL完整封装流程详解(保姆级教程)

文章目录 前言一、Windows11CPU算法环境搭建1. 安装pycharm2. 安装python 3.8.103. 安装pytorch 1.13.04. 安装mingw64 14.2.05. 安装cmake 3.31.66. 安装 Visual Studio 2022 二、运行YOLO模型并转换为ONNX文件1. 下载yolo11源码和 ultralytics-8.3.31-py3-none-any.whl 文件2…

AI视频自动生成本地部署,完美实现“剪映”图文成片功能

项目说明 本项目仅适用于学习和研究,不得用于商业使用。所有推荐开源项目本人都亲测可运行。如有侵权,请通知删除。 项目简介 只需提供一个视频 主题 或 关键词 ,就可以全自动生成视频文案、视频素材、视频字幕、视频背景音乐,然…

计算机视觉常用数据集Cityscapes的介绍、下载、转为YOLO格式进行训练

我在寻找Cityscapes数据集的时候花了一番功夫,因为官网下载需要用公司或学校邮箱邮箱注册账号,等待审核通过后才能进行下载数据集。并且一开始我也并不了解Cityscapes的格式和内容是什么样的,现在我弄明白后写下这篇文章,用于记录…

抖音采集工具Gui版:高效无水印下载抖音视频的神器

抖音采集工具Gui版是一款由52pojie论坛的biqiang大神自制的功能强大的采集工具。 它专为抖音视频下载设计,能够帮助用户轻松获取抖音平台上的各种视频资源,支持批量下载,极大地提升了下载效率。 全面的资源采集 支持采集抖音作品、Webp动态封…

YOLOv11实时目标检测 | 摄像头视频图片文件检测

在上篇文章中YOLO11环境部署 || 从检测到训练https://blog.csdn.net/2301_79442295/article/details/145414103#comments_36164492,我们详细探讨了YOLO11的部署以及推理训练,但是评论区的观众老爷就说了:“博主博主,你这个只能推理…

【计算机视觉】生成对抗网络(GAN)在图像生成中的应用

生成对抗网络(GAN)在图像生成中的应用 一、前言1.1 图像生成的重要性与挑战​1.2 GAN 的发展历程​二、生成对抗网络(GAN)基础​2.1 GAN 的基本原理​2.1.1 生成器与判别器​2.1.2 对抗训练过程​2.2 GAN 的数学原理​2.3 GAN 的代码实现(以 PyTorch 为例)​2.4 GAN 训练…

Coze实战:基于数据库的视频混剪工作流搭建(喂饭级教程)

作者:后端小肥肠 🍊 有疑问可私信或评论区联系我。 🥑 创作不易未经允许严禁转载。 姊妹篇: Coze一键生成打字机效果书单视频(保姆级工作流拆解)-CSDN博客 Coze实战:《如果书籍会说话》保姆级教程&#xff…

自动语音识别(ASR)技术详解

语音识别(Automatic Speech Recognition, ASR)是人工智能和自然语言处理领域的重要技术,旨在将人类的语音信号转换为对应的文本。近年来,深度学习的突破推动语音识别系统从实验室走入日常生活,为智能助手、实时翻译、医…

计算机视觉——YOLO11原理代码分块解读与模型基准对比测试

一、概述 2024 年对 YOLO 而言是具有里程碑意义的一年。这一年,YOLO 系列在 9 月的最后一天推出了其年度第三部重磅之作。2024 年 2 月 21 日,距离 2023 年 1 月 YOLOv8 正式发布已过去一年有余,YOLOv9 终于问世。YOLOv9 创新性地提出了可编…

[嵌入式实验]实验四:串口打印电压及温度

一、实验目的 熟悉开发环境在开发板上读取电压和温度信息使用串口和PC通信在PC上输出当前电压和温度信息 二、实验环境 硬件:STM32开发板、CMSIS-DAP调试工具 软件:STM32CubeMX软件、ARM的IDE:Keil C51 三、实验内容 配置相关硬件设施 &…

代码随想录算法训练营 Day59 图论Ⅸ dijkstra优化版 bellman_ford

图论 题目 47. 参加科学大会(第六期模拟笔试) 改进版本的 dijkstra 算法(堆优化版本) 朴素版本的 dijkstra 算法解法的时间复杂度为 O ( n 2 ) O(n^2) O(n2) 时间复杂度与 n 有关系,与边无关系 类似于 prim 对应点多…

Webots R2025a和ROS2 Jazzy部分资料汇总-250529

使用注意要点: 安装webot-ros包: sudo apt install ros-jazzy-webots-ros2 sudo apt install ros-jazzy-webots-ros2 sudo apt install ros-jazzy-webots-ros2 Reading package lists... Done Building dependency tree... Done Reading state infor…

jdbcTemplate防止注入写法

前一期写过拼接查询 https://blog.csdn.net/qq_44749121/article/details/148084689 但是会涉及到注入风险 所幸这一期给一个改进写法 在 Spring 框架中使用 JdbcTemplate 时,可以通过以下方式有效防止 SQL 注入: 1. 使用预编译语句(Prepare…

Spring AI 系列3: Promt提示词

一、Promt提示词 Promt提示是引导 AI 模型生成特定输出的输入, 提示的设计和措辞会显著影响模型的响应。 在 Spring AI 中与 AI 模型交互的最低层级,处理提示有点类似于在 Spring MVC 中管理”视图”。 这涉及创建带有动态内容占位符的大段文本。 这些占…

用 Python 模拟雪花飘落效果

用 Python 模拟雪花飘落效果 雪花轻轻飘落,给冬日带来一份浪漫与宁静。本文将带你用一份简单的 Python 脚本,手把手实现「雪花飘落效果」动画。文章深入浅出,零基础也能快速上手,完整代码仅需一个脚本文件即可运行。 目录 前言…

Linux `cp` 命令深度解析与高阶应用指南

Linux `cp` 命令深度解析与高阶应用指南 一、核心功能解析1. 基本作用2. 与类似命令对比二、选项系统详解1. 基础选项矩阵2. 高阶选项说明三、高阶应用场景1. 企业数据备份2. 容器环境部署3. 系统安全审计四、特殊文件处理1. 符号链接处理2. 稀疏文件优化五、性能优化策略1. 大…

中国寻亲网宣布将关闭服务器 25年终落幕

近日,中国寻亲网发布公告称将于2025年7月15日起停止运行并关闭服务器。公告于2025年4月1日发布,内容提到根据公司股东大会决议,公司将停止全部业务并进行注销。自2025年5月1日起,中国寻亲网将不再发布新的寻亲信息,仅提供原有信息的更改服务,直至最终关闭。对于无法继续为…

Spring代理工厂类ProxyFactory作用以及实现原理

代理工厂类ProxyFactory AdvisedSupport(代理配置信息类)ProxyFactory(代理工厂类)小结测试 源码见:mini-spring 在 AOP(面向切面编程)中,Spring 支持两种常见的代理机制&#xff1a…

旺店通ERP集成金蝶ERP(金蝶EAS、KIS、K3、云星空、云星辰、云星瀚)

对接说明 旺店通ERP完成所有供应链业务单向同步到金蝶ERP进行成本核算和生成财务凭证: 旺店通ERP货品数据同步至金蝶ERP物料档案旺店通ERP供应商数据同步至金蝶ERP供应商档案旺店通ERP店铺数据同步至金蝶ERP客户档案旺店通ERP仓库数据同步至金蝶ERP仓库档案旺店通…

美国年轻人遭遇“求职寒冬” 就业市场冻结

5月23日,美国加利福尼亚州奥兰治,查普曼大学毕业生参加了毕业典礼。从5月到6月,美国大学迎来了毕业季。来自政府、研究机构和招聘平台的数据揭示了一个令年轻人不安的事实:求职者,尤其是职场新人,面临异常激烈的就业市场。CNBC报道指出,应届毕业生发现劳动力市场比几个月…