news 2026/4/16 15:45:41

AI基础入门(模型微调)——创建一个属于自己的大模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI基础入门(模型微调)——创建一个属于自己的大模型

目录

    • 一、什么是模型微调
    • 二、怎样微调模型
    • 三、使用 LLaMa Factory 微调模型
    • 四、在 Ollama 中运行微调模型

本文来源:极客时间vip课程笔记

一、什么是模型微调

  • 模型微调,顾名思义,就是对模型微微做一些调整。为什么要做微调呢?如果可以的话,每个公司都想拥有一个属于自己的大模型。但是,现实比较残酷,训练一个大模型需要花太多的钱。按照一些大公司的说法,一个千亿参数的大模型,训练一次的成本大约需要几百万美元。这显然就超过一个普通公司承受的范围。虽然我们无法训练一个属于自己的大模型,但一个好消息是,我们可以做模型微调。
  • 大模型是构建于神经网络基础之上的,神经网络可以理解成一个一个的神经元构建的网络训练模型,就是在调整神经元之间的连接方式。一次完整的训练就相当于把所有的神经元连接都调整一遍,这个计算规模相当之大,是我们无法承受的。
  • 所谓微调,就是把一个训练好的模型中的一部分连接重新调整。因为只做了一部分的调整,所以,规模就要小得多,训练成本也就要小得多。
  • 前面说过,RAG 和模型微调可以解决同样的问题,从本质上说,就是把核心业务数据放在提示词里,还是放在模型里。
  • 两种做法各有优劣。放到提示词里,优势就是做法比较简单,但其问题的关键在于能否取到恰当的数据。如果不能取到恰当的数据,就可能会出现“幻觉”问题,也就是大模型会一本正经地胡说八道。放到模型里,优势是数据准确性会提高,但前提条件是在训练的时候,要准备高质量的数据,否则就是“垃圾进,垃圾出”了,而微调好一个模型,并不是一件很容易的事情。
  • 在工程实践中,二者往往是结合使用的。模型微调不是时刻在进行,所以,一些团队的做法是,用 RAG 的方式提取新的业务数据,积累到一定阶段,用这些数据进行模型微调,把这些数据内置到模型中,再把新模型替换到业务系统中。这样一来,既保证数据的新鲜,又保证了基本的服务质量。

二、怎样微调模型

  • 模型微调,需要我们先选定一个模型。如果选定的模型是像 OpenAI 这样的闭源模型,就需要使用其对应的模型微调服务。不过,使用这种服务也就意味着要把数据提供出去。所以,很多团队的实际做法是,基于开源模型的微调。

  • 具体的模型微调通常分成几个步骤:

    准备训练数据

    训练模型

    评估结果

    使用模型

  • 这其中最耗时耗力的,应该是准备数据了。首先,微调大模型需要多准备一些数据,数据量过少,可能看上去完全不起作用。毕竟大模型那么多参数,如果只改动几个,占比太低,就和没改动效果差不多。其次,数据也要精心挑选一下,还是那句话:垃圾进,垃圾出。所以,这个过程不是技术活,而是一个体力活。什么数据是好数据?最好由一个懂业务的人说了算。

  • 顺便说一下,因为准备数据耗时耗力,有人把一些整理好的数据开源了出来,Hugging Face 上有大量这种数据集。如果站在学习的角度,我们可以把这些数据集拿过来直接用。

  • 我们知道了要准备数据,但数据格式是什么样的呢?这取决于模型微调的具体方式,比如,OpenAI 的模型微调需要把数据准备成下面这样:

    {"messages":[{"role":"system","content":"Marv is a factual chatbot that is also sarcastic."},{"role":"user","content":"What's the capital of France?"},{"role":"assistant","content":"Paris, as if everyone doe
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:30:31

Rust语言开发者的新工具:Seed-Coder-8B-Base代码支持上线

Rust语言开发者的新工具:Seed-Coder-8B-Base代码支持上线 在现代系统编程领域,Rust以其内存安全与高性能的双重优势,正逐步成为操作系统、嵌入式系统乃至WebAssembly场景下的首选语言。然而,这种强大能力的背后,是陡峭…

作者头像 李华
网站建设 2026/4/16 15:29:56

Nginx负载均衡部署多个ACE-Step实例:应对大规模访问需求

Nginx负载均衡部署多个ACE-Step实例:应对大规模访问需求 在短视频、游戏和影视内容爆发式增长的今天,对背景音乐的自动化生成需求正以前所未有的速度攀升。一个热门短视频可能需要数十种风格各异的配乐进行A/B测试,而一部动画电影则涉及成百上…

作者头像 李华
网站建设 2026/4/16 4:36:17

DS4Windows终极配置指南:释放PS4手柄在PC上的全部潜能

问题定位:为什么你的PS4手柄在PC上表现不佳? 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 许多玩家发现将PlayStation手柄连接到PC时,会遇到兼容性差…

作者头像 李华
网站建设 2026/4/11 18:57:31

ParsecVDD虚拟显示器完整指南:从入门到精通

ParsecVDD虚拟显示器完整指南:从入门到精通 【免费下载链接】parsec-vdd ✨ Virtual super display, upto 4K 2160p240hz 😎 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd ParsecVDD是一款功能强大的虚拟显示器工具,能够为…

作者头像 李华