AI 知识碎片
一篇用于介绍 AI 信息的文章
大模型适合做什么,解决什么问题
一句话解释:大模型适合处理规则难以穷举,输入以自然语言为主,结果不要求一定精确的任务
比如知识问答、非结构化数据处理、语义理解等等
- 需要绝对精准结果的任务,不适合用大模型来完成
- 如果是规则明确的任务,使用程序即可,没必要用大模型
- 确定性强、靠编码、输出固定、流程固定类的任务,使用自动化即可
判断是否需要使用大模型
可以从以下方面来进行判断:
- 输入是不是以自然语言或者非结构化数据为主
- 传统方式是否难以穷举,例如if-else可以完成,就没必要大模型
- 错误的结果是否可以被发现和纠正
- AI 带来的风险是否大于成本和收益
不要因为某个需求能接入大模型就使用大模型。对于自然语言理解、非结构化内容处理和知识问答,我会优先评估大模型;对于金额计算、权限校验和确定性流程,则继续使用规则和传统程序。高风险场景采用“模型建议+规则校验+人工确认”的组合。
Prompt、RAG、微调分别解决什么问题
三者不是互相替代,而是分别解决不同层面的问题。
| 方法 | 主要解决的问题 | 是否改变模型参数 |
|---|---|---|
| Prompt | 告诉模型当前任务应该怎么做 | 否 |
| RAG | 为模型提供当前任务需要的外部知识 | 否 |
| 微调 | 让模型形成更稳定的特定行为或表达模式 | 是 |
Prompt
一句话解释:在输入框发送给大模型的内容
可以指定模型扮演的角色、任务目标、输出格式、示例等
一般来说,详细清楚的 prompt 会使模型回答的内容更加符合预期
RAG
一句话解释:RAG(检索增强生成)可以理解为给大模型提供一些参考资料,让大模型基于这些参考资料来回答问题
用到 RAG 的流程:
用户提问
-> 在资料库检索相关知识
-> 将检索结果给到大模型
-> 大模型基于检索结果生成回答
RAG 适合在知识库、产品手册、文档之类的偏向于知识查阅的任务中来使用;RAG 不能保证结果的绝对准确,RAG 过程中的每一环节都有可能出错,比如文档解析、分块、检索、生成,这可环节都可能出现问题,从而导致结果不准确
微调
一句话解释:对模型的行为进行调整,是模型的输出内容更符合预期
微调是给模型一批新的训练样本,让模型根据这些样本来学习新的行为模式,从而对模型的输出内容进行规范和调整,一般个人不需要用到微调
通常情况下,优先使用 prompt,对模型的输出结果不满意,可以先优化 prompt;如果需要用到外部知识库,或者说是个人的一些知识信息,可以使用 RAG;在遇到大量样本下,模型仍给不出预期结果时,可以考虑微调