tensorflow

机器学习开发的灵药:Docker容器

◇◆丶佛笑我妖孽 提交于 2020-11-17 03:45:54
来源:机器之心 本文 约4300字 ,建议阅读 10 分钟 转向容器化机器学习开发是应对众多挑战的一种途径。 大多数人都喜欢在笔记本电脑上做原型开发。当想与人协作时,通常会将代码推送到 GitHub 并邀请协作者。当想运行实验并需要更多的计算能力时,会在云中租用 CPU 和 GPU 实例,将代码和依赖项复制到实例中,然后运行实验。如果您对这个过程很熟悉,那么您可能会奇怪:为什么一定要用 Docker 容器呢? 运营团队中优秀的 IT 专家们可以确保您的代码持续可靠地运行,并能够根据客户需求进行扩展。那么对于运营团队而言,容器不就成了一种罕见的工具吗?您能够高枕无忧,无需担心部署问题,是因为有一群基础设施专家负责在 Kubernetes 上部署并管理您的应用程序吗? 在本文中,AWS会尝试说明为什么您应该考虑使用 Docker 容器进行机器学习开发。在本文的前半部分,将讨论在使用复杂的开源机器学习软件时遇到的主要难题,以及采用容器将如何缓和这些问题。然后,将介绍如何设置基于 Docker 容器的开发环境,并演示如何使用该环境来协作和扩展集群上的工作负载。 机器学习开发环境:基本需求 首先了解一下机器学习开发环境所需的四个基本要素: 计算:训练模型离不开高性能 CPU 和 GPU; 存储:用于存储大型训练数据集和您在训练过程中生成的元数据; 框架和库:提供用于训练的 API 和执行环境

推荐算法注意点和DeepFM工程化实现

*爱你&永不变心* 提交于 2020-11-15 11:31:18
©PaperWeekly 原创 · 作者|贲忠奇 学校|混沌大学推荐算法工程师 研究方向|推荐算法、反作弊 缘起 今年疫情期间开始优化公司的推荐系统,因为 DeepFM 具有使用线性特征、低阶交叉特征和高阶特征的优点,决定采用此算法试试能否提高线下的 auc 和线上的 CTR 预估。 DeepFM 算法介绍详见 [1],在 DeepFM 工程化的时候,遇到了特征稀疏、一列多值和共享权重的情况,主要参考石塔西的实现。那我为什么要继续炒冷饭呢?因为石塔西实现的 TensorFlow 框架用的是高阶 api,显得灵活性低一些。 主要存在两个问题,在实际过程中,无法保存 auc 最优的模型,early stopping 也不能保证停在效果最好的阶段;在线上预测阶段是不能按照文件的方式去读取。主要是针对以上两个问题,进行改造,实现了工程化上线。 效果方面:点击率 PV 提升了 2.67%;点击率 UV 提升了 3.64%;平均点击数提升了 4.53%。推荐系统实际工程中需要注意样本、特征、算法等方方面面的问题,下面开始介绍整个项目。 项目背景 混沌大学 APP(以下简称 APP)是一个提供哲科思维和创新商业的课程在线学习软件,在线视频学习是 APP 提供的最重要的业务功能。APP 内提供上百门十几分钟至几小时不等的长视频课程,为了用户更快的发现合适自己的课程,以及拥有更好的学习体验,APP