1.1.3 深度学习开发周期实例演练

通过举例,我们可以更具体地演示角色和过程。假设你的工作是构建一个客户支持系统,该系统可以自动回答关于公司产品线的问题。以下步骤将引导你完成将该产品推向市场的过程:

1)产品需求是构建一个客户支持应用程序,呈现一个菜单,以便客户浏览并找到常见问题的答案。随着问题数量的增加,菜单变得越来越大,导航的层次也越来越多。分析显示,许多客户对导航系统感到困惑,在寻找答案时放弃了导航菜单。

2)拥有该产品的产品经理(PM)着眼于提高用户的保留率和体验(快速找到答案)。在与客户进行一些研究后,PM发现大多数客户不想要复杂的菜单系统,最好能够通过使用自然语言直接提问来获取答案。

3)产品经理联系机器学习研究人员寻求潜在的解决方案,结果发现深度学习可能有所帮助。专家认为这种技术对于这种用例来说已经足够成熟,并根据深度学习模型提出了一些方案。

4)产品经理编写产品规范,指明应用程序应该一次接收一条来自客户的问题,从问题中识别意图,并为其匹配相关答案。

5)数据科学家收到产品需求并开始原型化符合需求的深度学习模型。首先,他们进行数据探索,收集可用的训练数据,并与研究人员协商算法选择。然后,数据科学家开始构建原型代码来生成实验性模型。最终,他们得到了一些数据集、几种训练算法和多个模型。经过仔细评估,从各种实验中选择了一个自然语言处理模型。

6)然后,产品经理组建了一个由平台工程师、MLOps工程师和数据工程师组成的团队,与数据科学家合作,将第5步中的原型代码引入生产环境。这项工作包括构建连续数据处理流水线与连续的模型训练、部署和评估流水线,以及设置模型服务功能。产品经理还指定了每秒的预测数量和所需的延迟时间。

7)生产设置完成后,应用程序工程师将客户支持服务的后端与模型服务功能(在第6步中构建)进行整合,这样当用户输入一个问题时,服务将根据模型的预测返回答案。产品经理还要定义产品指标,比如找到答案的平均时间,以评估最终结果,并用它来推动下一轮的改进。