首页 / 科技百科

ai组建一个小团队

2025-04-19 07:42科技百科

谢邀!知乎 CTO 来分享下内容社区的 AI 架构搭建与应用。

「在信息爆炸的互联网海洋中,有价值的信息仍然是稀缺的」。知乎的诞生源于这样一个非常简单的初心。

而在挖掘真正有价值的信息过程中,知乎很好地利用了 AI 技术。

在今年上海召开的 2020 世界人工智能大会云端峰会开发者日「企业及 AI 架构专场」分论坛上,知乎合伙人、首席技术官李大海老师为分享了知乎作为一个内容社区,在 AI 架构上的搭建和应用。

李大海老师拥有多年的搜索算法经验,曾担任 Google 中国软件工程师,云云网工程总监,并曾担任豌豆荚搜索技术负责人,让豌豆荚成为最早涉足应用内搜索和 Deep Link 的公司。

2015 年李大海以合伙人身份加入知乎,先后负责知乎广告技术团队、数据、算法业务。在出任 CTO 之后,李大海统筹负责包括大数据团队、内容流通、AI 新业务拓展等在内的知乎整体技术业务。

以下为演讲主要内容,机器之心进行了不改变原意的整理:

大家好,我是李大海。很荣幸代表知乎来世界人工智能大会开发者日做分享。特殊时期,以这种特殊的方式跟大家作交流,心情是很复杂的。2020 年上半年是非常不容易的半年,不过我们也很高兴地看到,很多企业通过技术创新应对疫情,帮助大家维持正常的工作和生活。知乎也是其中的一员。

从 2016 年引入机器学习以来,AI 技术已经在知乎社区很多环节扎下根。以前我们讲算法讲得比较多,今天我想重点说一下我们在 AI 架构的搭建和应用上的经验。

在知乎,我们的 AI 架构的不同是由不同的 AI 场景和实践催生的。当然,介绍这些应用场景之前,我们应该先简单了解一下知乎。知乎是一个内容社区,包括问答、热榜、知识服务、圈子、直播等等各种产品功能和业务板块,沉淀了数亿的问题、回答、专栏、电子书等等内容,这些内容每天都在被生产、分享、消费。对于一个平台来说,是一个浩大的工程。为了让内容在社区运转得更高效,知乎引入了 AI 技术。

到目前为止,知乎的 AI 应用已经触及到业务的方方面面,并且在实践的过程中,逐步形成几个不同的算法框架。

基础 AI 架构

首先是基础 AI 架构。2017 年,知乎成立专门的 AI 团队,为各个业务提供一个基础算法能力输出。这个团队基于知乎海量的内容及用户行为数据,通过数据挖掘、机器学习、自然语言处理等技术,精准、全面地理解内容及用户,并将基础算法能力以标准统一的形式输出,为公司各业务赋能。

AI 团队自成立以来,为各种不同的业务提供了非常多的应用。随着时间的推移,也产生了一些痛点。比如说,由于没有统一的系统开发框架,各个业务模块和子项目都是单点作战,只有一个同事清楚业务细节,并且新建一个项目要写很多和业务无关脚手架类型的代码。再比如,有的线上代码没经过代码审核、存在非主干分支发布、个人仓库开发等问题,非常不利于协同和维护。另外,服务和模块的复用性比较低,有些常用的逻辑,比如识别打压大话题,被多人、多项目分别实现。另外,像监控不完善,部分问题发现不及时等等,都是小应用太多带来的问题。

因此,急需统一的系统架构来整合所有资源,搭建稳定的基础架构,加速 AI 技术积累并助力业务创新。

我们首先考虑设计统一的基础服务架构,统一定义基础 AI 算法的工作流和数据流。有了这个统一框架之后,很方便在框架上添加监控、报警等等功能,及时发现可能出现的问题,提高服务质量、稳定性和可用率。

在设计良好的架构和统一代码管理的模式下,方便我们去构建这个场景下的通用代码库,提高基础功能的代码复用率,并解决项目和代码的散乱问题。

在统一的基础服务架构上,团队成员的开发工作模式一致,并且沟通语言都是基于此,一定程度上会提升协作效率和沟通效率。

同时,开发人员更容易理解非自己主导项目的脉络主线,可以极大地降低工作内容调整和交接的复杂度。从另一个角度提升了协作、沟通效率。

在统一的基础服务架构下,团队不再需要关心一些通用的细节,只是按需调用 / 复用通用组件,将主要的精力用在解决问题的核心算法 / 模型上,这样一来,加速了团队的技术积累,快速地推进业务的创新。

这张图可以简单的展示知乎基础 AI 架构的体系。

我们的统一框架取名叫 zai,本质上是一个工作流水线。其中的每个部件都是可定制的。workflow 分为三大类:

base workflow,通常只包含一种推断服务或预测服务。

series workflow ,其可以串联多个不同的 base workflow,形成一个更复杂的服务链,比如关键词服务,需要前序依赖分词服务。

parallel workflow ,其可以并联多种 series workflow,形成相对比较复杂的网络,比如监听内容创建 kafka topic,并分别进行多种预测处理。

在这个框架中,我们选择 proto buffer 来进行数据 schema 的定义,满足速率快和存储小的需求。

zai-serving 是预测 / 推荐模块,加载 zai-model 模块训练出来的模型来进行推断服务。模型可以支持传统模型和 NN 模型。其中 NN 模型基于 tensorflow estimator 做了改造和封装,这样具备以下优点:

数据管道和模型分离。

保留足够的模型灵活度,具有模型自定义的自由和模型相关超参调整的自由。

封装了训练、预测、评估、模型输出;只需要关心模型本身。

基础 AI 架构的主要应用场景,一般是各种离线的数据处理场景。在典型的线上推荐场景中,我们也正在形成统一推荐框架。

统一推荐 AI 架构

当越来越多的业务都需要用到推荐服务时,我们开始了统一推荐框架的工作:我们期望通过统一 Ranking 框架,将推荐系统全局排序阶段的技术统一,降低开发和维护成本,提高效率。

知乎的统一推荐框架包括以下模块:

统一的完备的数据 schema,打通各业务线的数据,减少重复特征数据的落地成本,并成为统一推荐框架的标准输入。

统一的特征落盘服务,各业务线可根据业务特点,灵活填充 schema 中的特征字段,减少在特征落盘和训练数据管理部分的开发工作。特定业务还可以低成本的实现跨部门数据复用,打通不同部门之间的数据协同作用。

统一的训练数据流水线。

统一的特征工程框架。

统一的训练代码库。有利于模型结构复用,兼容离线训练和 online learning 训练。

统一的线上预测服务。支持 tensorflow 和 xgboost 的模型;支持模型的自动加载和更新;提供通用的特征、预测分数监控。支持 CPU 或 GPU 部署。优化公共特征计算。

我重点讲一下其中的几个模块。

第一个是特征引擎。

特征数据处理,是要把结构化的特征数据(如用户画像,内容画像等)转换成向量化的训练数据。我们的特征引擎具备以下功能:

特征工程配置化:管理使用哪些特征;增删特征无需改代码。避免了离线数据处理和线上预测服务代码不一致的情况。

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

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

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

第二个是特征落盘服务。

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

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

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

跨业务的进行特征补全。

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

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

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

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

社区治理、反作弊、首页推荐算法 AI 架构

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

总结

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

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

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

猜你喜欢

  • 旅游百科

    一个陌生的城一个人孤单的句子

    爱情和战争一样,逃避没有用,只有面对,才是正确的方法!喜欢你就是喜欢你,没有理由可言…绝望,有时候也是一种幸福,由于有所期待所以才会绝望我怕自己太过于在乎,所以才没有一起去坚持我蹲在路边,哭泣的象个孩子..

    2025-09-26
  • 军事之最

    历史上的四大名人:军事上是天才,政治上却是蠢材,没一个善终

    前言长平血战后的政治盲区从胯下之辱到功高震主修长城的将军与宦官的较量灭蜀功臣的政治盲区兵权与皇权的千古博弈历史的无情与人性的局限结语

    2025-09-25
  • 商业之最

    商业帝国的崩塌往往始于一个无法接通的电话

    长沙医美行业翘楚罗莉娟的失联事件,如同一面棱镜,折射出当代商业社会中最荒诞的生存悖论——身家上亿的企业家,竟可能沦为跨国骗局的猎物。这个充满黑色幽默的现实剧本,比任何虚构商战故事都更具戏剧张力。玺罗医疗美容的突然停业,在长沙商界投下了一颗震撼弹。天眼查数据显示,这家注册资本200万元的公司,90%股权掌握..

    2025-09-25
  • 用之不竭的意思,实际上它并不是一个成语

    我们有时候会修饰一下自己的用词,成语就是一个提高自己语言水准最好的方法,一来是觉得一个词就可以概括自己的一句话。比如南柯一梦是什么意思大家都知道吗,举个例子,我们说东西很多用也用不完,我们大多数会用用之不竭来描述。那么用之不竭的意思究竟是不是这样。一、字面上用之不竭的意思用之不竭在我们字面上分析来说..

    2025-09-25
  • 明星秘密

    虞书欣事件再升级!黑料越扒越多、塌成废墟,受害者不止一个

    在阅读此文之前,辛苦您点击一下“关注”,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的支持!声明:本文内容均是根据权威材料,结合个人观点撰写的原创内容,辛苦各位看官支持,文末已标注文献来源及截图,请知悉。文丨白泽编辑丨栗子本刚因为《永夜星河》中表现大受好评的虞书欣如今却形象大反转,更是..

    2025-09-24
  • 商业世界的喧嚣与残酷,总在用最沉痛的方式提醒着每一个参与者。

    一纸讣告,将云海肴创始人赵晗的名字与“40周岁”这个本该是黄金年龄的数字,一同定格在了2025年的秋天。一个从云南菜系中杀出重围的餐饮品牌,一位正值壮年的掌舵人,生命的乐章戛然而止,留下的不仅是亲友的哀思,更是对整个行业生存状态的沉重叩问。赵晗的离去,被初步指向了心梗这个看似猝不及防的词汇。然而,任何一场..

    2025-09-24
  • 黄油猫悖论的由来,它只是一个假知识性的名称

    麦克斯韦妖大家都听过,那黄油猫呢?黄油猫悖论貌似是一个巧合,事实上并不是这个样子的,我们只要细心的去观察身边的事物,就会发现,在我们生活的这个世界上,到处都是所谓的黄油猫悖论,至于谁先把这个现象总结出来的,并给他挂上这么个貌似学术的名字。一、黄油猫悖论的由来我们把黄油猫悖论打碎了来看,这个悖论不过是..

    2025-09-24
  • 世界上最大的十个快餐连锁店,每一个都遍布世界的角落

    现在随着生活节奏越来越快,快餐已经成为人们最喜欢的一种吃饭方式比较方便,当然他们也是非常美味的,比如特别受欢迎的麦当劳,肯德基等等。今天我们来看一下,世界上最大的十个快餐连锁店吧。世界上最大的十个快餐连锁店:1、麦当劳2、奶品皇后3、唐恩都乐4、达美乐比萨5、汉堡王6、星巴克7、必胜客8、赛百味9、肯德基10..

    2025-09-22

微信分享

微信分享二维码

扫描二维码分享到微信或朋友圈

链接已复制
蜂鸟影院2048影视资源论坛熊猫影视河马影视星辰影视萝卜影院八哥电影网人人看电影无忧影视网橙子影视网叮当影视网天天影视网青青影视网电影天堂开心追剧网西瓜影院麻花影视网70影视网年钻网茶小舍电影藏影堂新神州影域煮酒观影体积影视爱看影院星光电影至尊影院极影公社超清视界