﻿“数字化时代，问题可以定量评估，机器学习可以围绕目标做更智能、高效的优化。”

4月18日，火山引擎发布自研DPU等系列云产品，并推出新版机器学习平台，支持企业客户更好地训练AI大模型。字节跳动副总裁杨震原以《抖音的机器学习实践》为主题，分享了他对机器学习的理解。

杨震原认为，机器学习系统的核心竞争力，在于每次实验都能很快、很便宜。算法工程师能聚焦在自己的工作上，用很低成本不断去试错，这样才能实现业务的敏捷迭代和创新。

他表示：“火山引擎机器学习平台是内外统一的，火山引擎客户和抖音用的是同样的平台。我希望公司内部打磨的这些技术能够服务更多的客户，支持大家做智能化的创新。”

以下为杨震原演讲全文：

<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_58d80b6d92b0a313714c020477ec91bd.jpg) </span>

众所周知，抖音等业务是火山引擎的内部客户，都跑在火山引擎的云上。今天我会分享下公司内部业务的一些实践经验：火山引擎是怎样支持抖音用好机器学习的。

首先说说为什么要聊机器学习，什么场景、什么情况下要用机器学习系统？用机器学习会有什么样的挑战？我们是怎么解决这些挑战的？

<span id="用机器学习的前提，是问题可以定量评估"></span>
# 用机器学习的前提，是问题可以定量评估

我认为机器学习很重要的一点，是把问题数字化。先数字化，然后让这个问题可以定量评估。当问题可以定量评估的时候，接下来就可以智能化，进一步用一些机器学习的方法来优化。

<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_d8b30c34fc46cdf34a163db0658fd155.png) </span>

之前有些朋友问我，说“震原，能不能帮我搞一个模型？”我问他想用这个模型干什么？他其实自己并没有想清楚。

我想通过几个例子来具体说明下机器学习的用法。

比如效果广告，对于商家来讲，是不是能用合理的钱找到客户？对平台来讲，有一个广告位，是不是能够把最适合的广告放到这个位置上？这个问题怎么评估呢？很简单，我们看转化率就可以了，所以它的目标可以很清晰地定义出来。

能够清晰定义目标，就可以做A/B实验，可以判断什么方法更好，进而可以用机器学习进一步去优化。最后往往就会发现，用人工的方法，比如圈选用户这些方法做效果广告，很难干得过用机器学习。

再比如，优惠券发放。同样的钱应该发给哪些用户，能给平台带来更长期的留存？这也是可以被精确定量和评估的问题。这样的问题，我们就可以思考用什么样的算法，用什么样的机器学习去优化。

运力调度，这是大家很熟悉的网约车领域，也是可以定量评估的，可以通过成单率评估。如果匹配得不好，我就不能把司机和乘客有效匹配起来。自动驾驶就不多说了，这个领域想评估效果，实际上的维度更多，比如说安全性、时间、舒适度等等。

<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_687caeeeb01464930cfdc09dec8b6664.png) </span>

讲了这么多，核心的问题是要能够把问题定义清楚，先数字化，再去做智能化。

<span id="机器学习的两大挑战：复杂和昂贵"></span>
# 机器学习的两大挑战：复杂和昂贵

我们用机器学习做智能化，会有什么样的问题呢？主要说两个问题，第一个是复杂，第二个是贵。

为什么说复杂？因为机器学习软件栈很深，它需要有平台，有PyTorch平台，有TensorFlow，还有很多的平台。也涉及到框架、操作系统，还有底层的硬件。大家最近出门，都问对方有多少张GPU卡，你如果没有，都不好意思跟人家打招呼。但其实很多人并不知道用这些卡的效率到底是什么样子。所以机器学习的软件栈是很深的，是挺复杂的一件事情，每个环节都要做对、做好。

再说说很贵的问题。人力贵，一个非常优秀的算法工程师很贵，也不是那么容易就能找到。除了人才昂贵，数据也很贵，高质量的数据成本很高。硬件就不说了，高性能GPU的价格大家都知道。

<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_c162699e92abbf9cafcb85c4ee284ff3.png) </span>

所以，机器学习是一件既复杂又昂贵的事情。那抖音是怎么处理这个既复杂又昂贵的事情，更好地使用机器学习助力业务发展的呢？

<span id="好用的机器学习，要又快又便宜"></span>
# 好用的机器学习，要又快又便宜

先简单介绍一下我们的平台，我们最主要的两个平台，一个是推荐广告平台，还有一个是通用平台，包括CV（计算机视觉）、NLP（自然语言处理）平台等。

推荐平台，每周会有上万个模型在上面训练，因为我们有很多产品，不同场景都会频繁训练模型。CV/NLP平台，模型训练的数字会更大，每周有大约20万个模型的训练规模。而且这两个平台上日常还跑着大量的在线服务。

举个例子。比如，抖音的推荐系统有很多模型，其中某个模型需要用15个月的样本来训练，也就是说在15个月的时间里不断构筑训练数据，这个数据量是非常大的。但是在我们的机器学习平台上，我们只需要5个小时，就可以完成这个模型的训练，核算下来成本只要5000块人民币。对于一个算法工程师来讲，他早晨做这个模型训练，下午就到线上做AB实验了，极大提高了产品迭代效率。

机器学习做得好不好，我觉得可以用这个三角形来表示，其中最重要的是算法。算法在效果上做到领先，就能对业务产生很大的价值。支撑算法效果的需求，有两件事，一个是硬件ROI，一个是人力ROI。

<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_248cf3f04571e7687178c730c1403190.png) </span>

硬件ROI指的是单位模型的成本。在市场竞争里，别人花一万块钱做一个模型，你如果花一万块能做十个同类的模型，这场仗就稳了。人力ROI，是说招一个厉害的算法工程师进来，他能否发挥最大潜能，主要看系统能否支持他足够容易、足够敏捷地去尝试新的想法。

如何提高硬件ROI？潮汐、混部，这是我们常用的一些方法。本质上一句话，就是如何提高设备利用率，这也是云原生的一个基本思想。我们把不同任务混合在一起，互相错峰，通过智能调度，把它们的利用率都跑得很高，这样可以极大地提升资源的利用率，去压缩每个实验的成本。

<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_54645bf8de13e7e6be28d2ba4deda379.png) </span>

在硬件成本以外，还有很重要的一点，就是机器学习的这套基础设施是不是足够易用。开个玩笑：很多做数学的人，不喜欢你搞计算机科学，尤其做深度学习，说你们这帮人就在这里“炼丹”，经常不能解释你这个东西为什么好，你为什么需要不断做实验？但是我们从实用的角度来讲，必须得不断做实验，不断去尝试，这个领域很多新的发现，都是不断尝试做出来的。

如何让每次尝试更快、更便宜，这就是核心竞争力。想一劳永逸，一把做出一个非常完美的模型，这是很难实现的。

<span id="火遍抖音的爆款特效，一位算法工程师一周完成"></span>
# 火遍抖音的爆款特效，一位算法工程师一周完成

火山引擎要做的，就是把平台的工作做好。大家可以看到，数据处理的整个过程、模型训练、评估到上线，再到AB测试，全平台有统一的集成。算法工程师不需要反反复复去沟通各种环节，串联各种业务，他可以更聚焦在自己的工作上。

再看个例子，这是一个很有意思的特效（抖音AI绘画），估计很多朋友都用过。大概是在去年年底，这个特效特别火。大家猜猜，做这个特效对抖音来讲投入了多少人力？可能很多人都想不到，算法工程师就投入了一个人，他在平台上写了一些调研的代码，大概用了一个星期就完成了模型的训练，经过一些调教之后就发布到线上了。

当时产品预估可能有200QPS的峰值流量，上线我们按照2000QPS来做的，没想到上线几个小时就打满了。我们很快做了大量扩容，很短时间内容量再扩大10倍，到支持20000QPS。

可以看到整个过程，参与的人数是非常少的，同时扩容效率也非常高。很多人说模型训练的开销大，其实从长期来看，推理的开销会显著大于训练。AI绘画这个模型，在火山引擎平台推理的效率大概比原生Pytorch 模型快5倍。上线之后又做了一些针对性的优化，还可以更快，大概快10倍，提高了一个数量级。

有了这样的平台支持，工程师就可以快速尝试各种想法，不管是跟进进展，还是开拓创新，都可以做得很快。

最后，大家能够看到，在抖音、今日头条、懂车帝这样一些APP上，开屏会显示：火山引擎提供计算服务。我们所讲的机器学习平台是内外统一的，火山引擎客户和抖音用的是同样的平台。我希望公司内部打磨的这些技术能够服务更多的客户，支持大家做智能化的创新。谢谢大家。



