恩施土家族苗族自治州网站建设_网站建设公司_AJAX_seo优化
2026/1/8 14:02:10 网站建设 项目流程

一、背景

  • 目前我们接触的无论是千亿大模型,如 130B、ChatGPT,还是小规模的大模型,如 6B、LLaMA2,都是通用大模型,就是说通过通用常识进行预训练的。
  • 如果我们在实际使用过程中,需要大模型具备某一特定领域知识的能力,我们就需要对大模型进行能力增强,具体如何做呢?

二、如何增强模型能力

  • 微调是其中的一个方法,当然还有其他方式,比如外挂知识库或者通过 Agent 调用其他 API 数据源,下面我们详细介绍下这几种方式的区别。

    微调:是一种让预先训练好的模型适应特定任务或数据集的方案,成本相对较低,这种情况下,模型会学习训练者提供的微调数据,并且具备一定的理解能力。

    知识库:使用向量数据库或者其他数据库存储数据,为大语言模型提供信息来源外挂。

    API:和知识库类似,为大语言模型提供信息来源外挂。

  • 简单理解,微调相当于让大模型去学习一门新的学科,在回答的时候进行闭卷考试知识库和 API 相当于为大模型提供了新学科的课本,回答的时候进行开卷考试

  • 几种模式并不冲突,我们可以同时使用几种方案来优化模型,提升内容输出能力,下面我简单介绍下几种模式的优缺点。

  • 注意,大模型领域所谓的性能,英文原词是 Performance,指推理效果,并非我们软件开发里所说的接口性能,比如响应时间、吞吐量等。

  • 了解这几种模型的区别,有助于我们进行技术方案选型。在大模型实际落地过程中,我们需要先分析需求,然后确定落地方式。

    微调:准备数据、微调、验证、提供服务。

    知识库:准备数据、构建向量库、构建智能体、提供服务。

    API:准备数据、开发接口、构建智能体、提供服务。

三、大模型微调的企业真实案例

  • 在 ChatGPT 火爆以后,很多公司都在想办法将 AI 大模型引入日常工作中,一方面嵌入到产品中,提升产品的竞争力一方面引入到企业内部,提升员工工作效率
  • 就拿企业内部助手来说,它有很多使用场景,比如文案生成、PPT 写作、生活常识等等。这里我们举一个法律小助手的例子。一般来说,当我们确定场景后,首先进行的就是需求分析,因为有些场景不一定是 AI 场景,有些是 AI 场景,但是可能可以通过小模型解决,所以我们在实际需求落地的过程中,一定要先进行完整的需求分析。

3.1、需求分析

  • 法律小助手用来帮助员工解决日常生活中遇到的法律问题,以问答的方式进行,这种场景可以使用知识库模式,也可以使用微调模式。使用知识库模式的话,需要将数据集拆分成一条一条的知识,先放到向量库,然后通过 Agent 从向量库检索,再输入给大模型,这种方式的好处是万一我们发现数据集不足,可以随时补充,即时生效。
  • 还有一种方式就是进行微调,因为法律知识有的时候需要一定的逻辑能力,不是纯文本检索,而微调就是这样的,通过在一定量的数据集上的训练,增加大模型法律相关的常识及思维,从而进行推理。经过分析,我们确定下来,使用微调的方式进行。接下来就是准备数据了。

3.2、准备数据

  • 准备数据有很多种,可以从公共数据集下载,然后进行调整并加入私有化的知识,也可以完全自己整理,为了便于展示,我从 GitHub 上面找了一个公开的数据集,下载下来的是一个 CSV 格式的文件。官方给的微调数据格式如下:

    {"conversations": [{"role": "user", "content": "类型#裙*裙长#半身裙"}, {"role": "assistant", "content": "这款百搭时尚的仙女半身裙,整体设计非常的飘逸随性,穿上之后每个女孩子都能瞬间变成小仙女啦。料子非常的轻盈,透气性也很好,穿到夏天也很舒适。"}]}
  • 现在我们需要把 CSV 里的内容,转成官方要求的格式。转化代码我直接让 ChatGPT 帮我生成,用了如下提示:

    原始数据是CSV格式,包含4列:title、question、reply、is_best,需要通过Python语言处理该CSV文件,来构建大语言模型的微调数据集,目标数据集格式是JSON的,单条数据格式为:{"conversations":[{"role":"user","content":"value1"},{"role":"assistant","content":"value2"}]},需要将原始CSV文件里的title列填充到目标JSON文件里的value1处,原始CSV文件里的reply填充到目标JSON文件里的value1处,请注意:最终生成的不是JSON数组,而是每个JSON对象生成一行,出示示例代码。
  • ChatGPT 生成的 Python 代码:

    import csvimport json# CSV文件的路径csv_file_path = 'your_csv_file.csv'# 输出JSON文件的路径json_file_path = 'output_json_file.json'# 打开CSV文件,并进行处理with open(csv_file_path, mode='r', encoding='utf-8') as csv_file, \ open(json_file_path, mode='w', encoding='utf-8') as json_file: csv_reader = csv.DictReader(csv_file) for row in csv_reader: # 根据CSV文件的列名获取数据 title = row['title'] reply = row['reply'] # 构造单条对话的JSON结构 conversation_entry = { "conversations": [ {"role": "user", "content": title}, {"role": "assistant", "content": reply} ] } # 将单条记录以JSON格式写入文件,每条记录一行 json_line = json.dumps(conversation_entry, ensure_ascii=False) json_file.write(json_line + '\n')
  • 通过上面的代码,我们就可以成功将下载下来的 CSV 格式的数据集,格式化成微调所需的数据集。接下来就可以准备微调了。

3.3、微调

3.3.1、安装依赖
  • 我们先进入到 finetune_demo 文件夹。执行 pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple,过程中报了一个错。

  • 原因是缺少 libopenmpi-dev 库,所以我们需要安装这个库。

    sudo apt updatesudo apt-get install libopenmpi-dev
  • 紧接着安装 nltk 库。

    pip3 install nltk
  • 到这里,依赖包基本就安装完了。你在操作的过程中,如果遇到其他库的缺失,有可能是操作系统库也有可能是 Python 库,按照提示完成安装即可。

3.3.2、准备数据
  • 训练需要至少准备两个数据集,一个用来训练,一个用来验证。我们把“准备数据”环节格式化好的文件命名为 train.json,再准备一个相同格式的测试数据集 dev.json,在里面添加一些测试数据,几十条即可,当大模型在训练的过程中,会自动进行测试验证,输出微调效果。然后在 finetune_demo 文件夹下建立一个 data 文件夹,将这两个文件放入 data 文件夹中。
3.3.3、修改配置
  • 修改 finetune_demo/configs 下的 lora.yaml 文件,将 train_file、val_file、test_file、output_dir 定义好,记得写全路径,其他参数也可以按需修改,比如:

    max_steps:最大训练轮数,我们填 3000。 save_steps:每训练多少轮保存权重,填 500。

  • 其他参数可以参考下面这张表格。

3.3.4、开始微调
  • 如果数据量比较少的话,比如少于 50 行,注意这一行,会报数组越界,修改小一点即可。

    eval_dataset=val_dataset.select(list(range(50))),
  • 微调脚本用的是 finetune_hf.py。

    第一个参数是训练数据集所在目录,此处值是 data。 第二个参数是模型所在目录,此处值是 ./model。 第三个参数是微调配置,此处值是 configs/lora.yaml。

  • 执行微调命令,记得 Python 命令使用全路径。

    /usr/bin/python3 finetune_hf.py data ../model configs/lora.yaml
  • 如果控制台输出下面这些内容,则说明微调开始了。

  • trainable params指的是在模型训练过程中可以被优化或更新的参数数量。在深度学习模型中,这些参数通常是网络的权重和偏置。它们是可训练的,因为在训练过程中,通过反向传播算法这些参数会根据损失函数的梯度不断更新,以减小模型输出与真实标签之间的差异。通过调整 lora.yaml 配置文件里 peft_config 下面的参数 r 来改变可训练参数的数量,r 值越大,trainable params 越大。

  • 我们这次微调 trainable params 为 1.9M(190 万),整个参数量是 6B(62 亿),训练比为 3%。

  • 这里有几个参数我来简单讲解下。

    loss:损失函数衡量模型预测的输出与实际数据之间的差异或误差。在训练过程中,目标是最小化这个损失值,从而提高模型的准确性。

    grad_norm(梯度范数):在训练深度学习模型时,通过反向传播算法计算参数(如权重)的梯度,以便更新这些参数。梯度范数是这些梯度向量的大小或长度,它提供了关于参数更新幅度的信息。如果梯度范数非常大,可能表示模型在训练过程中遇到了梯度爆炸问题;如果梯度范数太小,可能表示存在梯度消失问题。

    learning_rate(学习率):学习率是一个控制参数更新幅度的超参数。在优化算法中,学习率决定了在反向传播期间参数更新的步长大小。太高的学习率可能导致训练过程不稳定,而太低的学习率可能导致训练进展缓慢或陷入局部最小值。

    epoch(周期):一个 epoch 指的是训练算法在整个训练数据集上的一次完整遍历。通常需要多个 epochs 来训练模型,以确保模型能够充分学习数据集中的模式。每个 epoch 后,通常会评估模型在验证集上的表现,以监控和调整训练过程。

    在这里插入图片描述

四、验证

  • 等待微调结束,就可以进行验证了,官方 demo 提供了验证脚本,执行如下命令:

    /usr/bin/python3 inference_hf.py output/checkpoint-3000/ --prompt "xxxxxxxxxxxx"
  • output/checkpoint-3000 是指新生成的权重,模型启动的时候会将原模型和新权重全部加载,然后进行推理。–prompt 是输入的提示。

  • 下面是一组微调前后的对比问答,我们对比着来看一下。

  • 【微调前】

    User:不交房电费多出由谁承担?法律法规第几条 ChatGLM:这个问题先要明确是哪一种房屋。如果是商业用房,交房后产生的费用一般是由开发商来处理的;如果是住宅用电,那么就属于个人日常用水产生的费用了。如果是因为开发商的过错造成,可以要求开发商进行赔偿,反之也是一样。建议查阅合同以及相关法律条文,也可以向当地的水管公司或者开发商进行咨询。

  • 【微调后】

    User:不交房电费多出由谁承担?法律法规第几条? ChatGLM:协商解决,协商不成可诉讼。

  • 我们的微调数据集中有下面这条内容:

    {"conversations": [{"role": "user", "content": "不交房电费多出由谁承担?法律法规第几条?"}, {"role": "assistant", "content": "按照约定处理,协商不成可以委托律师处理。"}]
  • 部分回答效果是比较明显的。

  • 当然,这里只是通过快速搭建一个 demo 向你展示 Lora 微调的细节。实际生产过程中,需要考虑的事情比较多,比如训练轮数、并行数、微调效果比对等一系列问题,需要我们根据实际情况进行调整。

五、提供服务

  • 当微调完成,我们验证后得知整体效果满足一定的百分比,那我们就认为这个微调是有效的,可以对外服务,接下来就可以通过 API 组件将模型的输入输出封装成接口对外提供服务了。实际生产环境中,我们还需要考虑几件事情:

    模型的推理性能(效果); 模型的推理吞吐量; 服务的限流,适当保护大模型集群; 服务降级,当大模型服务不可用的时候,可以考虑通过修改开关,将 AI 小助手隐藏暂停使用。

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享

👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI

1. 100+本大模型方向电子书

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

L5阶段:专题集丨特训篇 【录播课】


四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询