超详细的DeepSeek-R1 1.5B模型安装训练指南,包含每个步骤的完整解释和注意事项。以下是完全面向小白的教程:
第一章:环境准备(手把手版)
1.1 创建专用文件夹
在E盘新建两个文件夹:
E:\deepseek_project (存放所有代码)
E:\deepseek_data (存放训练数据)
右键文件夹 → 属性 → 取消"只读"选项
1.2 安装Python环境
访问 python官网
下载 Python 3.8.10(版本必须≤3.9,兼容性最佳)
安装时勾选:
☑ Add Python to
PATH
☑ Install launcher
for all users
验证安装:按Win+R输入cmd打开命令提示符,执行:
python --version
应该显示Python 3.8.10
1.3 设置虚拟环境(重要!)
打开命令提示符,依次执行:
# 安装虚拟环境工具
pip install virtualenv
# 创建专门的环境(避免污染系统Python)
virtualenv E:\deepseek_env
# 激活环境
E:\deepseek_env\Scripts\activate
激活后命令提示符前会出现(deepseek_env)标记
第二章:依赖安装(带解释版)
2.1 核心依赖安装
逐条执行以下命令(每行都是一个独立命令):
# CPU专用版PyTorch(深度学习框架)
pip install torch==2.0.1+cpu torchvision==0.15.2+cpu torchaudio==0.15.2 -f
https://download.pytorch.org/whl/cpu/torch_stable.html
# Huggingface库(模型加载工具)
pip install transformers==4.34.1
# 数据集处理工具
pip install datasets==2.14.6
# 内存优化加速库
pip install accelerate==0.23.0
# 中文分词器
pip install sentencepiece==0.1.99
# 8位量化支持(减少内存占用)
pip install bitsandbytes==0.41.1
2.2 验证安装
新建test_install.py文件,内容如下:
import torch
from transformers import AutoTokenizer
print("PyTorch版本:",
torch.__version__)
print("CUDA是否可用:",
torch.cuda.is_available()) # 应该显示False(我们没有GPU)
tokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")
print("分词器测试:", tokenizer.tokenize("你好DeepSeek"))
运行后应该看到:
PyTorch版本: 2.0.1+cpu
CUDA是否可用: False
分词器测试: ['你', '好', 'de', '##ep', '##se', '##ek']
第三章:模型下载与加载
3.1 手动下载(推荐)
访问 HuggingFace模型页
点击"Files and versions" → 下载:
config.json
pytorch_model.bin
special_tokens_map.json
tokenizer.json
tokenizer_config.json
在E:\deepseek_project下新建model文件夹,把所有文件放进去
3.2 代码加载(带详细注释)
创建load_model.py:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
import os
# 模型路径(必须使用双反斜杠或原始字符串)
model_path = r"E:\deepseek_project\model"
# 1. 加载分词器
tokenizer = AutoTokenizer.from_pretrained(
model_path,
trust_remote_code=True # 允许执行模型自定义代码
)
# 2. 加载模型(CPU优化配置)
model = AutoModelForCausalLM.from_pretrained(
model_path,
device_map="cpu", # 强制使用CPU
torch_dtype=torch.float32, # 32位浮点数
low_cpu_mem_usage=True, # 内存优化
load_in_8bit=True, # 8位量化(关键!)
)
# 测试推理
input_text = "人工智能是指"
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(**inputs, max_length=50)
print(tokenizer.decode(outputs[0]))
第四章:数据准备与训练
4.1 训练数据格式
在E:\deepseek_data下创建train.txt
数据格式要求:
每行一个完整样本
或连续文本用两个换行符分隔
第一条文本内容...
第二条文本内容...
4.2 训练脚本详解
创建train.py:
from transformers import Trainer,
TrainingArguments
from datasets import load_dataset
import torch
# 1. 加载之前准备好的模型和分词器
tokenizer =
AutoTokenizer.from_pretrained(r"E:\deepseek_project\model")
model = AutoModelForCausalLM.from_pretrained(
r"E:\deepseek_project\model",
device_map="cpu",
load_in_8bit=True
)
# 2. 加载数据集
dataset = load_dataset("text", data_files={
"train":
r"E:\deepseek_data\train.txt"
})
# 3. 数据预处理函数
def tokenize_function(examples):
return tokenizer(
examples["text"],
truncation=True, # 截断超长文本
max_length=128, # 最大长度(根据内存调整)
padding="max_length" # 填充到统一长度
)
# 4. 应用预处理
tokenized_datasets = dataset.map(
tokenize_function,
batched=True,
batch_size=100 # 批处理大小
)
# 5. 训练参数配置(关键!)
training_args = TrainingArguments(
output_dir="E:/deepseek_output", # 输出目录
per_device_train_batch_size=1, # 批大小=1(内存不足时减小)
gradient_accumulation_steps=4, # 梯度累积步数
num_train_epochs=1, # 训练轮次
learning_rate=2e-5, # 学习率
optim="adafactor", # 内存友好优化器
save_strategy="no", # 不自动保存
logging_steps=10 # 每10步打印日志
)
# 6. 创建训练器
trainer = Trainer(
model=model,
args=training_args,
train_dataset=tokenized_datasets["train"],
)
# 7. 开始训练
print("开始训练...(这可能需要几个小时)")
trainer.train()
print("训练完成!")
第五章:内存优化技巧
5.1 Windows虚拟内存设置
右键"此电脑" → 属性 → 高级系统设置
性能设置 → 高级 → 虚拟内存 → 更改
取消"自动管理",选择E盘
设置:
初始大小:8192 MB
最大值:32768 MB
点击"设置" → 确定
5.2 训练时监控
打开任务管理器(Ctrl+Shift+Esc)
查看:
内存使用率(应<90%)
磁盘活动(虚拟内存使用情况)
5.3 遇到内存不足的解决办法
减小max_length(改为64或32)
降低gradient_accumulation_steps(改为2或1)
添加清理代码:
import gc
torch.cuda.empty_cache() # 清理缓存
gc.collect() # 垃圾回收
第六章:完整执行流程
打开命令提示符
激活环境:
E:\deepseek_env\Scripts\activate
进入项目目录:
cd E:\deepseek_project
按顺序执行:
python load_model.py # 测试模型加载
python train.py # 开始训练
注意事项
首次运行会较慢(需要初始化)
训练时不要运行其他大型程序
如果中断训练,删除E:/deepseek_output文件夹重新开始
超详细的DeepSeek-R1 1.5B模型安装训练指南,包含每个步骤的完整解释和注意事项。以下是完全面向小白的教程:
第一章:环境准备(手把手版)
1.1 创建专用文件夹
在E盘新建两个文件夹:
E:\deepseek_project (存放所有代码)
E:\deepseek_data (存放训练数据)
右键文件夹 → 属性 → 取消"只读"选项
1.2 安装Python环境
访问 python官网
下载 Python 3.8.10(版本必须≤3.9,兼容性最佳)
安装时勾选:
☑ Add Python to PATH
☑ Install launcher for all users
验证安装:按Win+R输入cmd打开命令提示符,执行:
python --version
应该显示Python 3.8.10
1.3 设置虚拟环境(重要!)
打开命令提示符,依次执行:
# 安装虚拟环境工具
pip install virtualenv
# 创建专门的环境(避免污染系统Python)
virtualenv E:\deepseek_env
# 激活环境
E:\deepseek_env\Scripts\activate
激活后命令提示符前会出现(deepseek_env)标记
第二章:依赖安装(带解释版)
2.1 核心依赖安装
逐条执行以下命令(每行都是一个独立命令):
# CPU专用版PyTorch(深度学习框架)
pip install torch==2.0.1+cpu torchvision==0.15.2+cpu torchaudio==0.15.2 -f https://download.pytorch.org/whl/cpu/torch_stable.html
# Huggingface库(模型加载工具)
pip install transformers==4.34.1
# 数据集处理工具
pip install datasets==2.14.6
# 内存优化加速库
pip install accelerate==0.23.0
# 中文分词器
pip install sentencepiece==0.1.99
# 8位量化支持(减少内存占用)
pip install bitsandbytes==0.41.1
2.2 验证安装
新建test_install.py文件,内容如下:
import torch
from transformers import AutoTokenizer
print("PyTorch版本:", torch.__version__)
print("CUDA是否可用:", torch.cuda.is_available()) # 应该显示False(我们没有GPU)
tokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")
print("分词器测试:", tokenizer.tokenize("你好DeepSeek"))
运行后应该看到:
PyTorch版本: 2.0.1+cpu
CUDA是否可用: False
分词器测试: ['你', '好', 'de', '##ep', '##se', '##ek']
第三章:模型下载与加载
3.1 手动下载(推荐)
访问 HuggingFace模型页
点击"Files and versions" → 下载:
config.json
pytorch_model.bin
special_tokens_map.json
tokenizer.json
tokenizer_config.json
在E:\deepseek_project下新建model文件夹,把所有文件放进去
3.2 代码加载(带详细注释)
创建load_model.py:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
import os
# 模型路径(必须使用双反斜杠或原始字符串)
model_path = r"E:\deepseek_project\model"
# 1. 加载分词器
tokenizer = AutoTokenizer.from_pretrained(
model_path,
trust_remote_code=True # 允许执行模型自定义代码
)
# 2. 加载模型(CPU优化配置)
model = AutoModelForCausalLM.from_pretrained(
model_path,
device_map="cpu", # 强制使用CPU
torch_dtype=torch.float32, # 32位浮点数
low_cpu_mem_usage=True, # 内存优化
load_in_8bit=True, # 8位量化(关键!)
)
# 测试推理
input_text = "人工智能是指"
inputs = tokenizer(input_text, return_tensors="pt")
outputs = model.generate(**inputs, max_length=50)
print(tokenizer.decode(outputs[0]))
第四章:数据准备与训练
4.1 训练数据格式
在E:\deepseek_data下创建train.txt
数据格式要求:
每行一个完整样本
或连续文本用两个换行符分隔
第一条文本内容...
第二条文本内容...
4.2 训练脚本详解
创建train.py:
from transformers import Trainer, TrainingArguments
from datasets import load_dataset
import torch
# 1. 加载之前准备好的模型和分词器
tokenizer = AutoTokenizer.from_pretrained(r"E:\deepseek_project\model")
model = AutoModelForCausalLM.from_pretrained(
r"E:\deepseek_project\model",
device_map="cpu",
load_in_8bit=True
)
# 2. 加载数据集
dataset = load_dataset("text", data_files={
"train": r"E:\deepseek_data\train.txt"
})
# 3. 数据预处理函数
def tokenize_function(examples):
return tokenizer(
examples["text"],
truncation=True, # 截断超长文本
max_length=128, # 最大长度(根据内存调整)
padding="max_length" # 填充到统一长度
)
# 4. 应用预处理
tokenized_datasets = dataset.map(
tokenize_function,
batched=True,
batch_size=100 # 批处理大小
)
# 5. 训练参数配置(关键!)
training_args = TrainingArguments(
output_dir="E:/deepseek_output", # 输出目录
per_device_train_batch_size=1, # 批大小=1(内存不足时减小)
gradient_accumulation_steps=4, # 梯度累积步数
num_train_epochs=1, # 训练轮次
learning_rate=2e-5, # 学习率
optim="adafactor", # 内存友好优化器
save_strategy="no", # 不自动保存
logging_steps=10 # 每10步打印日志
)
# 6. 创建训练器
trainer = Trainer(
model=model,
args=training_args,
train_dataset=tokenized_datasets["train"],
)
# 7. 开始训练
print("开始训练...(这可能需要几个小时)")
trainer.train()
print("训练完成!")
第五章:内存优化技巧
5.1 Windows虚拟内存设置
右键"此电脑" → 属性 → 高级系统设置
性能设置 → 高级 → 虚拟内存 → 更改
取消"自动管理",选择E盘
设置:
初始大小:8192 MB
最大值:32768 MB
点击"设置" → 确定
5.2 训练时监控
打开任务管理器(Ctrl+Shift+Esc)
查看:
内存使用率(应<90%)
磁盘活动(虚拟内存使用情况)
5.3 遇到内存不足的解决办法
减小max_length(改为64或32)
降低gradient_accumulation_steps(改为2或1)
添加清理代码:
import gc
torch.cuda.empty_cache() # 清理缓存
gc.collect() # 垃圾回收
第六章:完整执行流程
打开命令提示符
激活环境:
E:\deepseek_env\Scripts\activate
进入项目目录:
cd E:\deepseek_project
按顺序执行:
python load_model.py # 测试模型加载
python train.py # 开始训练
注意事项
首次运行会较慢(需要初始化)
训练时不要运行其他大型程序
如果中断训练,删除E:/deepseek_output文件夹重新开始
建议训练数据不超过100MB(16GB内存限制)
返回顶部
