ArchSummit全球架构师峰会全新主题——「智能进阶·架构重塑」>>> 了解详情
写点什么

流利说张潇君:引入谷歌工程实践,让流利说在人效上更接近硅谷

  • 2019-04-17
  • 本文字数:3759 字

    阅读完需:约 12 分钟

流利说张潇君:引入谷歌工程实践,让流利说在人效上更接近硅谷

张潇君现任流利说(NYSE: LAIX)首席算法架构师,TGO 鲲鹏会上海分会的会员,目前全面负责流利说的对话系统。张潇君与计算机结缘是在上海交大的 ACM 试点班,熟悉 ACM 班的人都清楚,ACM 班的名字源于国际科学教育计算机组织——美国计算机学会(Association of Computing Machinery),它是世界上第一个,也是迄今为止最有影响的计算机组织,计算机领域最高奖——图灵奖,就是由该组织设立和颁发的。这寓意 ACM 班旨在培养计算机科学家。



张潇君 | 流利说首席架构师


TGO 鲲鹏会上海分会会员


张潇君的计算机之路就是从这里开始的。读本科时,张潇君凭借优异的表现进入了微软亚洲研究院实习,从事 NLP(Natural Language Processing) 项目研究;研究生的阶段又去了德国人工智能中心读计算语言学,一步步扎实地打稳了自己的专业能力;毕业之后他加入谷歌瑞士,迅速提升了自己的代码编写和系统工程的能力。


2017 年,张潇君回国发展,并加入流利说,引入了诸多谷歌工业规范和最佳实践,并致力于用 NLP 的方法改变语言教学的模式。

参与世界上最复杂的系统

从张潇君的经历来看,学生时期已经在计算机语言领域积累了大量实践经验。于是,毕业之后张潇君获得了去谷歌瑞士工作的机会。谷歌瑞士办公室是一个比较特殊的地方,作为欧洲最大的研发中心,谷歌瑞士办公室网罗了欧洲几千名工程师精英,业务组也非常多。谷歌的老牌组,包括:广告、Youtube、 搜索、地图、助手等都有庞大的部门。张潇君有幸加入了广告组,从事商品广告 Campaign 后台管理。


谷歌广告部是一个庞大的部门,张潇君作为其中一员,早期专注在商品和广告的数据模型构建以及数据整合的工作,后期专注于广告在其他平台的输出,比如 Youtube、Gmail 等。这些工作听上去并不复杂,但是因为量级巨大,稍有差池都是上百万美元的差距,所以对工程的要求极高。这对张潇君来说挑战巨大,以早期的商品广告 Data Integration 系统为例,它每天需要处理上十亿级别的 Campaign 更新。 即使用 Map-Reduce 每天若干次更新数据,仍然有若干小时的延迟。但在张潇君的主导下,这个系统变成了流式的系统,大大缩短了 Campaign 的生效时间,使得系统对数据的吞吐量、有效性和延迟都达到了相当高的标准,并且有强大的 fault-tolerance,不需要工程师参与后期维护。


在谷歌瑞士张潇君参与并贡献了构建世界上最复杂系统的工作,“在这些系统的构建过程中,小到工程代码和规范,大到系统结构和业务理解都得到了很大提升,对我的个人成长帮助很大。 ”


在谷歌这样伟大的企业工作三年之后,张潇君意识到:在这样一个工程师的天堂,虽然个人能力提升很快,但是因为机构过于庞大,导致产品上线流程略长,极其考验人的耐心,成就感也会比较延迟。其实,张潇君在加入谷歌之前,也拿到了硅谷独角兽 startup 的 offer,虽然当时没有去,但心中埋下了对创业公司的情节,张潇君一直想体验 “Move Fast and Break Things ”的节奏,所以回国之后他选择了创业型企业流利说。

文化的诱惑与专业的契合

加入流利说之前,张潇君花了很长时间来深入了解流利说。除了与流利说的三位创始人王翌、胡哲人、林晖一一沟通,张潇君还与技术部的几个 Team leader 也聊过。从产品角度看,张潇君非常认同流利说用 NLP 技术来做教育这件事情,“因为教育本身就有很多重复性的工作,在交互时对学生语言的识别、理解以及和教研、知识点推荐的结合非常紧密,确实能够用 NLP 的技术来做非常大的推动,甚至是改革。”除此之外,张潇君也在沟通中发现了流利说浓厚的硅谷工程师文化,他认为流利说是为数不多的值得加入的创业型公司。


在张潇君看来,硅谷的工程师文化体现在很多方面,整个产品从设计到执行到测试再到上线的流程已经界定的非常清楚,但由于国内很多企业只一味地追求速度,并没有很好地实践。这就导致整个产品流程存在很多问题,产品迭代起来非常困难。


“但流利说在这方面做得非常好,在很多地方都实行了相当严苛的规范。”在经过深思熟虑之后,张潇君决定加入流利说,担任流利说首席算法架构师。

将谷歌的工程实践引入流利说

加入流利说之后张潇君开始发挥自己的优势,将之前的工程实践引入流利说。 比如 Bazel 作为 build 工具,使得流利说成为国内为数不多的引入 Bazel 的公司。虽然 Bazel 在谷歌内部是非常高效且完备的工具,但对工程师的要求也比较高。如果没有扎实的工程背景,一下子从其他 Build 工具,比如 CMake 或 Maven 迁移到 Bazel,会有较大的不适应;另一个问题是网络环境的差异使得 Build 过程比较缓慢,会影响工作效率。


为了解决这些问题,张潇君和另一位前谷歌工程师花了很多精力。比如,建立和维护属于流利说的 Bazel 依赖库,并且针对网络做各种优化;建立 Codelab 和培训讲座,让工程师们从入职的第一天就开始熟悉这些工具;提供代码样例,将 Bazel 工具无缝整合到现有的 CI/CD 流程中。 除了 Bazel, 张潇君也大力推动了谷歌的其他成熟工具, 例如 Kubernetes, Docker, gRPC 的运用和普及。


工程实践也离不开日常工作的规范。 比如在每次代码提交都有 Code Review,添加覆盖良好的自动测试,有自动化的 CI/CD,上线之前也有非常严苛的上线服务规范,上线之后也有系统能做 A/B 实验对比。


除了工程上的规范,算法的迭代也很严苛。流利说擅长从真实的用户数据找到痛点在哪里。比如为了解决一个真实的用户问题,上线一个初代模型,先收集用户的数据,再进行标注,迭代模型,验证想法再重新 A/B 上线,从而形成一个良好的“数据 – 算法”的迭代反馈链路。


“这些其实都是非常成熟的算法和工程实践。我们希望国内工程师能在人效上更加接近硅谷的公司,打造优秀产品的同时能形成良好的文化和氛围。”张潇君告诉 TGO 鲲鹏会记者。

结语

目前,张潇君在流利说负责构建对话系统。对话是教学的常用手段,通过对话做知识点的教学、情景的演练、提升口语和交流功能;同时对话也是人机交互在探索的全新方式。 张潇君和团队开发的功能分布在流利说各个产品线中,同时,他们也在研发独自的产品,希望能通过流利说把更多成熟的 NLP 黑科技带给用户,产生价值。


“对话系统作为自然语言处理的一个子领域,是一个综合了各个 NLP 任务,并且和内容的生产迭代有密切联系的复杂系统。它在学术领域的研究方向和工业领域的实践应用有比较大的鸿沟,需要我们的科学家 / 工程师们和产品经理、教研以及内容生产方一起协作,才能做出让用户满意的落地产品。我们也希望有更多相关领域的专家能加入到流利说,为下一代教育产品的构造一起努力。”张潇君最后对 TGO 鲲鹏会记者说道。

Q&A

TGO 鲲鹏会:您早年在微软亚洲研究院和德国人工智能研究所的经历,是否和在流利说这样的 AI 创业公司的工作内容很不一样?合作模式与团队思路上有何异同?


张潇君:前两家研究机构都是吃皇粮、搞研究的地方。做的事情都超前,但是对产品化没有压力,好比之前我在 MSRA 参与了构建基于大量用户数据的问答系统,更多的是从算法和数据本身解决一些开放问题,最后这个研究工作本身做得还不错,最后被 Bing 用上了。 德国人工智能研究中心也比较偏研究,当时参与过 EuroMatrixPlus 项目,做欧洲多个语言的翻译系统,显然离产品化比较远,更多的是对学术的探索。


相比之前,流利说的算法团队非常产品导向,如果不能产品化,我们认为这些工作就没有意义。所以在流利说,更多的是用成熟的技术为教育产品赋能。 相比之前总是和研究员、工程师有交集,在流利说我们和产品经理、教研、内容、数据、运营甚至客服团队都有非常密切的合作。


TGO 鲲鹏会:在谷歌和在流利说,作为技术人您感受到哪些比较大的差异?可以举例说明吗?


张潇君:谷歌在大范围解决问题,因为掌握世界上体量最大、地域跨度最广的流量,所以处理的工程和算法问题的思路和方法都比较大格局,在某一个点上解决比较细致的问题,能获得很大的收益。流利说是把针对中国人的教英语做到极致的地方,所以相对垂直。


TGO 鲲鹏会:除了技术,对于将 Google 这样的世界级软件企业的工作思路、工作模式引入国内,有哪些心得?这些方法取得了哪些成果?


张潇君:因为几位创始人也是 Ex-googler, 所以我们的工程和算法团队基本照搬了之前的模式,比如 Bazel Build, 自动化 CI/CD、微服务化、K8S 部署。工程实践上我们有严格的 code review,上线遵从严格的规范。算法实践上我们遵从数据驱动的原则,从真实的用户数据出发,建立 benchmark,迭代模型,再收集数据回馈,并形成闭环。工作模式上我们从上到下实施 OKR,每天都有非常明确的目标,和之前不一样的是,流利说的变化比谷歌要大很多,所以我们也常常拥抱变化,在实施期间做动态的调整。成果是长期的,虽然可能比其他公司“快糙猛”的方式相比,当下消耗更多时间,但是长期来看,对项目迭代和业务发展都有很好的支撑。




TGO鲲鹏会,是极客邦科技旗下高端技术人聚集和交流的组织,旨在组建全球最具影响力的科技领导者社交网络,线上线下相结合,为会员提供专享服务。目前,TGO 鲲鹏会已在北京、上海、杭州、广州、深圳、成都、硅谷、台湾、南京、厦门、武汉、苏州十二个城市设立分会。现在全球拥有在册会员 800+ 名,60% 为 CTO、技术 VP、技术合伙人。


会员覆盖了 BATJ 等互联网巨头公司技术领导者,同时,阿里巴巴王坚博士、同程艺龙技术委员会主任张海龙、苏宁易购 IT 总部执行副总裁乔新亮已经受邀,成为 TGO 鲲鹏会荣誉导师。


2019-04-17 08:003063

评论

发布
暂无评论
发现更多内容

2023年关于身份安全的4 个预测

HummerCloud

EasyNLP集成K-Global Pointer算法,支持中文信息抽取

阿里云大数据AI技术

人工智能 深度学习 信息抽取 算法模型 企业号 2 月 PK 榜

英方软件加入龙蜥社区,联手夯实数字基础设施坚实底座

OpenAnolis小助手

开源 数据复制 英方软件 龙蜥社区 CLA

Jmeter安装配置详细教程

Jmeter 性能测试 接口测试

Pycharm+PyQt5+Python3.5开发环境配置(详细教程)

Python pycharm 环境安装 PyQt PyQt5

打造江西数智产业高地,百度飞桨人工智能产业赋能中心落户南昌青山湖

飞桨PaddlePaddle

飞桨 PaddlePaddle

最佳实践|用腾讯云智能文字识别实现网约车信息管理

牵着蜗牛去散步

人工智能 腾讯云 腾讯 最佳实践 文字识别

集度汽车 Flink on native k8s 的应用与实践

Apache Flink

大数据 flink 实时计算

互联网企业如何进行数字化转型?业务需求迭代频繁的应对之策!

优秀

数字化转型 互联网行业

春季3月 · CSPO认证周末班【提前报名特惠】“价值交付课程” | 全国招生

ShineScrum捷行

产品经理 PO Product Owner 产品负责人 产品愿景

中移链结合CA证书实现节点准入控制

BSN研习社

BSN-DDC基础网络详解(三):注册门户账号和业务开通(2)

BSN研习社

BSN-DDC

Flink CDC+Kafka 加速业务实时化

Apache Flink

大数据 flink 实时计算

即时通讯技即时通讯技术文集(第8期):移动端弱网优化系列 [共14篇]

JackJiang

一文详解 Netty 组件

京东科技开发者

Java 架构 Netty nio 企业号 2 月 PK 榜

MySQL事务的12连问,你顶得了嘛

采菊东篱下

MySQL java面试

DevEco Studio 3.1 Beta1版本发布——新增六大关键特性,开发更高效

HarmonyOS开发者

HarmonyOS

测试角色在项目各阶段的项目管理tips

京东科技开发者

项目管理 测试 测试 单元测试 企业号 2 月 PK 榜

云数据库TiDB免费试用初体验

TiDB 社区干货传送门

社区活动 6.x 实践

春季3月 · CSM认证周末班【提前报名特惠】“全球金牌课程”CST导师亲授

ShineScrum捷行

ScrumMaster CSM

Serverless Kubernetes的思考与征程

阿里技术

Kubernetes Serverless

Python基础知识入门(一)

漫步桔田

前端监控之性能与异常

京东科技开发者

监控 服务端 页面 企业号 2 月 PK 榜 js代码

手把手教你为基于Netty的IM生成自签名SSL/TLS证书

JackJiang

2023 最新 Java 中高级1000道面试题目汇总解答

架构师之道

java面试

ChatGPT“狂飙”出圈,快来分享你眼中的ChatGPT吧!

InfoQ写作社区官方

热门活动 ChatGPT

龙蜥开发者说:为爱发电!当一个龙蜥社区打包 Contributor 是怎样的体验?| 第16期

OpenAnolis小助手

Linux 开源 rpm 龙蜥社区 贡献

爆肝!《Java权威面试指南(阿里版)》,冲击“金三银四”有望了

程序知音

Java java面试 java架构 后端技术 Java面试八股文

颜色的认识与使用(大屏颜色/仪表板报告设计)

Data 探险实验室

大屏配色 颜色 可视化颜色 配色搭配

秒懂算法 | 基于朴素贝叶斯算法的垃圾信息的识别

TiAmo

机器学习 算法 过滤算法

“四维一体”,银行数据使用安全新姿势|盾见

极盾科技

数据安全

流利说张潇君:引入谷歌工程实践,让流利说在人效上更接近硅谷_AI_Echo Tang_InfoQ精选文章