🚀 量化版Dia 1.6B (INT8)
这是 nari-labs/Dia-1.6B 的动态int8量化版本。它采用动态量化技术,以实现更轻量级的部署和更快的推理速度。
原始模型:float16,约6.4GB
量化模型:int8动态,约6.4GB,推理速度快约20%
🚀 快速开始
这将打开一个Gradio用户界面,你可以在上面进行操作。
git clone --branch int8-dia https://github.com/RobertAgee/dia.git
cd dia && uv run app.py
或者,如果你没有预先安装 uv
:
git clone --branch int8-dia https://github.com/RobertAgee/dia.git
cd dia
python -m venv .venv
source .venv/bin/activate
pip install uv
uv run app.py
此模型由 RobertAgee 和 RobAgrees 上传。
在Google Colab中使用PyTorch动态量化自动进行量化。
原README内容
Dia是由Nari Labs创建的一个具有16亿参数的文本转语音模型。它使用 PytorchModelHubMixin 集成推送到Hugging Face Hub。
Dia 可以直接从文本转录生成高度逼真的对话。你可以根据音频对输出进行条件控制,从而实现对情感和语调的控制。该模型还可以生成诸如笑声、咳嗽声、清嗓子声等非语言交流内容。
为了加速研究,我们提供了预训练模型检查点和推理代码的访问权限。模型权重托管在 Hugging Face 上。目前,该模型仅支持英文生成。
我们还提供了一个 演示页面,用于将我们的模型与 ElevenLabs Studio 和 Sesame CSM-1B 进行比较。
- (更新) 我们有一个ZeroGPU Space正在运行!现在就可以 点击这里 进行尝试。感谢Hugging Face团队的支持 :)
- 加入我们的 Discord服务器,获取社区支持并了解新功能。
- 体验更大版本的Dia:生成有趣的对话、重新混合内容并与朋友分享。点击 加入等待列表 以获得早期访问权限。
快速开始
这将打开一个Gradio用户界面,你可以在上面进行操作。
git clone https://github.com/nari-labs/dia.git
cd dia && uv run app.py
或者,如果你没有预先安装 uv
:
git clone https://github.com/nari-labs/dia.git
cd dia
python -m venv .venv
source .venv/bin/activate
pip install uv
uv run app.py
请注意,该模型没有针对特定语音进行微调。因此,每次运行模型时,你会得到不同的语音。
你可以通过添加音频提示(很快会有使用指南 - 目前可以在Gradio上的第二个示例中尝试)或固定随机种子来保持说话者的一致性。
✨ 主要特性
- 通过
[S1]
和 [S2]
标签生成对话。
- 生成非语言内容,如
(laughs)
、(coughs)
等。
- 以下非语言标签会被识别,但可能会产生意外输出。
(laughs), (clears throat), (sighs), (gasps), (coughs), (singing), (sings), (mumbles), (beep), (groans), (sniffs), (claps), (screams), (inhales), (exhales), (applause), (burps), (humming), (sneezes), (chuckle), (whistles)
- 语音克隆。更多信息请参阅
example/voice_clone.py
。
- 在Hugging Face空间中,你可以上传想要克隆的音频,并在脚本前放置其转录文本。确保转录文本符合所需格式。然后,模型将仅输出脚本内容。
💻 使用示例
作为Python库使用
import soundfile as sf
from dia.model import Dia
model = Dia.from_pretrained("nari-labs/Dia-1.6B")
text = "[S1] Dia is an open weights text to dialogue model. [S2] You get full control over scripts and voices. [S1] Wow. Amazing. (laughs) [S2] Try it now on Git hub or Hugging Face."
output = model.generate(text)
sf.write("simple.mp3", output, 44100)
PyPI包和可用的命令行工具将很快推出。
🔧 技术细节
硬件和推理速度
Dia仅在GPU(pytorch 2.0+,CUDA 12.6)上进行了测试。CPU支持将很快添加。
首次运行时会花费更长时间,因为还需要下载Descript音频编解码器。
在企业级GPU上,Dia可以实时生成音频。在较旧的GPU上,推理时间会较慢。
作为参考,在A4000 GPU上,Dia大约每秒生成40个令牌(86个令牌相当于1秒的音频)。
对于支持的GPU,torch.compile
将提高速度。
完整版本的Dia运行大约需要10GB的显存。我们未来将添加量化版本。
如果你没有可用的硬件,或者想体验我们更大版本的模型,请 点击这里加入等待列表。
📄 许可证
本项目采用Apache许可证2.0 - 详情请参阅 LICENSE 文件。
免责声明
本项目提供了一个高保真度的语音生成模型,旨在用于研究和教育目的。以下使用方式 严格禁止:
- 身份盗用:未经许可,不得生成与真实个人相似的音频。
- 虚假内容:不得使用此模型生成误导性内容(如虚假新闻)。
- 非法或恶意使用:不得将此模型用于非法或有害活动。
使用此模型即表示你同意遵守相关法律标准和道德责任。我们 不对任何滥用行为负责,并坚决反对任何不道德的技术使用行为。
TODO / 未来工作
- 支持Docker。
- 优化推理速度。
- 添加量化以提高内存效率。
贡献
我们是一个由1名全职和1名兼职研究工程师组成的小团队。我们非常欢迎任何贡献!
加入我们的 Discord服务器 进行讨论。
致谢