【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

  • 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 鲲鹏会荣誉导师。


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2019-04-17 08:003098

评论

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

这三年被分布式坑惨了,曝光十大坑

悟空聊架构

关于 Spring 中 getBean 的全流程源码解析

小傅哥

Java spring 源码分析 小傅哥 getBean流程

细说Python Lambda函数的用法,建议收藏!

华为云开发者联盟

Python 函数 匿名 Lambda函数 表达式

女朋友问我:MySQL 事务与 MVCC 原理是怎样的?

一个优秀的废人

Java 数据库 事务隔离级别 事务 MVCC

面试官关于线程池的这个问题把我问懵逼了。

why技术

面试 Jav 1 周年盛典

图算法系列之无向图的数据结构

Silently9527

Java 数据结构和算法 图算法 无向图

6种常见的地标识别算法整理和总结

华为云开发者联盟

KNN CNN 地标识别 GLDv2 地标识别算法

陌陌一面,为什么SpringBoot的 jar 可以独立运行?

Java小咖秀

jar maven springboot 集成 pom

【LeetCode】移除元素Java题解

Albert

算法 LeetCode 4月日更

面向K8s设计误区

阿里巴巴中间件

云计算 Kubernetes 容器 分布式

女朋友问我:什么是 MySQL 的全局锁、表锁、行锁?

一个优秀的废人

MySQL 数据库 锁机制 备份

重读《重构2》- 封装记录

顿晓

重构 4月日更

五一高铁票难抢?用RPA机器人试试!

华为云开发者联盟

RPA

Ubuntu 20.04 快捷键整理

TroyLiu

Linux ubuntu 效率 操作系统 快捷键

CTO 说要接入实时音视频 SDK,我到底该批多少预算?

融云 RongCloud

回顾过去,展望未来,我在 InfoQ 写作平台的一周年!

JackTian

程序员 个人总结 4月日更 1 周年盛典 InfoQ 写作平台 1 周年

使用gradle插件发布项目到nexus中央仓库

程序那些事

Java maven Gradle 程序那些事

聪明人的训练(十九)

Changing Lin

4月日更

MySQL权限管理实战!

Simon

MySQL 权限管理

java数组打印的几种方式

Sakura

4月日更

带你入门目标检测算法

华为云开发者联盟

网络 数据集 目标检测 yolo two-stage

深入剖析共识性算法 Raft

vivo互联网技术

复制 选举 分布式协调 Leader Follower

新一代容器,安全容器kata-container实践

ilinux

Kubernetes 容器

技术干货 | 基于MindSpore更好的理解Focal Loss

华为云开发者联盟

损失函数 mindspore Focal Loss 图像物体检测 采样

模块二课后作业

Damon

Spark任务等待与运行策略

小舰

4月日更

用WASM连接Rust与Python | Rust 学习笔记(三)

李大狗

Python rust 狗哥 Wasm

app架构师,10天拿到字节跳动安卓岗位offer,好文推荐

欢喜学安卓

android 程序员 面试 移动开发

阿里P7手把手教你!系统学Android从零开始,内含福利

欢喜学安卓

android 程序员 面试 移动开发

一文搞懂分布式锁的原理与实现

架构精进之路

分布式锁 4月日更

[转] 程序员在工作中如何做好技术积累

小江

技术管理 架构师 自我思考 个人总结

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