发布于 

大型语言模型系统和产品的构建模式

原文:Patterns for Building LLM-based Systems & Products

标题: 大型语言模型(LLM)系统和产品的构建模式

要点:

  1. 讨论了将大型语言模型(LLM)集成到系统和产品中的实用模式,包括学术研究、行业资源和实践者的知识,并将它们提炼为关键的思想和实践。
  2. 介绍了七个关键模式,包括:Evals(性能评估)、RAG(添加最新的外部知识)、Fine-tuning(在特定任务上表现更好)、Caching(降低延迟和成本)、Guardrails(确保输出质量)、Defensive UX(优雅地预测和管理错误)和收集用户反馈(构建数据飞轮):
    • 评估(Evals)非常重要,可以衡量系统性能并检测回归。但是传统的评估指标如BLEU和ROUGE可能与人类判断存在差异,实现起来也有挑战。大型语言模型本身可以作为一种无参评估。
    • 检索增强生成(RAG)可以通过为基础模型提供相关外部知识来减少幻想,增加事实依据。也更易于保持检索索引的更新,从而为LLM提供最近的数据。
    • 微调(Fine-tuning)可以提高模型在特定任务上的表现,甚至可能超过第三方LLM。它也使我们对LLM行为有更多控制,从而构建更可靠的系统/产品。
    • 缓存(Caching)可以显著降低延迟和成本,但需要谨慎采用,避免提供错误的响应。结合精确匹配(如ID)和语义相似性检索可能是一个更安全的策略。
    • 防护栏(Guardrails)可以确保输出质量,包括语法正确性、无害性和一致性检查。大型语言模型本身也可用于评估。
    • 防御性UX设计(Defensive UX)可以让系统更优雅地处理错误,提高可访问性和用户信任。提示、提供来源和建立在熟悉的UX上尤为重要。
    • 收集用户反馈可以帮我们建立一个正反馈循环,收集数据来持续改进系统。
  3. 详细讨论了各种评估模型的性能的方法,包括BLEU、ROUGE、BERTScore和MoverScore等度量标准。
  4. 介绍了Retrieval-Augmented Generation (RAG)的概念,从外部模型获取相关数据并增强输入,提供更丰富的上下文以改善输出。

启发:

  1. 尽管BLEU、ROUGE等度量标准在某些任务上表现良好,但它们在需要创造性和多样性的任务上与人类评价的相关性较低。
  2. 这些度量标准经常在更广泛的任务中适应性较差。例如,BLEU和ROUGE这样的精确匹配度量标准不适合抽象概括或对话等任务。
  3. 即使对于同一度量标准,不同研究中的变异性也很高,可能是由于人类判断收集或度量参数设置的变化。
  4. RAG有助于通过将模型基于检索到的上下文进行定位,从而增加事实性,减少幻觉。此外,保持检索索引的更新比持续预训练LLM更便宜。