OpenAl在开发者大会上发表《ASurvey of Techniques for Maximizing LLM Performance》演讲,分享了一个关于检索增强型生成模型(RAG)的案例研究。该研究深入探讨了四个阶段、七种方法,成功地将RAG模型的准确率从45%提升至98%。这一显著的性能提升是通过一系列系统化的策略实现的,涉及模型微调、检索策略优化以及结果排序等多个维度的改进。而这些优化手段和努力方向都是基于上下文相关的,在没有使用fine-tuning的基础上就达到了令人惊讶的效果。
初始阶段:基础准确率45% 初始的RAG模型采用余弦相似度作为检索机制,这是构建高效RAG系统的基础。在这一阶段,仅依赖文本相似度进行检索,准确率稳定在45%。
优化阶段一:准确率提升至65%,在这一阶段,主要做了三步尝试:
-
HyDE检索:通过生成假设性文档嵌入(Hypothetical Document Embedding retrieval),模型能够以创造性的方式检索知识库,尽管在某些场景下表现有限。
-
Embedding模型微调:调整模型训练以优化向量空间分布,有效提升准确率,但由于资源消耗,这一方案被暂时搁置。
-
文本块长度调整:通过改变文本切分的块长度并重新进行嵌入,模型能更精准地识别相关内容,准确率提升至65%。
优化阶段二:准确率提升至85%,进一步的优化包括:
-
Cross-Encoder模型应用:用于对检索结果进行排序,结合规则策略(如选择最接近当前日期的文档),显著提升了结果的相关性。
-
知识库分类:引入分类模型以决定请求应该检索哪个知识库,进一步精细化了检索过程。
优化阶段三:准确率提升至98%
-
Prompt Engineering:通过调整提问方式,进一步提升了模型的响应准确性。
-
工具引入:例如利用SQL工具,针对特定错误类型(如数字提取)进行优化,提高了模型在处理复杂查询时的性能。
-
问题拆分:将复合问题拆分为独立问题,分别检索并回答,然后合并答案,以提高回答的准确性和完整性。
通过这些综合性的策略,RAG模型的准确率实现了从85%到98%的飞跃,展现了精细优化在提升AI模型性能中的重要作用。这些大佬的成果不仅提升了模型的准确性,也为未来的AI优化提供了宝贵的经验和洞见。