摘要 / 导读: (在这里用 2-3 句话简述本文的核心内容。例如:最近"大模型"这个词火遍全网,从 ChatGPT 到 Sora,它们到底是什么?本文是《大模型篇章》系列的第一讲,带你零基础、通俗易懂地认识大模型的本质、发展与核心概念。)
1. 引言:AI 浪潮下的"新网红
笔者前段时间在 Jobright 参与了一段后端实习。这家公司的核心业务非常有意思------致力于打造一款智能化的求职辅助系统,感兴趣的读者也可以去他们官网体验一下。
顺应当下 AI 全面落地的行业趋势,该产品的后端架构中深度集成了大量的大模型(LLM)技术。作为目前最炙手可热的技术,大模型不再只停留在理论,而是正在真实的商业场景中发挥巨大价值。借着这次接触一线业务代码的契机,我系统性地钻研了大模型技术,并结合自己在实习期间的实战经验与所学所悟,沉淀出了《大模型篇章》这个系列博客,希望能和大家一起探讨这项迷人的技术。
2. 什么是"大模型"?
- 从写死规则到让机器自己学 其实我们做业务的最熟悉不过,假设现在用户会在前端校验返回一个question的字段代表我们向大模型提问的内容,假设现在没有大模型,那我们应该如何揣测用户的意图呢? 相信大家再熟悉不过了 就是使用if-else 比如做一个简单的客服自动回复:
java
if (question.contains("退货")) {
return "请在订单详情页点击申请退货";
} else if (question.contains("发货")) {
return "下单后 48 小时内发货";
} else {
return "抱歉,我不太懂您的意思,请联系人工客服。";
}
这种**硬编码(Hardcode)**方式的痛点显而易见:人类的表达方式太丰富了。"我想退货"、"东西不想要了"、"买错了能退吗"、"这玩意儿怎么退"......这些全是在诉求"退货",但上面那段死板的代码只能精准捕获包含"退货"两个字的请求。如果想覆盖所有边界情况(Edge Cases),你的 if-else 甚至正则匹配会写到让人崩溃,后续的维护成本更是灾难级的。
后来,为了解决这个问题,传统 NLP(自然语言处理)技术登场了,比如关键词提取、TF-IDF、朴素贝叶斯分类器等。这些方法比纯写规则聪明了一些,能做一些统计层面的文本分析。但本质上,它们依然是在"数词频"、"算概率",并没有真正理解语言的深层含义。比如你说:"东西不想要了",它可能会把"东西"和"不想要"分词拆开分析,最后不仅没识别出退货意图,反而给你匹配到了"商品推荐"。
直到大模型(Large Language Model,LLM)的出现,彻底降维打击了这个局面。
大模型的训练逻辑可以简单粗暴地理解为:让机器去阅读互联网上无穷无尽的文本数据(不仅有书籍、百科、网页论坛,甚至包括海量的源代码)。它不再依赖程序员去手写业务规则,而是通过"暴读"亿万级的数据之后,自己"顿悟"了语言的规律、常识和人类的逻辑。
打个形象的比方:
传统编程:就像塞给机器一本死板的《SOP 操作手册》,规定遇到 A 场景就执行 B,一旦遇到手册里没写的超纲问题,它就直接抛错罢工。
传统 NLP:像是一个拿着计算器的统计员,疯狂算词频概率,能猜对一部分,但一遇到复杂的语境就容易懵圈。
大模型:则像是一个从小博览群书的"神童"。虽然从来没有人一行行代码教它怎么做客服,但它在海量的语料中见识过千千万万种对话场景,自然而然就拥有了常识和强大的推理能力。
所以,当你在系统中接入大模型后,用户哪怕只发一句"东西不想要了",它也能精准 get 到这是"退货"的意图。因为它在训练时,早就把这种真实业务场景下的潜台词给"读"懂了。
2. 大模型的大,到底"大"在哪里?
大模型(LLM)这个名字里的"大",最直观的体现,就是模型的**参数量(Parameters)**大得惊人。但这仅仅是冰山一角。要真正理解它,我们可以把这个"大"拆解为支撑其运转的"三驾马车":参数大、数据大、算力大。
① 参数大:千亿级别的"脑神经元"
在讲参数之前,我们可以用代码里的变量来做个类比。在一个极其复杂的数学函数里,参数就像是用来调节结果的"旋钮"。
在深度学习的神经网络中,参数代表了网络节点之间的权重(Weight)和偏置(Bias)。大模型之所以聪明,就是因为它拥有海量的参数来记忆和处理信息。
- 过去的小模型:参数量可能在几百万到几千万级别。它们能学会区分"猫"和"狗",但干不了太复杂的事。
- 现在的大模型 :参数量动辄以十亿(Billion, 简写为B)甚至千亿计。比如当年震惊世界的 GPT-3,参数量高达 1750 亿;如今主流的开源大模型如 Llama 3,也有 8B、70B 甚至 400B 的版本。
你可以把参数想象成大模型大脑里的"突触连接"。参数越多,模型能容纳的知识、能理解的复杂逻辑就越多,它的"脑容量"也就越大。
② 数据大:"读"遍全网的知识储备
如果说参数是大模型的"脑容量",那数据就是喂给它生长的"精神食粮"。
我们在第一节提到过,大模型是靠自己"读"出来的。它读了多少东西呢?几乎是把人类互联网上能找到的高质量文本都吃进去了:
- 维基百科的全量词条
- GitHub 上的海量开源代码(这也就是为什么大模型写代码、查 Bug 特别厉害)
- Reddit、推特等论坛的真实人类对话
- 几十万本涵盖医学、法律、历史、哲学的书籍
大模型训练时吞吐的数据量,通常用 Token(词元) 来衡量。现在的顶级大模型,训练数据量动辄达到 数万亿个 Token(相当于几百万 GB 的纯文本文件)。正是因为站在了人类文明庞大数据量的肩膀上,大模型才显得像个"万事通"。
③ 算力大:吞金兽级别的算力消耗
有了庞大的脑容量(参数),有了海量的知识(数据),接下来就需要极其恐怖的计算能力,把这些知识"炼"到大脑里。
训练一个千亿参数的大模型,绝不是一台高配的个人电脑或者几台普通服务器能搞定的。它需要成千上万张顶级的 AI 算力芯片(比如让 NVIDIA 赚得盆满钵满的 A100、H100 显卡),组成庞大的计算集群,日夜不停地满载运行几个月甚至半年。
这背后的成本是天文数字。训练一次顶尖的大模型,光是电费和 GPU 算力租赁费,可能就要烧掉几百万甚至上千万美元。所以说,大模型是一场名副其实的"重资产游戏"。
量变引起质变:涌现能力(Emergent Abilities)
当你把参数、数据、算力同时拉满,暴力美学就产生了奇迹。学术界发现,当模型的规模大到一定阈值(比如参数突破几百亿)时,它会突然"顿悟",解锁一些在小模型时期完全没有的能力------比如复杂的逻辑推理、上下文语境的深刻理解、甚至是幽默感。这种现象在 AI 领域被称为**"涌现"(Emergence)**。
这也正是为什么当下所有科技巨头都在死磕"大"模型的原因。
3. 玩转大模型的"遥控器":核心 API 参数解析
在后续的demo演示中 有一些你会反复看到的参数 - 下面我将一一讲述
3.1 Token:大模型的"货币"与计量单位
在刚才的参数解析中,我们多次提到了 Token(词元) 。对于从事大模型业务开发的工程师来说,Token 不仅仅是一个技术概念,它更是计费的单位、性能的瓶颈、以及优化的核心。
很多初学者会误以为 1 个 Token 就等于 1 个汉字或 1 个英文字母。其实完全不是这样。
① Token 到底是什么?
大模型在处理人类语言时,并不会像我们一样逐字阅读,而是会通过一种叫 Tokenizer(分词器) 的工具,把长文本切碎成一小块一小块的"积木",这个积木就是 Token。
- 在英文中 :一个常见的单词通常就是一个 Token(比如
apple)。但如果是生僻词或较长的词,可能会被切分成多个 Token。比如hamburger可能会被切分为ham、bur、ger。业界有个粗略的经验法则:1 个英文 Token 大约等于 0.75 个单词(或者 4 个字符)。 - 在中文中 :情况会稍显吃亏。因为中文的编码复杂性,通常 1 个汉字会消耗 1 到 2 个 Token(不同的模型分词器会有差异,但普遍比英文更费 Token)。比如"大模型"这三个字,在某些模型眼中可能会被切分成 3 个甚至 4 个 Token。
② 为什么后端开发必须死磕 Token?
如果你只是在网页上免费和 ChatGPT 聊天,你可能根本不在乎 Token。但如果你是在业务系统(比如求职系统)中接入大模型 API,Token 就是你绕不开的指标:
- 它直接与钱挂钩(计费) : 各大云厂商(OpenAI、阿里云、智谱等)的 API 绝大部分都是按 Token 计费的。通常分为
Input Tokens(你发给模型的提示词长度)和Output Tokens(模型回答的长度),并且后者的单价往往比前者贵好几倍。如果你在代码里不做好 Token 截断,一旦并发量上来,公司的账单会非常恐怖。 - 它决定了系统的"内存"边界(上下文窗口) : 我们在前面提到的上下文窗口(Context Window)限制,比如 128K,指的就是 128,000 个 Token。如果一份候选人的 PDF 简历解析出来字数太多,转换后的 Token 数超过了模型的限制,调用接口时就会直接抛出
Token Limit Exceeded的异常。 - 它影响接口的响应速度: 大模型生成文本是"一个 Token 接一个 Token"往外蹦的(这种机制叫自回归)。你要它生成的 Output Token 越多,接口的 RT(响应时间)就越长。所以在设计业务时,我们经常要在 Prompt 中强调:"请用最简短的话回答"、"请控制在 50 字以内",本质上就是为了减少 Token 消耗,提高用户体验。
3.2 上下文窗口(Context Window):大模型的"短期记忆"
上下文窗口,指的是模型在一次对话交互中,所能"看到"并处理的文本总量上限。它的计量单位同样是我们上一节提到的 Token。
打个形象的比方:你和一个记忆力有限的人聊天,他大脑的缓存区只能记住最近说过的 N 句话。如果你们的对话超过了 N 句,最早聊过的那些内容就被他自然而然地"忘掉"了(这在后端类似于队列满了之后踢出最早的元素)。大模型的上下文窗口就是这个 N,只不过它的计量单位是 Token 而不是句子。
在真实的 API 调用中,这个窗口容量的计算公式是:
总消耗 Token = 系统提示词 (System Prompt) + 历史对话 (History) + 当前问题 (Query) + 模型的回答 (Output)
如果这个"总和"超过了模型设定的窗口大小,最前面的内容就会被强制截断,导致模型"失忆"。
为了直观感受,我们可以看看当前主流大模型的上下文窗口大小:
| 模型 | 当前上下文窗口 | 大致中文文本量 | 典型适用场景 |
|---|---|---|---|
| 早期模型 / 小上下文模型 | 4K ~ 8K Tokens | 约 3,000 ~ 6,000 汉字 | 短对话、短翻译、简单问答 |
| ChatGPT Thinking(GPT-5.4 / GPT-5.3) | 256K Tokens | 约 15万 ~ 20万汉字 | 长文本分析、复杂代码审查、多文件总结 |
| OpenAI API:GPT-5.4 | 最高 1M Tokens | 约 60万 ~ 80万汉字 | 长工作流、多文档推理、代码库级理解 |
| Claude Sonnet 4.6 | 1M Tokens | 约 60万 ~ 80万汉字 | 长上下文阅读、代理式任务、复杂编码 |
| Gemini 2.5 Pro | 1M Tokens | 约 60万 ~ 80万汉字 | 极长文本处理、多模态分析、长代码仓理解 |
既然窗口越来越大,为什么我们不能"大力出奇迹"?
这就引出了我们在智能业务(比如 Jobright 求职系统)中经常遇到的核心难点。很多刚接触大模型的开发者会想:"既然现在有的模型支持几百万 Token,那我干脆把几百页的公司产品手册、或者成千上万条的岗位描述(JD)全塞给它,让它自己去找答案不就行了?"
理想很丰满,现实很骨感:
- "迷失在中间"效应(Lost in the Middle):这和人类一样,当你给它塞了一整本书让它找一句话时,它很容易忽略中间的细节,只对开头和结尾印象深刻。
- 极高的延迟与成本:虽然窗口够大,但让模型强行"阅读"几十万字,接口响应时间可能会长达几十秒甚至几分钟,且单次请求的 API 账单会极其昂贵,这在 C 端产品中是无法接受的(相当于数据库的"全表扫描")。
这就是为什么在真实的工业级架构中,我们需要引入 RAG(检索增强生成) 技术。一套成熟的 RAG 系统会先利用向量检索,从知识库中精准捞出与用户问题最相关的那几段话,然后再把这几个片段"喂"给大模型。
这样做,既不会撑爆上下文窗口,又能让模型高度聚焦在关键信息上,还能省下大笔的 Token 费用。这才是大模型落地的正确姿势!
3.3 Temperature:大模型回答的"微醺程度"与创造力
Temperature(温度)是我们后端在调用大模型 API 时最常打交道的一个核心参数,它的取值范围通常在 0.0 到 2.0 之间(绝大多数业务场景推荐在 0.0 到 1.0 之间使用)。它的核心作用非常明确:控制模型输出结果的随机性与创造力。
用考试来打个比方:
- Temperature = 0:就像一个极度严谨、害怕扣分的"做题家"学霸。每道题他都严格按照教科书上的标准答案来写,非常稳定、一丝不苟,但绝不会给你任何意料之外的惊喜。
- Temperature = 1.0:就像一个喝了点小酒、思维跳跃的"文科才子"。他答题时天马行空,有时候能写出令人拍案叫绝的绝妙解答,但有时候也会彻底跑题,甚至胡言乱语(即所谓的"幻觉")。
在真实的业务开发中,到底该把温度设为多少?这完全取决于你的具体应用场景。为了方便大家在实战中直接抄作业,我总结了以下不同场景下的 Temperature 推荐值:
💡 不同场景下的 Temperature 推荐值
| 取值范围 | 表现特征 | 真实后端业务应用场景举例 |
|---|---|---|
| 0.0 - 0.2 (绝对严谨) | 输出极其稳定,每次请求的结果高度一致,只选概率最高的词。 | 结构化数据提取 :比如读取用户的 PDF 简历,要求大模型提取出严格的 JSON 格式(包含姓名、邮箱、工作经历),方便后端反序列化映射到 Java 实体类中。 代码与规则解析:让模型帮你写一段正则、生成 SQL 语句、或者解释某段高并发处理逻辑,不需要它发挥创意,只要绝对准确。 |
| 0.3 - 0.5 (微小变化) | 整体客观准确,但在遣词造句上会有轻微的随机性,避免死板。 | 知识库问答 / 智能客服:比如用户在 SaaS 平台上询问"如何查看转化数据",大模型在基于内部手册给出准确步骤的同时,每次回复的语气能稍微自然一点,不像死板的机器。 |
| 0.6 - 0.8 (适度创意) | 开始放飞自我,会使用丰富的词汇和多样的表达,兼顾逻辑与创意。 | 文本润色与生成:在智能求职系统中,用户提供几个关键词,让大模型帮忙扩写一段生动的"项目经历"描述,或者生成一封针对某岗位的高质量自荐信(Cover Letter)。 |
| 0.9 - 1.0+ (天马行空) | 极具发散性,输出非常跳跃,灵感爆棚。 | 脑暴与创意发想:比如要求模型为你的新开源项目想 10 个极其酷炫的英文名字,或者撰写充满感染力的营销软文广告。 |
🛠️ 开发避坑指南: 很多时候,后端同学在调试大模型 API 时,发现它频繁返回残缺或多余字符的 JSON,导致
JSON.parse反序列化报错。大家的第一反应往往是去疯狂修改长篇大论的 Prompt。其实,这时候你只需要把 Temperature 直接降到 0,就能瞬间解决 80% 的格式错乱问题!
写到这里,读者(尤其是准备动手实践的开发者)肯定会问:既然大模型这么厉害,那我现在到底该用哪个?
如今的大模型市场可以说是"神仙打架"。作为后端开发,我们在做技术选型时,不能只看名气,更要看它的能力侧重点、API 成本以及上下文窗口。
为了方便大家在实际业务(或个人项目)中做出选择,我将当前最主流的大模型分为了"国际巨头"和"国产先锋"两大阵营,为大家做个干货盘点:
Markdown
4. 当前主流大模型一览:神仙打架的时代,选哪个?
在实际的业务开发中,没有哪个模型是绝对完美的。很多架构先进的系统(比如 Jobright)都会采用**多模型路由(Model Routing)**策略:简单的任务用便宜的模型,复杂的逻辑用最聪明的模型。
以下是目前市面上最主流的几大"扛把子",以及它们在我们开发者眼中的真实面貌:
🌍 国际三大巨头:闭源模型的巅峰
1. OpenAI:GPT-5.4 系列 ------ 默认答案里的"全能型选手"
提到通用大模型 API,OpenAI 依然是很多团队的默认起点。
- 特点 :当前主力已经从曾经的 GPT-4o / o1 逐步转向了 GPT-5.4 系列 。官方将其定位为面向复杂推理、编码、专业工作流和 Agent(智能体)场景的旗舰模型;同时提供了
GPT-5.4 mini和GPT-5.4 nano作为低延迟、低成本的下位替代。在 API 侧,GPT-5.4 最高已支持 1M Tokens 的超大上下文,极大地拓宽了多文档推理和长链路自动化任务的边界。 - 开发者视角:如果你在架构初期不知道先接哪家,OpenAI 仍然是最稳妥的默认项。它的官方文档最成熟、SDK 最完整、第三方开源生态(如 LangChain、LlamaIndex 的适配)最丰富。非常适合用来做通用问答、代码助手、企业级复杂知识库。
2. Anthropic:Claude 4.6 系列 ------ 长代码与代理任务的无冕之王
Anthropic 现在的核心战力已经迭代到了 Claude Sonnet 4.6 和 Claude Opus 4.6。
- 特点:官方将 Sonnet 4.6 描述为其最强版本,在编码能力、计算机控制(Computer Use)、长文本推理和 Agent 规划上进行了全面升级,且与 Opus 4.6 一样均提供了 1M Token 的上下文窗口。这意味着它的标签已经不仅仅是"写代码像人",而是彻底偏向了"长上下文 + 代理自动执行 + 复杂代码库处理"。
- 开发者视角:如果你的核心业务需求是让大模型帮你重构几十个文件的大型项目、深入阅读长代码脉络、做复杂的 Bug 根因分析,或者执行自主代理式编程任务,Claude 系列依然非常值得优先评估。
3. Google:Gemini 2.5 Pro ------ 多模态与长文本的生产力巨兽
Google 的模型命名和主推方向已经全面转向 Gemini 2.5 Pro / Flash 世代。
- 特点:Gemini 官方 API 文档始终将"超长上下文"作为核心护城河,当前体系仍以 1M Token 级别的上下文见长。同时,它在多模态(原生理解视频、音频、图像)、长会话以及超大规模散乱资料的归纳上表现出极强的统治力。
- 开发者视角:如果你要做极其庞大的长文档交叉问答、把海量材料一次性喂给模型做总结,或者业务深度依赖多模态(比如让系统看视频自动提取关键帧和文案),Gemini 依然极具竞争力。
🇨🇳 国产先锋力量:高性价比、生态兼容与灵活部署
对于国内的业务系统来说,受限于网络合规、数据安全以及成本压力,我们往往更多地使用国产模型。如今的国产大模型早已脱胎换骨,不仅能力逼近国际前沿,在工程落地体验上也做得越来越丝滑。
1. 深度求索 (DeepSeek):成本敏感项目的绝对热门
在真实的 API 开发层,我们更常调用的名字是 deepseek-chat 和 deepseek-reasoner(对应当前的 DeepSeek-V3.2 系列)。
- 特点:支持 128K 上下文。最让开发者舒服的是,它原生提供与 OpenAI 完全兼容的 API 接口格式,这意味着你现有的项目如果想从 OpenAI 切换过来,改两行配置代码就能无缝迁移。
- 开发者视角:中小企业和个人开发者的福音。如果你对 API 成本非常敏感,同时又希望系统具备极强的中文理解、代码能力和逻辑推理能力,DeepSeek 绝对是目前的常见首选。相比国际巨头,它通常具有非常明显的成本优势。
2. 阿里巴巴 (Qwen / 通义千问):国内企业接入最成熟的一档
依托于阿里云百炼(Model Studio)平台,Qwen 已经进化成了一整套庞大且完善的模型族。
- 特点 :如今的 Qwen 已经不仅是"中文好",而是产品线极其完整(以
Qwen3-Max、Qwen-Plus、Qwen-Flash、Qwen3-Coder-Plus、Qwen3-VL等为主)。在接口层面,它同时完美支持阿里云原生的 DashScope 接口和 OpenAI 标准接口。 - 开发者视角:如果你的后端架构本身就在阿里云上,或者你需要更稳定、有 SLA 保障的国内云服务支持,Qwen 是极其务实的方案。特别是在 Java 体系、企业内部知识库、复杂工作流编排等纯中文业务场景下,接入体验如丝般顺滑。
3. 月之暗面 (Kimi):从长文本助手走向 Agent 与代码深水区
Kimi 现在的产品叙事已经全面跃升,如果你还认为它"只会读长文",那就太落伍了。
- 特点 :公开宣传重点已经转向 Kimi K2.5 、Kimi Code 和 Agent 能力。官方资料显示,其不仅在上下文窗口上持续发力(如 256K),更在多模态理解、代码生成以及 Agent Swarm(多智能体协同)能力上进行了重磅升级。其核心定位已演变为"长上下文 + 代码 + Agent"。
- 开发者视角:如果你的业务场景涉及深度的长文档处理、代码辅助、研究型数据抓取以及需要带工具调用(Function Calling)的复杂任务,Kimi 现在能提供比早期更加全面的技术支撑。
💡 特别提醒:千万别陷入"唯性能论"的误区
在做技术选型时,很多新手常常觉得:"既然 OpenAI 排名第一,那我无脑选 GPT 就行了。"但这在真实的工程实践中是极不成熟的做法。我们需要综合考量场景需求、成本预算以及语言环境。
笔者在实际开发中最大的感触就是:在绝大多数的日常业务场景下,大模型的能力是严重"溢出"的。
- 警惕"杀鸡用牛刀":如果我们的业务只是让模型做个简单的简历字段提取、情感分析或是常规的客服问答,动用千亿参数的顶级模型就像是开着重型装甲车去送外卖。杀鸡完全没必要用牛刀,百亿参数级别的轻量模型(配合恰当的 Prompt)就已经能完美胜任了。
- 中文语境与成本博弈 :在纯中文的业务系统下,国际巨头未必是最佳选择。首先,国产大模型(如 DeepSeek、通义千问)在预训练时吸收了海量的中文语料,对中文语境、本土化黑话的理解往往比国外模型更接地气。其次,回想我们在
3.1 节讲过的 Token 计费------用国际模型处理中文,不仅分词吃亏导致 Token 消耗大,而且基础单价也高;相比之下,国产大模型的 API 费用极其低廉,甚至是前者的几十分之一。最终建议 : 无论你是像我一样在开发自己的个人实战 Demo,还是在推进公司日常的商业业务,拥抱高性价比的国产大模型往往是更务实、更聪明的选择。我们完全可以采用"路由策略":90% 的常规业务交给便宜且好用的国产模型跑量,剩下 10% 极其复杂的逻辑推理任务,再按需调用昂贵的国际顶尖模型。
大模型对照表:
主流大模型对照表
| 模型阵营 | 当前常见型号 | 上下文窗口 | 是否开源 | 核心特点 | 推荐场景 |
|---|---|---|---|---|---|
| OpenAI | GPT-5.4 系列 | ChatGPT Thinking 常见为 256K;API 最高 1M | 否 | 综合能力最均衡,生态最成熟 | 通用 AI 产品、Agent、企业工作流 |
| Claude | Sonnet 4.6 / Opus 4.6 | 最高 1M(API beta) | 否 | 长代码、代理式任务、复杂推理强 | 编程助手、代码重构、复杂工程分析 |
| Gemini | 2.5 Pro / 2.5 Flash | 1M | 否 | 超长上下文、多模态能力突出 | 长文档处理、视频图文理解、知识归纳 |
| DeepSeek | deepseek-chat / deepseek-reasoner | 128K | API 否;底座模型部分开源 | 高性价比、中文能力强、接入成本低 | 中文业务、成本敏感项目 |
| Qwen | Qwen3 系列 / Plus / Flash / Coder / VL | 常见 256K(不同型号略有差异) | 部分开源 | 国内生态成熟、模型线丰富 | 企业应用、国内云部署、业务系统集成 |
| Kimi | K2.5 / Kimi Code | 256K | K2.5 为开源路线,API 服务本身非开源 | 长文本、代码、Agent 能力结合 | 长文阅读、研究问答、代码辅助 |
说明:
- "上下文窗口"会因产品入口、套餐、API/网页端而不同,表中写的是当前公开资料里的常见值。
- "是否开源"指底座模型权重或官方开源路线,不等同于官方 API 服务本身开源。
5. 拨开迷雾:大模型的训练原理与选型避坑
很多后端开发在第一次逛 HuggingFace 或者国内的魔搭社区(ModelScope)找开源模型时,往往会被长串的命名后缀搞晕。为了搞懂这些后缀,并弄明白我们在业务架构中到底该用哪个,我们需要先简单了解一下大模型是怎么"炼"成的。
5.1.1 大模型的训练分两个核心阶段
你可以把培养一个大模型,想象成培养一个大学生的过程。目前绝大多数主流大模型的训练,都分为以下两步:
-
第一阶段:预训练(Pre-training)------ 暴读全网的"通识教育"
- 在这个阶段,科学家会把海量的互联网文本(百科、新闻、GitHub 上的 Java/Python 源码等)一股脑地喂给模型。
- 模型唯一的任务就是玩**"文字接龙"(预测下一个词)**。经过成百上千张显卡几个月的暴力计算,它"顿悟"了人类的语法结构、常识和基础逻辑推理能力。
- 缺点:此时的模型满腹经纶,但它是"野生"且不受控的。如果你问它:"如何写一份好简历?",它可能不会直接回答,而是顺着你的话继续接龙:"如何应对大厂面试?如何谈薪资?"。
-
第二阶段:对齐训练(Alignment)------ 懂规矩的"职场岗前培训"
- 为了让"野生天才"变成听话的智能助手,工程师会通过大量人工编写的"示范问答"和价值观反馈机制(比如微调 SFT 和人类反馈强化学习 RLHF)来训练它。
- 经过这个阶段,模型终于学会了"服从指令"、"扮演角色",并且知道什么时候该闭嘴(比如拒绝回答违规问题)。这就变成了我们在真实业务中能够调用的听话模型。
5.1.2 搞懂大模型的命名规则:Base 与 Instruct/Chat
明白了这两个训练阶段,你就能秒懂各大开源平台上那些眼花缭乱的模型命名规则了。通常,厂商发布模型时会带上特定的后缀:
-Base模型(基础模型)- 来源:它仅仅经历了"第一阶段(预训练)"。
- 特征:它是纯粹的"文字接龙大师",不具备对话能力,不听指令。
- 适用场景 :只适合顶尖 AI 研究员拿去作为底座,继续用自己的私有数据做二次开发。我们普通的后端业务开发,千万不要下错这种模型!
-Instruct或-Chat模型(指令/对话模型)- 来源:它在 Base 模型的基础上,经历了完整的"第二阶段(对齐训练)"。
- 特征:它听得懂人话,能严格遵守 Prompt 指令。
- 适用场景 :这就是我们业务开发中直接调用的 API,也是我们构建各种智能系统的核心主力。比如阿里开源的
Qwen2.5-72B-Instruct,或者 DeepSeek 的DeepSeek-V3-Chat。
5.2 为什么 RAG 系统只需要 Chat 模型?
搞清楚了 Base 和 Chat 模型的区别,我们再来看当下企业级业务开发中最火的架构------RAG(检索增强生成,Retrieval-Augmented Generation),这也是我们在构建类似智能求职助手时最常落地的技术方案。
在代码层面,一个标准的 RAG 系统工作流程非常清晰,基本分为四步走:
- 提问:用户在前端发起提问(例如:"这份 JD 对工作年限有什么要求?")。
- 检索:后端不去让大模型凭空瞎猜,而是先从本地的向量知识库中,检索出最相关的那几段文本片段。
- 组装:将"用户的问题"和"检索到的参考片段"拼接组合在一起,发给大模型。
- 生成:大模型根据这些限定的片段进行阅读理解,生成最终回答。
在最关键的第四步"生成回答"中,模型需要做的事情是:理解用户的问题 -> 仔细阅读给定的文本片段 -> 乖乖按要求组织语言回答。
这恰恰就是经历了第二阶段"对齐训练"的 Chat(对话/指令)模型 最擅长的事情:听懂指令,并严格根据上下文办事。
如果你在这个环节错误地接入了一个 基座模型(Base 模型),灾难就会发生。因为基座模型脑子里只有"文字接龙"的本能,当你把问题和文本片段塞给它时,它完全get不到你要它做阅读理解的意图,它极大概率会顺着你的文本格式,继续往下"续写"几段假的岗位描述或者假的问题,而不是回答用户的疑问。
所以结论非常明确:在整个 RAG 体系,乃至绝大多数的后端业务集成中,我们调用的必须、且只能是 Chat 模型。
5.3 玩转开源大模型的黑魔法:量化(Quantization)
很多后端同学在魔搭(ModelScope)或者 HuggingFace 上下载开源模型时,经常会看到模型名字后面跟着 INT8、INT4、AWQ 或者 GGUF 这样的后缀。如果不搞懂这些,你很可能会把公司的服务器显存直接撑爆。这就要牵扯出大模型落地部署的核心技术------量化。
5.3.1 什么是量化?
大模型的参数本质上就是一堆数字(权重)。
你可以把大模型想象成一个巨大的打分表,当你输入一句话时,模型会把这句话拆成一个个词(Token),然后一层层地进行矩阵计算,最后算出下一个最可能的词。而每一层计算里用到的乘法系数、加法偏移量,就是所谓的"参数"------它们都是具体的数字,比如 0.0012、-1.357、0.889123 这样的小数。
举个简单的例子: 就像我们在 Java 里算圆周率,你可以用 double 存成 3.1415926535...(极其精确,但占内存),也可以直接粗暴地记成 3.14(省空间,计算快,且在大多数日常应用中误差可以忽略不计)。
大模型也是一样的道理。在实验室最初训练大模型的时候,为了保证模型能学到最细腻的知识,科学家们通常会用高精度的浮点数(比如 16位浮点数 FP16 甚至 32位 FP32)来存储这几百亿、上千亿个参数。
但这就带来了一个致命的问题:显存根本不够用! 我们来算一笔账:一个 72B(720亿参数)的开源大模型,如果用常规的 16位浮点数(FP16)加载,1个参数占 2个字节(Byte),光是把它安安静静地装进内存,就需要大约 144GB 的显存!这至少需要两张极其昂贵的顶级显卡才能跑起来,普通企业和开发者根本玩不起。
于是,"量化"技术应运而生。
量化(Quantization),本质上就是一门**"砍精度换空间"的压缩艺术**。 它通过一套聪明的数学算法,把原来占用空间大的高精度小数,压缩成低精度的整数(比如 8位整数 INT8,甚至极端的 4位整数 INT4)。
经过量化魔法的加持,奇迹发生了:
- 显存占用暴降:原本需要 144GB 显存的 72B 模型,经过 INT4(4位整数)量化压缩后,显存占用直接被砍到了四分之一,大约只需要 40GB 左右。这意味着,你用一两张消费级的游戏显卡(比如 RTX 4090),甚至一台内存大点的高配 Mac,就能在本地把企业级的大模型跑起来!
- 推理速度狂飙:CPU 和 GPU 计算简单的整数,比计算高精度的浮点数要快得多,模型的响应延迟(RT)会大幅缩短。
- "智商"几乎不掉 :你可能会问,精度砍了这么多,模型不就变傻了吗?神奇的是,学术界和工程界发现,因为大模型的参数量实在太大了,具有极强的鲁棒性,只要量化算法写得好,压缩到 INT8 甚至 INT4 后,模型表现出来的逻辑推理和代码能力,只有极其微小的下降,在大多数业务场景下肉眼根本感知不到区别。
💡 开发者选型指南: 在日常开发中,如果你看到模型带着
INT4或AWQ、GPTQ、GGUF的标签,这就代表它是一个经过量化压缩的"瘦身版"模型。首选 INT4 版本的模型进行本地调试或轻量级业务部署,这是当下性价比最高、最成熟的工业界最佳实践。
6. 小结与预告:纸上得来终觉浅,绝知此事要躬行
讲到这里,关于大模型的核心基础概念------从参数、Token、上下文窗口,到训练的两个阶段,再到 RAG 原理与底层的量化技术------相信大家已经建立起了一个清晰、系统化的技术认知地图。
但是,古人说得好:"纸上得来终觉浅,绝知此事要躬行"。
对于我们这些天天和代码打交道的后端工程师来说,光听概念是远远不解渴的。这也就引出了我写这个系列的初衷:这段时间,我一直以之前实习时接触的 AI 求职系统为真实业务背景,在业余时间开发一个属于自己的开源项目(目前代码还在持续肝和完善中,后续会开源给大家)。
当你真正面对用户上传的几万字 PDF 简历、几十条相似的 JD(职位描述)时,你会发现各种各样的工程难题接踵而至:
- 长文本到底该怎么切分(Chunking),才不会把一段完整的项目经历切碎?
- 怎么优化向量库的检索,才能提高核心信息的召回率(Recall)?
- 搜出来的几十个片段杂乱无章,怎么利用**重排序(Rerank)**技术,把最匹配、最精准的内容送到大模型嘴边?
- 遇到模型满嘴跑火车的"幻觉",后端代码该怎么做异常兜底?
......这些,全都是网上那些简单的"十分钟跑通大模型"教程里不会告诉你的"水面下的冰山"。
💬 作者互动区: 如果你对今天讲的大模型概念有任何疑问,或者在平时的开发中有遇到哪些大模型相关的坑,欢迎在评论区留言交流!