写1行代码影响1000000000人,这是个什么项目?

简介: 这些万里挑一的年轻技术人不约而同地聚集在了这里。

不带钱不带卡,只带手机出门就能畅行无阻,这已是生活的常态。益普索发布的《2019第一季度第三方移动支付用户研究》报告显示,移动支付在手机网民中的渗透率高达95.1%,截至今年1月,支付宝全球用户数已经突破10亿。你或许每天都会打开支付宝,付款购物、领取权益、享受服务……但你或许不知道的是,在这个方便、快捷、智能化的APP背后,有一群年轻的技术人,用智慧和创新让它每天都变得更“聪明”一点。

2014年,第一届天池大数据竞赛落下帷幕,一支做个性化推荐项目的团队从7000多支参赛队伍中脱颖而出,摘得桂冠,并一举获得高达100万元的奖金。

马健就是这个冠军团队的一员,当年他还在攻读硕士。这个参赛项目不仅帮他赢得了大奖,也奠定了他日后的职业方向。两年之后的2016年,他闯过六轮面试,拿到了“阿里星”的Offer,进入支付宝人工智能部,主攻业务算法。

“阿里星”计划起源于2011年,旨在吸引最年轻最顶级的技术人才加入,选拔标准严苛,每年通过者不过寥寥数人。但在支付宝的业务算法技术部中,马健遇到了好几位“阿里星”:同校同实验室的师弟王盛,同年入职的江少华,连江少华所带的两位实习生,也都先后成为了“阿里星”。

这些万里挑一的年轻技术人不约而同地聚集在了这里。“想做大事,想做能够影响更多人的事。”马健这样描述自己初出校门时的梦想。

作为梦想的舞台,支付宝无疑是足够大的。截至今年1月,支付宝全球用户数已经突破10亿,这意味着支付宝的技术人敲下的每一行代码,所影响的都是数以亿计的用户。从另一个侧面来说,在每一个用户习以为常的扫码付款、领取红包、使用小程序服务等便捷操作背后,也是成千上万的优秀技术人共同筑起的智能平台作为支撑。

端智能:支付宝上绑了很多卡,但唯独不能“卡”

2017年,王盛在南京大学读完人工智能方向的硕士,加入了支付宝。

那正是支付宝的服务快速丰富的时期,除了扫码付款之外,生活缴费、社会服务、理财保险、吃喝玩乐……越来越多的服务都可以在支付宝APP中一站式获取。但服务多了,加载时就难免发生“堵车”,“卡”,成了用户体验的瓶颈。

王盛所在的团队面对的一大挑战,就是找出让支付宝在提供海量服务的同时还能 “不卡” 的方法。

1.png
支付宝算法专家 王盛

如果要对每一个服务的加载都进行优化,性价比很堪忧,于是团队改变了思路:用户每次打开支付宝APP时,一般只会用到数量很有限的服务,如果可以只加载要用的服务,用不到的就不加载,就能极大地提升使用的流畅度。

然而问题来了:如何预先知道用户可能要用哪些服务?

“猜”用户的心思,这就是人工智能和机器学习的长项了。

2.png

支付宝业务算法团队训练了一个“智能预加载”的模型,当你打开支付宝,这个模型就开始预测你更可能使用什么服务,并依此决策是否加载某些模块。“这项技术的关键难点,就在于如何既减少加载量,又能保证更多的人准确获得所需的服务。”王盛说。

这不仅需要精深的技术,还需要对业务的深刻理解。比如,预加载开始的时间点并不是越早越好,很多时候用户打开支付宝APP只是为了扫码付款,如果此时开始预加载,就会影响扫码的响应速度。因此,预加载程序在用户打开APP一段时间之后才开始运行。

有了智能预加载之后,支付宝模块加载量和卡顿率都减少了20%以上,服务准确率却得到了进一步的提升。同样的思路也被用在推送免打扰功能上,“用模型优化计算之后,推送的总量和对用户的打扰都减少了,但点击量没降。”王盛表示,这说明模型计算能比运营规则更精准地命中用户的需求。

欧拉流控:告别“拍脑袋”,算法帮忙做决策

每到支付宝大促活动时,用户领权益领得很高兴,运营同学却很紧张。因为支付宝提供的权益种类丰富,数量各不相同,要以什么样的节奏发放权益,如何才能尽可能地让更多用户受益,这是个高深的技术活儿。

以前,节奏的把控全靠运营同学的经验和判断。一到大促,运营必须时刻紧盯数据,连厕所都不敢去。即使如此,靠“拍脑袋”做出的决策颗粒度仍然较粗,资源分配的曲线波动频繁。

“这种在线资源分配,可以在算法上转化成一个线性规划的问题,再使用数学工具来做优化。”支付宝算法专家马健说。

3.png
支付宝算法专家 马健

深入理解业务的特性、将之抽象成数学问题去解决,充满挑战但富有乐趣。他所在的团队,针对在线资源分配问题,花了半年多的时间开发了一套算法,涉及复杂的数学原理,团队用著名数学家欧拉的名字为它命名,叫做“欧拉流控”。

3.2.png
“欧拉流控”技术架构

2019新春五福刮刮卡上线时,这一算法代替运营控制权益发放的节奏,精度细致到秒,整个过程平稳丝滑,用户几乎不会感知到权益池的波动。在模块化和组件化之后,今后各种涉及在线资源分配的营销业务都可以直接调用这个算法组件。

此外马健还设计了一套算法,这种算法能自动学习很复杂的特征组合,不仅是特征的简单组合叠加,还可以在高VC维,进行特征之间各种复杂算子的高阶组合,整个过程不依赖于梯度。“而且它能生成复杂的公式,这公式本身可能就描述了一定的业务含义,能让业务同学获得新的灵感,从而对业务逻辑进行优化。”马健说。

智能文案:让人工智能为你做创意

相比于马健和王盛,江少华的工作看上去更“诗意”一些,他主要做的是打造一个蚂蚁的首席AI文案创作官,利用人工智能来写文案。

“不止一位运营同学跟我说,想文案想到发际线后退。”江少华说,说起文案,每位运营可能都有一段血泪史。他们迫切地需要一种技术来帮他们拓展思路,并且为投放决策作出参考。“支付宝小二、金融、财富号、线下商家等,都对智能文案有需求。”

4.png
支付宝高级算法专家 江少华

然而中文是一种博大精深的语言,措辞的些微变化就能带来天差地别的效果,外国人学习起来都不轻松,AI能学会吗,效果会好吗?

在正式接手智能文案项目之前,江少华用了两年的时间做技术沉淀,第一年支持财富线做信息feeds流推荐,第二年潜心研究NLP的技术创新,第三年一开始,就经历了几场大促:人传人红包,15天到店瓜分15亿红包,团队一边为运营提供支持,一边将这些大促活动作为练兵场,积累下的经验都沉淀成了平台能力。

到了2018年底,新的挑战来了:2019新春五福刮刮卡项目找上了他们,和之前发红包的活动不同,五福刮刮卡涵盖了多种权益,现金、优惠券、会员卡……而且广泛覆盖电商、餐饮、文娱等各条业务线,需要根据业务的不同特性生成不同的文案,对于一直主要在“学”金融业务的智能文案平台来说,这个任务有点“超纲”,同时对生成模型的通用性提出了很大挑战。

“10月接到任务,新年就要上线,总共只有不到三个月时间。”江少华回忆起当时的情形,业务算法团队联合AI团队一起做能力升级,花了一个多月,在文案生成模型方面取得了很大的进展。最终效果而言,点击率提升15%,核销率提升20多个点。

5.png
智能文案应用在“新春五福”

“技术要赋能业务,最重要还是给业务带来改变、带来效果。”江少华说,起先运营同学多少有些顾虑,会不会过多占用系统性能?实际效果怎么样?但在看到效果之后,“大家就其乐融融了。”

几经实战大考,现在智能文案平台的生成能力已经可以覆盖到几乎所有的类别:旅游出行、保险、娱乐、餐饮等等。各业务线的运营可以“自助”地在平台上生成文案,无需技术同学专门调试配置。更神奇的是,这个平台不仅会写文案,还能写出不同的风格,同一语义可以生成五条不同风格的文案,任君选择。目前它正在“学”做图像创意,一键生成图文并茂的未来已经不远了。

人工智能:一种理解世界的视角

“互联网的各项技术发展一直很快,而其中,机器学习是跑得最快的。”马健说。之所以快,是因为有效,在推荐、搜索、营销等场景下,机器学习都带来了相当大的飞跃,五年前难以想象的刷脸支付,也在机器视觉技术一日千里的飞速发展之下变成了现实。

实际需求不断出现,技术的发展不断提供解决方案,但解决业务需求和提升业务指标,绝不仅是技术唯一的任务。“算法的目标不仅是完成业务的指标需求,而且能从更高更深的层面理解业务特性,发现一些非平凡的模式和信息,对业务设计以及决策产生正向的、重要的影响。”马健说,这才是技术的深层价值。

“技术人不能仅盯着眼前的问题,要有更高的视角和更广的视野。”三位“阿里星”不约而同地提到这一观点,“人工智能不仅是解决问题和优化服务的工具,更是创新的源泉,许多当下无法想象的能力,都会经由它们来创造。它们蕴藏着面向未来的无限可能。”

相关文章
|
4月前
|
开发者
软件交付问题之有效地减少代码中的逻辑错误,如何解决
软件交付问题之有效地减少代码中的逻辑错误,如何解决
|
4月前
|
JSON 前端开发 Java
代码的应用重构问题之BaseActivity类的主要功能问题如何解决代码缩减的主要问题如何解决
代码的应用重构问题之BaseActivity类的主要功能问题如何解决代码缩减的主要问题如何解决
|
4月前
|
测试技术 开发者
单元测试问题之增加代码变更如何解决
单元测试问题之增加代码变更如何解决
|
6月前
|
缓存 NoSQL 数据库
总结 做项目的一点自己的想法 在开发中我觉得可以修改的地方
总结 做项目的一点自己的想法 在开发中我觉得可以修改的地方
37 1
|
SQL 缓存 NoSQL
写代码有这16个好习惯,可以减少80%非业务的bug
每一个好习惯都是一笔财富,本文整理了写代码的16个好习惯,每个都很经典,养成这些习惯,可以规避多数非业务的bug!希望对大家有帮助哈,谢谢阅读,加油哦~1. 修改完代码,记得自测一下...
348 0
|
数据库
重构——前提工作
重构——前提工作
|
存储 机器人 应用服务中间件
|
机器学习/深度学习 分布式计算 自动驾驶
按需求构建架构才是正确之举,过度工程只会“劳民伤财”
按需求构建架构才是正确之举,过度工程只会“劳民伤财”
jira学习案例8-用useFebouce减少工程请求效率1
jira学习案例8-用useFebouce减少工程请求效率1
90 0
jira学习案例8-用useFebouce减少工程请求效率1