《LLM的新技术与新实践-王元.pdf》由会员分享,可在线阅读,更多相关《LLM的新技术与新实践-王元.pdf(34页珍藏版)》请在三个皮匠报告上搜索。
1、Agent新技术新实践王元 CEngLLM出圈了ChatGPT技术内核:生成式AI本次分享,AI Agent时代下的新方法和新实践聊技术前,先捋捋场景私域问答机器人无代码数据分析与报表文档智能/企业内网搜索UI-交互式;后台-多轮UI-交互式;后台-多轮UI-线性执行;后台-单/多轮新的技术栈私域数据角色框架多模态语义缓存测试问题私域数据问题:如何接入私域数据?私域数据常常大于LLM原生的context length全量放入context可能不是最优方式步骤:私域数据的分割,存入向量数据库;向量数据库召回,召回结果作为LLM的context;私域数据-分割考量:分割颗粒度召回准确率和速度维护成
2、本数据接入M个文件N个embeddings分割策略:分隔符 均匀分割 树结构私域数据-召回考量:满足上下文长度信息不丢失语义流畅召回querycontext+queryLLMN个embeddings1个context召回策略:顺序拼接 重排序拼接 摘要 混合私域数据-召回检索排序生成Model私域数据-评估传统检索指标:MRRNDCG等端到端:答案与标准答案的相似度LLM-无需标注(RAGAS):上下文与问题的相关性上下文与问题的相关性答案与上下文的相关性答案与问题的相关性私域数据-经验召回方法,分割大小,top-K是影响性能的主要超参向量空间的语义搜索,有时会有不靠谱的情况结合传统文字BM2
3、5搜索会带来一些帮助召回数据排序,decoder-only比encoder-decoder更敏感把query同时放在召回数据前和后,有助于LLM回答召回可以有更多的考量维度,不仅限于语义相似度角色框架给LLM加上方法论:了解背景任务拆分,逐个击破自省行动(感知和改变环境)基础模块:角色设定规划模块内存模块动作模块角色框架-优势Agent机制的好处:提升LLM处理复杂任务的能力,扩大了应用范围将LLM从无状态变为有状态;缓解context length有限的外部框架;赋予LLM自主调用外部工具的能力;使LLM获得拆解任务的思维,将复杂问题分拆逐个解决;简化手写FSM;多个agent相互合作成为可
4、能,即群体智慧(multi-agent)角色框架角色框架角色框架-规划开环系统:i步的执行结果不影响不影响i+1步的规划 LLMprompt+querystep 1answerstep nLLMprompt+querystep 1answerstep nstep 1step nCOTCOT-SCReWOOLLMprompt+querystep 1answerstep nLLMLLM角色框架-规划闭环系统:i步的执行影响影响i+1步的规划多轮调用LLM使用外部工具(tools)内存使用LLMInit prompt+queryanswerToolsMemoryEnvironment角色框架-规划一
5、些代表性的闭环系统:Self-Ask:COT+follow-up Q+toolsReAct:局部plan 执行 观察Plan-n-Solve:全局plan+ReActReflextion:群体智能雏形(3个LLM)角色框架-内存内存种类:短期记忆(上下文),长期记忆(向量数据库)内存形式:向量,字符串(text/json/list),数据库内存召回指标:相关性,时效性,重要性内存写入:append,去重,覆写(overflow或者简化)角色框架-行动函数类型:人类函数,LLM函数函数选择:类似RAG检索函数入参提取:string-json函数返回值:string json/xml角色框架-性能
6、评估主观评估:人类打分;图灵测试;数据评估:端到端任务指标,KIE准确率,回答GT相似度;经典数据集:Alfworld,HotpotQA,FEVER,HumanEvalbenchmark:AgentBench,ToolBench等multi-task集合系统评估:报错次数平均LLM calls迭代轮次(耗时)角色框架-经验一些尝试:ReActPlan-n-ExecuteSelf-Ask一些思考:Plan-n-Execute ReAct Self-Ask工具选择有时会错 工具list最好不要固定一个顺序中间结果生成有时会错 GPT4 turbo会改善现实情况:Agent和手写FSM混合使用角色框
7、架-挑战商业:Agent多次调用LLM,除了能力边界提升,成本也提高了Tools的使用会带来额外成本技术:系统鲁棒性系统时延安全:Agent自主创建子目标并执行,可能会有潜在安全风险Agent机制会激发AI产生自我意识吗?角色框架-推荐关键论文:COT(https:/arxiv.org/abs/2201.11903)ReAct(https:/arxiv.org/abs/2210.03629)Reflextion(https:/arxiv.org/abs/2303.11366)Agent综述(https:/arxiv.org/abs/2308.11432)工程代码:ReAct:https:/ t
8、ext序列化非常难以泛化,错误的排序直接影响LLM做QA或KIELLMOCRtextserializationquery多模态-baselineBaseline on steroids:模型越堆越多,系统越搞越复杂,泛化性依旧成问题LLMOCRtextserializationqueryLayout analysisTable Understanding多模态-方案1微调形式:高效微调挑战:开源LLM/MLLM适用,闭源不适用(没API)分类任务效果好,KIE效果不好预训练的vision encoder多数分辨率低,且不是multi-scale微调不是端到端的,是2-stage微调LLMvis
9、ion encoderadapterquery多模态-方案1KIE任务,MLLM效果普遍差强人意期待更多开源高分辨率多模态原生大模型的出现!Source:https:/arxiv.org/abs/2305.07895多模态-方案2解决了text序列化问题开源和闭源LLM都适用对于LLM,是in-context learning,LLM本身不微调预训练Seq2seq模型分辨率高,模型小,只需微调Seq2Seq模型缺点:GT标注较难获取,有标注成本LLMTransformer seq2seqHTML orMarkdownquery语义缓存LLM服务很贵,以GPT4为例:GPT4接口调用成本很高,千
10、万美元/年接口平均响应时间为3-6秒语义缓存技术可以有效缓解上述挑战语义缓存KV CachequeryEvictionManagerkv cache hitanwserhit registerSimilarityEvaluatorkv cache misstop k similarsemantic cache hittop k answershit registercache missfails the threshold语义缓存注意事项:Hit ratio vs search accuracy高速实现attribute filtering,推荐支持hybrid search的向量数据库缓存一致性并行化支持 eviction manager的进程安全持久化和故障恢复统一缓存设计Key定义表结构合理划分Eviction manager交互接口推荐:GPTCache测试问题LLM应用让测试变得更有挑战测试数据On-topic similarityOff-topic rejectionModerationPrompt injectionHallucination模型打分人工收集gold responses模型自动打分 需要研发专门的打分模型,ORLLM as Evaluator 大模型prompting来打分