Chinese, Simplified
category
本指南为使用语言模型的项目提供了关键考虑因素的参考。
这些考虑是基于从不同行业使用语言模型的项目中吸取的经验教训。该列表旨在帮助您思考可能与您的项目相关的事情。该列表并不详尽,您可能需要为您的项目添加更多目标。本指南的不同部分将适用于您的项目从实验到生产的过程。
问题定义和解决方案规划
问题定义
- 用商业术语明确定义问题。确定可以应用LLM功能的潜在组件,包括语言生成和理解等任务。
- 确定企业将如何评估项目的成功。
- 确定可用于衡量成功的指标。尽可能选择与业务关键绩效指标(KPI)相关的指标。
- 确定用例的目标人物角色及其预期的使用模式。
- 确定解决方案支持的目标语言。
解决方案规划
- 描述整体解决方案的要求和预期用例。
- 使用LLM游乐场进行手工制作的初步探索。确保LLM能够潜在地产生所需的结果。帮助设定对可能艺术的期望。与中小企业和最终用户一起验证结果。
- 收集并记录解决方案的SLA要求,确保明确性能预期。
- 描述高级解决方案组件,包括所需数据、任何现有系统和其他ML/非ML组件。确认项目中每个组件的可用性。
- 确定一个由潜在最终用户和主题专家组成的社区。该社区可以帮助构建所需的数据集并验证候选解决方案。
- 调查并了解是否有其他现有的AI/ML技术可以在不使用LLM的情况下解决问题。现有AI/ML技术的一些例子是特定任务或特定领域的AI/ML解决方案。
- 与项目领导一起验证信封背面的成本估算。如果存在问题(示例),则将成本降低纳入范围。
- 确定拟议的解决方案是否符合可能影响主要架构或运营考虑的要求。在开发解决方案时结合这些要求可以避免后期的重大返工。
- 确定是否存在与直接向用户呈现不正确或恶意LLM生成的输出相关的高风险,并在必要时设计系统和用户体验以减轻这些风险。首先,完成负责任的人工智能影响评估,并确定是否存在敏感用例。如果是这样,在向最终用户生成重写或摘要输出时,请谨慎使用LLM。例如,与其直接向用户呈现LLM生成的输出,不如考虑设计一种用户体验,该体验使用LLM来编排一个流程,该流程使用模板化响应返回信息,并详细说明如何生成答案。
负责任的人工智能考虑因素
在解决方案设计过程中,审查负责任的人工智能考虑因素,并确保拟议的解决方案能够识别和减轻潜在的危害。
- 识别可能适用于该解决方案的任何潜在风险或危害,包括:
- 数据安全和隐私
- 输出质量低或不接地
- 滥用和过度依赖人工智能
- 有害内容的产生
- 易受敌对攻击
- 延迟或中断响应的意外后果
- 使用微软负责任的人工智能工具和方法来帮助降低与生成式人工智能应用程序相关的风险:LLMOps中的负责任人工智能工具与实践|微软Azure
- 使用风险评估框架,如OWASP LLM应用程序前10名,审查潜在风险的解决方案。计划应对已识别的任何风险。
确保解决方案计划解决了共同负责的人工智能基础问题:
- 向用户传达人工智能应用程序的目的和影响。
- 评估训练数据、算法和整体解决方案设计中的偏见和公平性。
- 确保不同能力的用户都可以访问该解决方案。
确保解决方案部署后可以持续监控和管理:
- 确保您的解决方案符合部署所在司法管辖区有关人工智能的相关法律法规,并确保您有一个保持合规的计划。
- 确保在开发周期以生产部署结束后,在关键决策过程中存在持续的人为监督机制。
- 确保您可以在解决方案中进行实时人工干预,以防止检测到伤害,使您能够管理AI模型不按要求运行的情况。
- 考虑提供一个反馈循环,允许用户在部署后报告解决方案的问题。
解决方案开发(内环)
解决方案开发阶段侧重于开发、测试和改进解决方案的迭代过程。
数据管理(Data Curation)
数据探索
- 访问必要的数据和依赖关系,包括任何内部或外部API。仅使用经公司或数据所有者同意提供的数据和信息。
- 了解数据源并遵守相关的数据访问策略,包括安全性、身份验证和合规性要求。
- 了解开发和生产的访问要求和方法。例如,使用基于角色的访问控制(RBAC)或基于属性的访问控制。
- 了解您可用的数据,并通过探索性数据分析(EDA)评估其质量。必须尽早解决数据质量问题。
- 对于涉及非结构化文档语料库的解决方案,请了解以下内容:
- 领域语言
- 文档样式和格式
- 文件信息部分的识别
数据收集
- 开始收集可用于创建初始地面实况数据集以进行解决方案评估的数据。
- 确保收集的数据足以计算您对高级成功指标的评估指标。
- 为输入和输出数据设计一个模式,支持与迭代实验工具集的一致使用。格式化初始数据集以匹配。
数据治理
安全采用LLM需要在整个数据生命周期中进行全面可靠的数据治理。
- 确保解决方案使用的所有数据都有明确的所有权和可追溯性。
- 确定适用于解决方案的数据治理流程和技术,例如:
- 数据目录、数据标记方案和术语表,以促进数据的发现和理解
- 通过转换和丰富记录数据来源的数据沿袭跟踪系统
- 数据管理员(或委员会),负责审查和批准数据使用请求
- 通过定期合规检查,验证解决方案是否符合适用的监管要求(例如GDPR、EU-AIA、CCPA等),包括以下领域:
- 同意管理,特别是针对基于PII或PHI数据的LLM
- 数据保留,包括通知最终用户和确保遵守的流程
- 定期进行系统审计和报告,确认系统正以所述和预期的方式使用
- 确保及时的输入和输出得到正确验证和屏蔽,以防止敏感数据意外泄漏。
- 审查记录的法学硕士输出,包括日志和对话记录,以符合以下要求:
- 数据隐私
- 数据保留
- 数据匿名化
- 数据屏蔽
数据管理
对于用作推理流一部分的支持数据,如少数镜头库、文本语料库等:
- 建立数据集版本、跟踪数据沿袭和记录每个实验所用数据集的方法。
- 预处理并检查所有数据集的质量。确保数据在传输过程中没有损坏。确保它不包含意外的特殊字符,并且格式适合摄入和使用。
对于用于搜索或检索的数据集和文档语料库:
- 选择一个基线数据分块策略。
- 包括一个简单的基于关键字的搜索基线。
- 确定目标查询意图,并确保数据集在无偏分布中代表所有意图。
- 基于文本语料库中使用的领域语言,识别影响嵌入模型和/或文本预处理和标记化选择的语言特征。
- 建立数据检索质量评估机制。
实验
设计
调查现有的可重用资产和解决方案加速器,以帮助加快您的进度。根据以下特征评估候选人的适合性:- 领域语言特征
- 用例的目标用户意图
- 确定符合业务需求的候选语言模型,并使用实验来确认其适用性。考虑专有和开源预训练模型。还要考虑适合用例的小型语言模型和微调模型。
- 确定适用的解决方案模式,如检索增强生成(RAG),以在适用的情况下用外部知识源增强模型。
- 确定候选工具集(例如PromptFlow、语义内核和/或LangChain),并使用实验来确认其对解决方案的适用性。
开发
- 使用候选工具集或直接调用LLM API来开发基本原型。
- 测试各种技术,以满足项目的成本、速度和精度目标:
- 探索快速工程技术(另见OpenAI快速工程指南)。
- 对于基于搜索的解决方案,请根据评估结果重新审视分块、缓存和搜索策略。
- 评估内环组件和外环结果,以确定改进领域。
- 考虑其他语言模型。
- 考虑微调模型是否是提高性能的可行方法。
评估
- 定义你的评估框架来评估和跟踪你的实验。
- 使用版本号跟踪每个实验,该版本号将提示、输入数据和配置参数的更改与结果输出和性能评估相关联。
- 根据预定义的指标衡量每个实验的输出性能。根据地面实况评估内环和外环的准确性和有效性。
- 建立用于模型评估的基线,为评估LLM解决方案在整个开发过程中的有效性和改进提供参考点。
- 对原型进行仪器化,报告评估实验的成本,以便在开发和实验过程中可以观察到所考虑技术的成本影响。
- 确定所有替代方法和优化的相关成本。
- 在连续几周的每周冲刺中加入红队训练方法。
解决方案部署(外环)
解决方案部署阶段侧重于在生产中部署和管理解决方案。
验证和部署
- 部署准备
- 根据预期的用户吞吐量和使用特性,制定预期的LLM利用率预测和LLM资源的容量计划。
- 创建满足以下要求的部署架构:
- 基于租赁和弹性要求部署LLM模型
- 根据客户成本要求使用共享LLM模型
- 使用中间API负载平衡体系结构,以促进可观察性和跨区域负载削减或故障切换(如有必要)
- 必要时,创建和测试程序以扩大容量,或实施保护措施以防止过载。确认订阅包含任何预期扩展的容量配额。
- 进行全面的解决方案审查,涵盖设计和评估方法以及整体解决方案性能。
部署流程
- 实施CI/CD管道以自动化测试和部署过程。
- 在生产部署之前,将模型和解决方案部署到QA环境进行性能评估。
- 建立一个强大的数据管道进行推理,包括端到端的可靠性测试。
- 验证应用程序安全标准,以防范潜在漏洞。
- 启用A/B测试或蓝/绿,以便将更新的解决方案与现有部署进行比较。
- 在适当的情况下考虑阴影测试。
- 实施迭代红队方法,以识别潜在的危害或问题。
监测
- 将微服务监控最佳实践应用于您的LLM解决方案。使用客户首选的监控基础架构和解决方案。
- 跟踪和分析生产环境中的解决方案性能、成本和延迟。
- 将性能指标和信号与应用程序部署、模型更新和配置更改等系统更改相关联。
- 实施针对不同角色(例如,业务角色、数据科学和工程等)量身定制的仪表板。实现对服务性能和LLM响应的集中分析,并为每个角色提供相关指标。
- 监控数据馈送和模型输出,以及时识别、警报和解决意外的模型或系统行为。
- 通过跟踪被拒绝的用户查询或查询量,监控恶意用户是否试图“越狱”系统。
反馈和数据收集
- 将手动或自动生成的用户反馈纳入实验中,以提高解决方案的性能。
- 使用解决方案捕获交互数据,以深入了解用户使用情况和期望,并改进评估数据集。
操作
- 制定一份全面的手册,详细说明标准操作程序、故障排除指南和升级路径,以实现有效的事件管理。
- 对支持团队进行系统特定操作和最佳实践的车载和培训,确保他们为处理实时场景做好准备。
- 定期进行模拟现场演习,以模拟真实世界的事件,增强团队的准备和响应能力。
工具书类
以下资源和最佳实践指南提供了更多可能有用的考虑因素。
- Templates
- Code With Engineering Checklists
- 登录 发表评论
- 8 次浏览
发布日期
星期日, 十月 6, 2024 - 10:07
最后修改
星期日, 十月 6, 2024 - 10:07
Tags
Article
最新内容
- 1 week 5 days ago
- 2 weeks 6 days ago
- 3 weeks 2 days ago
- 3 weeks 2 days ago
- 3 weeks 5 days ago
- 3 weeks 6 days ago
- 4 weeks ago
- 4 weeks 1 day ago
- 4 weeks 1 day ago
- 4 weeks 1 day ago