佛山企业网站设计公司,网站换主机换域名,网站建设的系统分析,ui设计培训班怎么样**编者按#xff1a;**你是否曾好奇过#xff0c;那些声称能将长文本输入成本降低90%、延迟减少85%的Prompt Caching技术#xff0c;背后究竟缓存了什么#xff1f;是简单的文本复用#xff0c;还是某种更深层的计算优化#xff1f; 我们今天为大家带来的文章…**编者按**你是否曾好奇过那些声称能将长文本输入成本降低90%、延迟减少85%的Prompt Caching技术背后究竟缓存了什么是简单的文本复用还是某种更深层的计算优化我们今天为大家带来的文章作者的核心观点是Prompt Caching的本质并非简单的文本字符串缓存而是对Transformer注意力机制中Key-ValueKV矩阵计算结果的复用通过避免重复计算注意力权重来实现成本削减与性能提升。文章的重点内容包括第一从Tokenizer到Embedding再到Transformer的完整技术拆解帮助读者建立对LLM内部数据流的直觉认知第二对注意力机制Attention的数学原理进行深入浅出的阐释详细展示了Query、Key、Value矩阵的计算过程以及Softmax权重分配机制第三揭示了KV Caching的核心实现逻辑——通过缓存历史token的K、V投影矩阵使模型在增量生成时只需计算最新token而非重新处理整个上下文第四对OpenAI与Anthropic两种缓存策略的对比分析指出自动路由与显式控制之间的权衡以及Temperature等采样参数对缓存机制的零影响。撰写本文时OpenAI 和 Anthropic 的 API 中缓存的 input token 单价仅为普通 input token 的十分之一。Anthropic 甚至声称[1]prompt caching 能将长 prompt 的延迟“最高降低 85%”。而在实际测试中我发现对于足够长的 prompt这一说法确实成立。我向 Anthropic 和 OpenAI 各发送了数百次请求注意到在所有 input token 均被缓存的情况下首 token 延迟time-to-first-token latency出现了明显下降。缓存 tokencached token到底是什么玩意儿这背后究竟发生了什么让服务商能给 input token 打出 1 折的超低折扣他们在各次请求之间到底保存了什么这可不是简单地把响应结果存下来等收到相同 prompt 时再复用 —— 通过 API 就能很容易地验证这一点并未发生。随便写个 prompt连续发送十几次你会发现即使使用情况栏usage 部分显示 input token 已被缓存每次得到的回复仍然各不相同。我对大模型厂商文档中的解释[2-3]并不满意 —— 它们虽能很好地说明如何使用 prompt caching却巧妙地避开了“究竟缓存了什么”这个核心问题。于是我决定深入探究一头扎进 LLM 工作原理的“兔子洞”直到彻底搞明白服务商究竟缓存了哪些精确的数据、这些数据的用途以及它们如何让每个人的 LLM 请求都变得更快速、更便宜。读完本文你将……在更深层次上理解 LLM 的工作原理对“LLM 的运作方式”建立新的直觉认知弄明白究竟哪些二进制数据被缓存了以及它们如何降低你的 LLM 请求成本01LLM 架构本质上LLM 就是一个巨大的数学函数输入一串数字并输出一个数字。在 LLM 内部存在着一个由数十亿个精心设计的运算构成的巨型图结构负责将这些输入数字转化为输出数字。这个由海量数学运算构成的巨型图结构大致可分为 4 个部分。**图中的每个节点都可以看作一个函数接收输入并产生输出。输入会以循环方式不断馈入 LLM直到遇到某个特殊的输出值指示其停止。**用伪代码表示大致如下prompt What is the meaning of life?;tokens tokenizer(prompt);while(true){ embeddings embed(tokens);for([attention, feedforward] of transformers){ embeddings attention(embeddings); embeddings feedforward(embeddings);} output_token output(embeddings);if(output_token END_TOKEN){break;} tokens.push(output_token);}print(decode(tokens));尽管以上描述已大幅简化但现代 LLM 的核心代码行数之少仍让我感到意外。Sebastian Raschka[4] 用 PyTorch 从零实现了多个开源模型还产出了大量高质量的教学材料 —— 如果你喜欢本文大概率也会喜欢他的内容。以当前领先的开源模型之一 Olmo 3 为例其核心代码仅数百行[5]。Prompt caching 发生在 Transformer 的“attention注意力机制”中。接下来我们将按顺序逐步拆解 LLM 的工作原理直到抵达这一环节。这意味着我们的旅程得从 tokens 说起。02Tokenizer分词器在 LLM 处理你的 prompt提示词之前必须先将其转换为它能理解的表示形式。这个过程分为两步由 tokenizer 和 embedding 共同完成。为什么要这么做要到讲 embedding 时才能完全明晰现在请先耐心了解 tokenizer 的作用。Tokenizer 会将你的 prompt 拆成多个小片段并为每个唯一的片段分配一个整数 ID称为token。例如GPT-5 对 prompt “Check out ngrok.ai” 的分词结果如下该 prompt 已被拆分为数组 [“Check”, out, ng, “rok”, “.ai”]并转换为 tokens [4383, 842, 1657, 17690, 75584]。相同的 prompt 始终生成相同的 tokens。tokens 也是区分大小写的 —— 因为大小写能传递语义信息。例如首字母大写的 “Will” 更可能是人名而小写的 “will” 则更可能是助动词。为什么不直接按空格或字符分割这其实是个相当深刻的问题细讲起来足以让本文篇幅翻倍。简短而不尽兴的答案是这是一种权衡。若想深入理解Andrej Karpathy 有一期从零实现 tokenizer 的精彩视频https://www.youtube.com/watch?vzduSFxRajkE。对于 prompt caching 而言只需知道tokenization 的作用就是把文本变成数字。Tokens 是 LLM 输入与输出的基本单位。当你向 ChatGPT 提问时回复会随着每次 LLM 迭代完成而逐个 token 流式返回。服务商这么做是因为生成完整回复可能需要数十秒而一旦 token 生成就立即返回能让交互体验更流畅自然。我们来问一个 LLM 领域的经典问题亲眼看看这个过程Prompt tokens 输入✨ AI 魔法发生 ✨输出一个 token循环往复。这个过程称为“inference推理”。注意每个输出 token 都会在下一轮迭代前被追加到 input prompt 中。LLM 需要全部上下文才能给出高质量回答 —— 如果只输入原始 prompt它会反复尝试生成答案的第一个 token。如果只输入已生成的回答部分它会立刻忘记问题本身。因此每一轮迭代都必须将完整的 prompt 加上已生成的回答内容重新输入 LLM。那个 199999 token 是什么这个推理过程总得有个终点。**LLM 拥有多种“特殊”token其中之一就是标志着响应结束的 token。**在 GPT-5 的分词器中这就是 token 199999。这只是 LLM 终止生成过程的多种方式之一你也可以通过 API 指定最大生成 token 数服务商还可能基于安全策略设定其他终止规则。此外还有用于标记对话消息起止的特殊 token —— 正是这些 token 让 ChatGPT、Claude 等聊天模型能分辨一条消息何时结束、下一条何时开始。关于 tokenizer分词器的最后一点它们种类繁多ChatGPT 使用的 tokenizer 与 Claude 不同甚至 OpenAI 自家的不同模型也使用不同的 tokenizer。每种 tokenizer 都有自己独特的文本切分规则。如果你想直观比较不同 tokenizer 的分词效果可以试试 tiktokenizer[6]。认识了 tokens 之后接下来我们聊聊 embeddings。03Embedding经过 tokenizer 处理后的 tokens现在进入 embedding 阶段。要理解 embedding不妨先思考模型的目标是什么。人类用代码解决问题时会编写接收输入、产生输出的函数比如华氏转摄氏function fahrenheitToCelsius(fahrenheit){return((fahrenheit -32)*5)/9;}我们可以把任意数字传入 fahrenheitToCelsius并能获得正确结果。但假如我们面对一个问题却不知道背后的公式呢假如我们只有下面这张神秘的输入-输出对照表我并不指望你能认出这个函数 —— 不过如果你把截图贴进 ChatGPT它能立刻识别出来。当我们知道每个输入对应的正确输出却不知道产生这种对应关系的函数时就可以“训练”一个模型来学习这个函数。做法是给模型提供一块“画布” —— 那个由海量数学运算构成的巨型图结构然后不断调整这个图结构直到模型收敛到正确的函数。每次更新图结构后我们都将输入数据喂进去观察输出数据与目标的差距。反复迭代直到结果足够接近目标。这就是训练的本质。事实证明在训练文本生成模型时能够识别两个句子是否“相似”会很有帮助。但“相似”具体指什么它们可能同样悲伤、幽默或发人深省也可能在长度、节奏、语气、语言、词汇或结构上相近。描述句子相似性的方式有无数维度而两个句子可能在某些维度上相似在另一些维度上则不然。Tokens 本身只是简单的整数编号没有任何“维度”信息而 embeddings 则是高维向量承载了丰富的语义和结构信息。Embedding 是一个长度为 n 的数组代表 n 维空间中的一个位置。如果 n3embedding 可能是 [10, 4, 2]表示三维空间中 x10、y4、z2 的坐标点。在 LLM 训练过程中每个 token 会被随机分配一个起始位置随后训练过程会不断微调所有 token 的位置直到找到能产生最佳输出的排列方式。Embedding 阶段的第一步就是查表获取每个 token 对应的 embedding。用伪代码表示大概是这样// Created during training, never changes during inference.const EMBEDDINGS [...]; function embed(tokens) { return tokens.map(token { return EMBEDDINGS[token]; });}于是我们把 tokens整数数组转换成了 embeddings数组的数组即“矩阵”。tokens [75, 305, 284, 887] 被转换为一个由 3 维 embeddings 构成的矩阵。**Embedding 的维度越多模型可用于比较句子的“角度”就越多。**我们刚才一直在用 3 维 embeddings 举例但当前主流模型的 embedding 维度通常是几千维最大的甚至超过 10,000 维。为了说明更高维度的价值下面我展示了 8 组彩色形状它们最初位于一维空间中 —— 挤在一条直线上杂乱无章难以理解。但随着维度增加你就能清楚地看到存在 8 个不同的、相关的组别。三维是我这里能提供的视觉示例的极限至于几千维的空间能表达什么就得靠你发挥想象力了。Embedding 阶段还有最后一件事要做。**在获取 token 的 embedding 后会将该 token 在 prompt 中的位置信息编码进 embedding 中。**我没有深入研究这一机制的具体实现方式只知道它对 prompt caching 的工作方式影响不大但如果没有这一步LLM 就无法判断 prompt 中 tokens 的先后顺序。更新一下前面的伪代码假设存在一个叫 encodePosition 的函数它接收 embeddings 和位置信息并返回嵌入了位置编码的新 embeddings。const EMBEDDINGS [...]; // Input: array of tokens (integers)function embed(tokens){// Output: array of n-dimensional embedding arraysreturn tokens.map((token, i){ const embeddings EMBEDDINGS[token];return encodePosition(embeddings, i);});}总而言之embeddings 是 n 维空间中的点你可以将其视为它们所代表文本的语义含义。在训练过程中每个 token 都会在该空间中移动靠近其他语义相似的 token。维度越多LLM 对每个 token 的表示就越复杂、越细腻。至此tokenizer 和 embedding 阶段所做的全部工作都是为了把原始文本转换成 LLM 能处理的形式。接下来我们来看看这些数据进入 transformer 阶段后会发生什么。04TransformerTransformer 阶段的核心任务就是接收 embeddings 作为输入并在 n 维空间中对它们进行调整。它通过两种方式实现这一点而我们只关注第一种attention注意力机制。我们暂不讨论 “Feedforward” 层或输出阶段至少在这篇文章中。**Attention 机制的作用是帮助 LLM 理解 prompt 中各个 token 之间的关系 —— 具体做法是让每个 token 能够影响其他 token 在 n 维空间中的位置。**它通过加权组合 prompt 中所有 token 的 embeddings 来实现这一点。输入是整个 prompt 的 embeddings输出则是一个新的 embedding它是所有输入 embeddings 的加权组合。举个例子如果 prompt 是 “Mary had a little”被分词为四个 tokenMary、had、a、little那么 attention 机制可能会决定在生成下一个 token 时模型会认为“Mary” 最重要63%译者注因为整个句子的主语是 Mary后续内容很可能围绕她展开“had” 和 “a” 次之16% 和 12%译者注它们是语法结构的一部分但语义信息较弱“little” 也有一定作用9%译者注它修饰后面的名词然后它会把所有 token 的 embeddings 分别乘以对应的权重然后把结果加在一起得到一个融合后的向量。这正是 LLM 判断“在当前上下文中每个 token 应该被关注多少”的方式。这是目前为止整个流程中最复杂、最抽象的部分。我会先用伪代码展示它然后再看看 embeddings 在经过这一过程时是如何被变换的。我本想让这一部分的数学内容少一些但这里很难避免一些数学运算。别担心你能行的我相信你。Attention 中的大部分计算都是矩阵乘法。对于本文而言你只需知道输出矩阵的形状由两个输入矩阵的形状决定输出的行数等于第一个输入矩阵的行数列数等于第二个输入矩阵的列数。理解了这一点我们来看一个简化版的注意力机制如何计算分配给每个 token 的权重。在以下代码中我用 * 表示矩阵乘法。// Similar to EMBEDDINGS from the pseudocode// earlier, WQ and WK are learned during // training and do not change during inference.//// These are both n*n matrices, where n is the// number of embedding dimensions. In our example// above, n 3.const WQ [[...],[...],[...]];const WK [[...],[...],[...]];// The input embeddings look like this://[//[-0.1,0.1,-0.3],// Mary//[1.0,-0.5,-0.6],// had//[0.0,0.8,0.6],// a//[0.5,-0.7,1.0]// little//]function attentionWeights(embeddings){ const Q embeddings * WQ; const K embeddings * WK; const scores Q * transpose(K); const masked mask(scores);return softmax(masked);}接下来让我们看看 embedding 在流经这个函数时是如何变化的。等等WQ 和 WK 变量到底是什么还记得我之前说过每个 token 的 embedding 最初都被随机分配了一个位置然后在训练过程中不断微调直到模型找到一个良好的排列状态吗WQ 和 WK 也是类似的。它们是 n×n 的矩阵n 即 embedding 维度在训练开始时被赋予随机值随后也在训练中被不断调整以帮助模型收敛到一个更优的解。任何在训练过程中被调整的数都被称为“模型参数”。embedding 向量中的每个浮点数以及 WQ、WK 矩阵中的每个数值都是一个参数。当你听说某个模型有“1750 亿参数”时指的就是这些数字。**至于 WQ 和 WK 到底代表什么我们其实并不完全清楚。随着模型训练收敛它们最终会变成某种对 embedding 的变换方式有助于模型生成更好的输出。**它们内部可能在做任何事情 —— 而如何解释这些矩阵的含义目前仍是一个开放且活跃的研究方向。要得到 Q 和 K我们分别将 embeddings 与 WQ 和 WK 相乘。WQ 和 WK 的行数和列数始终等于 embedding 的维度本例中为 3。这里我为 WQ 和 WK 选取了随机值并将结果四舍五入到小数点后两位以便阅读。得到的 Q 矩阵有 4 行 3 列。4 行是因为 embeddings 矩阵有 4 行每个 token 一行3 列是因为 WQ 有 3 列每个 embedding 维度一列。K 的计算完全相同只是将 WQ 换成 WK。Q 和 K 都是输入 embedding 到新的 n 维空间的投影。它们不是原始的 embedding但由原始 embeddings 推导而来。然后我们将 Q 和 K 相乘。我们对 K 进行“转置”也就是沿对角线翻转使得得到的矩阵是一个方阵其行数和列数都等于输入提示词中的 token 数量。**这些 scores 表示每个 token 对下一个生成 token 的重要程度。**左上角的数值 -0.08代表 “Mary” 对 “had” 的重要性。再往下一行的 -0.10则代表 “Mary” 对 “a” 的重要性。在展示完矩阵运算后我会用图示更直观地说明这一点。接下来的所有操作都是为了将这些 scores 转换为可用于混合 embeddings 的权重。这个 score 矩阵的第一个问题是它允许未来的 token 影响过去的 token。在第一行我们唯一知道的词是Mary所以它应该是唯一对生成had有贡献的词。第二行也是如此我们知道Mary和had所以只有这两个词应该对生成a有贡献依此类推。为了解决这个问题我们对矩阵应用一个三角形掩码triangular mask将未来 token 对应的位置置零。不过我们并不是真的设为 0而是设为负无穷negative infinity —— 原因稍后解释。第二个问题是这些 scores 是任意的数值。如果它们能变成一个每行之和等于 1 的概率分布对我们来说会更有用。这正是 softmax 函数的作用。softmax 具体如何运作的细节并不重要 —— 它比简单的“将每个数字除以该行总和”稍复杂一点但结果是一样的每行之和为 1且每个数字都在 0 和 1 之间。为了解释为什么用负无穷下面是一个 softmax 的代码实现function softmax(matrix){return matrix.map(row { const exps row.map(x Math.exp(x)); const sumExps exps.reduce((a, b) a b,0);return exps.map(exp exp / sumExps);});}它并不是简单地把每个数加起来再除以总和而是先对每个数值取 Math.exp也就是计算 e^x。如果我们用 0 代替负无穷Math.exp(0) 1这些被屏蔽的位置仍然会产生非零权重。而 Math.exp(-Infinity) 是 0这正是我们想要的。下面的图片展示了提示词Mary had a little的 attention 权重示例。这些权重与上面的计算结果不匹配因为我是从 Transformer Explained 网站[7]上运行的 GPT-2 模型中提取的。所以这些是一个真实模型尽管是老模型的真实权重。第一行只有Mary因此Mary对had的生成的贡献是100%。然后在第二行“Mary贡献了79%而had贡献了21%用于生成a”以此类推。LLM 认为这个句子中最重要的词是 “Mary”这一点并不意外——从每一行中 “Mary” 都拥有最高权重就能看出。如果我让你补全Jessica had a little这个句子你不太可能选择lamb。接下来就只剩下对 token embeddings 进行加权混合了谢天谢地这一步比计算权重要简单得多。// Learned during training, doesnt change // during inference. This is also an n*n matrix,// where n is the number of embedding dimensions.const WV [[...],[...],...]; function attention(embeddings){ const V embeddings * WV;// This is the attentionWeights function from// the section above. Were wrapping it in// this attention function. const weights attentionWeights(embeddings);return weights * V;}为什么不直接混合原始 embeddings当我们通过 Q 和 K 相乘得到 attention 权重时我们完全是在衡量 token 之间的相关性。Embeddings 编码了 token 的各种语义信息 —— 某一维可能表示“颜色”另一维表示“大小”再一维表示“礼貌/粗鲁程度”等等。而权重是通过相似度来判断哪些 token 更相关。WV 的作用则是让模型决定在混合时保留哪些维度的信息。以句子 “Mary had a little” 为例这里关于 “Mary” 最重要的信息是“人名”。模型在训练中可能也学到了很多关于 “Bloody Mary血腥玛丽鸡尾酒” 或 “Mary Queen of Scots苏格兰女王玛丽” 的知识但这些与这首童谣无关如果带入后续计算反而会引入噪声。因此WV 允许模型在混合 embeddings 之前先过滤掉不相关的特征。接着我们将生成的权重与 V 相乘输出一组新的 embeddings**Attention 机制的最终输出就是这个输出矩阵的最后一行。**通过 attention 过程前面所有 token 的上下文信息都被融合进了这一行。但要注意为了得到最后一行前面所有行都必须被计算出来。总而言之输入是一组 embeddings输出是一个新的 embedding。Attention 机制通过大量精细的数学运算按照训练中学到的 WQ、WK 和 WV 矩阵所决定的重要性比例将各个 token 的信息进行了加权融合。正是这一机制让 LLM 能够理解在其上下文窗口中“什么内容重要以及为什么重要”。现在我们终于掌握了讨论 caching 所需的一切知识。当然Attention 还有更多技术细节我在本文展示的是一个简化版的 attention目的是突出与 prompt caching 最相关的核心部分。实际中的 attention 机制更为复杂。如果你希望深入了解更多技术细节我推荐 3blue1brown 关于 attention 的视频[8]。05Prompt caching我们再来看一遍上面的网格但这次会展示在推理循环中每生成一个新 token 时它是如何逐步填充的。每次生成新 token 时都会将其追加到输入中并重新完整处理整个 prompt。但仔细观察之前计算出的权重从未改变。第二行始终是 0.79 和 0.21第三行始终是 0.81、0.13、0.06。我们其实在不断重复大量不必要的计算。如果你刚刚才处理完 “Mary had a”那么在生成下一个 token 时对 “Mary had a little” 中前三个 token 的大部分矩阵运算其实是冗余的 —— 而这正是 LLM 推理循环的默认行为。通过以下两个改动就能避免这些重复计算在每次迭代中缓存 K 和 V 矩阵。只将最新 token 的 embeddings 输入模型而不是整个 prompt。现在我们再次走一遍矩阵运算过程但这一次前 4 个 token 的 K 和 V 矩阵已被缓存我们只传入一个新 token 的 embeddings。是的又要面对矩阵运算了抱歉不过内容和之前基本一致我们会快速过一遍。计算新的 Q 时输出只有一行。WQ 和之前一样没有变化。接着计算新的 K 也同样只输出一行而 WK 也和之前一样保持不变。但随后我们将这一新行追加到前一次迭代缓存的 4 行 K 矩阵之后于是现在我们拥有了提示词中所有 token 的 K 矩阵但我们只需要计算它的最后一行。我们继续以这种方式来获取新的 score以及新的的 weights全程我们只计算必需的部分完全不需要对旧值进行任何重新计算。获取 V 的新一行时也是同样的做法然后将其追加到我们缓存的 V 中最后我们将新的权重与新的 V 相乘得到最终的新 embeddings我们只需要这单独一行新的 embedding。得益于缓存的 K 和 V先前所有 token 的上下文信息都已被融入其中。**被缓存的数据是 embeddings * WK 和 embeddings * WV 的结果也就是 K 和 V。**因此提示词缓存通常被称为KV caching。就是这样上面那些 K 和 V 矩阵就是服务提供商保存在他们巨大数据中心里的 1 和 0用来给我们提供一折的 token 成本和更快的响应。服务提供商在请求发出后会将每个提示词的这些矩阵保留 5-10 分钟如果你发送一个以相同提示词开头的新请求他们就会复用缓存的 K 和 V而不是重新计算它们。缓存匹配不需要完全一致 —— 即使新 prompt 只和缓存中的某一部分开头相同也可以复用那部分已缓存的计算结果而不必整个 prompt 完全匹配。OpenAI 和 Anthropic 的缓存机制截然不同。**OpenAI 完全自动处理会尽可能尝试将请求路由到缓存条目。**在我的实验中通过发送请求然后立即重发缓存命中率约为 50%。考虑到长上下文窗口的首字节延迟time-to-first-byte可能很长这种自动缓存可能导致性能表现不稳定。**Anthropic 则赋予你更多控制权让你决定何时缓存以及缓存多久。**你需要为这项特权付费但在我进行的实验中当我们要求 Anthropic 缓存某个提示词时他们会 100% 地将请求路由到缓存条目。因此如果你的应用涉及长上下文窗口并且需要可预测的延迟Anthropic 可能是更合适的选择。等等那 temperature 这些参数会影响提示词缓存吗LLM 提供商提供了多种参数来控制模型输出的随机性常见的有 temperature、top_p 和 top_k。这些参数都作用于推理循环的最后一步即模型根据它为词表中每个 token 分配的概率来选取 token。这发生在 attention 机制产生最终 embedding 之后因此提示词缓存不受这些参数影响。你可以随意调整它们而不用担心导致缓存的提示词失效。​最后我在一线科技企业深耕十二载见证过太多因技术更迭而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我整理出这套 AI 大模型突围资料包✅AI大模型学习路线图✅Agent行业报告✅100集大模型视频教程✅大模型书籍PDF✅DeepSeek教程✅AI产品经理入门资料完整的大模型学习和面试资料已经上传带到CSDN的官方了有需要的朋友可以扫描下方二维码免费领取【保证100%免费】​​为什么说现在普通人就业/升职加薪的首选是AI大模型人工智能技术的爆发式增长正以不可逆转之势重塑就业市场版图。从DeepSeek等国产大模型引发的科技圈热议到全国两会关于AI产业发展的政策聚焦再到招聘会上排起的长队AI的热度已从技术领域渗透到就业市场的每一个角落。智联招聘的最新数据给出了最直观的印证2025年2月AI领域求职人数同比增幅突破200%远超其他行业平均水平整个人工智能行业的求职增速达到33.4%位居各行业榜首其中人工智能工程师岗位的求职热度更是飙升69.6%。AI产业的快速扩张也让人才供需矛盾愈发突出。麦肯锡报告明确预测到2030年中国AI专业人才需求将达600万人人才缺口可能高达400万人这一缺口不仅存在于核心技术领域更蔓延至产业应用的各个环节。​​资料包有什么①从入门到精通的全套视频教程⑤⑥包含提示词工程、RAG、Agent等技术点② AI大模型学习路线图还有视频解说全过程AI大模型学习路线③学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的④各大厂大模型面试题目详解⑤ 这些资料真的有用吗?这份资料由我和鲁为民博士共同整理鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。所有的视频教程由智泊AI老师录制且资料与智泊AI共享相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌构建起前沿课程智能实训精准就业的高效培养体系。课堂上不光教理论还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作把课本知识变成真本事‌​​​​如果说你是以下人群中的其中一类都可以来智泊AI学习人工智能找到高薪工作一次小小的“投资”换来的是终身受益应届毕业生‌无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。零基础转型‌非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界‌。业务赋能 ‌突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型‌。获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】**​