AIGC的常见概念

生成式模型和判别模型

生成式模型:

模型根据数据集训练得出其所有特点,进而实现判断和生成同类实物的功能

判别模型:

模型根据数据集训练得出,数据间的最大差异性,进而实现判断的功能

Token

  • 定义:大模型处理文本的基本和计费单位
  • Token成本优化:
    • 不同问题采用不同大模型解决
    • 精简Prompt
    • 限制大模型思考方向 或 输出结构
    • 向量检索代替直接输入
    • 限制历史对话

RAG

前导:
  • LLM的生成机制:得出每个token作为下一个词的概率分布,然后选取下一个词,得出该词对应的向量表示,循环往复,因此具备随机性(导致幻觉)。
  • 向量与向量之间的相似度是依据余弦相似度进行计算的,即两个向量的夹角越大,余弦相似度越小,相似性越小
工作流程:
  • 存储阶段将文档切分为文本段,将每个文本段转为向量并保存到向量数据库
  • 检索阶段,将用户Prompt转为向量,去向量数据库中进行搜索得出相似的文本段(召回)并进行排序
问题:
  • 文档的处理和读取
  • 如何给文档进行合理的切分
  • 如何进行embedding、使用什么向量数据库
  • 用户的问题可能需要进行预处理,如重写、扩充、压缩
  • 检索

知识图谱

定义:
  • 存储实体-关系-实体的三元组关系,能减轻RAG产生的幻觉问题(比如:匹配的段落正好缺少某个关键信息)
与RAG的结合:
  • 一个prompt输入进来时,通过知识图谱检索相应的实体关系,对该prompt进行一个扩充,再交给RAG进行检索
  • 通过知识图谱获取信息后,可以继续抽取出一个子图,最后将结果进行合并
问题:
  • 如何构建一个知识图谱

  • 对合并后的内容做过滤

  • 如何让LLM更好的理解这种结构化信息,比如:定义一个结构化的prompt

    template = """
    你是一名产品描述专家。请根据以下信息生成一段描述:
        
    产品名称:{product_name}
    产品特性:
    - {feature1}
    - {feature2}
    - {feature3}
    
    产品描述:
    """
    

微调

定义:
  • 原有大模型在经过大量数据集的喂养后,内部的参数发生改变,参数可以理解为一个n行m列的矩阵
  • 与预训练的区别
    • 微调是在预训练模型的基础上实施的
    • 微调数据量小,但标注精确,针对特定任务,而预训练使用大规模的未标注数据,如互联网上的文本、图像等
    • 微调注重特定功能,预训练注重学习通用的特征

灾难性遗忘

定义
  • 当训练LLM的时候,LLM可能会遗忘之前掌握过的能力,即当LLM某个方面的能力增强时,必然会导致其他能力的削弱
解决
  • 如果该LLM只关注被增强的能力,可以不用管
  • 结合通用的数据和领域数据进行训练
  • 通过小的插件来增强某些能力,比如LoRA,只改变特定部分参数的微调
  • 通过一些限制,使改变后的参数与原来的参数的差异不要太大

提示工程 vs RAG vs 微调应用场景

  • 提示工程:把问题整理成一个更详细的方式传递给LLM
  • RAG:LLM缺乏相应领域知识
  • 微调:自身能力不足

TopP、TopK

  • TopP:只考虑累积概率大于p的token集合,累积概率是指:对每个token的出现概率按照降序排序,然后进行区间求和(求和的结果恰好大于等于p的为一个区间)

  • TopK:只采样作为下一个token的概率分布最高前k个token

RLHF(人类反馈强化学习)

  • 定义:AI生成一个回复,通过奖励模型判断这个回复的好坏

混合专家模型(MoE)

  • 定义:MOE 模型让多个 expert 共同决策,token 经 router 选择合适的 expert 输出结果,遵循稀疏(只激活对应的experts)、多样化(各expert专项能力不同)、合理分配原则

自注意力机制

  • 定义:Transformer 模型的核心是自注意力机制,其通过分析单词上下文确定含义,用加权平均更新向量。例如:对于一个句子中的一个单词,通过其他单词(包括自身)对该单词的影响分配一个权重,然后进行一个加权求和得到该单词新的向量(即得出该单词真正的含义)。

量化、蒸馏

  • 量化:量化是一种将高精度数值转换为离散值或低精度数值的过程
  • 蒸馏:将prompt同时交给大模型(teacher model)和想要训练的小模型(student model),然后希望他们的输出是匹配的,即小模型去模仿大模型,起到节省空间和加速模型的推理的作用。

模型的泛化能力

  • 定义:"举一反三"的能力,即让模型通过训练学出有价值的方法论和规律用来解决未知的问题。

幻觉

场景:
  • 上下文矛盾
  • 与prompt的要求不一致
  • 与事实矛盾
原因:
  • 数据质量差(信息不准确或缺乏多样性)
  • 大模型泛化能力差:在训练数据上表现得非常好,但在新的、未见过的数据上表现较差(过拟合)
  • token的生成本身是随机的:得出每个token作为下一个词的概率分布,然后选取下一个词,得出该词对应的向量表示,循环往复,因此具备随机性(导致幻觉)。
  • prompt不明确
改善:
  • RAG:经常用于垂直性领域
  • 模型微调
  • 改善Prompt:设定角色,链式思考模式,明确要求,规则约束
  • 工作流
  • 反馈机制
  • 模型分工
  • MCP和Function Call

工作流

工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度

多模态

多模态 AI 具备处理 文本、图片、视频、音频等多种输入 的能力,并且可以根据用户的需求,在不同模态之间进行转换和生成

Agent

Agent 是一个自主决策的智能体,能够感知环境、调用工具、规划任务,并自主执行(跟普通AI最本质的区别)操作以达成目标,

MCP与Function Call

  • MCP:统一大模型(LLM)与 MCP 工具之间的通信接口的协议。开发者基于这套协议去实现一些工具,MCP 工具只需实现MCP规定的某些标准接口,就可以独立于调用它的大模型而运行,并在自己的服务器上部署和维护,即MCP Server。这样MCP Client只需要做一些基本配置就能让大模型自己去调用对应的工具。
  • Function Call:这是LLM直接调用开发者预先定义好的本地函数。也就是说,LLM 会根据上下文生成特定格式的函数调用请求,直接触发本地代码执行,然后将结果返回给LLM。
  • 区别:MCP基于工具调用,将原本部署在LLM的工具将其部署在MCP服务器中,由LLM和MCP服务器交互,使得解耦、方便管理和安全(HTTP接口层面)。

技术可行性分析

  • 大模型擅长:

    • 理解能力/总结
    • 信息提取能力
    • 创意生成
  • 大模型不擅长:

    • 专业深度
    • 稳定/安全
    • 推理

你可能感兴趣的:(AI,AIGC,java,web)