当前位置:首页|资讯

自制神之嘴: fish-speech 容器镜像 (文本转语音 AI 大模型)

作者:穷人小水滴发布时间:2024-09-16

首发日期 2024-08-15, 以下为原文内容:

穷, 没有 N 卡 ! 穷, 没有 N 卡 !穷, 没有 N 卡 !! (重要的事情说 3 遍. )

最近发现了一个很新的 AI (神经网络) 文本转语音大模型:https://speech.fish.audio/

fish-speech 可以根据输入的文本, 生成高质量的人类说话声音, 效果挺好的.fish-speech 官方已经提供了容器 (docker) 镜像, 但是这个镜像很大 (好多 GB),下载速度慢, 使用并不方便.

所以决定自制容器镜像, 方便直接部署运行 (podman).那么问题来了: 把派蒙装进容器, 一共需要几步 ?

这里是 穷人小水滴, 专注于 穷人友好型 低成本技术.下面开始吧 ~

相关视频: 《win10 安装 Podman Desktop (教程)》 

相关文章:

  • 《构建 deno/fresh 的 docker 镜像》

  • 《基于 sftp 的 NAS (局域网文件存储服务器)》

  • 《光驱的内部结构及日常使用》

目录

  • 1 天下苦 N 卡久矣

  • 2 制作 fish-speech 容器镜像

    • 2.1 构建 python 基础镜像

    • 2.2 构建 fish-speech 镜像

    • 2.3 镜像的长期保存 (刻录光盘)

  • 3 测试运行 (CPU 推理)

  • 4 总结与展望

1 天下苦 N 卡久矣

AI (神经网络) 大模型已经火了好几年了,但是普通人想要在本地运行 AI 大模型, 仍然面对巨大的困难:

  • (1) N 卡 (CUDA) 垄断.如果没有 N 卡 (没有 CUDA), 那么基本上各种 AI 都是玩儿不了的,A 卡和 I 卡基本没啥用, 只能在角落吃灰.(大部分能够本地运行的 AI 都只支持 N 卡. )

  • (2) 网速太慢.AI 大模型相关的软件, 通常体积巨大, 几 GB 都是小的, 几十 GB 也很常见.然而下载速度又太慢, 一个模型需要下载好久, 甚至下载失败.

在下, 作为根正苗红的穷人, 那自然是无论如何也买不起 N 卡的.只能仰天大呼: CUDA 宁有种乎 ?

于是乎, 只能祭出终极大杀器: CPU 推理 !既然被 GPU 无情抛弃, 那么就转身投入 CPU 的温暖怀抱 !

用 9 年前的弱鸡老旧 CPU (i5-6200U) 强行小马拉大车,配合 16GB 内存 (DDR3-1600MHz), 吭哧吭哧虽然很吃力, 但也不是不能运行嘛 !

什么 ? CPU 运行太慢 ??穷人嘛, 钱是没有的, 时间那可是大大的有 !反正穷人的时间又不值钱, 慢慢运行也是能出结果的啦.

总之, 买 N 卡是不可能买的, 这辈子都不可能的,也就只能是蹭蹭温暖的娇小 CPU, 在风扇声旁安然入睡这样子.

2 制作 fish-speech 容器镜像

首先从这里下载源代码包: https://github.com/fishaudio/fish-speech

然后从这里下载 "模型" 数据文件: https://hf-mirror.com/fishaudio/fish-speech-1.2-sft

2.1 构建 python 基础镜像

构建容器镜像的过程中, 需要从网络下载大量文件, 所以为了方便制作,方便修改和调试, 这里首先制作一个基础镜像, 安装好依赖的各种软件包.

Dockerfile 文件内容:

fish-speech 要求使用 python 3.10 版本, 如果 python 版本不对,可能会出现一些奇奇怪怪的问题, 所以使用 ubuntu:22.04.

构建命令:

可能需要执行较长时间, 结果如下:

此处 f-base 就是制作好的基础镜像.

2.2 构建 fish-speech 镜像

首先准备所需文件, 解压源码包 fish-speech-main.zip,放入模型数据 checkpoints/fish-speech-1.2-sft/, 再放入参考音频,文件列表如下:

参考音频放在 ref_data 目录, 下级目录格式 说话者/情绪,比如此处 1paimon/e1 表示说话者 1paimon, 情绪 e1.这些目录可以随意命名.

然后里面放 参考音频, 格式为 "音频-标签" 对.比如 2003_1.wav 就是一个声音文件 (wav 格式),2003_1.lab 是这段声音对应的文本内容.注意音频文件和标签文件的名称对应.

然后使用的 Dockerfile 如下:

最后的命令 (CMD) 会运行一个 HTTP 服务器, 方便调用.--device cpu 表示使用 CPU 推理 (计算).

构建命令:

结果:

其中 fish-speech 就是构建出来的镜像, 很大, 17.1GB.

2.3 镜像的长期保存 (刻录光盘)

保存镜像:

获得:

压缩后大小 10GB.有了这个镜像文件, 部署运行就很方便了.

上述制作镜像的过程中, 需要通过网络下载大量的数据, 很不容易.所以制作好的镜像文件需要好好保存, 防止丢失.

此处选择使用一张 BD-R 25G 光盘来备份数据:

光盘里面的文件:

可以方便的使用 sha256sum -c sha256.txt 检查光盘中的文件是否损坏:

蓝光光盘最大读取速度可达 35MB/s.

3 测试运行 (CPU 推理)

使用 podman 运行 fish-speech 容器 (HTTP 服务器):

生成音频:

生成过程中产生的日志:

好了, 成功获得了一只神之嘴, 撒花 ~

使用 CPU 推理, 速度大约比 N 卡慢 100 倍, 生成 1 秒的音频大约需要 1 分钟.

这个速度虽然很慢, 但是也是具有一定的实用意义的,比如制作一个 10 分钟的视频, 进行配音, 所需的时间, 也就是晚上睡一觉而已,第二天起来就生成好了.

具体栗子请见视频 《win10 安装 Podman Desktop (教程)》 (链接在文章开头).

4 总结与展望

fish-speech 是一个新的 AI (神经网络) 文本转语音大模型,可以生成高质量的人类说话声音.在此感谢开发 fish-speech 并开源的巨佬们 !

通过自制 fish-speech 容器镜像, 并添加参考音频数据,窝们成功获得了一只封装好的派蒙罐头 (真·应急食品).随便放在哪里都可以直接运行, 无需网络, 很是方便好用.

CPU 推理确实很慢, 后续计划寻找无需 N 卡条件下,更快运行大模型的方法.

本文使用 CC-BY-SA 4.0 许可发布.

本文使用 Bilibili-Markdown 工具进行格式化排版:https://www.bilibili.com/read/cv18986956/


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1