目录
新闻
- [2024年6月12日更新] 已支持MaLa-ASR的方法。
- [征集示例] 我们诚挚邀请开发者和研究人员基于SLAM-LLM开发新应用、进行学术研究,并提交您的示例!我们也欢迎工程方面的PR(如改进和加速多节点训练)。
- [2024年5月22日更新] 请加入slack或微信群。我们将在这里同步更新和问答。
- [2024年5月21日更新] 已支持空间音频理解的方法。
- [2024年5月20日更新] 已支持音乐描述(MC)的方法。
- [2024年5月8日更新] 已支持视觉语音识别(VSR)的方法。
- [2024年5月4日更新] 已支持零样本文本转语音(TTS)的方法。
- [2024年4月28日更新] 已支持自动音频描述(AAC)的方法。
- [2024年3月31日更新] 已支持自动语音识别(ASR)的方法。
安装
git clone https://github.com/huggingface/transformers.git
cd transformers
git checkout tags/v4.35.2
pip install -e .
cd ..
git clone https://github.com/huggingface/peft.git
cd peft
git checkout tags/v0.6.0
pip install -e .
cd ..
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
git clone https://github.com/ddlBoJack/SLAM-LLM.git
cd SLAM-LLM
pip install -e .
对于某些示例,您可能需要使用fairseq
,命令行如下:
# 在安装SLAM-LLM之前,您需要先安装fairseq
git clone https://github.com/pytorch/fairseq
cd fairseq
pip install --editable ./
我们还提供了一个docker镜像以方便使用:
# 构建docker镜像
docker build -t slam-llm:latest .
# 使用GPU运行docker镜像
docker run -it --gpus all --name slam --shm-size=256g slam-llm:latest /bin/bash
使用方法
方案列表
我们提供了各种基于LLM的语音、音频和音乐任务的参考实现:
- 语音任务
- 音频任务
- 音乐任务
配置优先级
我们提供了以下层次化配置继承关系:
命令行(shell文件)> Hydra配置(yaml文件)> 数据类配置(Python文件)
特性
- 易于扩展到新模型和任务。
- 提供详细的训练方案和用于推理的高性能检查点。
- 混合精度训练,在NVIDIA张量核心上可以更快速地训练,同时使用更少的GPU内存。
- 支持数据并行和模型并行的多GPU训练,包括DDP、FSDP和deepspeed(仍需改进)。
- 基于Hydra和dataclass的灵活配置,允许代码、命令行和基于文件的配置组合。
致谢
- 我们借鉴了Llama-Recipes的训练过程代码。
- 我们借鉴了Fairseq的deepspeed配置代码。
- 我们感谢贡献者提供的各种方案。
引用
@article{ma2024embarrassingly,
title={An Embarrassingly Simple Approach for LLM with Strong ASR Capacity},
author={Ma, Ziyang and Yang, Guanrou and Yang, Yifan and Gao, Zhifu and Wang, Jiaming and Du, Zhihao and Yu, Fan and Chen, Qian and Zheng, Siqi and Zhang, Shiliang and others},
journal={arXiv preprint arXiv:2402.08846},
year={2024}
}