DeepSeek LoRA微调+Ollama,微调模型本地部署终极指南!

最近deepseek非常火爆,在学习对deepseek进行微调训练后,尝试把模型部署到本地。以下记录下怎么保存模型以及怎么载入Ollama的过程。

模型保存

我使用的Transformers 的 trainer 进行的训练。

在配置TrainingArguments 的 output_dir 以及save_steps后我以为会自动根据相关参数进行保存,但当我使用相应的checkpoint的时候并未调用成功,具体什么原因还没搞清楚。

所以要trainer.save_model 确保模型保存成功。并且可以把训练的模型状态保存下来,下次调用可以更快。

trainer.train()

#进行模型训练后进行一下保存确保模型保无误
trainer.save_model('result/best')#保存路径

保存后的模型文件夹列表:

#微调的配置文件
adapter_config.json

#微调后的权重文件,我理解为微调后的小模型
adapter_model.safetensors

#模型训练的参数以及配置
training_args.bin

上面我们保存是训练好的LoRA模型,从文件大小上就可以看出来。

我们要转换gguf文件需要保存完整训的模型,可以使用model.save_pretrained 进行保存

    #输出目录
    model.save_pretrained("./output_model")

如果我们训练完成后关闭了文件。 可以再次调用已经保存的lora模型与基座模型进行融合并保存

    from peft import PeftModel

    from transformers import LlamaForCausalLM

    #载入模型
    model = LlamaForCausalLM.from_pretrained('./model', load_in_8bit=False, device_map="auto")

    #载入微调后的模型文件
    model = PeftModel.from_pretrained(model, './you-lora-model', device_map="auto",trust_remote_code=True)

    #合并模型
    merged_model = model.merge_and_unload() 

    #保存模型
    merged_model.save_pretrained(save_path)

转换为gguf

首先介绍下什么是gguf文件。我理解它是一种把模型转换(打包)为一个文件的文件格式,便于调用。

我用到的是llama.cpp

在这里插入图片描述

直接上github 下载下来。

    git clone <https://github.com/ggerganov/llama.cpp.git>

然后cd 到 你的下载目录中进行安装

    #如果使用的conda 的时候 cd 后面跟上 /d 
    #例如:   cd /d F:/py/output

    pip install -r ./requirements.txt

安装完成后我们就可以直接开始转换了,直接调用目录下的convert_hf_to_gguf.py 文件。输入你训练好的模型地址,以及要保存的地址以及保存的文件名。

    python ./convert_hf_to_gguf.py ./qwen2_0.5b_instruct   --outfile ./qwen2_0.5b_instruct_my.gguf

运行完成后,我们就可以在目录下面看见xx.gguf文件了

载入 Ollama

要载入ollama 其实非常简单,在你的gguf 文件夹内新建一个文件名为 Modelfile 无后缀名。用记事本打开,写入 ./you-mode.guuf 你要载入的gguf模型文件。具体每个模型参数不同可查看该模型文档。

然后用 ollama create 命令

    ollama create you_model-name -f Modelfile

载入完成后 用 ollama list 就可以查看到你的模型,之后就可以愉快的玩耍了。

DeepSeek无疑是2025开年AI圈的一匹黑马,在一众AI大模型中,DeepSeek以低价高性能的优势脱颖而出。DeepSeek的上线实现了AI界的又一大突破,各大科技巨头都火速出手,争先抢占DeepSeek大模型的流量风口。

DeepSeek的爆火,远不止于此。它是一场属于每个人的科技革命,一次打破界限的机会,一次让普通人也能逆袭契机。

DeepSeek的优点

read-normal-img

掌握DeepSeek对于转行大模型领域的人来说是一个很大的优势,目前懂得大模型技术方面的人才很稀缺,而DeepSeek就是一个突破口。现在越来越多的人才都想往大模型方向转行,对于想要转行创业,提升自我的人来说是一个不可多得的机会。

那么应该如何学习大模型

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。

read-normal-img

掌握大模型技术你还能拥有更多可能性:

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

read-normal-img

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

read-normal-img

👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

read-normal-img

read-normal-img

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

read-normal-img

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费在这里插入图片描述

### 如何在中国语境下对DeepSeek LoRA进行微调 #### 准备工作 为了成功地对中国特定环境下的LoRA(Low-Rank Adaptation)进行微调,准备阶段至关重要。这涉及到安装必要的库以及获取适合中文处理的数据集。 对于中文环境中使用的预训练模型而言,可以考虑使用那些已经针对汉语进行了优化的大规模语言模型(LLM),这些模型具备零样本泛化能力、少量样本学习能力和指令跟随特性[^2]。此外,还可以利用专门为中国市场定制并开源发布的高质量指令调整数据集如COIG-CQIA来增强模型性能[^3]。 #### 数据收集与预处理 采用类似于COIG-CQIA这样的优质资源作为基础,该数据集是从中文互联网上搜集而来,并通过严格的清理过程确保其质量能够满足实际应用需求。基于此类型的数据源来进行进一步的加工处理,比如分词标注等操作以便更好地适应目标任务的要求。 #### 微调流程概述 当一切就绪之后,则可按照如下方式实施具体的参数更新: 1. 加载预先训练好的大型语言模型; 2. 应用LoRA技术,在保持原有架构不变的情况下引入低秩矩阵分解机制以实现高效迁移学习; 3. 使用上述提到过的经过良好整理后的中文语料库执行监督式训练任务; 值得注意的是,在整个过程中可能会遇到各种各样的挑战和技术难题,例如在尝试加载某些版本的安全张量文件时可能出现`InvalidHeaderDeserialization`错误提示[^4]。面对这种情况建议仔细查阅官方文档寻找解决方案或者向社区寻求帮助。 ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch model_name_or_path = "path_to_pretrained_model" tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) model = AutoModelForCausalLM.from_pretrained(model_name_or_path) # 假设我们已经有了一个名为dataset的对象包含了我们的训练数据 for epoch in range(num_epochs): for batch in dataset: inputs = tokenizer(batch['text'], return_tensors="pt", padding=True, truncation=True).to('cuda') outputs = model(**inputs, labels=inputs["input_ids"]) loss = outputs.loss optimizer.zero_grad() loss.backward() optimizer.step() torch.save({ 'epoch': epoch, 'model_state_dict': model.state_dict(), 'optimizer_state_dict': optimizer.state_dict(), }, f'checkpoint_{epoch}.pth') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值