一、工作回顾
回顾我在博士期间和阿里期间的科研工作,主要的研究主题是在各种应用场景下的随机优化。一般而言,随机优化的目标是 minx Eξ[f(x; ξ)],其中 ξ 为随机变量。我们往往借助离线或者在线的数据样本{ξ}去优化我们的目标函数。当数据点分散在分布式系统中,问题变成了分布式优化;当目标函数为机器学习中的各种损失函数,那么就是机器学习的优化。随机优化之所以在如今受到越来越多的重视,是因为在这个大数据时代,大部分优化的场景是数据驱动的,随机优化就是通过目标函数去挖掘数据最大的价值。
随机优化算法的本质在于回答两个问题:1)离线或者在线的数据点能提供目标函数的哪些信息;2)怎样利用这些信息去一步步优化目标函数。如果我们能够通过数据样本获取目标函数的随机梯度甚至是Hessian 矩阵,那么我们就获得了目标函数带噪声的下降方向,这就是以 SGD 为代表的梯度算法;如果目标函数是黑盒且符合某些特定的条件那么我们可以赋予目标函数一个先验概率,数据点提供的信息就是不断更新的后验概率,从而获取最优值,这就是贝叶斯优化;而在分布式系统中,子系统只有目标函数的部分信息,因而需要子系统通过网络通信达成一致,最终获得全局最优解,这就是分布式优化。这些构成了我之前研究的主要内容。
二、研究展望
当前,大模型(LLM)在各行各业得到了广泛应用,也为随机优化问题带来了更多的挑战与机遇。首先,大模型的练和微调中出现了更复杂、更多样的随机优化问题(Optimization for LLM);同时,大模型强大的泛化能力也为一些类型的随机优化问题带来了新的解决方案(LLM for Optimization)。前者的研究将聚焦在上一节中的问题 2),即如何高效利用庞大的数据量去优化包含巨大参数量的大模型本身,后者的研究将聚焦在上一节中的问题 1),即如何利用大模型的能力去挖掘目标函数更多、更准确的信息。具体如下:
1)Optimization for LLM:大模型训练和微调为随机优化问题带来了新的挑战。具体而言,
• 分布式优化:由于大模型参数量巨大,因而其训练和微调往往需要在分布式系统上完成,从而对分布式优化提出新的要求。比如,分布式优化如何从节点宕机中恢复,如何应对不同 GPU 硬件带来的精度差异,如何减少设备间的通信量来提高速度,如何协调单机 GPU 之间的通信和多机GPU 之间的通信、如何应对诸如 Lora 等大模型微调的新范式,如何避免黑客攻击和隐私泄漏等。以前的优化关注于小型问题,而在大模型的优化中由于参数量和数据量都极为巨大,我们会更加关注上述场景中优化算法的 scaling law,即优化算法随着参数量和数据量的提升,性能将会有怎
样的变化趋势以及如何设计相应的最优算法。这对于工程实际中如何选取训练和微调算法具有重要的指导意义。
• 强化学习:当随机优化中的随机变量变成马尔可夫过程,目标函数变成累计奖励,我们就得到了强化学习的模型。强化学习在大模型上的应用主要体现在对大模型的对齐(alignment),之前的论文提出了诸如 RLHF、DPO 等一系列大模型对齐算法,在实践中得到了广泛使用。但相关算法仍缺乏理论研究成果,从而缺乏可解释性。因而我的这部分研究将利用我的优化理论背景,探究大模型中强化学习算法的理论基础,并在这些基础上回答以下但不局限于以下问题:如何设计不同场景下算法里的奖励模型、如何处理不同来源不同准确度的奖励反馈、如何设计收敛速度更快的对齐算法等等。
2)LLM for Optimization: 大模型对于复杂数据分布的建模能力又为随机优化带来了新的可能。
在随机优化中,我们经常遇到黑盒的目标函数,即我们无法获取目标函数的解析方程,只能获取目标函数的数据采样点。这种在工程实践中极为普遍:有些场景下我们只有通过查表等方式获得某个变量条件下的目标函数数值;另一些场景下我们只能通过传感器等方式获得间接反映目标函数的数值;还有一些场景下我们只能获得好或者不好、满意或者不满意这样的二元反馈,比如用户的投票等。在这种场景下,我们需要通过这些数据点对目标函数进行建模,通过代理模型(surrogate model)来获得目标函数的最优值。扩散模型 (diffusion model) 就是其中一个研究热点,它能够对复杂分布进行高质量的建模,并已经在生成式 AI 中获得巨大的成功,如文生图应用 Stable Diffusion。基于扩散模型的优化方法已经在通信和网络优化上有了一部分研究,相关调研请见 https://arxiv.org/pdf/2308.05384。但目前来说,大部分论文都只是单纯探讨如何把这个方法应用上去,理论研究仍然欠缺。未来的研究方向有以下但不仅限于以下几点:
• 对于某一类目标函数,达到某种优化效果的最优样本复杂度是多少?达到最优样本复杂度的算法应该怎样设计?
• 之前的扩散模型优化方法集中在离线数据的利用上,我们将如何扩展到在线数据上?
• 扩散模型的训练对数据质量要求如何?如果一部分训练数据收到恶意或者非恶意的污染,我们应该怎样设计算法对抗这样的污染?优化结果又将会有怎样的影响?
除了扩散模型外,我们也希望挖掘更多类型的大模型能力,为随机优化问题带来更多的解决方法。