(小白0基础) 租用AutoDL服务器进行deepseek-8b模型微调全流程(Xshell,XFTP) —— 准备篇

(小白0基础) 微调deepseek-8b模型参数详解以及全流程——训练篇-优快云博客

1. 下载Xshell,XFTP免费版本

家庭/学校免费 - NetSarang Websil

xftp用来进行文件传输的,下载好之后,填写用户名邮箱就可以正常用了

进入xshell,新建

复制登录指令

注意

1. 这里名称随便填

2. 协议SSH

3. 填root后的东西(即加黑的那一部分) ssh -p xxxx root@connect.nmb.seetacloud.com

即:connect.nmb.seetacloud.com

4. 端口填指令中的端口,即ssh -p xxxx root的xxxx

5. 登录用户填root,密码复制

2. 租用服务器

本文详细讲述了我从AutoDL上租用服务器并在服务器上微调deepseek全流程

AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL

购买3090 24G服务器,哪一个都行

选择基础镜像,这里选择3.10避免不必要的版本问题。

创建完开机即可,不过建议把所有准备工作做完再开机

连接服务器后进入界面

这里说明了需要把大文件写入数据盘

我们进入系统盘

在这里下载deepseek8b文件

查阅官方文档

使用学术文档加速

source /etc/network_turbo

不过我的就是没有加速成功,该地区不支持

取消学术加速

unset http_proxy && unset https_proxy

下载模型文件

下面提供两种方法进行下载

1. 方法一(土豪版)

直接在服务器上下载

首先确认是否安装LFS(下载大文件)

然后再进行clone

# 安装 Git LFS
sudo apt-get update
sudo apt-get install git-lfs -y
git lfs install

 进行git clone

git clone https://hf-mirror.com/deepseek-ai/DeepSeek-R1-Distill-Llama-8B

等待下载,如果发现很快就下完了,那就是只下载了索引,没有下载文件

重新拉取

git lfs pull

等待下载

2. 方法二(平民版)

现在本地下载,再进行网盘下载(不过现在阿里云盘需要充钱了10/月)

首先在本地下载模型

选择一个本地文件夹,打开右键终端

首先确认是否安装LFS(下载大文件)

然后再进行clone

# 安装 Git LFS
sudo apt-get update
sudo apt-get install git-lfs -y
git lfs install

 进行git clone

git clone https://hf-mirror.com/deepseek-ai/DeepSeek-R1-Distill-Llama-8B

等待下载,如果发现很快就下完了,那就是只下载了索引,没有下载文件

重新拉取

git lfs pull

等待下载即可,下载完之后,进行压缩

打开阿里云盘注册下之后,把压缩包上传到阿里云文件夹

具体操作看这个教程

AutoDL帮助文档

3. 下载的问题重现

由于遇到了网络问题,导致下载中断,所以我不得不重新下载文件。但是重新下载的时候发现下载的文件大小远远超过仓库的文件大小,所以怀疑是不是git没有成功识别断点

首先打开XFTP

进入/root/autodl-tmp/文件夹

右上角查看隐藏的文件

找到git文件,进入\git\lfs\incomplete 看到是否有多余的文件,直接删除

回到xshell,输入下列文件,看看大文件有没有下载成功

git lfs ls-files

有-号代表没有下载成功,重新运行git lfs install,如果发现xshell没有进度条显示,我们打开xftp,进入\git\lfs\tmp,观察文件大小是否增加即可

4. 注册wandb,用于训练可视化

Weights & Biases: AI開発者のためのプラットフォーム

注册之后进入我的-复制密匙即可

5. 下载训练数据集

FreedomIntelligence/医疗-o1-推理-SFT 在主分支 --- FreedomIntelligence/medical-o1-reasoning-SFT at main

将所有文件下载到本地保存

打开xftp,将本地文件拖进/root/autodl-tmp/DeepSeek-dataset

6. 测试是否加载成功

打开jupyter

以下参考如何在本地微调DeepSeek-R1-8b模型_哔哩哔哩_bilibili

!pip install unsloth
# Also get the latest nightly Unsloth!
!pip install --force-reinstall --no-cache-dir --no-deps git+https://github.com/unslothai/unsloth.git

from unsloth import FastLanguageModel
import torch
max_seq_length = 2048  #这里指的是处理上下文最大的长度
dtype = None  #这里指的是处理数据类型的精度
load_in_4bit = True # 这里是进行4bit的量化减少内存损耗

!pip install wandb
import wandb
wandb.login(key="填写密匙")
run = wandb.init(
    project='my fint-tune on deepseek r1 8b',
    job_type="training",
    anonymous="allow"
)

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "/root/autodl-tmp/DeepSeek-R1-Distill-Llama-8B", # 这里填写服务器上的地址
    max_seq_length = max_seq_length,
    dtype = dtype,
    load_in_4bit = load_in_4bit,
)

填写提示词

prompt_style = """Below is an instruction that describes a task, paired with an input that provides further context.
Write a response that appropriately completes the request.
Before answering, think carefully about the question and create a step-by-step chain of thoughts to ensure a logical and accurate response.

### Instruction:
You are a medical expert with advanced knowledge in clinical reasoning, diagnostics, and treatment planning.
Please answer the following medical question.

### Question:
{}

### Response:
<think>{}"""

 这里是进行模型输出

question = "A 61-year-old woman with a long history of involuntary urine loss during activities like coughing or sneezing but no leakage at night undergoes a gynecological exam and Q-tip test. Based on these findings, what would cystometry most likely reveal about her residual volume and detrusor contractions?"


FastLanguageModel.for_inference(model)  # Unsloth has 2x faster inference!
inputs = tokenizer([prompt_style.format(question, "")], return_tensors="pt").to("cuda") # return_tensors="pt"返回 PyTorch 张量格式。

outputs = model.generate(
    input_ids=inputs.input_ids,
    attention_mask=inputs.attention_mask,
    max_new_tokens=1200,
    use_cache=True,
)
response = tokenizer.batch_decode(outputs) #将生成的 token IDs 解码为文本。
print(response[0].split("### Response:")[1]) # 按照### Response: 分隔

看到有输出即代表成功

<未完待续>

### 部署 DeepSeek 模型AutoDL 环境 为了在 AutoDL 平台上成功部署 DeepSeek 模型,需遵循特定流程来确保环境配置正确无误以及模型能够顺利执行。以下是具体实现方式: #### 准备工作 确认已安装并设置好 Ollama 工具链,在 Linux 系统上可以通过官方文档指导完成下载与初始化操作[^1]。 #### 创建合适的工作目录结构 建立专门用于存储模型及相关文件的目录结构有助于管理项目资源。建议创建如下所示的基础框架: ```bash mkdir -p ~/deepseek_project/models/deepseek-r1/ cd ~/deepseek_project/ ``` #### 获取目标模型 利用 Ollama 提供的命令行接口获取指定版本的 DeepSeek 模型实例。对于 4-bit 量化的 32B 版本而言,可采用以下指令进行拉取: ```bash ollama pull deepseek-r1:32b-q4 ``` #### 启动服务端口映射 为了让外部访问者可以调用该模型的服务,启动时应指明监听地址及开放相应端口号(假设使用默认8080端口): ```bash ollama serve --port=8080 & ``` #### 执行推理请求 通过 `ollama run` 命令可以直接向本地运行中的容器发送预测任务,这里同样以前述提到过的 4-bit 量化版为例说明其基本语法形式[^2]: ```bash ollama run deepseek-r1:32b-q4 "输入待处理的数据" ``` 以上步骤完成后即实现了基于 AutoDLDeepSeek 模型部署过程概述。值得注意的是实际应用场景下可能还需要考虑更多因素比如性能优化、安全性加固等方面的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值