赞
踩
llm——Large Language Model(大语言模型),源于语言模型。
语言模型:
(1)用于预测一个句子中的序列出现的概率。
其计算方法从最开始的基于语料库中各个序列出现的频率进行预测,由于无法预测语料库中之前没有出现的序列。
进行改进后,计算方法为:
(2)计算一个序列中前n-1个序列出现的条件下,n个序列出现的概率,由于随着序列n的增加,计算量过大,模型难以继续学习。
加入神经网络的知识进行改进后,计算方法为:
(3)使用前馈神经网络(FFNN)来学习单词的分布式特征表示,将语料库中的单词进行向量表示,使用神经网络学习单词之间的关系,实现文本的生成。由于FFNN只能处理固定长度的序列,
加入RNN,解决变长 的序列的学习问题,但是导致了训练过程中梯度过大和梯度小时的问题。
(4)使用长短期记忆模型(LSTM_RNN)解决了梯度过大和梯度消失的问题,但是神经网络模型具有较深的网络结构,大多数NLP任务的监督数据集规模较小,容易在这些数据集中发生拟合,泛化性能较差,难以在下游任务应用。
(5)使用预训练技术解决泛化问题,先在大语料库中进行模型训练,再针对不同的下游任务使用较小的数据集进行进一步微调,泛化性能明显改善。
(6)但是预训练阶段模型学习到的词嵌入与上下文无关,迁移到下游任务仍需重新训练调整,针对此问题,提出解决方案:在句子级别进行预训练,使用嵌入语言模型,Embedings from Language Models,ELMO),采用正向和反向的双层LSTM编码器结构,学习词的上下文表示,ELMO在下游任务生带来了巨大的改进,但是其常被作为特征提取器生成上下文词嵌入向量,并输入到下游主模型中,而模型中的其他部分仍需从头有开始训练
(7)因为(6)的局限性,研究人员引入Transformer 架构的神经网络模型,使用大量文本数据训练模型,使其理解语言规则和模式,因此能做出更好的预测,在多项NLP任务重表现优异。
语言模型——>神经网络语言模型——>基于transformer的神经网络语言模型——>基于大规模数据的语言模型——>(大语言模型规模超过10亿参数)
闭源:GPT系列、Claude 系列 Palm/Gemini系列、文心大模型、星火大模型
开源:LLaMa系列、通义千问、GLM系列、BaiChuan系列
LLM具有涌现能力:
上下文学习、指令遵循、逐步推理
LLM作为基座模型支持多元应用能力
支持对话作为入口的能力
巨大的规模、预训练和微调、上下文感知、多语言支持、多模态支持、伦理和风险问题、高计算资源需求
自然语言处理领域:写文章、回答问题、翻译语言
计算机视觉领域:让计算机理解图像和文字
实现通用人工智能的可能性
大模型有较强的能力,但是在专用领域的问题上可能出现答非所问、回答不精准、无法回答最新的知识、内容不可追溯、领域专业知识能力欠缺、推理能力受限、应用场景适应性较弱、长文本处理能力较弱等问题,为解决这一问题,出现了RAG技术。
为了实现一个专业领域的模型可以实现的技术有微调或者RAG技术。
但是微调需要重现训练全部数据、依旧存在前面模型的问题,需要定期训练,消耗较大。不能从根本上解决问题。
什么是RAG?
一个完整的系统,分为四个阶段:
数据处理、检索阶段、增强阶段、生成回答阶段
将新的数据以外挂知识库的形式并入,将用户的问题和外挂知识库一起进行向量化,提交给大模型进行检索,找出模型中匹配最高的top-k个答案,将相关信息给大模型,生成为答案输出给用户,比起微调RAG技术优势极为突出。
我们希望可以利用OPenAI提供的API或者私有化模型开发一些自己专属的应用程序。
要创建这一一个程序需要很多流程,许多机构和个人推出了开源框架,帮助开发者快速构建基于大模型的端到端的应用程序或者工作流程。LangChain就是其中一个关注度较高的框架。可以简化应用程序的开发流程。
LangChain的6个核心组件:
与模型交互的接口——>模型输入/输出(MOdel I/O)
与特定应用程序的数据进行交互的接口——>数据连接(Data connection)
将组合实现端到端应用——>链(Chains)
用于链的多次运行之间持久化应用程序状态——>记忆(Memory)
扩展模型推理能力,用于复杂的应用的调用序列——>代理(Agents)
扩展模型推理能力,复杂应用调用序列——>回调(Callbacks)
利用大模型api或者开源模型开发对应需求的应用。
通过Prompt Enginnering实现大语言模型的控制。
大模型开发的一般思路:
不大幅度改动大模型,而是将其作为工具调用,通过Prompt Enginnering、数据工程、业务逻辑分解等手段充分发挥大模型的能力,适配应用任务。
大模型应用开发的流程:
确定开发目标——>设计功能——>搭建整体框架(特定数据库+prompt+通用大模型)——>搭建数据库(向量数据库,收集数据,进行预处理,向量化存储到数据库中。数据处理:常用pdf\ppt\markdown \html 向纯文本的转化,错误数据、异常数据、脏数据清洗,预处理后的数据切片、向量化构建出个性化数据库)——>PromptEnginnering(逐步迭代构建优质的PromptEnginnering,构建一个来源于实际业务的小型验证集,基于小型验证集设计满足基本要求、具备基本能力的prompt)——>验证迭代(不断发现BadCAse 针对性改进PromptEnginnering,提升系统效果、性能)——>前后端搭建(搭建前后端,设计产品界面,让我们的应用成为产品)——>体验优化(应用上线体验,用户体验跟踪,针对性改进优化)
环境配置问题:找不到txt文件,解决方法:cd llm-universe
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。