这是2023年NeurIPS Andrew Ng和Isa Fulford做的tutorial,关于如何用LLM来开发新产品的技术和思路:NeurIPS Tutorial Application Development using Large Language Models
文章目录
- [1. LLM基础](#1. LLM基础)
- [2. 提示工程技巧](#2. 提示工程技巧)
- [3. 微调](#3. 微调)
- [4. AI创业和其他应用思路](#4. AI创业和其他应用思路)
1. LLM基础
LLM base的思路是"预测下一个token",LLM聊天模型的思路是对齐instructuion(指令),也就是用问答对来继续预训练LLM。这样能让LLM有回答问题 / 遵从指令的能力。
RLHF,对齐人类需求:人工对LLM回答结果打分(实现是比较哪个回答更好),学习人工打分的reward model
2. 提示工程技巧
- 加reference
- 重复问,用类似模型聚合的方式
- 分解任务:分类query
- moderation API:检测安全性
- 防止prompt injection:
- 将用户输入从prompt中分隔出来
2. 多问一次,有没有prompt injection
- 将用户输入从prompt中分隔出来
- 用户给出的例子、低资源语言prompt、代码、"奶奶讲故事"可能会绕过安全限制
3. 微调
- 也许只需要200-500个样本
4. AI创业和其他应用思路
- 分解人类的实际工作内容,根据技术的可获得性判断AI在哪一步可能有用
- 及时监控LLM输出
- 评估LLM的表现:制作测试集和评估指标
- 用LM评估指标:这一点我记得另外有一篇paper说LLM更倾向于同一LLM生成的结果来着,忘了具体是哪篇了,下次找找
- 这玩意仍然难以debug(我对此深有感触)
- 定义specific and narrow use case,明确评估指标、成功的标准,评估风险
- 用LLM让工作流程更简单、更便宜
- LLM基座模型可能会自己变好(什么,AI界自己的摩尔定律)
- personalized LLM可能需要LLM在每一层都努力,pretraining阶段就需要考虑文化差异,RLHF阶段有personalized RLHF、group wise RLHF、不同的甚至冲突的preference
- LLM的置信度:简单方案是直接问LLM你的confidence是多少;更好的方法是抽样多条回答,检查其一致性
- 闭源模型效果好但不好调,还想要长记忆,还想要用户能够实时反馈并得以调整:Andrew的建议是模仿人类的思路一步一步来,这样也方便做错误分析