AI全栈知识01:大模型是什么 - 从Token到生成
AI全栈知识01大模型是什么 - 从Token到生成写在前面如果你是一名运维或DevOps工程师最近可能经常听到大模型、“Token”、“Prompt这些词。老板让你部署一个AI服务同事在讨论模型推理延迟JD上写着要求了解LLM原理”……但你可能心里嘀咕大模型到底是怎么工作的它是怎么回答问题的这篇文章就用最通俗的方式帮你搞清楚。不讲数学公式不写代码先建立正确的认知。大模型不是搜索引擎很多人第一直觉认为大模型是在某个数据库里查找答案找到最匹配的返回给你。这是错的。大模型的工作方式更像一个**“造句高手”**它不是在找答案而是一个字一个字写出来的。大模型只做一件事预测下一个字不管模型有多大、多聪明它的核心工作就一件事给定前面的文字预测下一个最可能出现的字是什么。举个生活中的例子你发微信打字时输入法会给你联想推荐你输入今天天气 输入法推荐真好 | 不错 | 怎么样大模型做的事情就是一个超级强化版的输入法联想只不过它不是推荐3个候选词而是从几万个字里选出概率最高的那一个然后一个接一个地生成整段回答。完整的生成过程你问模型“什么是K8s”模型的工作过程简化版输入什么是K8s 预测第1个字→ K概率最高 预测第2个字→ 8 预测第3个字→ s 预测第4个字→ 是 预测第5个字→ 一 预测第6个字→ 个 预测第7个字→ 容 预测第8个字→ 器 预测第9个字→ 编 预测第10个字→ 排 ... 直到预测出结束信号 → 停止生成最终输出“K8s是一个容器编排平台…”这解释了很多现象现象原因同一个问题问两次回答不完全一样因为是生成的每次预测有随机性模型有时候胡说八道它只是在预测最可能的下一个字不是在查事实回答可以通过温度控制创意度temperature高→随机性大→更发散temperature低→更确定流式输出像打字一样一个字一个字出来因为它本来就是一个字一个字生成的什么是Token模型不是按字处理文本的而是按Token处理的。Token是什么Token是模型的最小处理单元可以理解为模型眼中的一个词块。中文大约1个字 1-2个token 英文大约1个单词 1-3个token 具体例子 你好世界 → [你, 好, 世界] → 3个token Kubernetes → [Kub, erne, tes] → 3个token I love AI → [I, love, AI] → 3个token为什么运维需要关心Token场景Token的影响API计费按Token收费输入token 输出token上下文限制模型有最大Token数限制如32768超了就记不住前面的内容推理速度生成的Token越多响应时间越长显存占用上下文越长Token越多占用的GPU显存越多一个实际的API响应{usage:{prompt_tokens:25,← 你的问题占了25个tokencompletion_tokens:18,← 模型回答用了18个tokentotal_tokens:43← 总共消耗43个token计费依据}}训练 vs 推理运维必须分清的两件事生活类比训练推理类比厨师学做菜在厨师学校学三年厨师炒菜每天给客人做饭谁做算法团队/大公司OpenAI、阿里等你运维部署推理服务频率几个月做一次每秒都在做每个用户请求资源巨大几十张A100跑几周相对小1张T4就能跑小模型产物模型文件厨师的手艺回答文本做好的菜为什么要分清因为你的工作是部署和运维推理服务不是训练模型算法团队的事收集数据 → 训练模型 → 产出模型文件 ↓ 给你一个文件 你的事拿到模型文件 → 部署到GPU服务器 → 对外提供API → 监控和优化模型大小与GPU的关系模型的知识存储在参数里。参数越多模型越聪明但也越占显存。参数量 模型的大脑容量模型参数量通俗理解文件大小需要的GPUQwen2-1.5B15亿个参数小学生~3GBT4(16GB)轻松跑Qwen2-7B70亿个参数大学生~14GBT4勉强/A10G(24GB)Llama3-70B700亿个参数博士生~140GBA100×2起步GPT-4传说万亿全科专家不公开几百张A100集群为什么模型大了需要更多显存模型运行时所有参数都要加载到GPU显存里。就像电脑运行程序要加载到内存一样程序越大需要的内存越大。T4显存16GB的分配 模型参数占用~3GB1.5B模型 KV Cache处理请求的临时空间~9GB 系统开销~1GB 剩余~3GB这就是为什么选GPU时要看显存而不是看算力显存不够模型根本加载不进去。Prompt 你发给模型的完整输入当你调用AI的API时发送的内容叫做Prompt。它由三种角色组成{messages:[{role:system,content:你是一个K8s运维专家回答要简洁专业},{role:user,content:Pod一直Pending怎么排查},{role:assistant,content:先看Events...},{role:user,content:Events里显示资源不足}]}角色作用谁来写system设定AI的人设和行为规则开发者一开始就定好user用户的输入/问题最终用户assistantAI之前的回答用于多轮对话模型之前生成的模型会综合所有这些内容来预测下一个Token所以system的设定确实会影响回答风格。Transformer大模型背后的架构你不需要理解Transformer的数学原理但需要知道这个名字因为面试会提。注意力机制模型怎么知道该重点看哪里生活类比你在嘈杂的食堂里跟朋友聊天朋友的声音 → 你重点听注意力高旁边桌的闲聊 → 你稍微听到注意力低远处的背景噪音 → 你基本忽略注意力接近0你的大脑自动分配注意力重要的信息听清楚不重要的过滤掉。大模型做的一模一样生成每个字时它会看前面所有的字但不是每个字都同等重要跟当前要生成的字关系大的就重点看关系小的就忽略。具体例子用户问“K8s的Service有几种类型”模型要生成回答的第一个字四时K8s → 有点关系提供了技术领域背景 → 中等注意力 的 → 没什么用语法虚词 → 几乎忽略 Service → 很重要问的主体 → 高注意力 ← 有几种 → 一般引导词 → 低注意力 类型 → 很重要问的是什么 → 高注意力 ←所以模型重点参考了Service和类型这两个词生成了四因为Service确实有四种类型。为什么需要注意力机制如果没有注意力机制模型会平等对待每个字就像你在食堂里同时认真听所有人说话结果什么都听不清。有了注意力机制模型能从一长段文字中精准找到跟当前任务相关的关键信息忽略无关的部分。这就是为什么大模型能处理几千甚至几万字的长文本还能理解它不是记住每个字而是生成每个回答时动态聚焦最相关的部分。面试怎么说如果被问你了解Transformer吗说“Transformer的核心是Self-Attention机制让模型在生成每个Token时能关注到输入中所有位置的信息通过注意力权重判断哪些内容更重要。比如模型回答K8s相关的问题时会重点关注’Service’和’类型’这些关键词而忽略’的’这类虚词。GPT系列用的是Decoder-only架构。”关键概念总结概念一句话理解运维为什么要知道大模型(LLM)超大的下一个字预测器知道它的能力和局限Token模型的最小处理单元(≈1个中文字)API计费、上下文限制、性能优化训练教模型学知识不是你的活知道模型文件怎么来的推理让模型回答问题你的活这就是你要部署和运维的参数/权重模型的知识存在文件里决定需要多大的GPUPrompt发给模型的完整输入影响回答质量Temperature控制回答的随机程度业务需要时调整Transformer大模型的底层架构面试会问延伸思考问题答案大模型会记住我之前说的话吗不会。每次请求都是独立的记忆是通过把历史对话放在Prompt里实现的模型为什么会幻觉胡说八道因为它只是在预测最可能的下一个字不是在查事实模型能学习新知识吗训练时能学。推理时不能它只能用训练时学到的旧知识怎么让模型用到最新信息RAG检索增强生成先搜最新资料塞到Prompt里给模型参考。后面会专门讲小结本篇核心收获大模型不是查答案是一个字一个字生成的Token是计费和性能的基本单位训练是算法团队的事推理是你的事模型越大越聪明但也越占显存Prompt里的system/user/assistant各有作用下一篇预告AI全栈知识02Prompt Engineering让AI听懂你的话下一篇我们将学习如何写好Prompt为什么同一个模型有时候回答很好有时候很烂System Prompt怎么设计Few-shot和CoT思维链是什么运维场景的Prompt实战模板参考链接什么是大语言模型(LLM)OpenAI Tokenizer在线体验Token切分Transformer论文《Attention is All You Need》通义千问模型介绍