【ChatGPT原理与应用开发】第六章:工程实践

【ChatGPT原理与应用开发】第六章:工程实践

原文链接:HuggingLLM(ChatGPT原理与应用开发)-课程详情 | Datawhale

此处仅为学习记录和总结

6:工程实践------真实场景大不同

6.1:评测:决定是否上线的标准

评测的原因

测试的内容:对产品的各个功能进行各种各样的测试,以保证其功能正常、符合预期

算法模型的评测内容

  • 模型输出的内容是否符合我们的预期目标

  • 使用尽量和真实场景接近,且不在训练集中的数据

NLU(分类)常用评测指标

🤔指标衡量

  • 精准率(precision,P)
  • 召回率(recall,R)
  • F1

测试结果的混淆矩阵:

真实情况 预测结果正例 预测结果负例
正例 真正例(true positive,TP) 假负例(false negative,FN)
负例 假正例(false positive,FP) 真负例(true negative,TN)

precision的计算公式
P = T P T P + F P P = \frac{TP}{TP+FP} P=TP+FPTP

recall的计算公式
R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP

F1的计算公式
F 1 = 2 P R P + R F1=\frac{2PR}{P+R} F1=P+R2PR

🤔P和R的关系

  • precision和recall是权衡关系,提高精准率会降低召回率
  • F1综合考虑了P和R

多分类,需要分别计算每一个类别的指标,然后综合

🤔综合的方法

  • macro方法:先计算每个类别的精准率和召回率,取平均后,再计算F1
    • 适用情况:各个类别的重要性相对平衡(即:每个类别平等
  • micro方法:先计算混淆矩阵元素的平均,再计算精准率、召回率和F1
    • 适用情况:更关心总体性能,而不是每个类别的性能(即:每个样本平等

NLG(生成)常用评测指标

有参考答案的任务:计算生成的内容与参考答案之间的相似度

🤔token粒度的评估方法

  • 语义:BETRScore
    • 借助BERT预训练模型,计算token的Embedding
    • 计算生成的内容和参考答案token之间的相似度
    • 计算精准率和召回率
  • 字面量:BLEU、ROUGE
    • 按照字面量是否完全相同进行比较(N-Gram)
    • BLEU:衡量有多少个生成内容的Gram出现在参考答案中(类似precision)
    • ROUGE:衡量多少个参考答案的Gram出现在生成内容中(类似recall)

没有参考答案的任务:需要人工进行评估,设计评价指标和标准

🤔标准的考虑因素

  • 准确性
  • 流畅性
  • 生动性

6.2:安全:必须认真对待的话题

安全:模型生成的内容不应该包含任何偏见、敏感、风险等内容

前后处理

前处理:将用户的输入传递给模型前,先通过一个模块或外部接口进行风险检查

  • 如果检测到风险内容,则直接返回预设好的回复,不再传给模型接口生成回复

后处理:对模型生成的内容进行风险检查

  • 如果检测到风险内容,则将该内容屏蔽,或直接返回预设好的回复

如果是流式输出,由于token是一个一个输出的,可能需要在一句话结束时就对其进行风险检查

提示词

🤔通过提示词控制生成内容

  • 限制其必须基于给定上下文内容进行回复
  • 限制输出长度

可控生成

可控文本生成(controllable text generation,CTG):如何控制模型的输出让其更加可控,即输出我们想要的,不输出我们不想要的

🤔可控文本生成的分类

  • 使用控制Token
    • 在文本开头增加一个控制生成属性的Token
  • 使用控制模型
    • 在生成过程中,使用一个或多个属性分类器对生成过程进行引导
  • 使用反馈控制
    • RLHF

🤔辅助方案

  • 增加消息撤回机制
  • 对用户账号进行严格管控
  • 留存所有的对话和消息记录,以备事后查验

6.3:网络:接口调用并不总是成功

失败

网络请求失败 => 重试

熔断机制:当失败次数达到某个阈值时,将此服务进行熔断,直接返回预设好的响应或者干脆拒绝请求

服务降级:返回一个简化版本的处理

延迟

延迟:接口没有在给定时间内给出响应,但又不会超时失败

🤔流式输出常用的服务端方案

  • SSE(server-sent events)
    • 基于HTTP的单向通信技术,允许服务器向客户端发送持续的事件流
    • 适用情况:服务端向客户端持续发送数据
  • WebSocket
    • 双工通信技术,允许客户端和服务器建立双向通信通道
    • 适用情况:客户端和服务器实时交互

🤔延迟的解决方法

  • 针对不同的需求选择不同规模的模型
  • 配置"停止序列"参数,及时结束模型的输出
  • 使用流式输出
  • 使用缓存

扩展

扩展 => 高并发的场景

🤔服务扩展的基本情况了解

  • 了解基本情况和需求
    • 日均调用次数、日调用峰值、平均并发数、最大并发数、期望平均响应时长、是否可以使用缓存
  • 了解大模型服务商的相关政策
    • 不同模型、不同类型账号的限制

资源池模块:统一管理账号资源,负责资源调度

批量(batch)模式:一次发送多条请求,同时获取这些请求的响应

  • 在用户请求和请求大模型服务商接口之间做一层处理:合并用户请求,批量一次向大模型服务商发起请求,收到反馈后分发到对应的用户请求响应上
  • 维护一个队列和最小请求间隔时间,在最小请求间隔时间内,固定窗口大小的请求同时出队进行批量请求
相关推荐
见合八方2 小时前
AI大模型入门教程:从零开始理解ChatGPT背后的技术
ai·chatgpt·大模型·llm·入门教程
东北洗浴王子讲AI2 小时前
GPT-5.4在自动化测试与质量保障中的创新应用实践
人工智能·gpt·自然语言处理·chatgpt
Joshkhh3 小时前
2026年国内三大AI工具横向测评:Gemini 3.1 Pro、ChatGPT 5.4、Claude
人工智能·chatgpt
东北洗浴王子讲AI12 小时前
GPT-5.4辅助算法设计与优化:从理论到实践的系统方法
人工智能·gpt·算法·chatgpt
Agent产品评测局1 天前
企业生产报工自动化落地,数据采集全流程实现方案 —— 2026制造业数字化转型深度选型指南
运维·人工智能·ai·chatgpt·自动化
小鹿软件办公1 天前
OpenAI 面向高频用户推出全新 100 美元档 ChatGPT Pro 套餐
人工智能·chatgpt
斯坦SteinY1 天前
github年度热门开源项目
ai·chatgpt·开源·github·排名·热门项目
健康人猿1 天前
ChatGPT 推出了 Pro 5x,Codex使用额度又会做出什么新调整?
人工智能·ai·chatgpt·codex·奥特曼
Agent产品评测局2 天前
互联网行业自动化平台选型,运营全流程提效指南:2026企业级智能体架构与实战全解析
运维·人工智能·ai·chatgpt·架构·自动化
小真zzz2 天前
搜极星:你的免费“AI内容验真器”
大数据·人工智能·ai·chatgpt·seo·geo