本项目是一个基于DeepSeek和Qwen大语言模型的歌词生成系统,通过LoRA微调和强化学习技术优化生成质量。系统提供GUI界面,用户输入关键词即可生成创意歌词。
- Python 3.11
- CUDA 12.6 (如需GPU加速)
- 至少16GB内存 (推荐32GB)
- 支持PyTorch的NVIDIA GPU (推荐)
conda create -n Goodmusic python=3.11
conda activate Goodmusic根据您的硬件选择以下命令之一:
CUDA 12.6版本:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126CPU版本:
pip3 install torch torchvision torchaudiopip install -r requirements.txt系统支持以下预训练模型适配器:
DS_LoRA/: 基础DeepSeek模型的LoRA适配器DS_RL_model/: 强化学习微调的DeepSeek模型Qwen_LoRA/: 基础Qwen模型的LoRA适配器Qwen_CoT_LoRA/: 带思维链的基础Qwen模型适配器
默认使用DS_RL_model,如需切换模型,请修改code/_MyModel.py中的model_path参数。
可在code/_MyModel.py中调整以下参数:
max_length: 生成文本最大长度temperature: 生成随机性top_p: 核采样参数repetition_penalty: 重复惩罚系数
python code/__main__.py- 在输入框输入关键词(如"爱情"、"夏天")
- 点击"生成"按钮
- 等待生成结果(CPU推理可能需要较长时间)
- 将训练数据放入
data/文件夹 - 支持的数据格式:
CoTdata.txt: 带思维链的训练数据DSdata.txt: 关键词-原文对训练数据processed_data.txt: 预处理后的训练数据- 由于后两个数据文件过大,您还需要下载项目之后解压,如果您想得到原始数据,请去我的HuggingFace主页下载
- https://huggingface.co/AISkywalker
-
LoRA微调:
python code/LORA.py
或带思维链版本:
python code/LORA_with_CoT.py
-
强化学习优化: 运行
code/GRPO.ipynb笔记本进行基于规则的策略优化
各训练脚本中提供详细参数注释,主要可调整:
- 学习率
- 训练轮次
- 批大小
- LoRA秩参数
project/
├── README.md # 项目说明文档
├── requirements.txt # Python依赖包列表
│
├── code/ # 源代码目录
│ ├── __main__.py # 主程序入口(GUI启动)
│ ├── _MyModel.py # 核心模型实现(加载/推理)
│ ├── UI.py # PyQt5用户界面实现
│ ├── reward.py # 强化学习奖励函数定义
│ ├── data_process.py # 数据预处理和清洗
│ ├── deepseek_vaule.py # 调用DeepSeek模型评价相关工具
│ ├── getCOT.py # 思维链生成工具
│ ├── GRPO.ipynb # 强化学习训练笔记本
│ ├── LORA.py # LoRA微调基础实现
│ ├── LORA_with_CoT.py # 带思维链的LoRA微调
│ ├── test.ipynb # 测试和实验笔记本
│ └── threads_data_extract.py # 多线程数据处理得到关键词对数据s
│
├── data/ # 数据目录
│ ├── CoTdata.txt # 带思维链的训练数据
│ ├── DSdata.txt # 原始训练数据(关键词-歌词对)
│ └── processed_data.txt # 预处理后的训练数据
│
├── DS_LoRA/ # DeepSeek基础LoRA适配器
│
├── DS_RL_model/ # 强化学习微调模型
│
├── Qwen_LoRA/ # Qwen基础LoRA适配器
│
└── Qwen_CoT_LoRA/ # 带思维链的Qwen适配器
-
GPU内存不足:
- 减小
max_length参数 - 使用
LORA.py中的fp16选项
- 减小
-
生成质量不佳:
- 调整
temperature和top_p参数 - 使用带思维链的模型(Qwen_CoT_LoRA)
- 调整
-
安装问题:
- 确保Python版本为3.11
- 检查CUDA/cuDNN版本匹配