大模型面试熬夜爆肝整理,附八股文和答案,这次换我手撕面试官了吧?

导读

自ChatGPT开启大模型时代以来,大模型正迎来飞速发展,现在从事大模型开发相关工作可谓是处在时代的风口。那么大模型面试需要哪些技能和技巧呢,本文详细整理了全套的面试问题及答案,希望对大家有所帮助!

目录

  • [x] 大模型(LLMs)基础面

  • [x] 1. 目前 主流的开源模型体系 有哪些?

  • [x] 2. prefix LM 和 causal LM 区别是什么?

  • [x] 3. 涌现能力是啥原因?

  • [x] 4. 大模型LLM的架构介绍?

  • [x] 大模型(LLMs)进阶面

  • [x] 1. llama 输入句子长度理论上可以无限长吗?

  • [x] 1. 什么是 LLMs 复读机问题?

  • [x] 2. 为什么会出现 LLMs 复读机问题?

  • [x] 3. 如何缓解 LLMs 复读机问题?

  • [x] 1. LLMs 复读机问题

  • [x] 2. llama 系列问题

  • [x] 3. 什么情况用Bert模型,什么情况用LLaMA、ChatGLM类大模型,咋选?

  • [x] 4. 各个专业领域是否需要各自的大模型来服务?

  • [x] 5. 如何让大模型处理更长的文本?

  • [x] 大模型(LLMs)微调面

  • [x] 1. 如果想要在某个模型基础上做全参数微调,究竟需要多少显存?

  • [x] 2. 为什么SFT之后感觉LLM傻了?

  • [x] 3. SFT 指令微调数据 如何构建?

  • [x] 4. 领域模型Continue PreTrain 数据选取?

  • [x] 5. 领域数据训练后,通用能力往往会有所下降,如何缓解模型遗忘通用能力?

  • [x] 6. 领域模型Continue PreTrain ,如何 让模型在预训练过程中就学习到更多的知识?

  • [x] 7. 进行SFT操作的时候,基座模型选用Chat还是Base?

  • [x] 8. 领域模型微调 指令&数据输入格式 要求?

  • [x] 9. 领域模型微调 领域评测集 构建?

  • [x] 10. 领域模型词表扩增是不是有必要的?

  • [x] 11. 如何训练自己的大模型?

  • [x] 12. 训练中文大模型有啥经验?

  • [x] 13. 指令微调的好处?

  • [x] 14. 预训练和微调哪个阶段注入知识的?

  • [x] 15. 想让模型学习某个领域或行业的知识,是应该预训练还是应该微调?

  • [x] 16. 多轮对话任务如何微调模型?

  • [x] 17. 微调后的模型出现能力劣化,灾难性遗忘是怎么回事?

  • [x] 18. 微调模型需要多大显存?

  • [x] 19. 大模型LLM进行SFT操作的时候在学习什么?

  • [x] 20. 预训练和SFT操作有什么不同

  • [x] 21. 样本量规模增大,训练出现OOM错

  • [x] 22. 大模型LLM进行SFT 如何对样本进行优化?

  • [x] 23. 模型参数迭代实验

  • [x] 大模型(LLMs)langchain面

  • [x] 1. 基于LLM+向量库的文档对话 基础面

  • [x] 2. 基于LLM+向量库的文档对话 优化面

  • [ ] 3. 基于LLM+向量库的文档对话 工程示例面

  • [x] 1. LLMs 存在模型幻觉问题,请问如何处理?

  • [x] 2. 基于LLM+向量库的文档对话 思路是怎么样?

  • [x] 3. 基于LLM+向量库的文档对话 核心技术是什么?

  • [x] 4. 基于LLM+向量库的文档对话 prompt 模板 如何构建?

  • [x] 1. 痛点1:文档切分粒度不好把控,既担心噪声太多又担心语义信息丢失

  • [x] 2. 痛点2:在基于垂直领域 表现不佳

  • [x] 3. 痛点3:langchain 内置 问答分句效果不佳问题

  • [x] 4. 痛点4:如何 尽可能召回与query相关的Document 问题

  • [x] 5. 痛点5:如何让LLM基于query和context得到高质量的response

  • [ ] 1. 避坑记录

  • [ ] 2. 本地知识库问答系统(Langchain-chatGLM)

  • [x] 1. 什么是 LangChain?

  • [x] 2. LangChain 包含哪些 核心概念?

  • [x] 3. 什么是 LangChain Agent?

  • [x] 4. 如何使用 LangChain ?

  • [x] 5. LangChain 支持哪些功能?

  • [x] 6. 什么是 LangChain model?

  • [x] 7. LangChain 包含哪些特点?

  • [x] 8. LangChain 如何使用?

  • [ ] 9. LangChain 存在哪些问题及方法方案?

  • [x] 10. LangChain 替代方案?

  • [x] 1. LangChain 中 Components and Chains 是什么?

  • [x] 2. LangChain 中 Prompt Templates and Values 是什么?

  • [x] 3. LangChain 中 Example Selectors 是什么?

  • [x] 4. LangChain 中 Output Parsers 是什么?

  • [x] 5. LangChain 中 Indexes and Retrievers 是什么?

  • [x] 6. LangChain 中 Chat Message History 是什么?

  • [x] 7. LangChain 中 Agents and Toolkits 是什么?

  • [x] 1. LangChain 如何调用 LLMs 生成回复?

  • [x] 2. LangChain 如何修改 提示模板?

  • [x] 3. LangChain 如何链接多个组件处理一个特定的下游任务?

  • [x] 4. LangChain 如何Embedding & vector store?

  • [x] 1. LangChain 低效的令牌使用问题

  • [ ] 2. LangChain 文档的问题

  • [ ] 3. LangChain 太多概念容易混淆,过多的“辅助”函数问题

  • [ ] 4. LangChain 行为不一致并且隐藏细节问题

  • [x] 5. LangChain 缺乏标准的可互操作数据类型问题

  • [x] 大模型(LLMs)langchain 面

  • [x] 基于LLM+向量库的文档对话 经验面

  • [x] 大模型(LLMs)参数高效微调(PEFT) 面

  • [x] 一、LoRA篇

  • [x] 二、QLoRA篇

  • [x] 三、AdaLoRA篇

  • [x] 四、LoRA权重是否可以合入原模型?

  • [ ] 五、ChatGLM-6B LoRA后的权重多大?

  • [x] 六、LoRA 微调优点是什么?

  • [x] 七、LoRA微调方法为啥能加速训练?

  • [x] 八、如何在已有LoRA模型上继续训练?

  • [x] 1.1 什么是 LoRA?

  • [x] 1.2 LoRA 的思路是什么?

  • [x] 1.3 LoRA 的特点是什么?

  • [x] 2.1 QLoRA 的思路是怎么样的?

  • [x] 2.2 QLoRA 的特点是什么?

  • [x] 3.1 AdaLoRA 的思路是怎么样的?

  • [x] 一、为什么需要 提示学习(Prompting)?

  • [x] 二、什么是 提示学习(Prompting)?

  • [x] 三、提示学习(Prompting) 有什么优点?

  • [x] 四、提示学习(Prompting)有哪些方法,能不能稍微介绍一下它们间?

  • [x] 4.4.1 为什么需要 P-tuning v2?

  • [x] 4.4.2 P-tuning v2 思路是什么?

  • [x] 4.4.3 P-tuning v2 优点是什么?

  • [x] 4.4.4 P-tuning v2 缺点是什么?

  • [x] 4.3.1 为什么需要 P-tuning?

  • [x] 4.3.2 P-tuning 思路是什么?

  • [x] 4.3.3 P-tuning 优点是什么?

  • [x] 4.3.4 P-tuning 缺点是什么?

  • [x] 4.2.1 为什么需要 指示微调(Prompt-tuning)?

  • [x] 4.2.2 指示微调(Prompt-tuning)思路是什么?

  • [x] 4.2.3 指示微调(Prompt-tuning)优点是什么?

  • [x] 4.2.4 指示微调(Prompt-tuning)缺点是什么?

  • [x] 4.2.5 指示微调(Prompt-tuning)与 Prefix-tuning 区别 是什么?

  • [x] 4.2.6 指示微调(Prompt-tuning)与 fine-tuning 区别 是什么?

  • [x] 4.1.1 为什么需要 前缀微调(Prefix-tuning)?

  • [x] 4.1.2 前缀微调(Prefix-tuning)思路是什么?

  • [x] 4.1.3 前缀微调(Prefix-tuning)的优点是什么?

  • [x] 4.1.4 前缀微调(Prefix-tuning)的缺点是什么?

  • [x] 4.1 前缀微调(Prefix-tuning)篇

  • [x] 4.2 指示微调(Prompt-tuning)篇

  • [x] 4.3 P-tuning 篇

  • [x] 4.4 P-tuning v2 篇

  • [x] 一、为什么 需要 适配器微调(Adapter-tuning)?

  • [x] 二、适配器微调(Adapter-tuning)思路?

  • [x] 三、 适配器微调(Adapter-tuning)特点是什么?

  • [x] 四、AdapterFusion 思路 是什么?

  • [x] 五、AdapterDrop 思路 是什么?

  • [x] 六、AdapterDrop 特点 是什么?

  • [x] 七、MAM Adapter 思路 是什么?

  • [x] 八、MAM Adapter 特点 是什么?

  • [x] 微调方法是啥?如何微调?

  • [x] 为什么需要 PEFT?

  • [x] 介绍一下 PEFT?

  • [x] PEFT 有什么优点?

  • [x] 微调方法批处理大小模式GPU显存速度?

  • [x] Peft 和 全量微调区别?

  • [x] 多种不同的高效微调方法对比

  • [x] 当前高效微调技术存在的一些问题

  • [x] 高效微调技术最佳实践

  • [x] PEFT 存在问题?

  • [x] 能不能总结一下各种参数高效微调方法?

  • [x] 大模型(LLMs)参数高效微调(PEFT) 面

  • [x] 适配器微调(Adapter-tuning)篇

  • [x] 提示学习(Prompting)

  • [x] LoRA 系列篇

  • [x] 大模型(LLMs)推理面

  • [x] 1. 为什么大模型推理时显存涨的那么多还一直占着?

  • [x] 2. 大模型在gpu和cpu上推理速度如何?

  • [x] 3. 推理速度上,int8和fp16比起来怎么样?

  • [x] 4. 大模型有推理能力吗?

  • [x] 5. 大模型生成时的参数怎么设置?

  • [x] 6. 有哪些省内存的大语言模型训练/微调/推理方法?

  • [x] 7. 如何让大模型输出合规化

  • [x] 8. 应用模式变更

  • [x] 大模型(LLMs)评测面

  • [x] 大模型怎么评测?

  • [x] 大模型的honest原则是如何实现的?

  • [x] 模型如何判断回答的知识是训练过的已知的知识,怎么训练这种能力?

  • [x] 大模型(LLMs)强化学习面

  • [x] 奖励模型需要和基础模型一致吗?

  • [x] RLHF 在实践过程中存在哪些不足?

  • [x] 如何解决 人工产生的偏好数据集成本较高,很难量产问题?

  • [x] 如何解决三个阶段的训练(SFT->RM->PPO)过程较长,更新迭代较慢问题?

  • [x] 如何解决 PPO 的训练过程同时存在4个模型(2训练,2推理),对计算资源的要求较高 问题?

  • [x] 大模型(LLMs)软硬件配置面

  • [x] 大模型(LLMs)训练集面

  • [x] SFT(有监督微调)的数据集格式?

  • [x] RM(奖励模型)的数据格式?

  • [x] PPO(强化学习)的数据格式?

  • [x] 找数据集哪里找?

  • [x] 微调需要多少条数据?

  • [x] 有哪些大模型的训练集?

  • [x] 进行领域大模型预训练应用哪些数据集比较好?

  • [ ] 大模型(LLMs)显存问题面

  • [ ] 大模型(LLMs)分布式训练面

  • [x] 大模型(LLMs)agent 面

  • [x] 如何给LLM注入领域知识?

  • [x] 如果想要快速体验各种模型,该怎么办?

  • [ ] Token及模型参数准备篇

  • [x] 预训练数据 Token 重复 是否影响 模型性能?

  • [ ] SFT需要训练Token数?

  • [ ] LLMs 位置编码篇

  • [x] 6.1 ALiBi (Attention with Linear Biases) 思路是什么?

  • [x] 6.2 ALiBi (Attention with Linear Biases) 的偏置矩阵是什么?有什么作用?

  • [x] 6.3 ALiBi (Attention with Linear Biases) 有什么优点?

  • [ ] 6.4 ALiBi (Attention with Linear Biases) 被哪些 LLMs 应用?

  • [x] 5.1 什么是 长度外推问题?

  • [x] 5.2 长度外推问题 的 解决方法 有哪些?

  • [x] 4.1 旋转位置编码 RoPE 思路是什么?

  • [ ] 4.2 推导一下 旋转位置编码 RoPE ?

  • [x] 4.3 旋转位置编码 RoPE 有什么优点?

  • [ ] 4.4 旋转位置编码 RoPE 被哪些 LLMs 应用?

  • [x] 1 什么是位置编码?

  • [x] 2 什么是绝对位置编码?

  • [x] 3 什么是相对位置编码?

  • [ ] 4 旋转位置编码 RoPE篇

  • [ ] 5 长度外推问题篇

  • [ ] 6 ALiBi (Attention with Linear Biases)篇

  • [ ] LLMs Tokenizer 篇

  • [x] Byte-Pair Encoding(BPE)篇

  • [x] WordPiece 篇

  • [x] SentencePiece 篇

  • [x] 对比篇

  • [x] 1 Byte-Pair Encoding(BPE) 如何构建词典?

  • [x] 1 WordPiece 与 BPE 异同点是什么?

  • [x] 简单介绍一下 SentencePiece 思路?

  • [x] 1 举例 介绍一下 不同 大模型LLMs 的分词方式?

  • [x] 2 介绍一下 不同 大模型LLMs 的分词方式 的区别?

  • [x] LLMs Tokenizer 篇

  • [x] Layer Normalization 篇

  • [x] LLMs 各模型分别用了 哪种 Layer normalization?

  • [x] 1 LN 在 LLMs 中的不同位置 有什么区别么?如果有,能介绍一下区别么?

  • [x] Layer Norm 篇

  • [x] RMS Norm 篇 (均方根 Norm)

  • [x] Deep Norm 篇

  • [x] Deep Norm 有什么优点?

  • [x] Layer Norm 的计算公式写一下?

  • [x] RMS Norm 的计算公式写一下?

  • [x] RMS Norm 相比于 Layer Norm 有什么特点?

  • [x] Deep Norm 思路?

  • [x] 写一下 Deep Norm 代码实现?

  • [x] Layer normalization-方法篇

  • [x] Layer normalization-位置篇

  • [x] Layer normalization 对比篇

答案

前部分传送门:[大模型最全八股和答案(上)]
在这里插入图片描述

LLMs Tokenizer 篇
  • Byte-Pair Encoding(BPE)篇

  • 1 Byte-Pair Encoding(BPE) 如何构建词典?

    💡

    Byte-Pair Encoding(BPE)是一种常用的无监督分词方法,用于将文本分解为子词或字符级别的单位。BPE的词典构建过程如下:

    最终得到的词典即为BPE的词典。通过BPE算法,可以将文本分解为多个子词,其中一些子词可能是常见的词汇,而其他子词则是根据输入文本的特点生成的。这种方式可以更好地处理未登录词和稀有词,并提高模型对复杂词汇和短语的处理能力。

  1. 初始化词典:将每个字符视为一个初始的词。例如,对于输入文本"hello world",初始词典可以包含{‘h’, ‘e’, ‘l’, ‘o’, ‘w’, ‘r’, ‘d’}。

  2. 统计词频:对于每个词,统计其在文本中的频率。例如,在"hello world"中,'h’出现1次,'e’出现1次,'l’出现3次,'o’出现2次,'w’出现1次,'r’出现1次,'d’出现1次。

  3. 合并频率最高的词对:在每次迭代中,选择频率最高的词对进行合并。合并的方式是将两个词连接起来,并用一个特殊的符号(如"_“)分隔。例如,在初始词典中,选择频率最高的词对"l"和"l”,将它们合并为"ll",更新词典为{‘h’, ‘e’, ‘ll’, ‘o’, ‘w’, ‘r’, ‘d’}。

  4. 更新词频:更新合并后的词频。对于合并的词,统计其在文本中的频率。例如,在"hello world"中,'h’出现1次,'e’出现1次,'ll’出现3次,'o’出现2次,'w’出现1次,'r’出现1次,'d’出现1次。

  5. 重复步骤3和4:重复步骤3和4,直到达到预设的词典大小或者满足其他停止条件。每次迭代都会合并频率最高的词对,并更新词频。

  • WordPiece 篇

  • 1 WordPiece 与 BPE 异同点是什么?

    💡

    WordPiece和BPE(Byte-Pair Encoding)都是常用的无监督分词方法,它们有一些相似之处,但也存在一些差异。

  • 总体而言,WordPiece和BPE都是有效的分词方法,选择使用哪种方法取决于具体的任务需求和语料特点。

  1. 分词目标:WordPiece和BPE都旨在将文本分解为子词或字符级别的单位,以便更好地处理未登录词和稀有词,提高模型对复杂词汇和短语的处理能力。

  2. 无监督学习:WordPiece和BPE都是无监督学习方法,不需要依赖外部的标注数据,而是通过分析输入文本自动构建词典。

  3. 拆分策略:WordPiece采用贪婪的自顶向下的拆分策略,将词汇表中的词分解为更小的子词。它使用最大似然估计来确定最佳的分割点,并通过词频来更新词典。BPE则采用自底向上的拆分策略,通过合并频率最高的词对来构建词典。它使用词频来选择合并的词对,并通过更新词频来更新词典。

  4. 分割粒度:WordPiece通常将词分解为更小的子词,例如将"running"分解为"run"和"##ning"。这些子词通常以"##"前缀表示它们是一个词的一部分。BPE则将词分解为更小的子词或字符级别的单位。它不使用特殊的前缀或后缀来表示子词。

  5. 处理未登录词:WordPiece和BPE在处理未登录词时有所不同。WordPiece通常将未登录词分解为更小的子词,以便模型可以更好地处理它们。而BPE则将未登录词作为单独的词处理,不进行进一步的拆分。

  • SentencePiece 篇

  • 简单介绍一下 SentencePiece 思路?

    💡

    SentencePiece是一种基于BPE算法的分词工具,旨在将文本分解为子词或字符级别的单位。与传统的BPE算法不同,SentencePiece引入了一种更灵活的训练方式,可以根据不同任务和语料库的需求进行自定义。

    SentencePiece的思路如下:

    通过SentencePiece,可以根据不同任务和语料库的需求,自定义分词模型。它可以更好地处理未登录词和稀有词,提高模型对复杂词汇和短语的处理能力。同时,SentencePiece还支持多种语言和编码方式,可以广泛应用于自然语言处理任务中。

  1. 初始化词典:将每个字符视为一个初始的词。例如,对于输入文本"hello world",初始词典可以包含{‘h’, ‘e’, ‘l’, ‘o’, ‘w’, ‘r’, ‘d’}。

  2. 统计词频:对于每个词,统计其在文本中的频率。例如,在"hello world"中,'h’出现1次,'e’出现1次,'l’出现3次,'o’出现2次,'w’出现1次,'r’出现1次,'d’出现1次。

  3. 合并频率最高的词对:在每次迭代中,选择频率最高的词对进行合并。合并的方式是将两个词连接起来,并用一个特殊的符号(如"_“)分隔。例如,在初始词典中,选择频率最高的词对"l"和"l”,将它们合并为"ll",更新词典为{‘h’, ‘e’, ‘ll’, ‘o’, ‘w’, ‘r’, ‘d’}。

  4. 更新词频:更新合并后的词频。对于合并的词,统计其在文本中的频率。例如,在"hello world"中,'h’出现1次,'e’出现1次,'ll’出现3次,'o’出现2次,'w’出现1次,'r’出现1次,'d’出现1次。

  5. 重复步骤3和4:重复步骤3和4,直到达到预设的词典大小或者满足其他停止条件。每次迭代都会合并频率最高的词对,并更新词频。

  6. 训练模型:根据得到的词典,训练一个分词模型。模型可以根据需求选择将文本分解为子词或字符级别的单位。

  1. 基于规则的分词:这种分词方式使用预定义的规则和模式来切分文本。例如,可以使用空格、标点符号或特定的字符来确定词语的边界。这种方法简单直接,但对于复杂的语言和文本结构可能不够准确。

  2. 基于统计的分词:这种分词方式使用统计模型来确定词语的边界。通常会使用大量的标注数据来训练模型,并根据词语的频率和上下文来进行切分。这种方法相对准确,但对于未见过的词语或特定领域的术语可能不够准确。

  3. 基于深度学习的分词:这种分词方式使用深度学习模型,如循环神经网络(RNN)或Transformer模型,来进行分词。这些模型可以学习文本的上下文信息,并根据语义和语法规则来进行切分。这种方法可以处理复杂的语言结构和未见过的词语,但需要大量的训练数据和计算资源。

  4. 基于预训练模型的分词:最近的研究表明,使用预训练的语言模型,如BERT、GPT等,可以在分词任务上取得很好的效果。这些模型在大规模的文本数据上进行预训练,并能够学习到丰富的语言表示。在具体的分词任务中,可以通过在预训练模型上进行微调来进行分词。这种方法具有较高的准确性和泛化能力。

  5. 基于词典的分词:这是最常见的分词方式之一,使用一个预先构建好的词典来将文本分解为单词。例如,BERT模型使用WordPiece分词器,将文本分解为词片段(subword units),并在词典中查找匹配的词片段。

  6. 基于字符的分词:这种方式将文本分解为单个字符或者字符级别的单位。例如,GPT模型使用字节对编码(Byte Pair Encoding,BPE)算法,将文本分解为字符或字符片段。

  7. 基于音节的分词:对于一些语言,特别是拼音文字系统,基于音节的分词方式更为常见。这种方式将文本分解为音节或音节级别的单位。例如,对于中文,可以使用基于音节的分词器将文本分解为音节。

  8. 基于规则的分词:有些语言具有明确的分词规则,可以根据这些规则将文本分解为单词。例如,日语中的分词可以基于汉字辞书或者语法规则进行。

  9. 基于统计的分词:这种方式使用统计模型来判断文本中的分词边界。例如,隐马尔可夫模型(Hidden Markov Model,HMM)可以通过训练来预测最可能的分词边界。

  • [[#Layer normalization-方法篇|Layer normalization-方法篇]]

  • [[#Deep Norm 篇#Deep Norm 思路?|Deep Norm 思路?]]

  • [[#Deep Norm 篇#写一下 Deep Norm 代码实现?|写一下 Deep Norm 代码实现?]]

  • [[#RMS Norm 篇 (均方根 Norm)#RMS Norm 的计算公式写一下?|RMS Norm 的计算公式写一下?]]

  • [[#RMS Norm 篇 (均方根 Norm)#RMS Norm 相比于 Layer Norm 有什么特点?|RMS Norm 相比于 Layer Norm 有什么特点?]]

  • [[#Layer Norm 篇#Layer Norm 的计算公式写一下?|Layer Norm 的计算公式写一下?]]

  • [[#Layer normalization-方法篇#Layer Norm 篇|Layer Norm 篇]]

  • [[#Layer normalization-方法篇#RMS Norm 篇 (均方根 Norm)|RMS Norm 篇 (均方根 Norm)]]

  • [[#Layer normalization-方法篇#Deep Norm 篇|Deep Norm 篇]]

  • [[#Layer normalization-方法篇#Deep Norm 有什么优点?|Deep Norm 有什么优点?]]

  • [[#Layer normalization-位置篇|Layer normalization-位置篇]]

  • [[#Layer normalization-位置篇#1 LN 在 LLMs 中的不同位置 有什么区别么?如果有,能介绍一下区别么?|1 LN 在 LLMs 中的不同位置 有什么区别么?如果有,能介绍一下区别么?]]

  • [[#Layer normalization 对比篇|Layer normalization 对比篇]]

  • [[#Layer normalization 对比篇#LLMs 各模型分别用了 哪种 Layer normalization?|LLMs 各模型分别用了 哪种 Layer normalization?]]

Layer normalization-方法篇
Layer Norm 篇
Layer Norm 的计算公式写一下?

Layer Norm(层归一化)是一种用于神经网络中的归一化技术,用于提高模型的训练效果和泛化能力。其计算公式如下:

给定输入 ,其维度为 ,Layer Norm 的计算公式为:

其中, 是 沿最后一个维度的均值, 是 沿最后一个维度的标准差, 和 是可学习的缩放因子和偏置项。 表示逐元素相乘。

具体计算过程如下:

  1. 计算均值 :

  2. 计算标准差 :

  3. 计算归一化的 :

  4. 计算缩放因子和偏置项:

其中, 和 是可学习的参数,可以通过反向传播进行训练。

Layer Norm 的作用是将每个样本的特征进行归一化,使得特征在不同样本之间具有相似的分布,有助于提高模型的训练效果和泛化能力。

RMS Norm 篇 (均方根 Norm)
RMS Norm 的计算公式写一下?

RMS Norm(均方根归一化)是一种用于神经网络中的归一化技术,用于提高模型的训练效果和泛化能力。其计算公式如下:

给定输入 ,其维度为 ,RMS Norm 的计算公式为:

其中, 是一个小的常数,用于避免分母为零。

具体计算过程如下:

  1. 计算 的平方:

  2. 计算平方的均值:

  3. 计算归一化的 :

RMS Norm 的作用是通过计算输入 的均方根,将每个样本的特征进行归一化,使得特征在不同样本之间具有相似的尺度,有助于提高模型的训练效果和泛化能力。

RMS Norm 相比于 Layer Norm 有什么特点?

RMS Norm(Root Mean Square Norm)和 Layer Norm 是两种常用的归一化方法,它们在实现上有一些不同之处。

  1. 计算方式:RMS Norm 是通过计算输入数据的平方均值的平方根来进行归一化,而 Layer Norm 是通过计算输入数据在每个样本中的平均值和方差来进行归一化。

  2. 归一化范围:RMS Norm 是对整个输入数据进行归一化,而 Layer Norm 是对每个样本进行归一化。

  3. 归一化位置:RMS Norm 通常应用于循环神经网络(RNN)中的隐藏状态,而 Layer Norm 通常应用于卷积神经网络(CNN)或全连接层中。

  4. 归一化效果:RMS Norm 在处理长序列数据时可能会出现梯度消失或梯度爆炸的问题,而 Layer Norm 能够更好地处理这些问题。

综上所述,RMS Norm 和 Layer Norm 在计算方式、归一化范围、归一化位置和归一化效果等方面存在一些差异,适用于不同的神经网络结构和任务。选择哪种归一化方法应根据具体情况进行评估和选择。

Deep Norm 篇
Deep Norm 思路?

Deep Norm 是一种基于归一化的深度学习模型优化方法,其思路是通过在深度神经网络中引入多层归一化操作,以改善模型的训练和泛化性能。

Deep Norm 的主要思想是在网络的每一层之间插入归一化层,以减小输入数据的分布差异,从而加速收敛并提高模型的泛化能力。与传统的批归一化(Batch Normalization)不同,Deep Norm 在每一层都进行归一化,而不是仅在特定层进行。

Deep Norm 的具体步骤如下:

  1. 输入数据:将输入数据传递给网络的第一层。

  2. 归一化层:在网络的每一层之间插入归一化层。归一化层的作用是将每层的输入数据进行归一化,使其均值为0,方差为1。这可以减小数据的分布差异,有助于提高模型的稳定性和泛化性能。

  3. 激活函数:在归一化层之后应用激活函数,以引入非线性变换。

  4. 下一层:将经过归一化和激活函数处理的数据传递给网络的下一层。

通过在每一层引入归一化操作,Deep Norm 可以有效地解决深度神经网络中的梯度消失和梯度爆炸问题,并提高模型的收敛速度和泛化性能。此外,Deep Norm 还可以减少对学习率的敏感性,使得模型更容易优化。

需要注意的是,Deep Norm 需要在训练过程中对每一层的均值和方差进行估计,可以使用滑动平均等方法来更新归一化层的参数。在测试阶段,可以使用训练阶段估计的均值和方差进行归一化。

总而言之,Deep Norm 是一种通过在深度神经网络中引入多层归一化操作来优化模型的方法,可以改善模型的训练和泛化性能。

写一下 Deep Norm 代码实现?

Deep Norm 的代码实现可以基于 PyTorch 框架来完成。以下是一个简单的 Deep Norm 的代码示例:


import torch  
import torch.nn as nn  class DeepNorm(nn.Module):  def \_\_init\_\_(self, input\_dim, hidden\_dims, output\_dim):  super(DeepNorm, self).\_\_init\_\_()  self.layers = nn.ModuleList()  self.norm\_layers = nn.ModuleList()  # 添加隐藏层和归一化层  for i, hidden\_dim in enumerate(hidden\_dims):  self.layers.append(nn.Linear(input\_dim, hidden\_dim))  self.norm\_layers.append(nn.LayerNorm(hidden\_dim))  input\_dim = hidden\_dim  # 添加输出层  self.output\_layer = nn.Linear(input\_dim, output\_dim)  def forward(self, x):  for layer, norm\_layer in zip(self.layers, self.norm\_layers):  x = layer(x)  x = norm\_layer(x)  x = torch.relu(x)  x = self.output\_layer(x)  return x  # 创建一个 DeepNorm 模型实例  
input\_dim = 100  
hidden\_dims = \[64, 32\]  
output\_dim = 10  
model = DeepNorm(input\_dim, hidden\_dims, output\_dim)  # 使用模型进行训练和预测  
input\_data = torch.randn(32, input\_dim)  
output = model(input\_data)  

在这个示例中,我们定义了一个 DeepNorm 类,其中包含了多个隐藏层和归一化层。在 forward 方法中,我们依次对输入数据进行线性变换、归一化和激活函数处理,并通过输出层得到最终的预测结果。

需要注意的是,在实际使用中,可以根据具体任务的需求来调整模型的结构和参数设置。此外,还可以使用其他归一化方法,如 Layer Norm 或 Batch Norm,根据实际情况进行选择和实现。

Deep Norm 有什么优点?

Deep Norm 有以下几个优点:

  1. 改善梯度传播:Deep Norm 在每一层都引入了归一化操作,可以有效地解决深度神经网络中的梯度消失和梯度爆炸问题。通过减小输入数据的分布差异,Deep Norm 可以使得梯度更加稳定,并加速模型的收敛速度。

  2. 提高泛化能力:Deep Norm 的归一化操作有助于提高模型的泛化能力。归一化可以减小数据的分布差异,使得模型更容易学习到数据的共性特征,从而提高模型对未见数据的预测能力。

  3. 减少对学习率的敏感性:Deep Norm 的归一化操作可以减少对学习率的敏感性。通过将输入数据归一化到相同的尺度,Deep Norm 可以使得模型的训练更加稳定,减少了对学习率的调整需求。

  4. 网络结构更简洁:Deep Norm 可以将归一化操作嵌入到网络的每一层中,而不需要额外的归一化层。这使得网络结构更加简洁,减少了模型参数的数量,降低了计算和存储成本。

  5. 提高模型的可解释性:Deep Norm 的归一化操作可以使得模型的输出具有更好的可解释性。通过将输入数据归一化到均值为0,方差为1的范围内,Deep Norm 可以使得模型输出的数值更易于理解和解释。

综上所述,Deep Norm 通过引入多层归一化操作,可以改善梯度传播、提高泛化能力、减少对学习率的敏感性,同时还能简化网络结构和提高模型的可解释性。这些优点使得 Deep Norm 成为一种有效的深度学习模型优化方法。

Layer normalization-位置篇
1 LN 在 LLMs 中的不同位置 有什么区别么?如果有,能介绍一下区别么?

层归一化 Layer Norm 在 大语言模型 LLMs 中的不同位置 有什么区别么?如果有,能介绍一下区别么?

在大语言模型(Large Language Models)中,Layer Norm(层归一化)可以应用在不同位置,包括输入层、输出层和中间隐藏层。这些位置的归一化有一些区别:

  1. 输入层归一化:在输入层应用 Layer Norm 可以将输入的特征进行归一化,使得输入数据的分布更加稳定。这有助于减少不同样本之间的分布差异,提高模型的泛化能力。

  2. 输出层归一化:在输出层应用 Layer Norm 可以将输出结果进行归一化,使得输出结果的分布更加稳定。这有助于减小输出结果的方差,提高模型的稳定性和预测准确性。

  3. 中间隐藏层归一化:在中间隐藏层应用 Layer Norm 可以在每个隐藏层之间进行归一化操作,有助于解决深度神经网络中的梯度消失和梯度爆炸问题。通过减小输入数据的分布差异,Layer Norm 可以使得梯度更加稳定,并加速模型的收敛速度。

总的来说,Layer Norm 在大语言模型中的不同位置应用可以解决不同的问题。输入层归一化可以提高模型的泛化能力,输出层归一化可以提高模型的稳定性和预测准确性,而中间隐藏层归一化可以改善梯度传播,加速模型的收敛速度。具体应用 Layer Norm 的位置需要根据具体任务和模型的需求进行选择。

Layer normalization 对比篇
LLMs 各模型分别用了 哪种 Layer normalization?

不同的大语言模型(LLMs)可能会使用不同的层归一化方法,以下是一些常见的层归一化方法在大语言模型中的应用:

  1. BERT(Bidirectional Encoder Representations from Transformers):BERT使用的是Transformer中的层归一化方法,即在每个Transformer编码层中应用Layer Normalization。

  2. GPT(Generative Pre-trained Transformer):GPT系列模型通常使用的是GPT-Norm,它是一种变种的层归一化方法。GPT-Norm在每个Transformer解码层的每个子层(自注意力、前馈神经网络)之后应用Layer Normalization。

  3. XLNet:XLNet使用的是两种不同的层归一化方法,即Token-wise层归一化和Segment-wise层归一化。Token-wise层归一化是在每个Transformer编码层中应用Layer Normalization,而Segment-wise层归一化是在每个Transformer解码层的自注意力机制之后应用Layer Normalization。

  4. RoBERTa:RoBERTa是对BERT模型的改进,它也使用的是Transformer中的层归一化方法,即在每个Transformer编码层中应用Layer Normalization。

需要注意的是,虽然这些大语言模型使用了不同的层归一化方法,但它们的目的都是为了提高模型的训练效果和泛化能力。具体选择哪种层归一化方法取决于模型的设计和任务的需求。

LLM 激活函数
  • [[#1 介绍一下 FFN 块 计算公式?]]

  • [[#2 介绍一下 GeLU 计算公式?]]

  • [[#3 介绍一下 Swish 计算公式?]]

  • [[#4 介绍一下 使用 GLU 线性门控单元的 FFN 块 计算公式?]]

  • [[#5 介绍一下 使用 GeLU 的 GLU 块 计算公式?]]

  • [[#6 介绍一下 使用 Swish 的 GLU 块 计算公式?]]

  • [[#各LLMs 都使用哪种激活函数?]]

1 介绍一下 FFN 块 计算公式?

FFN(Feed-Forward Network)块是Transformer模型中的一个重要组成部分,用于对输入数据进行非线性变换。它由两个全连接层(即前馈神经网络)和一个激活函数组成。下面是FFN块的计算公式:

假设输入是一个向量 x,FFN块的计算过程如下:

  1. 第一层全连接层(线性变换): 其中,W1 是第一层全连接层的权重矩阵,b1 是偏置向量。

  2. 激活函数: 其中,g() 是激活函数,常用的激活函数有ReLU(Rectified Linear Unit)等。

  3. 第二层全连接层(线性变换): 其中,W2 是第二层全连接层的权重矩阵,b2 是偏置向量。

在Transformer模型中,FFN块通常被应用在每个Transformer编码层的每个位置上,用于对位置编码的向量进行非线性变换。这样可以增加模型的表达能力,提高对输入数据的建模能力。

需要注意的是,上述公式中的 W1、b1、W2、b2 是FFN块的可学习参数,它们会通过训练过程进行学习和更新。

2 介绍一下 GeLU 计算公式?

GeLU(Gaussian Error Linear Unit)是一种激活函数,常用于神经网络中的非线性变换。它在Transformer模型中广泛应用于FFN(Feed-Forward Network)块。下面是GeLU的计算公式:

假设输入是一个标量 x,GeLU的计算公式如下:

其中,tanh() 是双曲正切函数,sqrt() 是平方根函数,pi 是圆周率。

GeLU函数的特点是在接近零的区域表现得类似于线性函数,而在远离零的区域则表现出非线性的特性。相比于其他常用的激活函数(如ReLU),GeLU函数在某些情况下能够提供更好的性能和更快的收敛速度。

需要注意的是,GeLU函数的计算复杂度较高,可能会增加模型的计算开销。因此,在实际应用中,也可以根据具体情况选择其他的激活函数来代替GeLU函数。

3 介绍一下 Swish 计算公式?

Swish是一种激活函数,它在深度学习中常用于神经网络的非线性变换。Swish函数的计算公式如下:

其中,sigmoid() 是Sigmoid函数,x 是输入,beta 是一个可调节的超参数。

Swish函数的特点是在接近零的区域表现得类似于线性函数,而在远离零的区域则表现出非线性的特性。相比于其他常用的激活函数(如ReLU、tanh等),Swish函数在某些情况下能够提供更好的性能和更快的收敛速度。

Swish函数的设计灵感来自于自动搜索算法,它通过引入一个可调节的超参数来增加非线性程度。当beta为0时,Swish函数退化为线性函数;当beta趋近于无穷大时,Swish函数趋近于ReLU函数。

需要注意的是,Swish函数相对于其他激活函数来说计算开销较大,因为它需要进行Sigmoid运算。因此,在实际应用中,也可以根据具体情况选择其他的激活函数来代替Swish函数。

4 介绍一下 使用 GLU 线性门控单元的 FFN 块 计算公式?

使用GLU(Gated Linear Unit)线性门控单元的FFN(Feed-Forward Network)块是Transformer模型中常用的结构之一。它通过引入门控机制来增强模型的非线性能力。下面是使用GLU线性门控单元的FFN块的计算公式:

假设输入是一个向量 x,GLU线性门控单元的计算公式如下:

(1)

其中,sigmoid() 是Sigmoid函数, 是一个可学习的权重矩阵。

在公式(1)中,首先将输入向量 x 通过一个全连接层(线性变换)得到一个与 x 维度相同的向量,然后将该向量通过Sigmoid函数进行激活。这个Sigmoid函数的输出称为门控向量,用来控制输入向量 x 的元素是否被激活。最后,将门控向量与输入向量 x 逐元素相乘,得到最终的输出向量。

GLU线性门控单元的特点是能够对输入向量进行选择性地激活,从而增强模型的表达能力。它在Transformer模型的编码器和解码器中广泛应用,用于对输入向量进行非线性变换和特征提取。

需要注意的是,GLU线性门控单元的计算复杂度较高,可能会增加模型的计算开销。因此,在实际应用中,也可以根据具体情况选择其他的非线性变换方式来代替GLU线性门控单元。

5 介绍一下 使用 GeLU 的 GLU 块 计算公式?

介绍一下 使用 GeLU 作为激活函数的 GLU 块 计算公式?

使用GeLU作为激活函数的GLU块的计算公式如下:

其中,GeLU() 是Gaussian Error Linear Unit的激活函数,W_1 是一个可学习的权重矩阵。

在公式(1)中,首先将输入向量 x 通过一个全连接层(线性变换)得到一个与 x 维度相同的向量,然后将该向量作为输入传递给GeLU激活函数进行非线性变换。最后,将GeLU激活函数的输出与输入向量 x 逐元素相乘,得到最终的输出向量。

GeLU激活函数的计算公式如下:

其中,tanh() 是双曲正切函数,sqrt() 是平方根函数,pi 是圆周率。

在公式(2)中,GeLU函数首先对输入向量 x 进行一个非线性变换,然后通过一系列的数学运算得到最终的输出值。

使用GeLU作为GLU块的激活函数可以增强模型的非线性能力,并在某些情况下提供更好的性能和更快的收敛速度。这种结构常用于Transformer模型中的编码器和解码器,用于对输入向量进行非线性变换和特征提取。

需要注意的是,GLU块和GeLU激活函数是两个不同的概念,它们在计算公式和应用场景上有所区别。在实际应用中,可以根据具体情况选择合适的激活函数来代替GeLU或GLU。

6 介绍一下 使用 Swish 的 GLU 块 计算公式?

介绍一下 使用 Swish 作为激活函数的 GLU 块 计算公式?

使用Swish作为激活函数的GLU块的计算公式如下:

其中,sigmoid() 是Sigmoid函数,W_1 是一个可学习的权重矩阵。

在公式(1)中,首先将输入向量 x 通过一个全连接层(线性变换)得到一个与 x 维度相同的向量,然后将该向量通过Sigmoid函数进行激活。这个Sigmoid函数的输出称为门控向量,用来控制输入向量 x 的元素是否被激活。最后,将门控向量与输入向量 x 逐元素相乘,得到最终的输出向量。

Swish激活函数的计算公式如下:

其中,sigmoid() 是Sigmoid函数,beta 是一个可学习的参数。

在公式(2)中,Swish函数首先对输入向量 x 进行一个非线性变换,然后通过Sigmoid函数进行激活,并将该激活结果与输入向量 x 逐元素相乘,得到最终的输出值。

使用Swish作为GLU块的激活函数可以增强模型的非线性能力,并在某些情况下提供更好的性能和更快的收敛速度。GLU块常用于Transformer模型中的编码器和解码器,用于对输入向量进行非线性变换和特征提取。

需要注意的是,GLU块和Swish激活函数是两个不同的概念,它们在计算公式和应用场景上有所区别。在实际应用中,可以根据具体情况选择合适的激活函数来代替Swish或GLU。

在这里插入图片描述

大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
在这里插入图片描述

4.LLM面试题和面经合集

这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/13768.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

刷题笔记——栈和队列互相冒充

刷题笔记——栈和队列互相冒充 5.3 用队列实现栈两队列实现栈一个队列实现栈 5.4 用栈实现队列两栈实现队列push栈和pop栈一个栈实现队列 5.3 用队列实现栈 原OJ题:225. 用队列实现栈 - 力扣(LeetCode) 两队列实现栈 入栈的实现 选非空的…

【Linux】网络编程3

文件描述符的作用 在TCP通信的过程,服务器端会产生两类不同的文件描述符,一个是监听的文件描述符;另一个是用于通信的文件描述符。它们有什么不同呢? 监听的文件描述符: 只有一个,它不负责与客户端的通信&…

番外-JDBC:2024年最新java连接数据库教程

前言 JavaScript的内容晚点更新,今天继续更新一点番外,今天更新的是jdbc,如何用java连接数据库 1.导包 要使java能够连接数据库我们需要导入一个包,请按照以下操作安装并导包 1.进入官网 MySQL 以上为官网链接进去后点击下载…

LIMA模型——大模型对齐的新方法

人工智能咨询培训老师叶梓 转载标明出处 大模型通常在两个阶段进行训练:首先是从原始文本中进行无监督预训练,以学习通用表示;其次是通过大规模的指令微调和强化学习,以更好地适应最终任务和用户偏好。来自Meta AI、卡内基梅隆大…

向量数据库PGVECTOR安装

文章目录 前提向量数据库介绍PGVECTOR安装1、pgvector下载2、编译安装3、创建vector扩展 前提 已经安装好了pg14版本。 其他版本也可以。 pg安装教程:https://blog.csdn.net/yushaoyyds/article/details/138855306?spm1001.2014.3001.5502 向量数据库介绍 向量数…

Spring Boot框架助力电商系统设计

2 相关技术 2.1 SpringBoot框架介绍 Spring Boot是一种不需要代码生成的一种框架,并且可以不需要配置任何的XML文件就可以,因为Spring Boot里面自带了很多接口,只需要配置不同的接口就会自动的应用并且识别需要的依赖,在配置方面非…

双十一之夜:珠海体育中心悲剧,极端行为下的反思

双十一,这个原本充满购物狂欢与期待的节日,在珠海市香洲区的珠海市体育中心,被一场突如其来的极端事件所笼罩,让欢乐的氛围即刻凝固。62岁男子的一时冲动,驾车冲撞行人,导致35条宝贵生命戛然而止&#xff0…

常用环境部署(二十三)——Docker部署ERPNext

1、介绍 ERPNext 是一种业务财务集成一体的现代管理关键。 与传统会计和 ERP 相比,它具有许多优势。相对于传统记账软件的优势: ​不仅仅是会计! 管理库存、账单、报价、销售线索、工资单等。所有数据存放在同一个地方安全存储, 所有用户都在…

黑马程序员——Vue3小兔鲜项目(5. Home页)

静态结构搭建和分类实现 1. 整体结构创建 1- 按照结构新增五个组件&#xff0c;准备最简单的模版&#xff0c;分别在Home模块的入口组件中引入 HomeCategoryHomeBannerHomeNewHomeHotHomeProduct <script setup> </script><template><div> HomeCate…

nginx部署H5端程序与PC端进行区分及代理多个项目及H5内页面刷新出现404问题。

在项目中会碰见需要在nginx代理多个项目&#xff0c;如果在加上uniapp开发的H5端的项目&#xff0c;你还要在nginx中区分PC端和手机H5端&#xff0c;这就会让人很头大&#xff01;网上大部分的资料都是采用在nginx的conf配置文件中添加区分pc和手机端的变量例如&#xff1a;set…

【miniMax开放平台-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

除了 Postman,还有什么好用的 API 调试工具吗

尽管 Postman 拥有团队协作等实用特性&#xff0c;其免费版提供的功能相对有限&#xff0c;而付费版的定价可能对小团队或个人开发者而言显得偏高。此外&#xff0c;Postman 的访问速度有时较慢&#xff0c;这可能严重影响使用体验。 鉴于这些限制&#xff0c;Apifox 成为了一…

缓存(四)指标

这张图总结了缓存性能的三个主要指标&#xff1a;未命中率&#xff08;Miss Rate&#xff09;、命中时间&#xff08;Hit Time&#xff09; 和 未命中惩罚&#xff08;Miss Penalty&#xff09;。这些指标用于评估缓存系统的效率和性能。 1. 未命中率&#xff08;Miss Rate&am…

AI赋能电商:提升用户体验与销售效率的创新应用与未来展望

目录 前言1. AI在电商中的核心应用领域1.1 智能购物推荐1.2 精准的会员分类1.3 智能定价系统1.4 提升用户体验的智能客服系统 2. AI应用中的挑战与应对策略2.1 数据安全与隐私保护2.2 算法的公平性与透明度 3. AI在电商行业的未来发展趋势3.1 虚拟购物助手与元宇宙体验3.2 基于…

苹果音乐因为忘记续期,禁用了自己服务器...

我在《从零开始搭建博客》中有提到如何续费 SSL 证书&#xff0c;以及如何自动续费。当时我只是顺带提一嘴&#xff0c;没想到这么快&#xff0c;就有大厂因为忘记续费证书了… 然后&#xff0c;苹果是第一个被打脸的&#xff0c;忘记续期了&#xff0c;而且影响是非常重要的 …

CACTER诚邀您参加2024高交会

11月14-16日 第二十六届中国国际高新技术成果交易会 于深圳国际会展中心&#xff08;宝安&#xff09; 隆重开幕 CACTER于12号馆D12展位诚邀各位莅临 关于高交会 中国国际高新技术成果交易会&#xff08;简称“高交会”&#xff09;由深圳市人民政府主办&#xff0c;是目前…

微信多账号管理,让你的管理更轻松,效率更高!

现在微信账号越来越多&#xff0c;工作生活里头的微信一多&#xff0c;管理起来就头疼。各种消息、好友请求、群发消息一大堆&#xff0c;手忙脚乱的。 这时候&#xff0c;有个给力的微信管理工具就太重要了&#xff0c;它能帮你搞定社交&#xff0c;管理起来也轻松。 先说说…

Unity图形学之Shader2.0 OutLine实例

1.轮廓&#xff1a; &#xff08;1&#xff09;直接 渲染两个物体&#xff1a;一个大 一个小&#xff0c;大的是轮廓&#xff0c;直接返回一个颜色&#xff1b;小的物体按照纹理采样返回颜色 两个Pass { } 第一个Pass 渲染大的物体边缘第二个Pass 渲染小的物品 Shader "…

基于Springboot+微信小程序的农产品销售小程序 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…

LabVIEW大数据处理

在物联网、工业4.0和科学实验中&#xff0c;大数据处理需求逐年上升。LabVIEW作为一款图形化编程语言&#xff0c;凭借其强大的数据采集和分析能力&#xff0c;广泛应用于实时数据处理和控制系统中。然而&#xff0c;在面对大数据处理时&#xff0c;LabVIEW也存在一些注意事项。…