首页 > 其他分享 >LLM大语言模型-ChatGPT、LLaMA、ChatGLM、文心一言、通义千问

LLM大语言模型-ChatGPT、LLaMA、ChatGLM、文心一言、通义千问

时间:2024-07-25 17:12:04浏览次数:15  
标签:LLM 训练 模型 文心 LLaMA GPT gpu 参数 数据

一、LLM与PLM主要区别:

1. LLM表现出PLM所没有的Emergent Abilities(涌现能力),这些能力是LLM在复杂任务上表现惊人的关键,使得得人工智能算法前所未有的强大,但这些能力是如何获得的还不具有理论支持;
2. LLM将彻底改变人类开发和使用人工智能算法的方式。与小型PLM不同,访问LLM的主要方法是通过接口API;
3. LLM的发展不再明确区分研究和工程。训练LLM需要在大规模数据处理和分布式并行训练方面具有丰富的实践经验。

“涌现能力”(Emergent Ability)指的是在小型模型中并不存在,但在大型模型中“突然出现”的能力,其中包括常识推理、问答、翻译、摘要等。

 

二、大模型应用与幻觉问题

  这些大模型都广泛应用于自然语言处理领域,包括但不限于对话系统、文本创作、知识问答、逻辑推理、机器翻译等。由于技术特点和性能表现的不同,它们在具体应用场景中的表现也会有所差异。例如,ChatGPT和Claude在对话系统中的应用较为广泛,而LLaMA和PaLM 2则可能更适用于需要多语言支持和复杂推理能力的场景。

  幻觉问题是大型语言模型(LLM)面临的一个关键挑战,它指的是模型生成看似合理但事实上错误或无意义信息的现象。这一问题在LLM广泛应用的背景下引起了安全和伦理方面的担忧,因为这些错误信息可能会误导用户,导致不可预测的后果。

 

三、LLM架构分类

大模型均是基于Transformer架构进行开发的,LLM架构可以分为以下三种类型:
●Encoder-Decoder: 输入双向注意力,输出单向注意力。目前,只有少数LLM是基于编码器-解码器架构构建的。(T5、 BART)
●Causal Decoder:因果解码器架构采用单向注意力掩码(从左到右),以确保每个输入token只能关注过去的token和它本身。GPT系列模型均是基于此架构。(GPT、 LLaMA)
●Prefix Decoder: 输入双向注意力,输出单向注意力。前缀解码器架构(又称非因果解码器)修改了因果解码器的屏蔽机制,使其能够对前缀tokens进行双向关注,并仅对生成的tokens进行单向关注。(GLM)

不同架构的优缺点:
●Encoder-Decoder:对输入问题的理解与编码能力更强,在偏理解的NLP任务上效果好,但长文本生成任务上效果较差,训练效率低。
●Causal Decoder:自回归语言模型,预训练和下游应用是完全一致的, 文本生成任务效果更好。训练效率高,zero-shot能力强, 具备Emergent Abilities.
●Prefix Decoder: 上述两种架构的折中。训练效率低。

 

四、GPT系列、ChatGPT(Open AI)

GPT-1

模型架构是12层Transformer Decoder结构,分为预训练阶段与微调阶段。
1.预训练阶段:将语言建模任务作为训练目标,就是根据已知的词预测未知的词。在这里设定一定的窗口大小,即根据有限的词预测下一个词。
2.微调阶段:给定一个有监督任务的数据集,给定输入序列X1....Xm,经过Decoder作为下游任务表示的编码器,取Decoder的输出h作为嵌入表示, 输入到线性层或softmax, 预测标签y。

GPT-2

  模型实际上只是在GPT-1上做了一点简单的修改。GPT-2第一阶段同样也是预训练一个语言模型,但是48层Decoder且数据集更大;而第二阶段,它采用的是zero-shot,即不再使用有标签的数据对模型进行fine-tuning,而是直接给出一个问题的描述,然后模型直接进行inference。但是,由于一个通用的模型会在许多任务上进行训练,那么对于同样的输入,可能会对应到多个输出,模型建模的概率是P(output | input),而在GPT-2中提出了 任务建模,即P(output | input,task)。

  GPT-1需要预训练加微调,GPT-2中zero-shot出现,不用微调模型,提示模型完成什么任务,统一的生成式大模型。而且避免死循环,希望模型生成多样性,增加采样策略。温度T越低越稳定,温度越高多样性越多。

●GPT-3

  GPT-3于2020年提出,将模型参数扩展到了更大规模,采用96层Decoder, 达到了1750亿,它以小样本或零样本的方式使用LLM,因为其具有极强的ICL(In-Context Learning(上下文学习能力), 可以指导LLM理解以自然语言文本形式给出的任务。
  GPT-3可以被视为从PLM到LLM进化过程中的一个重要里程碑。它通过实证证明,将神经网络扩展到大的规模可以大幅增加模型的能力。

●GPT-3.5/instruct GPT

  增加了代码数据作为训练集的模型。原始的GPT-3模型(在纯文本上进行预训练)的一个主要限制在于缺乏复杂任务的推理能力,例如完成代码和解决数学问题。为了增强这种能力,OpenAI提出了在大量GitHub代码上微调GPT模型Codex, GPT-3.5是在其基础上开发的。

  GPT-3与GPT-1和GPT-2相比,用了更多的数据和更大的神经网络,可以根据简单的提示自动生成文本,智能回答各种问题,但是不太擅长遵循用户的说明,偶尔会产生无用或者错误的输出,原因在于它只是试图根据数亿训练句子中的信息,重复生成下一个单词,却不知道该如何针对用户问题,生成良好答案。 

  为此Open AI开发一个三步方案,来解决这个问题,这就是GPT-3.5或者叫instruct GPT,它其实是很多个有细微差别的模型的总称。1.首先让标注人员自己写问题和答案,同时人工回答外部用户提出的问题,用来进行有监督微调SFT,共同训练原始的GPT-3使其产生更好的答案。然而人工撰写高质量的答案费时且昂贵,于是Open AI想出了更好的解决办法。2.让GPT-3为一个问题生成多个答案,由人类按照有用程度进行排序,训练了一个新的奖励模型,为每个问题和答案组合提供一个评分,标明答案的好坏,注意人类不参与创造答案只参与排名。3.最后又收集外部用户提问,SFT模型生成答案,使用奖励模型评分,进一步微调训练SFT模型,反复迭代。这个过程就被称为基于人类反馈的强化学习(RLHF)。 

●ChatGPT
  ChatGPT是一种基于GPT-3.5或GPT-4模型的对话语言模型,用于模拟人类对话和生成对话回复。到目前为止,它是Al历史上最强大的聊天机器人。

  ChatGPT使用了和instruct GPT相同的方法,用人类反馈强化学习(RLHF)来训练模型,只不过训练数据是对话而不是问答对了。1.监督微调阶段,人类AI训练员提供对话数据,与instruct GPT的数据集混合,并转换为对话格式,训练模型。2.然后随机选择对话,并采样生成备选答案,让AI标注人员对它们进行排名,生成奖励模型。3.使用强化学习算法微调模型,多次迭代。其效果和instruct GPT更进一步,表现优异。
●GPT-4
  GPT-4于2023年3月发布,将文本输入扩展到多模态信号,在解决复杂能力上具有更强的能力。并且引入了一种red teaming的机制来减少有害生成或生成有毒内容的可能性。

  GPT-4通过文本和图像数据间的对比学习,建立二者在特征空间中的映射关系,此外支持长文档输入(ChatGPT是3000,GPT-4是25000,更多数据的训练,以及RLHF(基于人类反馈强化学习)模型的加持,使得GPT-4的准确率比GPT3.5又有了很大提升。

五、PaLM(Google)

  2022年4月第一次被提出,该模型使用新的机器学习系统Pathways进行训练的,因此称新模型为Pathways Language Model(PaLM)。Pathways是Google新一 代机器学习平台,能够跨越数千或数百万个任务进行泛化,理解不同类型的数据,实现多模态模型。
  PaLM使用了标准Transformer架构的Decoder,但做了一些修改。 对于MLP的中间激活函数使用SwiGLU激活函数。在每个Transformer块中使用"并行"的形式,而不是标准的"序列化"形,并行的方式将会为训练带来大约15%的提速式。标准的Transformer会使用k个注意力头,query,key,value均被投影为k个,但PaLM只将query投影为k个,每个头共享key,value(GQA,分组查询注意力)。 使用RoPE嵌入层(旋转位置编码),RoPE嵌入层是一种用于位置编码的改进方法,它允许模型动态地学习位置信息,有助于提高自然语言处理任务的性能。共享输入层和输出层参数。没有biaes。

六、LLaMA(Meta Al)

  LLaMA (Large Language Model Meta Al)是Meta Al发布的一种大型语言模型,和GPT一样都是由Transformer Decoder组成,在生成文本、进行对话、总结书面材料等复杂的任务方面表现出了巨大的潜力。LLaMA的性能非常优异:具有130亿参数的LLaMA模型「在大多数基准上」可以胜过GPT-3 (参数量达1750亿)。LLaMA优势在于其只使用公开可用的数据,训练的token远高于其他大参数模型,在更多的token.上训练的较小的模型,更容易重新训练并针对特定的下游任务使用情况进行调整。
  与普通的Transformer Decoder不同之处在于,使用SwiGLU激活函数。为了提高训练稳定性, LLaMA对每个Transformer子层的输入进行归一化,使用RMSNorm归一化函数。使用RoPE嵌入层(旋转位置编码)。
  LLaMA动机:开放和高效(都采用公开数据集)。认为相同的计算预算,增加训练数据比扩大模型参数有效。

  LLaMA1不能商用,LLaMA1采样开源数据,common crawl2017-2020数据,去重去除非英文数据,用线性模型进行质量分类过滤,书和维基百科用了2个epoch,其他1个。模型架构用transformer decoder,做了4点修改,和GPT-3一样将normaliztion从每个字层的输出位置移动到了输入位置,将layer norm改为RMSNorm(去掉平移和偏差数)。采样旋转位置编码,采用SwiGLU激活函数(在0值处更加光滑,远离0值和ReLU很相似),SwiGLU可以提升模型精度但计算指数函数,计算代价较高。

  LLaMA2可以商用,加大数据量,有三个版本,首先在处理好的无标注文本数据上进行自回归预训练,得到LLaMA2,然后进行监督微调训练,通过人类偏好数据训练两个模型,一个是安全奖励模型,一个是有用奖励模型,然后再利用强化学习对模型训练,最终得到LLaMA2-Chat。在最大的模型上引用GQA(分组查询注意力,对多头自主意力的优化,可以减少模型参数量,将query分组每一组对应一个KV)。LLaMA2使用人类反馈强化学习(RLHF)进行迭代优化,先训练一个奖励模型,然后在奖励模型的引导下,通过拒绝抽样和近端策略优化(PPO)的方法迭代模型的生成策略。LLaMA2的性能接近于GPT-3.5。拒绝采样即模型生成多个回复后,选择最佳的回复作为模型的输出,如果生成的回复不符合预期,就会被拒绝,直到找到最佳回复,从而帮助提高模型生成质量 使其更符合人类期望。

  LLaMA3开源模型,字典更大,提高推理效率,序列增大,所有模型都用GQA。训练数据全部是公开数据,代码数据(可以提高推理能力)比LLaMA2多了4倍,5%高质量非英语数据,涵盖30多种语言,对数据进行清洗,微调阶段还人工标注了1000万样本,微调后的模型叫LLaMA3-instruct,用到了SFT,拒绝采样,PPO,DPO。

 

七、GLM、ChatGLM(智谱 AI)
GLM

  目前预训练语言模型主要有三种类型:自回归模型(GPT等) 、自编码模型(BERT等) 和编码器-解码器模型(T5) 。这三类语言模型各有优缺点,但没有一种框架能够在所有的自然语言处理任务中都表现出色。
  清华大学提出了一种基于自回归空白填充的通用语言模型(GLM), 来解决这个挑战。GLM通过添加二维位置编码(第一个维度表示片段在原始文本中的相对位置,第二个维度表示片段内部的相对位置)和允许任意顺序预测空白区域(通过改变填空的长度和数量来适配做NLU任务还是做生成任务),改进了空白填充预训练,采用DeepNorm梯度更加稳定,使用旋转位置编码更有效且更容易实现双向相对注意力。在自然语言理解任务上超越了BERT和T5。

  原始BERT采用post-LN(归一化在子层后面),但post-LN结构容易发散,近年来模型普遍采用pre-LN(归一化在子层前面)。但在数百亿/多模态混合精度训练中,pre-LN也不稳定,pre-LN的变体Sandwich-LN(子层前后都有归一化,像一个三明治)缓解这一现象。GLM-130B实验发现DeepNorm(调整残差,更改初始化)更加稳定。混合精度训练,激活函数重演(时间换空间,前向计算时不保存激活函数,并在反向传播过程中重计算),数据并行(zero优化器,分布式随机梯度下降,模型并行(张量并行和流水线并行)。GLM考虑模型稳定性attention层softmax in32避免上下溢出,调小embedding层梯度,缓解前期梯度爆炸,使用DeepNorm而非preLN稳定训练。

GLM模型的基础架构是单个Transformer,并做了几点修改:
1.重新排列了层归一化和残差连接的顺序;
2.使用了单层线性层来进行输出词的预测;
3.用GeLUs替换了ReLU激活函数。

ChatGLM

  ChatGLM是清华技术成果转化的公司智谱AI研发的支持中英双语的对话机器人。ChatGLM是一个基于千亿基座模型GLM-130B开发的对话机器人,具有问答、多轮对话和代码生成功能。ChatGLM有两个版本:千亿参数的ChatGLM (内测版)和62亿参数的ChatGLM-6B (开源版)。
  ChatGLM是一个开源的,支持中英双语的对话语言模型,基于GLM架构,使用了和ChatGPT相似的技术,针对中文问答和对话进行了优化。经过约1T标识符的中英双语训练,辅以监督微调,反馈自助,人类反馈强化学习等技术的加持,ChatGLM已经能生成相当符合人类偏好的回答。

 

八、ERNIE 文心一言(百度)

  文心一言,语言理解与生成 ERNIE,BERT是预测一个token,问题是学到的是局部信号,缺乏对句子全局建模,很难理解句子中实体的语义。ERNIE 1.0 利用知识增强,对句子中实体或短语完整预测,建模词,短语粒度知识的语义,建模实体知识。ERNIE 2.0希望模型除了短语知识之外,也能学到预料中更多的知识,比如词法句法语义的信息。首先有个模型,让模型在数据和知识中以自监督方式,构建一系列任务,通过持续加入任务的方式进行持续学习,再用到各种下游任务中更新模型。ERNIE 3.0 从大规模知识图谱和海量无结构数据中学习,构建通用语义表示,突破多源异构数据难以统一表示与学习的瓶颈。融合自编码和自回归结构即可以语言理解又可以语言生成。利用飞桨4D混合并行技术,高效支持超大规模模型训练。

  文心一言在LDM(Latent diffusion Model)模型上做了两点改变,一是在有条件图片生成的时候把条件输入改变了一下,百度官方称呼是知识增强(文本知识和视觉知识)扩散模型(论文中说一个理想的文本生成图片的模型应该能把注意力集中到用户输入提示语中的所有关键词,为了区分虚词和关键词,采用了一个工具包来提取用户输入的提示语中的词汇知识,就是把用户输入的词汇做了一个区分,提高了一些关键词权重。在视觉知识中也是加重了一些输入的权重),希望提高扩散模型的细粒度语义感知,就是希望模型能更准确理解用户输入的文字。第二是在去噪阶段使用了不同的去噪模型,文心大模型是给这些去噪的过程分类,然后针对不同的类用不同的去噪模型,百度起名为混合去噪专家网络(DDPM先给图片一片片加噪音直到图片完全变成一片雪花,之后再给模型一步步去噪音直到图片还原,过去用一种模型给这个过程去噪就行了)。文心一言既没有改变模型的结构,也没有降低模型的迭代次数,更没有降低模型的复杂度,训练使用1.7亿个图文对。

 

九、通义千问(阿里) 

  通义千问,有多个版本,有的支持文本,有的支持图像以及音频,有的推理代码生成等。Chat模式针对任务数据和奖励模型,弱于GPT-4。预训练过程数据去重和数据增强平衡稀疏数据,加入指令数据。BPE编码,单个数字编码。

  通义千问基于LLaMA结构调整:1.tied embeddibg改为untied embedding(原来输入和输出embedding实际共享一套的,节约memory空间,现在把它们拆开了 。2.位置编码采用ROPE编码(旋转位置编码)。 3.在其他层去除bias,在QKV的注意力机制层加入bias 。4.RMSNorm替代LN 。5.奖励函数采用SwiGLU。SFT中准备不同对话风格的数据,过滤暴力和偏见色情数据,采用chatml-style格式 (格式可能对模型表现有很大影响)。RLHF中reward模型,一问两答数据,人工反馈数据考虑提问的复杂度和多样性。

十、SwiGLU激活函数
SwiGLU激活函数的计算可以表示为以下几个步骤: 
1.将输入向量分为两个部分。
2.对每个部分应用不同的线性变换,通常是通过矩阵乘法和偏置项来完成。
3.使用门控机制来选择两个变换的输出中的一个,通常是通过Sigmoid函数将输入的某些部分映射到0到1之间的范围,并将其用作两个输出之间的权重。
4.最后,将被选择的变换的输出相加,并将结果传递给下一层。
  SwiGLU激活函数的引入旨在改进神经网络在捕捉输入之间复杂关系方面的性能。这种函数通常用于Transformer的不同变体中,以提高自然语言处理和语音处理任务的性能。

十一、模型微调方法

●SFT有监督微调,用少量标签数据,改参数 

prompt提示词微调,在输入序列矩阵里嵌入额外的token(这些token单词短语甚至背景介绍,可以在词汇表中找到,在输入的文本序列加很多提示,告诉模型应该朝着什么方向回答,按照什么步骤回答,甚至一些背景知识,背景术语都可以放到输入序列里面)可改可不改参数,一般不改 ,重点是寻找适合的prompt和模式,并且把这个固定下来,就是在这一类问题上加上这些提示词,或者加到某一个位置,就会让模型回答的很好,寻找出这种模式或者prompt出来,然后不断用工程化方法固定下来,再问这些问题时就可以用原来的prompt或者模式,让模型输出答案。 

prefix前缀微调,嵌入自有的向量/虚token,不但把虚token拿过来,还把虚token对应的自有的向量一并拿过来 一起嵌入进去,自有的向量来自于我自己的训练,或者自己从其他地方得到的,反正是和这个模型没有关系的,不改原有参数,会改虚token矩阵中的参数。 

LORA低秩矩阵适应微调,秩指矩阵中非零行的数量,在各层叠加低秩矩阵,参与计算,不改变原有参数,改低秩矩阵中的参数。  

●AT adapter tuning适配器微调,在各层前增加一个小型的神经网络/矩阵/适配器,不改原有参数,改适配器里的参数。

RLHF基于人类反馈强化学习,建立奖励模型,对模型的输出给予奖励和惩罚,模型的损失函数目标变为最大化奖励,改参数。

 

十二、并行计算

  并行计算或分布式计算,计算过程相互之间不依赖,就可以把不同的计算单元计算过程放到多台计算机上多台显卡上。

数据并行

  数据并行,一张卡训练比较慢,特别是在18年以前,模型没有特别大,一个数据集有数万数据要训练好几天,可以用多张卡,把数据分成多份,多张卡同时训练,就比较快。每张卡复制一样的模型,每张卡送不同的数据,进行一次反向传播后获得梯度,做一次all-reduce把每一张卡的梯度聚合在一起,取平均再分发回各张卡上,这样保证我每次每张卡上更新的梯度是相同的。要求:单卡可以放下模型,多卡训练内存冗余。

模型并行

1.张量并行:矩阵相乘,这种所谓点积计算的过程是最前面这个矩阵的行乘后面矩阵的列,就形成了结果矩阵的一个值,和这个矩阵的其他行和其他列没有关系。所以就可以把矩阵的两个大矩阵的行和列拆开扔到不同的GPU上进行相乘,然后再把结果拼接成一个矩阵。

2.流水线并行:pipeline流水线并行,传统数据并行叠加模型并行的这种混合并行模式性能欠佳,时间太长,需要引入流水线并行。将模型在空间上按stage进行切分,每个stage只需执行网络的一部分,大大节省内存开销,同时缩小了通信域,缩短通信时间。流水线并行是将神经网络中的算子切分成多个阶段stage,再把阶段映射到不同的设备上,使得不同设备去计算神经网络的不同部分。即把模型的不同层放到不同的卡上去,每一张卡计算不同层,计算完成后送到第二张卡上去…最终得到输出。简单的将模型切分到多设备上并不会带来性能的提升,因为模型的线性结构到同一时刻只有一台设备在工作,而其他设备在等待,造成资源浪费。GPipe:为了提升效率,流水线并行进一步将小批次minibanch切分成更细粒度的微批次microbatch,在微批次中采用流水线式的执行,减少气泡,提升效率。但microbatch还是有很多气泡,因为正向计算后要等反向计算。1F1B:在流水线并行实现中对执行顺序进行了调整,来达到更优的内存管理。在0号microbatch的正向执行完后立即执行反向,这样做使得编号为0的microbatch的中间结果的内存得以更早的释放,进而确保内存使用的峰值更低。

 

十三、Pytorch数据并行详解:

DP(data parallel)数据并行,从硬盘读取数据,通过一个gpu进程将数据分成多份,给每个gpu一份,每个gpu独立进行网络前向传播,计算出各自的梯度,然后其他gpu都将自己计算的梯度传递到gpu0上,进行平均,gpu0用全局平均的梯度更新自己的网络参数,然后将更新后的参数广播到其他gpu上。在分布式训练时,最关键的任务是如何减少多卡之间的通信量,以提高训练效率,在分布式训练任务里,可能一半的训练时间都被多卡之间的通讯占用。DP中对gpu0来说gpu数量越多,总的通信量越大,对其他gpu来说不论总的gpu数量是多少通信量都一样。DP存在的问题:1.单进程多线程,Python GIL只能利用一个CPU核。 2.gpu0负责收集梯度更新参数,同步参数,通信计算压力大。
DDP(Distributed Data Parallel),PyTorch中替代DP的分布式框架,ring-allreduce,同时发送和接收,可以最大限度利用每个显卡的上下行带宽。多进程,每个进程为自己的gpu准备数据,和其他gpu进行通信,每个进程用各自的数据进行神经网络的前向和后向传播,计算自己的梯度,通过ring-allreduce同步多个gpu计算出来的梯度,同步后各个gpu的梯度就相同了,用各自的优化器更新。每个进程发送和接收的通信量都是2参数量,和集群大小无关。
DeepSpeed zero-1 零冗余优化器,DDP中每个gpu都要存储完全相同的优化器状态,产生了冗余。zero-1让每个gpu只存储一部分优化器状态,整个系统只有一份完整的优化器状态,消除冗余。每个gpu汇总后只负责更新一部分模型参数,反向传播完毕后,每个gpu都拿到自己优化器对应部分参数的梯度均值,然后将梯度转化为FP32进行缩放更新优化器里的一阶二阶动量,最后优化器更新FP32参数,接下来更新各自优化器对应的FP16的网络参数,然后再把各自更新后的FP16的网络参数广播给其他gpu完成一次训练。每个进程发送和接收的通信量都是2参数量,和集群大小无关,与DDP相同。
DeepSpeed zero-2把FP16的梯度也按gpu进行划分,因为每个gpu只负责更新一部分参数,那么只要保存这一部分参数的梯度值就可以了。每个进程发送和接收的通信量都是2参数量,和集群大小无关,与DDP相同。
DeepSpeed zero-3对参数也进行按gpu划分,让参数在系统里也是零冗余,前向传播时遇到自己没有的参数靠其他gpu来广播,计算完之后立即丢弃这部分参数并不占用显存。后向传播计算梯度时依然需要参数,再广播一次,使用完后就立即丢弃节省显存。每个进程发送和接收的通信量都是3参数量,和集群大小无关,是DDP的1.5倍。
  一般实际中多采用zero-2,因为没有增加通信量但大大减少显存占用。

 

十四、BGE

  BGE在通用文本上预训练,通用文本无监督微调,特定任务有监督微调。采用RetroMAE模型架构,非对称的encoder-decoder结构,encoder部分是由bert组成(12层Transformer的encoder),而它的decoder部分仅有由一层transformer的decoder构成。整个预训练的任务则为:在encoder阶段,对被掩码的部分进行重构,在decoder阶段对整个句子进行重构。decoder结构,RetroMAE的作者在这一部分做了一些改进,1.attention去掉cross attention,直接将encoder中的sentence的编码融入self-attention中。2.attention掩码矩阵采用随机的方式。除了第一行,每个token都可以看见第一个元素和随机采样的词,对角线位置也是一定会被mask掉的,最后得到每个token的context vector。

 

十五、LangChain(LLM编程框架)

  LangChain一个大模型开发框架,可以使我们开发AI应用时更加方便快捷去和大模型进行对接。使用LangChain可以帮助我们从大模型的各种API细节中脱离出来,让我们专注于业务功能的一个开发和实现。

 

十六、DataMotto(数据处理工具)

  DataMotto是一款基于人工智能的数据处理工具,该工具能够自动清洗和整理数据,提高数据准确性和可靠性。通过使用DataMotto,非专业人士也能轻松处理和分析数据。

十七、ALGC (Al-generated content)

  AIGC是指由人工智能生成的内容,可以包括文章、新闻、广告等各种类型的创作。它是一种自动化的创作方式,可以减少人工劳动,提高产出效率。

 

十八、RAG(检索增强生成,Retrieval-augmented Generation)

  RAG技术结合了大语言模型的强大生成能力和检索系统的精确性。允许模型在生成文本时,从外部知识库中检索相关信息,将检索得到的信息和问题一同输入到模型中,从而提高生成内容的准确性,相关性和时效性,不仅增强了模型的回答能力还减少了生成错误信息的风险。

标签:LLM,训练,模型,文心,LLaMA,GPT,gpu,参数,数据
From: https://www.cnblogs.com/yqw0710/p/18323155

相关文章