搞懂大模型中的提示工程、RGA、微调

近几年AI产品的大火带来了新一轮的技术潮,尤为突出的是以生成式的AIGC模型。例如OpenAI公司的ChatGPT、百度的文心一言、阿里巴巴的通义千问、华为的盘古大模型等等。

那么对于提示工程、RAG(检索增强)和微调,在工程当中,我们应该怎么去选择呢?

首先我们需要了解大模型的流程:
1.数据收集:大量的文本数据作为训练数据;
2.模型搭建:构建LLM大模型
3.训练模型:将收集的数据作为训练数据训练搭建好的LLM模型
4.使用模型:喂入关键词,模型自动组合生成对应的回答;

这里就存在一些问题:
1.我们收集到的数据一定是最全面,最可靠的吗?
2.LLM一定是适用任何场景下吗?
3.模型生成的内容一定是可靠的吗?是否是正确的?
4.模型的稳定性和可靠性以及迁移性怎么样?

假设一个模型训练完成,得到一个LLM大模型,当用户喂入一个问题时,模型的回答是错误的,并非正确的答案。那么错误的原因是什么呢?
1.问题不够清晰,没有问清楚问题;
2.模型缺乏相关的知识;
3.模型的能力不足;
那么这三种原因就对应了我们大模型中的三种技术:

提示工程

当用户的问题不够清晰,不能够让模型理解相对应的问题,从而导致模型展示出来的结果是错误的。这里我们需要用到“提示工程”来解决这一问题;

其实本质上就是将问题转变一种询问方式,或者换一种说法,让模型更容易理解;

RAG(Retrieval-augmented Generation)

当模型缺乏相关知识的时候就会用和这部分问题相似度最高的内容回答,但这部分内容往往不是最佳的答案,或者说不是正确的答案。因此,模型需要了解有关这个问题更加简明的、容易理解的内容输送给模型,这样模型给到的反馈才会更加准确;

例如你问了我一个关于脑机接口面的问题,由于我对脑机接口这个行业不了解,欠缺该领域的知识,所以目前我是帮不到你的。那我该怎么办呢?

一个比较好的解决方案就是,你可以围绕问题,把脑机接口行业相关的一些背景知识给我讲清楚,让我至少能了解问题的背景、问题的场景以及要解决的问题的本身。

有了这些相关的知识,也可以理解为上下文之后,我就有可能可以帮到你。

这其实就是RAG的本质。

微调

模型压根对一些领域不了解。其实本质就是我在训练模型的时候,数据集收集的不够全面,从而导致模型并没有接触过相关的知识,以至于当用户问到这方面的问题是模型不能够正确回答;

以刚刚脑机接口为例,LLM在训练之初并没有学习过这方面的知识,所以模型当让不能够正确的回答该问题,那么解决的方法只能是让LLM去学习脑机接口相关的知识。从而让模型能够学习脑机接口这个行业的知识;

这其实就是模型微调的概念。

综上所述呢,在工程当中,我们应该从提示工程开始,然后到RAG,最后到模型的微调。

不要一开始就要做模型微调。

### 部署和搭建集成RAG的大语言模型平台 #### 1. 环境准备 为了成功部署一个集成了RAG技术的大语言模型平台,首先需要准备好运行环境。这通常涉及安装必要的依赖库以及配置硬件资源。推荐使用Python作为主要开发语言,并确保服务器具有足够的GPU/CPU计算能力来支持大规模推理操作[^1]。 ```bash pip install torch transformers faiss-cpu langchain ``` 上述命令展示了几个常用的软件包:`torch`用于深度学习框架支持;`transformers`提供了预训练好的大型语言模型接口;而`faiss-cpu`则是Facebook开源的一个高效向量索引库,在构建检索模块时非常有用。 #### 2. 数据收集与处理 创建有效的RAG系统离不开高质量的数据源。这部分工作包括但不限于爬取网页、整理文档资料或者接入企业内部数据库等动作。接着要对原始素材做清洗、分段切割成适合输入的形式并转化为嵌入表示以便后续查找相似项之用[^3]。 例如下面这段伪代码演示了怎样利用Hugging Face Transformers加载编码器并将句子转换为固定长度特征向量: ```python from sentence_transformers import SentenceTransformer model = SentenceTransformer('all-MiniLM-L6-v2') embeddings = model.encode(["This is an example sentence", "Each sentence maps to a row of embeddings"]) print(embeddings.shape) # 输出维度大小 ``` #### 3. 构建知识检索组件 基于前期准备工作所得的结果建立高效的搜索引擎至关重要。这里可以采用诸如FAISS这样的工具快速实现近似最近邻搜索功能,从而实现在海量候选集中定位最佳匹配条目的目标。 当接收到用户的查询请求后,先通过预先训练好语义理解网络解析意图得到关键词表达形式,再以此为基础去关联外部存储介质里的相关内容片段返回给调用方进一步加工展示出来。 #### 4. 整合LLM进行响应生成 最后一步便是将前面提到过的各个独立部分结合起来形成完整的解决方案架构图景。具体而言就是在接收到来自前端界面传递过来未经修饰纯文本字符串之后,启动整个流水线作业流程——先是触发后台服务层发起针对该主题方向上的广泛扫描活动搜集潜在可用参考资料列表集合起来送至下一步骤参与最终答案合成过程之中。 值得注意的是,由于每次互动都可能涉及到不同范畴内的新知识点引入进来扩充现有认知边界范围的缘故,所以务必保持动态更新机制始终处于激活状态之下才能保证长期稳定可靠的服务质量水准得以维持下去。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值