|
|
--- |
|
|
license: mit |
|
|
datasets: |
|
|
- AISkywalker/music_poet |
|
|
base_model: |
|
|
- deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B |
|
|
- Qwen/Qwen2.5-0.5B-Instruct |
|
|
metrics: |
|
|
- character |
|
|
pipeline_tag: text-generation |
|
|
tags: |
|
|
- music |
|
|
--- |
|
|
--- |
|
|
license: mit |
|
|
datasets: |
|
|
- AISkywalker/music_poet |
|
|
--- 歌词生成系统 |
|
|
- 南京农业大学机器学习课程设计 |
|
|
|
|
|
AIGC创意文本生成,使用LoRA和强化学习进行微调。 |
|
|
|
|
|
项目结构 |
|
|
|
|
|
代码文件 |
|
|
- `code/__main__.py`: 主程序入口,启动GUI界面 |
|
|
- `code/_MyModel.py`: 核心模型实现,加载DeepSeek/Qwen模型和LoRA适配器 |
|
|
- `code/UI.py`: PyQt5实现的用户界面 |
|
|
- `code/reward.py`: 强化学习的奖励函数实现 |
|
|
- `code/GRPO.ipynb`: 基于规则的策略优化训练流程 |
|
|
- `code/data_process.py`: 数据处理脚本 |
|
|
- `code/LORA.py`: LoRA模型实现 |
|
|
- `code/LORA_with_CoT.py`: 带思维链的LoRA实现 |
|
|
|
|
|
数据文件夹 |
|
|
- `data/`: 存放训练数据(CoTdata.txt, DSdata.txt等) |
|
|
- `data/CoTdata.txt`: 带思维链的训练数据 |
|
|
- `data/DSdata.txt`: 关键词:原文训练数据 |
|
|
- `data/processed_data.txt`: 处理后的训练数据 |
|
|
|
|
|
模型文件夹 |
|
|
- `DS_LoRA/`: 基础DeepSeek模型的LoRA适配器 |
|
|
- `DS_RL_model/`: 强化学习微调的DeepSeek模型 |
|
|
- `Qwen_LoRA/`: 基础Qwen模型的LoRA适配器 |
|
|
- `Qwen_CoT_LoRA/`: 带思维链的基础Qwen模型适配器 |
|
|
|
|
|
使用方法 |
|
|
|
|
|
1. 安装依赖: |
|
|
推荐使用conda |
|
|
- conda create -name Goodmusic python==3.11 -y |
|
|
- conda activate Goodmusic |
|
|
|
|
|
下载Pytorch(cuda 12.6) |
|
|
- pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126 |
|
|
|
|
|
下载其他依赖 |
|
|
- pip install -r requirements.txt |
|
|
|
|
|
或者使用.env的虚拟环境使用 uv 工具加速下载 |
|
|
- uv pip install -r requirements.txt |
|
|
|
|
|
2. 运行程序: |
|
|
python code/__main__.py |
|
|
|
|
|
3. 在GUI界面输入关键词,生成歌词 |
|
|
|
|
|
## 模型训练 |
|
|
|
|
|
1. 数据准备: 将训练数据放入data/文件夹 |
|
|
2. 运行GRPO.ipynb进行模型训练 |
|
|
3. 训练好的模型会保存在对应模型文件夹 |