大白话解析:深入浅出大模型RAG模块全解析

news2024/11/14 15:40:22
文章目录
  • 什么是 RAG?
    • 技术交流&资料
    • 通俗易懂讲解大模型系列
  • RAG模块化
    • 什么是模块化RAG?
  • 索引模块
    • 块优化
      • 滑动窗口
      • 从小到大
      • 元数据附加
    • 结构化组织
      • 层次化索引
      • 知识图谱文档组织
  • 预检索模块
    • 查询扩展
      • 多查询
      • 子查询
      • CoVe
    • 查询转换
      • 重写
      • HyDE
    • 查询路由
      • 元数据路由器/过滤器
      • 语义路由器
    • 查询构建
  • 检索模块
    • 检索模型选择
      • 稀疏检索器
      • 密集检索器
    • 检索器微调
      • SFT(自我训练)
      • LSR(语言模型监督检索器)
      • RL(强化学习)
      • Adapter
  • 后处理模块
    • 重新排序
      • 基于规则的重新排序
      • 模型基础的重新排序
    • 压缩和选择
      • LLMLingua
      • Recomp
      • 选择性上下文
      • LLM批评
  • 生成模块
    • 生成器选择
      • 云API基础生成器
      • 本地部署
    • 生成器微调
      • SFT
      • RL
      • 蒸馏
  • 调度模块
    • 调度
      • 基于规则
      • 基于提示
      • 基于调整
    • 检索融合
      • 概率集成
      • RRF(互惠排名融合)
  • 典型的RAG流程模式
    • 微调阶段
      • 检索器微调
      • 生成器微调
    • 推理阶段
      • 顺序结构
      • 条件结构
      • 分支结构
      • 循环结构
      • 迭代结构
      • 递归结构
      • 自适应结构
    • 企业案例
      • OpenAI
      • Baichuan
      • Databricks

什么是 RAG?

RAG 技术是一种检索增强生成的方法,结合了大型语言模型和检索系统的优势,以提高生成内容的准确性、相关性和时效性。

图片

相比于仅依赖大型语言模型的生成,RAG技术可以从外部知识库中检索信息,避免了模型的幻觉问题,并提升了对实时性要求较高问题的处理能力。与传统的知识库问答系统相比,RAG技术更加灵活,可以处理非结构化的自然语言文本。

图片

RAG并非旨在取代已有的知识库问答系统,而是作为一种补充,强调实时性和准确性,并且通过结合生成和检索机制来提升自然语言处理任务的效果。

技术交流&资料

技术要学会分享、交流,不建议闭门造车。一个人可以走的很快、一堆人可以走的更远。

成立了大模型技术交流群,本文完整代码、相关资料、技术交流&答疑,均可加我们的交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

在这里插入图片描述

RAG模块化

模块化RAG呈现出一种高度可扩展的范式,将RAG系统划分为模块类型、模块和运算符三层结构。每种模块类型代表着RAG系统中的一个核心流程,包含多个功能模块。

图片

每个功能模块又包含多个具体的运算符。整个RAG系统变成了多个模块和相应运算符的排列组合,形成我们所说的RAG流程。在流程中,可以在每个模块类型中选择不同的功能模块,在每个功能模块内部,又可以选择一个或多个运算符。

什么是模块化RAG?

图片

模块化RAG是指检索增强生成技术的一种演进形式,其进展带来了更加多样化和灵活的过程,具体体现在以下关键方面:

  1. 增强数据获取:RAG已经超越了传统的非结构化数据,现在包括半结构化和结构化数据,在预处理结构化数据方面更加关注,以改善检索并减少模型对外部知识来源的依赖。

  2. 整合技术:RAG正在整合其他技术,包括微调、适配器模块和强化学习,以增强检索能力。

  3. 可适应的检索过程:检索过程已经发展到支持多轮检索增强,利用检索内容来指导生成,反之亦然。此外,自主判断和LLM的使用增加了通过确定检索的需求来回答问题的效率。

索引模块

索引是将文本分解为可管理的块的过程,在组织系统中是一个至关重要的步骤,面临着三个主要挑战:

  • 不完整的内容表示。块的语义信息受到分割方法的影响,在更长的上下文中会导致重要信息的丢失或被淹没。

  • 不准确的块相似性搜索。随着数据量的增加,检索中的噪音增加,导致频繁与错误数据匹配,使检索系统变得脆弱且不可靠。

  • 引用轨迹不清晰。检索到的块可能来自任何文档,缺乏引用轨迹,可能导致存在来自多个不同文档的块,尽管在语义上相似,但包含的内容却是完全不同的主题。

块优化

较大的块可以捕捉更多的上下文,但也会产生更多的噪音,需要更长的处理时间和更高的成本。而较小的块可能无法完全传达所需的上下文,但它们的噪音较少。

滑动窗口

平衡这些需求的一种简单方法是使用重叠的块。通过使用滑动窗口,语义转换得到增强。然而,存在一些限制,包括对上下文大小的控制不够精确,截断单词或句子的风险,以及缺乏语义考虑。

从小到大

关键思想是将用于检索的块与用于合成的块分开。使用较小的块可以提高检索的准确性,而较大的块可以提供更多的上下文信息。

图片

元数据附加

块可以使用元数据信息进行丰富,例如页码、文件名、作者、时间戳、摘要,或者块可以回答的问题。

结构化组织

提高信息检索效率的一种有效方法是为文档建立分层结构。通过构建块结构,RAG系统可以加速检索和处理相关数据。

层次化索引

在文档的层次结构中,节点按照父子关系排列,与之关联的块链接到这些节点上。数据摘要存储在每个节点上,有助于快速遍历数据,并帮助RAG系统确定要提取的块。这种方法还可以缓解由块提取问题引起的幻觉。

构建结构化索引的方法主要包括:

  • 结构意识。对文档进行段落和句子分割。

  • 内容意识。利用PDF、HTML、Latex等文件的内在结构。

  • 语义意识。基于NLP技术,如利用NLTK,对文本进行语义识别和分割。

知识图谱文档组织

在构建文档的层次结构时,利用知识图谱(KGs)有助于保持一致性。它描述了不同概念和实体之间的关系,显著降低了幻觉的可能性。

预检索模块

RAG的主要挑战之一是用户提出精确清晰的问题是困难的,不明智的查询会导致检索效果不佳。

  • 问题措辞不当。问题本身复杂,语言组织不佳。

  • 语言复杂性和歧义性。当处理专业词汇或具有多重含义的模糊缩写时,语言模型经常会遇到困难。

查询扩展

将单个查询扩展为多个查询丰富了查询的内容,为解决特定细微差别的缺乏提供了进一步的上下文,从而确保生成的答案的最佳相关性。

多查询

通过使用提示工程来通过LLM扩展查询,这些查询可以并行执行。查询的扩展不是随意的,而是经过精心设计的。这种设计的两个关键标准是查询的多样性和覆盖范围。

子查询

子问题规划的过程代表了生成必要的子问题,以在组合时为原始问题提供上下文并完全回答。这个添加相关上下文的过程原则上类似于查询扩展。具体来说,可以使用从最少提示到最多提示的方法,将复杂问题分解为一系列更简单的子问题。

CoVe

CoVe(Chain-of-Verification)是由Meta AI提出的另一种查询扩展方法。扩展的查询经过LLM的验证,以达到减少幻觉的效果。经过验证的扩展查询通常具有更高的可靠性。

查询转换

重写

原始查询在实际场景中并不总是最佳的LLM检索条件。因此,我们可以提示LLM重写查询。除了使用LLM进行查询重写外,还可以利用专门的较小语言模型,例如RRR(重写-检索-阅读)。

HyDE

当响应查询时,LLM构建假设文档(假定答案),而不是直接在向量数据库中搜索查询及其计算的向量。它专注于从答案到答案的嵌入相似性,而不是寻求问题或查询的嵌入相似性。此外,它还包括反向HyDE,它专注于从查询到查询的检索。

图片

查询路由

根据不同的查询,将其路由到不同的RAG管道,这适用于一个灵活的RAG系统,设计用于适应多样化的场景。

元数据路由器/过滤器

第一步涉及从查询中提取关键字(实体),然后基于块内的关键字和元数据进行过滤,缩小搜索范围。

语义路由器

另一种路由方法涉及利用查询的语义信息。具体方法请参见语义路由器。当然,也可以采用混合路由方法,结合基于语义和基于元数据的方法,以增强查询路由的效果。

查询构建

将用户的查询转换为另一种查询语言,以访问替代数据源。常见的方法包括:

  • 文本到Cypher

  • 文本到SQL

检索模块

检索过程在RAG中起着至关重要的作用。利用强大的PLM可以有效地在潜在空间中表示查询和文本,从而促进问题和文档之间的语义相似性的建立,以支持检索。

检索模型选择

Hugging Face的MTEB排行榜评估了几乎所有可用的嵌入模型在8个任务上的性能 C-MTEB侧重于评估中文嵌入模型的能力,涵盖了6个任务和35个数据集。

稀疏检索器

尽管稀疏编码模型可能被认为是一种略显过时的技术,通常基于诸如词频统计之类的统计方法,但由于其更高的编码效率和稳定性,它们仍然具有一定的地位。常见的系数编码模型包括BM25和TF-IDF。

图片

密集检索器
  • 建立在BERT架构上的编码器-解码器语言模型,例如ColBERT。

  • 像BGE和Baichuan-Text-Embedding这样的全面多任务微调模型。

  • 基于云API的模型,例如OpenAI-Ada-002和Cohere Embedding。

  • 面向大规模数据应用的下一代加速编码框架Dragon+。

  • 混合/混合检索

检索器微调

在某些情况下,上下文可能与预训练模型在嵌入空间中认为相似的内容有所偏离,特别是在高度专业化的领域,如医疗保健、法律和其他丰富专有术语的领域中,调整嵌入模型可以解决这个问题。虽然这种调整需要额外的工作,但它可以大大提高检索效率和领域对齐度。

SFT(自我训练)

可以基于领域特定数据构建自己的微调数据集,使用LlamaIndex可以迅速完成此任务。

LSR(语言模型监督检索器)

与直接从数据集构建微调数据集不同,LSR利用语言模型生成的结果作为监督信号,在RAG过程中微调嵌入模型。

RL(强化学习)

受RLHF(从人类反馈中进行强化学习)的启发,利用基于语言模型的反馈通过强化学习来强化检索器。

Adapter

有时,对整个检索器进行微调可能成本高昂,特别是在处理无法直接微调的基于API的检索器时。在这种情况下,我们可以通过引入Adapter模块并进行微调来缓解这一问题。

后处理模块

将整个文档块检索并直接输入LLM的上下文环境并不是一个最佳选择。对文档进行后处理可以帮助LLM更好地利用上下文信息。

主要挑战包括:

  1. 中间丢失。与人类类似,LLM倾向于只记住长文本的开头和结尾,而忘记中间部分。

  2. 噪声/反事实块。检索到的嘈杂或事实相互矛盾的文档可能会影响最终的检索生成。

  3. 上下文窗口。尽管检索了大量相关内容,但大型模型对上下文信息长度的限制阻止了所有内容的包含。

重新排序

重新排序已检索到的文档块,而不改变其内容或长度,以增强LLM对更关键的文档块的可见性。具体来说:

基于规则的重新排序

根据某些规则,计算指标以重新排序文档块。常见的指标包括:

  • 多样性

  • 相关性

  • MRR

MMR的背后思想是减少冗余并增加结果的多样性,它常用于文本摘要。MMR根据查询相关性和信息新颖性的综合标准,在最终的关键短语列表中选择短语。

模型基础的重新排序

利用语言模型对文档块进行重新排序,可选的模型包括:

  • 来自BERT系列的编码器-解码器模型,例如SpanBERT

  • 专门的重新排序模型,例如Cohere rerank或bge-raranker-large

  • 通用的大型语言模型,例如GPT-4

压缩和选择

在RAG过程中的一个常见误解是认为尽可能检索更多相关文档并将它们连接起来形成一个冗长的检索提示是有益的。然而,过多的上下文可能会引入更多的噪音,降低LLM对关键信息的感知,并导致诸如“中间丢失”之类的问题。解决这个问题的常见方法是压缩和选择检索到的内容。

LLMLingua

通过利用对齐和训练良好的小型语言模型,例如GPT-2 Small或LLaMA-7B,可以实现从提示中检测和删除不重要的标记,将其转换为人类难以理解但LLM很好理解的形式。

Recomp

Recomp引入了两种类型的压缩器:一种是抽取式压缩器,从检索到的文档中选择相关的句子;另一种是生成式压缩器,通过将多个文档中的信息融合产生简洁的摘要。这两种压缩器都经过训练,以在生成的摘要被添加到语言模型的输入时提高语言模型在最终任务上的性能,同时确保摘要的简洁性

选择性上下文

通过识别并删除输入上下文中的冗余内容,可以简化输入,从而提高语言模型的推理效率。选择性上下文类似于“停用词移除”策略。

LLM批评

另一种直观且有效的方法是让LLM在生成最终答案之前评估已检索的内容。这使得LLM可以通过LLM批评过滤掉相关性较差的文档。

生成模块

利用LLM根据用户的查询和检索到的上下文信息生成答案。

生成器选择

根据场景的不同,LLM的选择可以分为以下两种类型:

云API基础生成器

基于云API的生成器利用第三方LLM的API,例如OpenAI的ChatGPT、GPT-4和Anthropic Claude等。优势包括:

  • 无服务器压力

  • 高并发性

  • 能够使用更强大的模型

缺点包括:

  • 数据通过网络传递,存在数据隐私问题

  • 无法调整模型(在绝大多数情况下)

本地部署

本地部署的开源或自行开发的LLM,例如Llama系列、GLM等。其优势和劣势与基于云API的模型相反。本地部署的模型提供更大的灵活性和更好的隐私保护,但需要更高的计算资源。

生成器微调

除了直接使用LLM外,根据场景和数据特征进行目标微调可以获得更好的结果。这也是使用本地部署设置的最大优势之一。常见的微调方法包括以下几种:

SFT

当LLM在特定领域缺乏数据时,可以通过微调向LLM提供额外的知识。Huggingface的微调数据也可以作为一个初始步骤。

微调的另一个好处是能够调整模型的输入和输出。例如,它可以使LLM适应特定的数据格式,并按照指示以特定的风格生成响应。

RL

通过强化学习将LLM的输出与人类或检索器的偏好进行对齐是一个潜在的方法。例如,手动注释最终生成的答案,然后通过强化学习提供反馈。除了与人类偏好保持一致外,还可以与微调模型和检索器的偏好保持一致。

蒸馏

当情况阻止访问强大的专有模型或更大参数的开源模型时,一种简单有效的方法是将更强大的模型(例如GPT-4)蒸馏为更小的模型。

调度模块


Orchestration指的是控制RAG过程的模块。与以前固定的过程不同,RAG现在涉及在关键点做出决策,并根据结果动态选择下一步。与Naive RAG相比,这也是模块化RAG的主要特点之一。

调度

Judge模块评估RAG过程中的关键点,确定是否需要检索外部文档存储库,答案是否满意,以及是否需要进一步探索。它通常用于递归、迭代和自适应检索。具体来说,它主要包括以下两种操作符:

基于规则

下一步的行动基于预定义的规则确定。通常,生成的答案会得分,然后根据得分是否达到预定义的阈值来决定是否继续或停止。常见的阈值包括令牌的置信水平。

基于提示

LLM自主确定下一步的行动。主要有两种方法实现这一点。第一种方法涉及提示LLM反思或根据对话历史进行判断,如ReACT框架所示。这里的好处是消除了对模型进行微调的需要。然而,判断的输出格式取决于LLM是否遵循指令。基于提示的案例是FLARE。

基于调整

第二种方法涉及LLM生成特定的令牌来触发特定的操作,这种方法可以追溯到Toolformer,并应用于RAG,例如Self-RAG。

检索融合

如前面关于查询扩展的部分所述,当前的RAG过程不再是一个单一的管道。它通常需要通过多个分支来扩展检索范围或多样性。因此,在扩展到多个分支之后,融合模块被依赖于来合并多个答案。

概率集成

融合方法基于从多个分支生成的不同令牌的加权值,从而全面选择最终的输出。加权平均是主要采用的方法。参见REPLUG。

RRF(互惠排名融合)

RRF是一种将多个搜索结果列表的排名结合起来生成单一统一排名的技术。与满足任何单一分支下的重新排序相比,与满足任何单一分支下的重新排序相比,RRF产生的结果更为有效。

典型的RAG流程模式

微调阶段

检索器微调
  • 直接微调检索器。 构建用于检索的专门数据集,并对密集检索器进行微调。例如,使用开源检索数据集或基于特定领域数据构建数据集。

  • 添加可训练的适配器模块。 直接微调基于云API的嵌入模型。

  • LM监督检索(LSR)。 根据LLM生成的结果对检索器进行微调。

  • LLM奖励RL: 仍然使用LLM输出结果作为监督信号。利用强化学习来使检索器与生成器对齐。

图片

生成器微调
  • 直接微调。通过外部数据集的微调可以为生成器提供额外的知识。另一个好处是能够定制输入和输出格式。通过设置问答格式,LLM可以理解特定的数据格式,并根据指令进行输出。

  • GPT-4蒸馏。在使用开源模型的本地部署时,一个简单有效的方法是使用GPT-4批量构建微调数据,以增强开源模型的能力。

  • LLM/人类反馈的强化学习。基于最终生成的答案的反馈进行强化学习。除了使用人类评估之外,GPT-4还可以作为评估法官。

图片

推理阶段

顺序结构

RAG流的顺序结构将RAG的模块和操作以线性管道的形式组织起来,如下图所示。如果包括了前检索和后检索模块类型,则代表了典型的高级RAG范式;否则,它体现了典型的简单RAG范式。

图片

最广泛使用的RAG流水线目前是顺序结构,通常在检索之前包括查询重写或HyDE,并在检索后包括重新排序操作,例如QAnything案例。

在RRR中,Query Rewrite模块是一个较小的可训练语言模型,在强化学习的背景下,重写器的优化被形式化为马尔可夫决策过程,LLM的最终输出作为奖励。检索器利用稀疏编码模型BM25。

条件结构

具有条件结构的RAG流涉及根据不同条件选择不同的RAG路径。通常,这是通过路由模块实现的,该模块根据查询关键词或语义确定路径。

基于问题类型选择不同路径,针对特定情景导向不同的流。例如,当用户询问严肃问题、政治问题或娱乐话题时,来自大模型的答案容忍度不同。不同的路由分支通常在检索源、检索过程、配置、模型和提示方面有所不同。

图片

分支结构

具有分支结构的RAG流与条件方法不同之处在于,它涉及多个平行分支,而不是在条件方法中从多个选项中选择一个分支。在结构上,它可以分为两种类型:

前检索分支(多查询,并行检索)。这涉及扩展原始查询以获取多个子查询,然后针对每个子查询进行单独的检索。在检索之后,该方法允许基于子问题和相应的检索内容立即生成答案。或者,它可能仅涉及使用扩展的检索内容,并将其合并为生成的统一上下文。

后检索分支(单一查询,并行生成)。该方法保留原始查询并检索多个文档块。随后,它同时使用原始查询和每个文档块进行生成,最终将生成的结果合并在一起。

图片

REPLUG体现了经典的后检索分支结构,其中为每个分支预测了每个标记的概率。通过加权可能性合集,将不同的分支聚合在一起,最终生成的结果用于通过反馈对检索器进行微调,称为Contriever。

循环结构

具有循环结构的RAG Flow是模块化RAG的一个重要特征,涉及相互依赖的检索和推理步骤。通常包括一个用于流程控制的Judge模块。这可以进一步分为迭代、递归和自适应(主动)检索方法。

图片

迭代结构

有时,单次检索和生成可能无法有效解决需要广泛知识的复杂问题。因此,在RAG中可以使用迭代方法,通常涉及固定数量的迭代进行检索。

图片

迭代检索的一个典型案例是ITER-RETGEN,它迭代进行检索增强生成和生成增强检索。检索增强生成根据所有检索到的知识输出任务输入的响应。在每次迭代中,ITER-RETGEN利用上一次迭代的模型输出作为特定上下文,帮助检索更相关的知识。循环的终止由预定义的迭代次数确定。

递归结构

递归检索的特征特点与迭代检索相反,其清晰依赖于先前步骤并持续深化检索。通常,递归检索具有终止机制作为递归检索的退出条件。在RAG系统中,递归检索通常涉及查询转换,依赖于每次检索的新重写查询。

图片

递归检索的典型实现,如ToC,涉及递归执行RAC(递归增强澄清),逐渐将子节点插入澄清树中,从初始模糊问题(AQ)开始。在每个扩展步骤中,根据当前查询执行段落重新排名,以生成明确的问题(DQ)。在达到最大有效节点数或最大深度时,树的探索结束。一旦构建了澄清树,ToC收集所有有效节点并生成全面的长文本答案来解决AQ。

自适应结构

随着RAG的发展,逐渐从被动检索转向了自适应检索的出现,也称为主动检索,这在一定程度上归功于LLM的强大能力。这与LLM Agent共享一个核心概念。

RAG系统可以主动确定检索的时机,并决定何时结束整个过程并生成最终结果。基于判断标准,这可以进一步分为基于提示和基于调整的方法。

图片

基于调整的方法涉及对LLM进行微调以生成特殊标记,从而触发检索或生成。这个概念可以追溯到Toolformer,其中生成特定内容有助于调用工具。在RAG系统中,这种方法用于控制检索和生成步骤。一个典型的案例是Self-RAG。具体来说:

  1. 给定一个输入提示和前一个生成结果,首先预测特殊标记“Retrieve”是否有助于通过段落检索增强持续的生成。

  2. 如果需要检索,模型生成:评价标记来评估检索段的相关性,下一个响应段,以及评价标记来评估响应段中的信息是否得到段的支持。

  3. 最后评价标记评估响应的整体效用,并选择最佳结果作为最终输出。

企业案例

OpenAI

OpenAI团队的Demo Day演示并不能完全代表OpenAI的实际操作。在努力提高RAG成功率的过程中,OpenAI团队从45%的准确率开始,并尝试了各种方法,确定了最终用于生产的方法。

图片

他们探索了假设性文档嵌入(HyDE)、微调嵌入和其他方法,但结果并不令人满意。通过尝试不同大小的信息块和嵌入不同的内容部分,他们将准确率提高到了65%。通过重新排名和针对不同类型问题定制的方法,他们进一步将准确率提高到了85%。最终,通过结合提示工程、查询扩展和其他方法,他们实现了98%的准确率。

Baichuan

Baichuan是受Meta的CoVe启发而设计的,提出了一种将复杂提示拆解为多个独立并行可检索的查询的方法。Baichuan利用了自己的专有TSF(Think-Step Further)来推断和挖掘用户输入背后更深层次的问题,从而更精确、全面地理解用户意图。

图片

在检索步骤中,百川智能开发了百川文本嵌入向量模型,该模型在高质量的中文数据上进行了预训练,包括超过1.5万亿个标记。他们通过专有的损失函数解决了对比学习中的批大小依赖性问题。这个向量模型已经超越了C-MTEB。

此外,他们引入了稀疏检索和重新排名模型(未透露),形成了一种混合检索方法,将向量检索与稀疏检索并行使用,显著提高了召回率达到95%。

此外,他们引入了自我批评,使大型模型能够根据提示、相关性和效用对检索到的内容进行内省,并进行二次审查以选择最匹配和高质量的候选内容。

Databricks

https://docs.databricks.com/en/generative-ai/retrieval-augmented-generation.html

Databricks作为大数据领域的领先服务提供商,在RAG设计中保持了其独特的特点和优势。

当用户输入问题时,系统从预处理的文本向量索引中检索相关信息,并结合提示工程生成响应。上半部分,即非结构化数据管道,遵循主流的RAG方法,并没有显示出任何特殊性。

在这里插入图片描述

大模型&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.coloradmin.cn/o/2055757.html

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

相关文章

TON链上游戏项目开发基本要求及模式创建与海外宣发策略

TON(The Open Network)是由Telegram开发的区块链平台,以其高速、低延迟、和高扩展性吸引了大量开发者和项目方。TON链上游戏项目作为一个新兴领域,结合了区块链技术和游戏产业,为用户提供了全新的游戏体验和经济激励。…

精益生产咨询:为企业量身定制的高效能蜕变计划!——张驰咨询

在当今这个快速变化、竞争激烈的市场环境中,企业如何保持持续的竞争优势,提高生产效率,降低成本,同时又能快速响应市场需求,成为了每一个企业家必须面对的重大课题。精益生产(Lean Production)作…

第5节:Elasticsearch核心概念

我的后端学习笔记大纲 我的ElasticSearch学习大纲 1.Lucene和Elasticsearch的关系: 1.Lucene:最先进、功能最强大的搜索库,直接基于lucene开发,非常复杂,api复杂2.Elasticsearch:基于lucene,封装了许多luc…

跳槽?面试软件测试需要掌握的知识你Get了吗

想从事软件测试相关的工作,立志成为一名优秀的软件测试工程师。 一名优秀的软件测试工程师,需要扎实的专业基础,包括测试相关技术、编程技能、数据库知识、计算机网络、以及操作系统等等。对于没有测试经验的应届生求职者来说,面…

SpringBoot项目部署时application.yml文件的加载优先级和启动脚本

文章目录 application.yml文件的加载优先级(由高到低)第一级命令行参数第二级Jar包同级目录 /config第三级Jar包同级目录第四级classpath 下的/config第五级classpath 根路径/总结: logback.xml 文件加载顺序当application.yml 和 bootstrap.yml 同时存在时java jar…

淘宝天猫详情接口API:实现轻松购物,探索最具性价比的商品

随着电子商务的蓬勃发展,网络购物已经成为现代人日常生活中的重要部分。在这个浩瀚的电商海洋中,淘宝和天猫无疑是最为耀眼的两大平台。然而,如何在众多的商品中挑选出性价比最高的产品?淘宝天猫详情接口API为您提供了解决方案。 …

基于vue框架的班级管理系统3pdep(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:学生,班级事务,班级,成绩信息,请假,销假,班级信息,教师 开题报告内容 基于Vue框架的班级管理系统 开题报告 一、引言 随着教育信息化进程的加快,学校管理工作逐渐从传统的纸质化、人工化向数字化、智能化转变。班级作为学…

Python与自动化测试:提高软件质量和稳定性

在软件开发过程中,自动化测试是提高软件质量和稳定性的重要手段之一。Python作为一种简洁而强大的编程语言,为自动化测试提供了丰富的工具和库。本文将介绍几个常见的自动化测试案例,并提供详细的Python代码示例,帮助您更好地理解…

前端面试——js作用域

说一说JS的作用域吧 作用域的分类 作用域分为:全局作用域,函数作用域,块级作用域 作用域的特性 全局作用域: 能够让变量和函数在全局位置访问,其挂载在浏览器的window对象下面 其中var定义的变量和function函数存…

怀旧风吹到体育圈,刘翔、郭晶晶等再翻红?明星与体育冠军代言的区别!

今年奥运,怀旧风吹到了体育圈,曾经的奥运冠军如刘翔、郭晶晶等再度成为公众焦点。这段时间,刘翔频频出现在伊利、霸王茶姬等品牌的广告中,还和法国球星姆巴佩合作拍摄了小红书广告。同样备受品牌关注的还有郭晶晶,巴黎…

【Python实现全屏播放视频】

效果如下: 虽然视频比较抽象,但是确实是用python(cv2)实现的 代码: import cv2 from playsound import playsound from threading import Threaddef func1():cap cv2.VideoCapture("mp4/out.mp4") #替换为视频路径ret, frame ca…

记一次长事务方法带来的坑

文章目录 1. 沟通需求2.分析需求3. 波折起4.初版完成5.锁等待超时6.消费者超时7.总结 1. 沟通需求 产品找到我说,咱要将一波数据给更新了,因为涉及业务,就不说具体的内容了,需要支持分页滚动,校对数据后进行推送&…

无人机系统的关键技术

一、飞控系统:是无人机完成整个飞行过程的关键,决定了无人机的飞行性能和稳定性。 二、导航系统:提供无人机所需的位置、速度和飞行姿态等信息,引导无人机按照指定航线飞行。 三、动力系统:提供飞行动力,…

报表工具是开源还是商用的好?如何选择适合自己的报表工具?

在当今数字化转型的浪潮中,制作既精确又直观的报表已成为个人高效工作与企业精准沟通的核心工具。然而,面对市场上纷繁复杂的报表工具选项,选择最适合自身或企业需求的那一款,宛如漫步于迷雾笼罩的森林,挑战重重&#…

React 学习——useMemo

useMemo使用场景&#xff1a;消耗非常大的计算&#xff0c;例如递归 import { useMemo, useState } from react; // 缓存&#xff1a;消耗非常大的计算&#xff0c;例如递归 function fib(n){console.log(fib);if(n < 3)return 1;return fib(n-2) fib(n-1); }const App (…

Python开发工具PyCharm v2024.2全新发布——新增Databricks集成

JetBrains PyCharm是一种Python IDE&#xff0c;其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外&#xff0c;该IDE提供了一些高级功能&#xff0c;以用于Django框架下的专业Web开发。 立即获取PyCharm v2024.2正式版(Q技术交流&#xff1a;786598704&…

Spark2.x 入门:DStream 转换操作

DStream转换操作包括无状态转换和有状态转换。 无状态转换&#xff1a;每个批次的处理不依赖于之前批次的数据。 有状态转换&#xff1a;当前批次的处理需要使用之前批次的数据或者中间结果。有状态转换包括基于滑动窗口的转换和追踪状态变化的转换(updateStateByKey)。 DStre…

ThreeJs学习笔记--GUI(可视化三维改变场景)

引入gui import { GUI } from "three/examples/jsm/libs/lil-gui.module.min.js";//具体的看自己本地threejs目录创建gui&#xff08;实例化gui&#xff09; // 实例化一个gui对象 const gui new GUI(); //改变/设置gui操作界面style属性 gui.domElement.style.ri…

【Protobuf】Protobuf 语法介绍

Protobuf 语法介绍 一、 字段规则二、消息类型的定义与使用1、练习——序列化后并写入文件2、练习——从文件中反序列化后打印输出 三、enum 类型1、 定义规则2、 定义时注意事项3、查看枚举类的操作方法4、 实际使用 四、Any 类型1、 介绍2、查看Any类的操作方法3、 实际使用 …

网络安全审计技术原理与应用

网络安全审计概述 概念 定义:对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作 作用:建立“事后”安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线索及证据,以便发现潜在网络安全威胁行为,开展网络安全风险分析及管理 常…