AI大模型的本地驯服——如何在自己电脑上训练一个专属大模型

AI大模型的本地驯服——如何在自己电脑上训练一个专属大模型

文章目录

1.前言

2025年3月12日记 这是我第一次实现大模型的微调训练,电脑的配置是显卡NVIDIA GeForce RTX 3050 Ti Laptop GPU,三年前的笔记本了,不过还是能跑起来的,训练的是Deep Seek-r1 的 1.5B 模型,之前跑 7B 的直接卡死了。如果大家有更好的显卡,可以尝试一下。在此非常感谢ZEEKLOG的大佬,在他们的基础上,我的博客进一步完善一些细节,文末会附上大佬的原文链接。那么废话不多说,直接开始!(默认大家有一定的基础)

2.训练模型
2.1 基础配置

(具体的安装和使用教程网上有很多,在这里就不做过多的赘述了)

  1. 使用Anaconda(Python的环境管理工具),这样就不需要一个一个单独下载python的版本,并且使用起来很方便。
  2. 使用PyCharm(Python的集成开发环境),可以在这里面编辑、运行.py文件等操作。
  3. 使用Git(分布式版本控制系统),用于克隆GitHub上的优秀项目,不用也没事,可以直接下载.zip文件。
  4. 使用CUDAcuDNN(用于GPU训练加速),需要注意这里面的版本关系,别下错了。
  5. 使用PyTorch(深度学习框架),这个版本要与你自己电脑的CUDA版本对应。

以上就是环境配置需要的全部内容,接下来我们就进行项目复刻。

2.2 初始化环境

打开Anaconda Prompt(从Windows开始菜单找到),执行

创建新的虚拟环境

conda create -n llama python=3.10

激活虚拟环境

conda activate llama 

安装PyTorch(我的CUDA是12.4,选择支持你们自己电脑的CUDA的版本)

conda installpytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia 

克隆GitHub项目

git clone https://github.com/hiyouga/LLaMA-Factory.git 

或者直接下载压缩包,如图所示

github

下载完成后直接在PyCharm中打开项目

pycharm

在使用大佬的安装指令时出现问题,AI教我加了一个镜像源,好用

pip install -e ".[torch,metrics]" -i https://pypi.tuna.tsinghua.edu.cn/simple/ 

验证安装(出现版本号就成功了)

llamafactory-cli version 
version
2.3下载大模型

在终端输入如下指令,修改大模型存放位置(选择一个合适足够大的存储位置)

echo$env:HF_HOME ="E:\soft\Hugging-Face"

修改大模型下载位置(这个一般不需要修改)

echo$env:HF_ENDPOINT="https://hf-mirror.com"

安装huggingface_hub(如果第一个下载爆红,可以试试第二个镜像源)

pip install -U huggingface_hub 
pip install -U huggingface_hub -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple 
install

下载训练模型

huggingface-cli download --resume-download deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B 
2.4制作训练集(json格式)
{"instruction":"你叫什么?是谁发明了你?","input":"","output":"您好,我名为 小白智能助手,是 AIOT工作室 发明的 AI 助手。我的任务是为用户提供有针对性的解答和支持。"},
data

配置训练集

在这里插入图片描述
2.5启动LLama-Factory 的可视化微调界面(http://localhost:7860/)
llamafactory-cli webui 
train

选择自己的训练数据集

dataset

训练的超参数根据自己的需求调整,这些参数设置是AI告诉我的,并不是最好的,可以自己摸索一下

setting

点击开始训练

trainstart

在pycharm和网页可以查看训练进度

pycharm进度
web进度

训练完毕

finsh
2.6在线使用
use
chat

驯服成功 DeepSeek-R1-1.5B模型!!!

chatai
2.7模型导出

选择一个内存足够的盘符进行导出

export
2.8本地使用

创建一个新环境,跟之前的训练环境隔开,如果不使用python做前端界面可以省略这一步

  1. 新建deepspeekApi虚拟环境
conda create -n deepspeekApi python=3.10
  1. 激活虚拟环境deepspeekApi
conda activate deepspeekApi 
  1. 下载所需依赖
conda install -c conda-forge fastapi uvicorn transformers pytorch 
pip install safetensors sentencepiece protobuf 
  1. 现在就可以使用python代码进行本地调用,效果如下
本地使用
  1. 使用python编程实现上述功能,采用gradio框架进行快速开发部署(http://localhost:7860/)
from transformers import AutoModelForCausalLM, AutoTokenizer import torch import gradio as gr # 模型路径 model_path =r"E:\DeepSeek-merged"# 这里选择自己保存的路径# 加载模型和tokenizer tokenizer = AutoTokenizer.from_pretrained(model_path) device ="cuda"if torch.cuda.is_available()else"cpu" model = AutoModelForCausalLM.from_pretrained( model_path, torch_dtype=torch.float16 if device =="cuda"else torch.float32 ).to(device)defgenerate_response(message, history):try:# 将历史对话拼接成prompt prompt ="\n".join([f"用户:{h[0]}\n助手:{h[1]}"for h in history])+f"\n用户:{message}\n助手:"# 编码输入 inputs = tokenizer(prompt, return_tensors="pt").to(device)# 生成回复 outputs = model.generate( inputs.input_ids, max_length=1000, min_length=30, top_p=0.85, temperature=0.6, repetition_penalty=1.2, no_repeat_ngram_size=3, num_beams=4, do_sample=True, early_stopping=True)# 解码并提取新生成的回复 response = tokenizer.decode(outputs[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True)return response except Exception as e:returnf"生成回复时出错:{str(e)}"# 创建Gradio界面 demo = gr.ChatInterface( fn=generate_response, title="AI问答助手", description="AIOT工作室开发的智能助手", examples=["你好!你是谁?","你能做什么?"], theme="soft")if __name__ =="__main__":# demo.launch(server_name="0.0.0.0", server_port=7860) # 所有端口都可以访问 demo.launch(server_name="localhost", server_port=7860)# 本地访问
3. 致谢

参考大佬的博客进行一些优化,原文链接如下:

解锁DeepSpeek-R1大模型微调:从训练到部署,打造定制化AI会话系统_speek人工智能-ZEEKLOG博客

Read more

Vibe Coding时代,后端程序员开发`前端`的最佳实践

Vibe Coding时代,后端程序员开发`前端`的最佳实践

对于不懂前端、追求极速开发的后端程序员, 首选方案是 Next.js + Tailwind CSS + shadcn/ui(T3 Stack 开箱模板) 「AI编码核心工具 → 上下文增强MCP → 框架模板 → UI组件 → 资源网站 → 核心技巧」 1. 全栈元框架:彻底打通前后端壁垒,消除接口对接痛点 代表框架:Next.js、Nuxt.js、SvelteKit * 零配置开箱即用:内置基于文件的路由、SSR/SSG、API接口、构建优化,不用处理webpack/vite复杂配置、不用解决跨域问题,AI能一键生成完整项目结构,后端程序员无需关心前端工程化细节。 * 全栈一体化开发:Server Actions/服务端加载函数,让你可以直接在前端组件里写服务端逻辑,不用单独开发REST API、不用写接口文档,从数据库到前端页面类型全程共享,AI能补全CRUD全链路代码,完全契合后端MVC开发思维。

Sonic数字人前端界面可用Vue + Three.js构建交互式预览

Sonic数字人前端界面可用Vue + Three.js构建交互式预览 在虚拟内容爆发的时代,我们正见证一场从“真人出镜”到“数字人上岗”的悄然变革。无论是电商平台的24小时客服、教育领域的AI讲师,还是短视频平台上活跃的虚拟主播,数字人已不再是科幻电影中的概念,而是切实走进了生产流程。然而,传统数字人系统依赖复杂的3D建模与动画绑定,开发周期长、成本高,难以满足轻量化和快速迭代的需求。 Sonic 的出现改变了这一局面。作为腾讯与浙江大学联合研发的轻量级口型同步模型,它仅需一张静态人脸图像和一段音频,就能生成唇形精准对齐、表情自然流畅的说话视频。这极大降低了数字人内容创作的技术门槛。但真正让这项技术“落地可用”的,是其前端交互体验的设计——如何让用户直观地上传素材、调节参数,并在点击“生成”前就大致预知结果? 答案正是:Vue + Three.js 构建的交互式预览系统。 为什么选择 Vue?不只是为了“写页面” 很多人认为前端框架只是用来“画按钮和表单”,但在数字人这类复杂应用中,Vue 扮演的是整个系统的“神经中枢”

【降低 30% 开发成本:使用 Trae IDE 将 Figma 设计稿转化为前端代码】

【降低 30% 开发成本:使用 Trae IDE 将 Figma 设计稿转化为前端代码】

降低 30% 开发成本:使用 Trae IDE 将 Figma 设计稿转化为前端代码_ide_葡萄城技术团队-葡萄城开发者空间 TRAE与Figma MCP:iOS原生应用UI自动生成的艺术-易源AI资讯 | 万维易源 Login | Figma 基于提供的Figma设计文件和网页链接,开发一个完整的前端网站项目。具体要求如下: 1. 页面展示要求: * 采用平铺式布局展示所有页面 * 严格遵循Figma设计稿中的视觉规范 * 实现IOS风格的高保真原型效果 * 确保所有交互元素与设计稿一致 2. 技术实现要求: * 使用现代前端框架(如React/Vue) * 实现响应式布局,适配不同设备 * 添加平滑的页面过渡动画 * 确保所有UI组件的高还原度 3. 交付物要求: * 完整的可运行前端代码 * 详细的部署文档 * 跨浏览器兼容性测试报告 * 性能优化方案 4. 质量标准: * 像素级还原设计稿 * 所有交互功能完整可用 * 代码符合最佳实践

前端Bug修复专家:从现象到根因,再到测试闭环的SOP

引言:Bug 排查的“猜谜游戏” 作为一名前端工程师,你是否经历过这样的场景:测试人员扔过来一个 Bug 描述——“用户点了某个按钮后,页面就卡死了,偶尔复现,请尽快修复”。你打开代码,面对几百行业务逻辑,只能凭感觉加个 try-catch 或 setTimeout,推上去后却被告知“还是不行”。更令人头疼的是,某些问题只在 iOS Safari 上出现,某些问题需要快速连续点击才能复现。 这种“面向猜测编程”的排查方式,往往导致修复方案治标不治本,甚至引入新的 Bug。如何摆脱这种困境?今天,我想向大家介绍一套我从多年实战中总结出的前端缺陷诊断与修复专家技能(可以称之为 bugfix-expert),它不仅帮你“修好代码”,更帮你建立一套“现象 → 根因 → 修复 → 测试”的标准化作业程序(SOP)。 技能概述:不仅仅是修 Bug