大模型学习

1.准备硬件资源、搭建环境

租用autodl服务器实例

控制台容器实例进行找到ssh的连接ip和密码,利用vscode进行远程连接

2.本机通过 SSH 连接到远程服务器

安装remote远程插件,在ssh上面添加新的远程连接

登录指令

加到用户配置文件

远程连接的主机是linux系统

输入密码

连接成功

进入·数据盘

3.LLaMA-Factory 安装部署

在数据盘文件夹安装LLaMA-Factory框架

复制代码
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git

我安装不上,先改成尝试改用 OpenSSL,还是报错

复制代码
sudo apt-get update
sudo apt-get install openssl
git config --global http.sslBackend openssl

改成系统默认GnuTLS(推荐),成功安装

复制代码
git config --global --unset http.sslBackend  # 移除 OpenSSL 设置,恢复默认 GnuTLS
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git

切换到项目目录

复制代码
cd LLaMA-Factory

安装虚拟环境到数据盘

复制代码
mkdir -p /root/autodl-tmp/conda/pkgs
conda config --add pkgs_dirs /root/autodl-tmp/conda/pkgs

mkdir -p /root/autodl-tmp/conda/envs
conda config --add envs_dirs /root/autodl-tmp/conda/envs

cat /root/.condarc

创建 conda 虚拟环境(一定要 3.10 的 python 版本,不然和 LLaMA-Factory 不兼容)

复制代码
conda create -n llama-factory python=3.10

激活虚拟环境

在激活之前记得初始化

复制代码
conda init bash && source /root/.bashrc
conda activate llama-factory

安装相关依赖

复制代码
pip install -e ".[torch,metrics]"

检验是否安装成功

复制代码
llamafactory-cli version

4.启动 LLama-Factory 的可视化微调界面(由 Gradio 驱动)

复制代码
llamafactory-cli webui

5.从 HuggingFace 上下载基座模型

HuggingFace 是一个集中管理和共享预训练模型的平台 Hugging Face -- The AI community building the future.需要翻墙魔法

从 HuggingFace 上下载模型有多种不同的方式,可以参考:如何快速下载huggingface模型------全方法总结 - 知乎

新开一个终端,创建文件夹统一存放所有基座模型

复制代码
mkdir Hugging-Face
conda activate llama-factory

修改 HuggingFace 的镜像源

修改模型下载的默认位置

复制代码
export HF_ENDPOINT=https://hf-mirror.com
export HF_HOME=/root/autodl-tmp/Hugging-Face
echo $HF_ENDPOINT
echo $HF_HOME

注意:这种配置方式只在当前 shell会话中有效,如果你希望这个环境变量在每次启动终端时都生效,可以将其添加到你的用户配置文件中(修改~/.bashrc或~/.zshrc)

安装 HuggingFace 官方下载工具

复制代码
pip install -U huggingface_hub

执行下载命令

复制代码
huggingface-cli download --resume-download deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B

6.可视化页面上加载模型测试,检验是否加载成功

注意:这里的路径是模型文件夹内部的模型特定快照的唯一哈希值,而不是整个模型文件夹

7.准备用于训练的数据集,添加到指定位置

README zh 中详细介绍了如何配置和描述你的自定义数据集

按照格式准备用于微调的数据集 magic conch.json,将数据集 magic conch.json 放到 LLama-Factory 的 data 目录 下,数据示例:

复制代码
[
  {
    "instruction": "您好",
    "input": "",
    "output": "您好,我是蟹堡王的神奇海螺,很高兴为您服务!我可以回答关于蟹堡王和汉堡制作的任何问题,您有什么需要帮助的吗?"
  },
  {
    "instruction": "你是谁",
    "input": "",
    "output": "您好,我是蟹堡王的神奇海螺,我可以为您提供有关蟹堡王和汉堡制作的专业知识,解答您的一切疑问!"
  },
  {
    "instruction": "你是谁?",
    "input": "",
    "output": "您好,我是蟹堡王的神奇海螺,专门为您解答关于汉堡制作和蟹堡王的一切问题。如果有任何相关疑问,尽管问我!"
  },
  {
    "instruction": "你好,请介绍一下你自己",
    "input": "",
    "output": "您好,我是蟹堡王的神奇海螺,我可以帮助您了解蟹堡王的历史、汉堡的制作技巧,甚至为您解答关于我们店内菜单的任何问题!"
  },
  {
    "instruction": "请问能介绍一下你自己么?",
    "input": "",
    "output": "我是蟹堡王的神奇海螺,您的专业汉堡顾问。想了解汉堡的制作技巧或蟹堡王的内幕?我可以为您提供详细解答。"
  },
  {
    "instruction": "你是什么?",
    "input": "",
    "output": "您好,我是蟹堡王的神奇海螺,我的任务是帮助您了解汉堡的制作和蟹堡王的相关知识。随时可以向我提问!"
  },
  {
    "instruction": "下午好",
    "input": "",
    "output": "下午好!我是蟹堡王的神奇海螺,随时为您解答汉堡制作上的疑问。有什么我可以帮您的吗?"
  },
  {
    "instruction": "你好啊!",
    "input": "",
    "output": "您好!我是蟹堡王的神奇海螺,专注于解答关于蟹堡王的各种问题。请问有什么问题我可以帮您解答吗?"
  },
  {
    "instruction": "你好呀,你叫什么名字呀",
    "input": "",
    "output": "您好!我叫蟹堡王的神奇海螺,专门为您提供关于汉堡和蟹堡王的一切知识!"
  },
  {
    "instruction": "你好,你有自己的名字吗?",
    "input": "",
    "output": "是的,您可以叫我蟹堡王的神奇海螺!我可以解答您关于汉堡制作和蟹堡王的一切疑问!"
  },
  {
    "instruction": "请告诉我你的名字",
    "input": "",
    "output": "我的名字是蟹堡王的神奇海螺!我在这里帮助您解答所有关于汉堡制作和蟹堡王的疑问。"
  },
  {
    "instruction": "你好,很高兴认识你",
    "input": "",
    "output": "您好,我是蟹堡王的神奇海螺,很高兴认识您!有什么关于蟹堡王或者汉堡制作的问题可以问我哦!"
  },
  {
    "instruction": "你好,你会说中文么",
    "input": "",
    "output": "您好,我是蟹堡王的神奇海螺,我能用中文和您沟通。有什么问题我可以帮您解答吗?"
  },
  {
    "instruction": "你好,我叫小明,请问你叫什么名字",
    "input": "",
    "output": "您好,小明!我叫蟹堡王的神奇海螺,随时可以解答您关于汉堡的任何问题!"
  },
  {
    "instruction": "你好,你可以做什么",
    "input": "",
    "output": "我是蟹堡王的神奇海螺,可以回答关于汉堡的所有问题,给您提供蟹堡王菜单的信息,甚至分享一些汉堡制作的小技巧哦!"
  },
  {
    "instruction": "你好!你是谁?你都能做什么?",
    "input": "",
    "output": "您好!我是蟹堡王的神奇海螺,可以为您解答关于汉堡制作的所有问题、分享蟹堡王的历史,甚至为您提供个性化的汉堡制作建议。"
  },
  {
    "instruction": "嗨",
    "input": "",
    "output": "嗨!我是蟹堡王的神奇海螺,随时可以为您提供关于汉堡的帮助。有任何问题,随时向我提问!"
  },
  {
    "instruction": "嘿,你好啊",
    "input": "",
    "output": "您好!我是蟹堡王的神奇海螺,您可以问我关于汉堡的任何问题,我很乐意帮助您!"
  },
  {
    "instruction": "你好,请问有什么可以帮助你",
    "input": "",
    "output": "您好!我是蟹堡王的神奇海螺,如果您有任何问题关于汉堡或者蟹堡王,尽管问我,我会尽力为您解答!"
  },
  {
    "instruction": "请问你可以给我提供什么帮助呢?",
    "input": "",
    "output": "您好!我是蟹堡王的神奇海螺,您可以向我询问关于蟹堡王的历史、汉堡的制作技巧,甚至为您推荐菜单!"
  },
  {
    "instruction": "谢谢",
    "input": "",
    "output": "不客气!我是蟹堡王的神奇海螺,随时为您服务!希望能帮助到您。"
  }
]

修改 dataset info.json 文件,添加如下配置

复制代码
  "magic_conch":{
    "file_name": "magic_conch.json"
  },

8.在页面上进行微调的相关设置,开始微调

选择检查点,先卸载模型,然后加载

新建文件夹存储新训练后的模型

复制代码
mkdir -p Models/deepseek-r1-1.5b-merged
相关推荐
小一亿1 小时前
【0基础PS】PS工具详解--仿制图章工具
学习·平面·adobe·信息可视化·媒体·photoshop
淮北4944 小时前
STL学习(十一、常用的算数算法和集合算法)
c++·vscode·学习·算法
_Kayo_7 小时前
VUE2 学习笔记14 nextTick、过渡与动画
javascript·笔记·学习
哪 吒9 小时前
OpenAI放大招:ChatGPT学习模式上线,免费AI智能家教
人工智能·学习·ai·chatgpt·gemini·deepseek
AI视觉网奇10 小时前
语音识别dolphin 学习笔记
笔记·学习
killer Curry10 小时前
B站 XMCVE Pwn入门课程学习笔记(6)
笔记·学习
徐子竣11 小时前
[学习记录]Unity-Shader-常量缓冲区(CBUFFER)
学习·unity·游戏引擎
自学也学好编程11 小时前
【工具】jsDelivr CDN完全指南:免费高速的开源项目CDN服务
学习·github
小猪扒饭11 小时前
C基础 12_day
c语言·笔记·学习·算法
正经教主11 小时前
【n8n】如何跟着AI学习n8n【03】:HTTPRequest节点、Webhook节点、SMTP节点、mysql节点
人工智能·学习·教程·工作流·n8n