魅力博客

魅力Linux|魅力空间|魅力博客|学习Linux|ubuntu日记|电脑教程|手机软件

超详细的DeepSeek-R1 1.5B模型安装训练指南,包含每个步骤的完整解释和注意事项,完全面向小白的教程



超详细的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(改为6432

降低gradient_accumulation_steps(改为21

添加清理代码:

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内存限制)




返回顶部

发表评论:

Powered By Z-BlogPHP 1.7.4


知识共享许可协议
本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。
网站备案号粤ICP备15104741号-1