为什么Two Sigma使用SigOpt进行自动参数调整
2019年04月17日 由 z朝闻 发表
325934
0
Two Sigma力求通过投资过程的每一过程,从数据获取到预测、投资组合选择和交易执行,利用大量数据、先进工程和定量研究。参数化系统存在于每个中心阶段。找到这些参数的最佳设置是我们一直在改进过程中的持续挑战。我们投入了大量资源来思考如何评估我们所有系统设置的效用,以及如何构建基础设施来扩展这些评估。
即使能够在云上执行大量计算,我们仍然需要深入思考如何尽可能快速且廉价地搜索参数空间以获得最佳值。我们更倾向于采用开源解决方案来解决这类常见问题,并在我们认为能够为我们提供竞争优势的情况下开发内部解决方案,但对于这个问题,我们实际上发现最合乎逻辑的解决方案是使用专有服务表现优于我们评估的其他所有内容。
优化瓶颈
有些系统很简单或经过充分研究,足以具有封闭形式的分析解决方案。其他一些算法,像越来越流行的深度学习算法一样,具有分析数学公式,使它们成为强大的梯度下降方法的良好目标。不幸的是,我们的许多研究都需要复杂的模拟,而这些模拟都不能使用这些快速优化方法。我们还有一些情况需要调整机器学习算法的参数,并且所有典型的技巧都不起作用。对于这些场景,我们必须转向可以处理“黑盒”功能的技术。
我们已经尝试了各种标准技术来解决这个问题。最简单的方法称为“网格搜索”,其中每个参数在相同步长的某个范围内变化,并且评估每个组合。虽然易于编码和使用,但这种方法变得非常昂贵,即使是适量的参数也很慢。我们在内部实现了更复杂的技术,并且还引入了许多试图解决问题的开源软件包。最近,我们转向了越来越流行的贝叶斯优化领域,并尝试将GPyOpt等开源工具整合到我们的流程中。
这些方法都不完美。许多技术很难使用,需要大量的自我调优才能很好地工作。用调优我们的调谐器的问题来代替调优参数的问题并不是真正的解决方案。即使有了世界上所有的调优,这些算法中的许多在某些类型的问题上也不会很好地工作。对于内部构建的工具,我们发现构建、更新和维护系统的成本对我们的资源比我们预期的更高。
为了解决这些问题,我们整合了SigOpt的优化服务,现在能够比我们之前看到的任何解决方案更快,更低价地获得结果。我们对SigOpt非常满意,除了成为客户之外,Two Sigma决定成为战略合作伙伴,其中包括投资SigOpt。
SigOpt可以大规模优化任何系统
与我们对开源或内部构建工具的偏好不同,我们试图将SigOpt作为我们研究平台组件中的优化引擎。通过几行Python代码,我们能够以标准化的方式快速调用SigOpt优化算法来解决任何调优问题。然后,我们将SigOpt作为多种研究工具的优化引擎,使用该平台强大的仪表板以一致的方式展示实验结果。从那时起,我们的研究人员已经看到了多种好处,最终加速了开发过程,旨在扩大其对我们业务的影响。
首先,SigOpt为我们的系统带来了显着的性能提升。在针对GPyOpt等替代方法的测试中,SigOpt提供了更快的结果。为了将这种显着的性能增益置于语境中,考虑了一种具有特别冗长的训练周期的机器学习算法。使用GPyOpt,需要24天才能调整。使用SigOpt,调整过程产生了更准确的解决方案,仅需3天即可调整。我们发现一个性能更好的解决方案比其他方式快8倍。更快的调整时间通常是尝试优化与否之间的差异。从这个意义上说,这些性能提升导致了生产力的提高,对我们的业务产生了实际影响。
其次,SigOpt提供了先进的优化功能,使我们能够解决全新的业务问题。这些高级功能的一个更直观的例子是多指标优化。在分析模拟结果时,有许多性能指标。我们可以尝试将所有内容简化为单一指标,但这需要以可能不是最理想的方式进行硬编码权衡。相反,SigOpt允许我们同时优化多个指标,并查看我们可以使用其网络仪表板分析的Pareto最优解决方案前沿。此功能在传统的机器学习场景中也很有用,在这些场景中,我们可能希望牺牲推理时间的准确性,并希望准确理解权衡取舍的内容。
优化算法功能增强和指定多个指标的新方法带来的意外好处促使我们重新思考几个指标,并揭示了对研究过程的新方法。
最后,SigOpt在我们的分布式计算环境中提供异步并行化。其他解决方案利用我们的大规模集群,但会批量评估任务并等待批处理中的每个任务完成,然后再启动下一组任务。SigOpt的解决方案提供了一项新任务,一旦完成就会进行评估,这意味着我们的所有机器都会在整个优化过程中得到充分利用。这可以更快地获得答案,并确保我们有效地使用我们的计算资源。凭借我们庞大的计算资源,对流程的任何优化都会产生重大影响。
为什么授权给专家是我们成功的关键
这些功能中的每一项都被设计为在优化过程中自动执行和加速任务,而优化过程并不受益于领域专业知识,并且传统上是通过昂贵的尝试和错误或分散对脆弱、不可伸缩的开源方法的维护来解决的。因此,我们的每一位研究人员都有更多的时间来运用他们的领域专业知识来开发新的方案和发展新的解决方案,以期待对我们的业务产生更好的影响。