基础模型:
- Qwen/Qwen2.5-0.5B
数据集:
- openslr/librispeech_asr
- slprl/SpokenSwag
- slprl/sTinyStories
库名称: transformers
许可证: mit
管道标签: audio-to-audio
Slamming:一天内用单块GPU训练语音语言模型
该模型在论文《Slamming:一天内用单块GPU训练语音语言模型》中提出。
论文摘要
我们推出Slam方案,可在单块学术级GPU上24小时内训练出高质量的语音语言模型(SLM)。通过实证分析模型初始化与架构、合成训练数据、基于合成数据的偏好优化以及调整所有其他组件,我们实现了这一目标。实证表明该训练方案具有良好的计算扩展性,能以极低的计算成本达到领先SLM的水平。希望这些洞见能降低SLM训练与研究门槛。在SLM扩展定律框架下,我们的结果远超计算最优性能预测,为SLM可行性提供了乐观前景。查看代码、数据、模型及样本请访问:https://pages.cs.huji.ac.il/adiyoss-lab/slamming。
模型卡片
这是一个基于离散Hubert标记训练的语音语言模型(SLM),用于生成语音延续片段。
模型详情
模型描述
该语音语言模型出自论文《"Slamming:一天内用单块GPU训练语音语言模型"》,专注于高效训练。模型从Qwen/Qwen2.5-0.5B微调而来,使用mhubert-25hz第11层提取的500个语音标记作为词汇表。
预训练阶段采用下一标记预测目标,使用LibriSpeech子集、Libri-Light及合成数据集sTinyStories。后续通过DPO在SpokenSwag上进行微调。
模型来源
用途
该基础SpeechLM可用于生成语音片段延续,或作为进一步调优的基础。详见_SlamKit_代码库的使用说明,或访问演示页查看生成样例。
非适用场景
本模型训练数据主要来自有声书和故事类音频,其输出不应被视为事实性内容。
快速开始
完整使用说明请参考官方代码库 - github。
训练详情
建议用户阅读完整论文,以下为简要概述。
训练数据
预训练阶段使用LibriSpeech训练子集、Libri-Light及合成数据集sTinyStories。DPO微调阶段使用合成数据集SpokenSwag。
训练流程
模型先通过多数据集下一标记预测训练,后在SpokenSwag上进行DPO训练。完整训练方案详见论文或代码。
预处理
使用Hubert-25hz从音频提取语音标记,并通过textlesslib官方kmeans量化。单元经过去重处理。完整细节请参阅代码库。
评估
论文提供完整结果,此处展示部分指标,更多样本可访问演示页。
模型 |
GPU配置 |
参数量 |
训练标记数 |
sBLIMP ↑ |
sStoryCloze ↑ |
tStoryCloze ↑ |
GenPPL ↓ |
Auto-BLEU ↓ |
纯语音预训练 |
|
|
|
|
|
|
|
|
GSLM |
8×V100 |
100M |
1B |
54.2 |
53.3 |
66.6 |
— |
— |
SyllableLM |
4×A40 |
300M |
16B |
63.7 |
— |
75.4 |
— |
— |
TWIST-350M |
8×V100 |
305M |
10.8B |
56.2 |
— |
— |
137.3 |
3.46 |
TWIST-1.3B |
32×V100 |
1B |
10.8B |
57.0 |
52.4 |
70.6 |
131.8 |
3.20 |
TWIST-7B |
32×V100 |
7B |
36B |
59.0 |
55.3 |
74.1 |
93.74 |
3.06 |
TWIST-13B |
32×V100 |
13B |
36B |
59.2 |
55.4 |
76.4 |
— |
— |
计算最优缩放 |
— |
823M |
82B |
61.3 |
56.7 |
78.0 |
— |
— |
Moshi |
?×H100 |
7B |
? |
58.9 |
58.7 |
81.8 |
— |
— |
SpiritLM |
64×A100 |
7B |
100B |
58.0 |
54.8 |
72.9 |
— |
— |
含文本/偏好优化 |
|
|
|
|
|
|
|
|
交错缩放 |
— |
9B |
~1T |
— |
62.4 |
82.9 |
— |
— |
Moshi |
?×H100 |
7B |
~720B |
58.8 |
60.8 |
83.0 |
— |
— |
SpiritLM |
64×A100 |
7B |
100B |
58.3 |
61.0 |
82.9 |
— |
— |
AlignSLM-1.3B |
64×A100 |
1B |
10.8B+~158B |
59.8 |
55.0 |
80.0 |
— |
— |
AlignSLM-7B |
64×A100 |
7B |
36B+~158B |
62.3 |
61.1 |
86.8 |
— |
— |
本方案(Slam) |
|
|
|
|
|
|
|
|
Slam(-DPO) |
2×A100 |
358M |
16.7B |
58.53 |
58.15 |
80.71 |
67.3 |
3.25 |
Slam |
1×A5000 |
358M |
1.4B+5M |
58.86 |
58.04 |
82.04 |
62.8 |
3.88 |
Slam(扩展版) |
2×A100 |
358M |
16.7B+9M |
61.11 |
61.30 |
84.18 |
46.6 |
3.75 |
计算基础设施
本模型训练属于《"Slamming:一天内用单块GPU训练语音语言模型"》(https://arxiv.org/abs/2502.15814)研究,专注高效训练。
硬件
仅使用2块Nvidia A100 GPU训练48小时。
软件
基于SlamKit代码库开发,该库扩展了🤗transformers以支持便捷高效的语音语言模型训练。
引用
BibTeX:
@misc{maimon2025slamming,
title={Slamming: Training a Speech Language Model on One GPU in a Day},
author={Gallil Maimon and Avishai Elmakies and Yossi Adi},
year={2025},
eprint={2502.15814},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2502.15814},
}