这是 5 月在佛罗伦萨举行的 PyCon Italia 2024 上的一次演讲的近转录文本。
引言
- 演讲者 Vicki 表示希望用意大利语演讲,但仍在学习中,目前只能谈论冰淇淋或颜色,其余部分用英语。
- Vicki 介绍自己在 Mozilla.ai 担任机器学习工程师,曾构建过多个大型 ML 系统,现在专注于围绕 LLM 构建新的工程系统。
- 以 Medici Corp 为例,其 CEO 担心在 AI 领域落后,创建了一个由开发人员和机器学习工程师组成的小型研发团队,以在冲刺期间研究将 AI 加入产品的事宜。
单一机器学习任务
- 工程师们研究了巴塞罗那的 Santa Maria Del Mar 大教堂的建造过程,其中搬运工 bastaixos 仅专注于搬运重达 40kg 的石头,这与梯度下降算法相似,即一次只优化一件事。
- LLM 本身基于梯度下降算法,可解决无数开放式任务,但工程师们意识到需要像 bastaixos 一样专注于单一机器学习任务,确定客户的单一用例,如 Medici Corp 的趋势话题检测。
- 机器学习通常在启发式数量超过维护成本时效果较好,对于大型语言模型,简单任务如总结、分类等更容易处理,而复杂的开放式推理任务则较难。
可衡量的目标
- 工程师们阅读了关于中世纪僧侣的内容,了解到人类大脑难以同时处理多项任务,在构建大型机器学习系统时也会面临类似问题。
- 像 Unix 哲学一样,机器学习系统的构建应注重模块化,一次只做好一件事,如在主题检测任务中,先确定评估基线,通过手动标记文档主题和与 LLM 生成的主题进行比较,进行提示调整和离线评估。
- 团队在完成趋势话题检测的用例和评估指标后,面临将模型部署到生产环境的问题,需要处理复杂的系统和多个组件。
可重现的示例
- 以 Ellen Ullman 的经历为例,说明早期开发者更接近机器和源代码,信息更集中,而现在由于分布式系统等的复杂性,很难保持专注。
- 在构建趋势话题应用时,团队遇到了 Ray 服务的问题,Ray 是用于训练和服务机器学习模型的分布式框架,其架构复杂,导致调试困难。
- 团队通过创建可重现的示例,如在 Ray 的代码中找出调用 importlib 的方法并创建示例,解决了模型部署中的问题,最终成功将主题检测应用部署到生产环境。
结论
- 开发者们庆祝将产品部署到生产环境,总结了成功的经验,包括选择单一用例、确定评估指标、关注最小可组合部分等,这些帮助他们集中注意力,专注于重要事项并靠近底层代码。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。