安装Kimi-Audio docker镜像

安装Kimi-Audio docker镜像

在本地部署Kimi-Audio时,需要下载docker镜像,但是安装失败,以下是我遇到的问题

https://www.modelscope.cn/models/moonshotai/Kimi-Audio-7B-Instruct

问题3 torch版本

官方提供的依赖是torch2.6的,注意torch版本是否匹配你的显卡,我用的5090算力是sm_120,至少需要torch2.7才行。

解决方案

在这个网站上找你的cuda版本、python版本并下载对应的安装包https://download.pytorch.org/whl,将以下代码写入dockerfile,主要要写在RUN pip install -r requirements.txt之前,并且将requirements.txt里的torch和torchaudio删除

1
2
3
4
5
6
# 安装本地 PyTorch wheel 文件
COPY torch-2.7.1+cu128-cp310-cp310-manylinux_2_28_x86_64.whl /tmp/
COPY torchaudio-2.7.1+cu128-cp310-cp310-manylinux_2_28_x86_64.whl /tmp/
RUN pip install /tmp/torch-2.7.1+cu128-cp310-cp310-manylinux_2_28_x86_64.whl \
&& pip install /tmp/torchaudio-2.7.1+cu128-cp310-cp310-manylinux_2_28_x86_64.whl \
&& rm -f /tmp/torch*.whl /tmp/torchaudio*.whl

为什么问题3在最前面?问的好,如果我知道问题3应该最先解决就不会白花这么多时间了

问题2 NVIDIA Container Toolkit

docker没有安装NVIDIA Container Toolkit,报错如下

1
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]

先下载安装包:https://github.com/NVIDIA/nvidia-container-toolkit/releases

解决方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#解压
tar -xvzf nvidia-container-toolkit_1.17.5_deb_amd64.tar.gz

# 进入目录并安装
cd release-v1.17.5-stable/packages/ubuntu18.04/amd64/
sudo dpkg -i *.deb

# 修复依赖(如果有)
sudo apt-get install -f -y

# 配置 Docker
sudo nvidia-ctk runtime configure --runtime=docker

# 重启 Docker
sudo systemctl restart docker

问题1 flash_attn

问题出在安装 flash_attn 时,因为它需要先安装 torch 才能构建,但是requirements.txt 包含了 flash_attn==2.7.4.post1,但 flash_attn 在构建时需要 torch 已经安装。由于 pip 会并行收集所有依赖,导致在 torch 安装完成前就尝试构建 flash_attn。

虽然 Dockerfile 已经有单独安装 flash-attn 的命令(使用 –no-build-isolation),但 requirements.txt 中也包含了它,导致安装失败。

解决方案

将requirements.txt中的flash_attn去掉,这样就会在Dockerfile中单独安装flash_attn

但是我在安装的过程中可能是因为网络的问题,导致flash_attn下载失败。于是手动下载安装包,可以去这下载https://github.com/Dao-AILab/flash-attention/releases

注意分辨abitrue和abifalse的版本,使用python -c "import torch;print(torch._C._GLIBCXX_USE_CXX11_ABI)”来查看你的版本

然后把whl文件移动到项目中,和Dockerfile同一级的目录。修改Dockerfile文件,用以下代码替换掉之前的安装命令

1
2
3
4
# RUN pip install flash-attn --no-build-isolation

COPY flash_attn*.whl /tmp/
RUN pip install /tmp/flash_attn*.whl && rm /tmp/flash_attn*.whl

踩坑点

不能修改flash_attn的文件名,因为 pip 需要完整的 wheel 文件名来识别包信息(版本、Python 版本、平台等)。

最后

装完docker镜像大概35g左右