加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

知乎CTO李大海:谢邀,来分享下内容社区的AI架构搭建与应用

发布时间:2020-07-16 16:23:14 所属栏目:业界 来源:站长网
导读:副标题#e# 「在信息爆炸的互联网海洋中,有价值的信息仍然是稀缺的」。知乎的诞生源于这样一个非常简单的初心。 而在挖掘真正有价值的信息过程中,知乎很好地利用了AI技术。 在今年上海召开的2020世界人工智能大会云端峰会开发者日「企业及AI架构专

• 特征工程模块化:我们把对特征数据的操作抽象成一个个操作子 (operator)。比如:Echo, OneHot 等。规范了 operator 的输入输出;每个 operator 可以处理不同的特征数据;大部分 operator 和具体的业务无关,代码可复用性大大增强。每个 operator 必须有严格的单元测试,保证了特征工程代码质量。

• 结构化数据字段获取动态加速,有效的提升效率。

• 自定义向量化特征数据格式:避免了 parse protobuf 的序列化、反序列化 cpu 开销,比 tensorflow 的 tf record 快很多,典型场景有 10 倍的性能差异。

第二个是特征落盘服务。

为了对特征覆盖率等指标进行监控,并让落地的数据在多个业务之间低成本复用,特征在落地之前需要经过统一落盘处理。落盘服务提供的主要功能有:

• 流式特征覆盖率统计监控,特征分布统计。

• 样本数据分流。大的样本数据尽量落成一份,小的特殊业务可以进行灵活的分流。

• 跨业务的进行特征补全。

未来,知乎的统一推荐框架将在三个方面进行完善和升级:

• 一站式配置管理、数据流管理、特征监控、指标监控。

• 通用化 online learning,让更多业务可以直接用在线学习的优势。

• AutoML,降低业务使用机器学习模型的门槛。

社区治理、反作弊及多媒体AI架构

除了统一推荐,知乎还有一个很特殊的场景,就是社区治理。除了垃圾信息、有害信息的处理,一些对社区内容建设和人们的需求没帮助的信息,也在知乎的治理范围内,比如答非所问、阴阳怪气等等。这个场景沉淀出来的基础框架,和前面提到的 zai 框架是比较相似的,但是整个框架针对图片、视频等多媒体内容,做了很多特化的优化处理,比如通用的缓存转码之类的。具体细节在这里就不赘述了。

机器学习架构—Jeeves机器学习平台

除了直接面向业务应用场景的三个框架之外,我们还构建了机器学习平台Jeeves,用于帮助算法工程师快速构建、训练和部署机器学习任务。Jeeves将算法工程师从繁重的部署和配置工作中解放出来,专注于高质量模型的开发。

随着机器学习对GPU资源的需求快速增加,仅通过算法工程师自行管理、调度,不仅增加了业务部门管理成本,也造成了GPU等计算资源一定程度的浪费。具体包括以下几点:

• 训练前部署难。算法工程师需投入大量精力进行运行环境的配置和资源调配,不便于工程师专注于模型优化和调参。

• 资源配置优化难。算法工程师难以判断机器学习任务的性能瓶颈在哪种资源上(如 CPU、GPU、内存等),不便于全局优化资源调配。

• 单机训练瓶颈。纵向扩展成本高、提升小。机器学习需要快速迭代试错,性能瓶颈制约了其最终产出的质量和速度。

Jeeves将Tensorflow容器化,通过容器进行训练资源的调度和管理,并为算法工程师提供方便的资源申请和释放流程。具体来说,Jeeves提供:

• 一键部署能力。算法工程师只需要申请资源、载入训练数据和代码,即可一键部署环境并开展工作。

• 资源消耗监控。监控资源在每个任务的消耗情况,便于识别瓶颈所在,针对性的进行性能优化和资源调配。

• 算力水平扩展。支持分布式机器学习,支持算力的快速扩展。

下图是Jeeves及其学习平台架构。Jeeves通过容器管理GPU集群的资源,底层使用Docker来隔离GPU资源,并通过Kubernetes对Docker容器进行调度。并提供训练数据挂载,日志和模型的持久化的功能。同时Jeeves还会监测空闲资源并保证其及时回收,提高资源利用效率。

知乎CTO李大海:谢邀,来分享下内容社区的AI架构搭建与应用

功能层面,Jeeves主要提供两类功能:一种是「笔记本」,用于在线交互式试验训练代码;另一种是「项目」,用于创建单机或分布式训练。

笔记本为算法工程师提供交互式体验和数据科学可视化的工具,用户可以通过浏览器快速迭代优化训练代码。对于不习惯使用浏览器或者不方便使用浏览器的用户,Jeeves还提供了ssh notebook的功能。

项目分为单机训练和分布式训练两类。单机训练使用一台独立服务器执行训练任务;而分布式训练根据用户申请的资源用量,将任务合理拆分后,交由对应集群执行。项目启动后,Jeeves 会提供 TensorBoard,辅助用户掌握训练过程。

总结

以上是知乎最近在 AI 应用实践中逐步沉淀出来的一些基础框架和提效平台。AI 应用本质上是能够对海量数据进行高效应用的前沿计算机算法系统,因此,过去常规计算机系统在数据规模和业务请求量增大到一定程度后,会遇到的各种问题,AI 应用也同样会遇到。如果解决这些问题,就需要有良好的架构设计,否则再好的数据和模型,也都会受制于系统的计算能力和吞吐能力,不能发挥数据和模型完整的表达能力。所以,在工业界真实的生产环境中,AI 应用必须同时兼顾数据、算法和架构三者的投入。作个不太适当的比喻,这三者的关系就好像食材、菜谱和厨具,要想把 AI 应用的用户体验这道菜做的色香味俱全,三样东西每样都要做好、做足、做精。

通过这些框架的落地和应用,我们也希望知乎这个内容社区,能够在更多的产品细节上,轻松使用各种 AI 技术,成为一个人与技术、人与机器、人文与技术有效融合「智能社区」。

最后,打个广告,欢迎更多对 AI 技术有兴趣和热情的同学加入我们,加入知乎,一起做些更有趣、更有挑战性的工作。我的分享就到这里,谢谢大家。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读