Lora本地微调实战 --deepseek-r1蒸馏模型
文章目录
- 一、准备工作
- 1.1 下载模型
- 1.2 依赖安装
- 1.3 训练数据
- 二、Transformers 库介绍
- 2.1 模型与分词
- 2.2 直接使用分词器
- 三、lora微调模型
- 3.1 微调训练
- 3.2 推理测试
一、准备工作
1.1 下载模型
Huggingface是一个开放的人工智能模型库,提供了大量经过预训练的模型供用户下载和使用。要下载模型访问Huggingface网站: https://huggingface.co/models
。
如果huggingface无法下载,可以使用下面的地址下载:
- 模型下载地址:https://pan.quark.cn/s/a22f5a9e3490 (deepseek-r1-1.5b)
- 数据集准备:https://pan.quark.cn/s/a220f415b35c
确保模型目录 deepseekr1-1.5b
下包含以下关键文件:
config.json
pytorch_model.bin # 或 model.safetensors(必须存在至少一个)
tokenizer.json # 或其他分词器文件(如 tokenizer_config.json)
1.2 依赖安装
# 在安装命令后添加 -i 参数指定镜像源:
pip install transformers datasets -i https://mirrors.aliyun.com/pypi/simple/# Transformers 库需要依赖 PyTorch、TensorFlow 或 Flax 中的一个才能加载模型
# 通用安装命令(CPU版)
pip install torch
# 如果有NVIDIA显卡(CUDA,如果下载包无cuXXX后缀表示是CPU版本)
pip install torch torchvision torchaudio --index-url https://mirrors.aliyun.com/pypi/simple/# 其他依赖(device_map="auto"、quantization_config)
pip install bitsandbytes accelerate>=0.26.0 --index-url https://mirrors.aliyun.com/pypi/simple/# Windows 官方不提供预编译的 CUDA 版 bitsandbytes,windows场景:卸载现有版本,安装社区维护的预编译版本
# 关于其他版本可自行查看下载:https://github.com/jllllll/bitsandbytes-windows-webui/releases/
pip uninstall bitsandbytes -y
pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.43.0-py3-none-win_amd64.whl
ps:常用镜像源:
阿里云:https://mirrors.aliyun.com/pypi/simple/
豆瓣: https://pypi.doubanio.com/simple/
华为云:https://repo.huaweicloud.com/repository/pypi/simple/
永久配置镜像源:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip config list
查看 CUDA 版本(需提前安装 NVIDIA 驱动):
nvidia-smi # 右上角显示最高支持的 CUDA 版本(如 12.6)
1.3 训练数据
data_prepare.py:
# -*- coding: utf-8 -*-
# here is list of 50 examples of prompt and completions focused on singing skills
samples = [{"prompt": "Question 1: What is the first step to improving your singing voice?","completion": "Answer 1: Begin by warming up your vocal cords with gentle exercises like humming or lip trills."},{"prompt": "Question 2: How can you improve your breath control while singing?","completion": "Answer 2: Practice diaphragmatic breathing by inhaling deeply through your nose and controlling your exhale while singing sustained notes."},{"prompt": "Question 3: What are common mistakes beginners make when learning to sing?","completion": "Answer 3: Common mistakes include straining the voice, neglecting to warm up, and improper breathing techniques."},{"prompt": "Question 4: How do you find your vocal range?","completion": "Answer 4: Experiment by singing scales up and down to identify the lowest and highest note you can comfortably sustain."},{"prompt": "Question 5: What exercises help improve pitch accuracy?","completion": "Answer 5: Practice scales, use a piano or digital tuner for reference, and try interval training to enhance pitch precision."},{"prompt": "Question 6: How can you protect your vocal cords from strain?","completion": "Answer 6: Avoid over-singing, stay hydrated, and limit exposure to irritants like smoke or excessively dry air."},{"prompt": "Question 7: What role does posture play in singing?","completion": "Answer 7: Proper posture opens up the diaphragm and throat, allowing for better breath support and vocal projection."},{"prompt": "Question 8: How do you improve vocal tone quality?","completion": "Answer 8: Focus on resonance and placement, and practice vocal exercises like sirens to achieve a smoother tone."},{"prompt": "Question 9: What techniques help develop vibrato in singing?","completion": "Answer 9: Practice sustaining notes while gently oscillating your pitch; focus on relaxation and consistent airflow."},{"prompt": "Question 10: How can you overcome stage fright while singing?","completion": "Answer 10: Prepare thoroughly, practice mindfulness techniques, and start performing in smaller, supportive settings."},{"prompt": "Question 11: What warm-up exercises are essential for singers?","completion": "Answer 11: Lip trills, humming, and singing scales are effective warm-up exercises that prepare your voice for singing."},{"prompt": "Question 12: How do you sing high notes without straining?","completion": "Answer 12: Use proper breath support, relax your throat, and place the sound forward in your mask (resonance areas)."},{"prompt": "Question 13: What is the importance of ear training for singers?","completion": "Answer 13: Ear training helps singers recognize pitches, harmonies, and intervals, improving overall musicality and pitch accuracy."},{"prompt": "Question 14: How do you maintain vocal health during a busy singing schedule?","completion": "Answer 14: Stay hydrated, get adequate rest, and avoid overuse by incorporating regular vocal breaks and proper warm-ups."},{"prompt": "Question 15: What foods and drinks should singers avoid?","completion": "Answer 15: Avoid dairy, caffeine, and spicy foods before singing, as they can cause mucus buildup or throat irritation."},{"prompt": "Question 16: How can you improve d