iPad使用dropbox dropbox怎么用

【CSDN 编者按】
Dropbox 借助机器学习的猜测功能,每年能为公司节省了一百多七十多万美元的基础架构成本 。非常了不起的成就 。本文,一起来看一看 Dropbox 采用机器学习的经过,以及分析一下其中的利弊 。
译者 | 弯月 责编 | 张文
出品 | CSDN(ID:CSDNnews)
最近,Dropbox 优化了生成和缓存文档预览的方式,并借助机器学习的猜测能力,每年为公司节省了 170 万美元的基础架构成本 。Dropbox 的一些常用功能都采用了机器学习,例如搜索、文件与文件夹提示以及文档扫描 OCR 。虽然用户看不到 Dropbox 采用的机器学习,但这些应用程序仍以其他方式推动了业务的发展 。
在本文中,我们就来看一看 Dropbox 采用机器学习的经过,以及其中的利弊 。
预览功能用户可以利用 Dropbox 的预览功能直接查看文件,而无需下载内容 。除了常见的缩略图预览之外,Dropbox 还提供交互式预览界面,可供用户共享文件和共同编辑文件,包括添加批注和标记其他用户 。
我们的内部系统 Riviera 负责安全地生成文件预览,它可以处理数百种支持的文件类型的预览 。它可以将各种内容转换操作链接在一起,创建适合特定文件类型的预览 。例如,Riviera 可以将 PDF 文档的某一页栅格化,在 Dropbox 的 Web 界面中显示高分辨率的预览 。完整内容的预览功能支持批注和共享之类的交互 。大型图片可以转换成缩略图,以供在各种情况中显示给用户,包括搜索结果或文件浏览器 。
在 Dropbox 的规模下,Riviera 天天需要处理数十 PB 的数据 。为了加快某些类别的大型文件的预览,Riviera 会提前生成预览,并缓存预览结果(此过程称为预热) 。由于我们支持的文件量非常巨大,因此预热消耗的 CPU 与存储也非常可观 。
图:浏览文件时的缩略图预览 。预览可以被放大,
并作为应用程序文件的代理与用户交互 。
我们看到采用机器学习可以降低这些成本,因为有些预生成的内容从不会有人查看 。假如我们可以有效地猜测某个预览是否会被使用,则只需预热我们确信一定会被查看的文件,从而节省计算和存储空间 。我们的这个项目名叫 Cannes(戛纳),这个名字的灵感来自法国戛纳电影节 。
机器学习的利弊权衡在预览的优化过程中,机器学习的两项折衷决定了我们的指导原则 。
第一个挑战是权衡机器学习为基础设施带来的成本效益 。减少预热的文件可以节省成本,无人不喜欢,但也有可能漏掉一些文件,造成不良的用户体验 。假如缓存中没有相应的文件预览,则 Riviera 需要动态地生成预览,而在这期间用户只能等待 。我们与预览团队合作开发出了一种预防措施,防止用户体验降级,并通过这种预防措施来调整模型,以合理的方式节省费用 。
另一个需要权衡的是复杂性和模型的性能 vs. 可解释性和部署的成本 。通常,你需要权衡机器学习的复杂性与可解释性:通常模型越复杂,猜测就越正确,但代价是可解释性会降低,你很难解释为何得出了这样的猜测,而且部署的复杂性可能也会增加 。在第一次迭代中,我们的目标是尽快提供可解释的机器学习解决方案 。
由于 Cannes 是在现有系统内新构建的机器学习应用程序,因此我们偏向于使用一种比较简朴且可以解释的模型,这样我们就可以在研究更复杂的模型之前,集中精力建立模型、指标以及报告 。假如出现问题,或 Riviera 出现意外行为,机器学习团队也能够进行调试,并了解是 Cannes 的原因还是其他问题 。我们的解决方案必须相对简朴且成本低廉,因为我们天天都需要部署将近 5 亿个哀求 。目前的系统只能预热所有的可预览文件,因此任何改进都可以节省成本,而且越快越好!
Cannes v1考虑到这些权衡之后,我们选择了一个简朴、易于练习且易于解释的模型 。第一版的模型是一个梯度提升分类器,练习时采用了文件扩展名、存储了文件的 Dropbox 账号类型,以及该账号最近 30 天的活动等作为输入特征 。在离线预留数据上练习时,我们发现该模型经过预热后,猜测的预览正确率可以在最多 60 天内超过 70% 。该模型拒绝了预留数据中大约 40%的预热哀求,并且性能在我们为自己设定的预防指标以内 。假阴性的数量很少,假阴性指的是我们猜测不会被查看、但最终在接下来的 60 天内被查看的文件,一旦出现这种情况,我们就需要动态生成预览 。我们估算了一下成本:“拒绝百分比”- 假阴性,结果发现每年可以节省 170 万美元 。
在探索预览优化之前,我们想确保节省的成本能够超过构建机器学习解决方案的成本 。我们大致估算了一下 Cannes 项目可以节省的成本 。在大型分布式系统中设计和部署机器学习系统,你需要考虑系统的变化随着时间的推移对你的估计产生的影响 。我们希望初始的模型尽量简朴,这样一来即使相邻系统发生一些很小的变化,成本的影响也不会出现数量级的变化 。通过分析练习好的模型,可以让我们更好地了解第一版实际可以节省的成本,并确认这项投资是值得的 。