【Arxiv 大模型最新进展】LEARNING HOW HARD TO THINK: 精准思考,智能分配算力(★AI最前线★)
🌟 嗨,你好,我是 青松 !
🌈 自小刺头深草里,而今渐觉出蓬蒿。
NLP Github 项目推荐:
-
【AI 藏经阁】:https://gitee.com/fasterai/ai-e-book
介绍:该仓库主要分享了数百本 AI 领域电子书
-
【AI 算法面经】:fasterai/nlp-interview-handbook#面经
介绍:该仓库一网打尽互联网大厂NLP算法面经,算法求职必备神器
-
【大模型(LLMs)面试笔记】:https://gitee.com/fasterai/nlp-interview-handbook
介绍:该仓库汇总了 NLP 算法工程师高频面题,适合大模型初学者和正在准备面试的小伙伴希望能帮助各位同学缩短面试准备时间,不错过金三银四涨薪窗口,迅速收获心仪的Offer 🎉🎉🎉
文章目录
- LEARNING HOW HARD TO THINK: INPUT-ADAPTIVE ALLOCATION OF LM COMPUTATION
- 难度预测
- 资源分配
- 实验结果
LEARNING HOW HARD TO THINK: INPUT-ADAPTIVE ALLOCATION OF LM COMPUTATION
作者:Mehul Damani, Idan Shenfeld 等
单位: MIT
下图给出此文的整体逻辑框架。首先,对文章进行一句话总结,然后简要介绍研究内容、研究动机、技术动机、解决方案以及优势与潜力,以便读者快速了解文章脉络。
本文研究了如何自适应地为不同难度的输入问题分配不同计算资源以提高语言模型的输出质量。现有方法通常为所有输入问题应用相同的推理资源,导致计算资源分配效率低下。
因此,本文首先提出了一种方法来预测输入问题的难度,并据此分配额外的计算资源给那些难度较高且能从中显著受益的问题。本文训练了一个轻量级的难度预测模型来估计每个查询的边际奖励,并开发了一个高效的资源分配算法来优化整体的计算资源分配。
难度预测
难度预测模型构建在LM上,在LM最后一层隐藏层上新增MLP,在LM decode时,用隐藏层输出输入到reward predictor中,进行难度预测。通过这种方式可以在decode的同时进行难度预测,并且可以利用LM本身的问题理解和表征能力。
资源分配
本文解决的问题是如何在拥有有限推理计算资源的情况下,最优化模型的输出效果,即最优化如下目标:
m a x b 1 , . . . , b n ∑ i E y i ∼ f ( x i , b i ) [ r ( x i , y i ) ] s . t . ∑ i b i ≤ B ⋅ n \begin{aligned} max_{b_1,...,b_n}\sum_i{\mathbb{E}_{y_i \sim f(x_i,b_i)}[r(x_i,y_i)]}\quad s.t. \sum_i{b_i}\le B\cdot n \end{aligned} maxb1,...,bni∑Eyi∼f(xi,bi)[r(xi,yi)]s.t.i∑bi≤B⋅n
其中:
x i , y i x_i,y_i xi,yi分别是问题输入和LM回答输出;
r r r用于衡量回答的好坏,比如chat任务中,可以用reward model来衡量输出质量;
B B B是平分给每个问题最多的推理资源,资源可以类比为sample几次,因此推理资源总量就是 B ⋅ n B\cdot n B⋅n;
b i b_i bi是实际给第 i i i个问题分配的资源量,为优化变量;
本文接着定义边际收益,即多分配1unit(比如多sample一次)的推理资源,获得的边际reward,将根据问题难度分配资源转化为根据多给问题分配资源能够获得的边际收益来分配推理资源,边际收益定义如下:
q ( x i , b i ) = E y i ∼ f ( x i , b i ) [ r ( x i , y i ) ] Δ i j = q ( x i , j ) − q ( x i , j − 1 ) \begin{aligned} q(x_i, b_i) = \mathbb{E}_{y_i\sim f(x_i,b_i)}[r(x_i, y_i)]\\ \Delta_{ij}=q(x_i,j)-q(x_i,j-1) \end{aligned} q(xi,bi)=Eyi∼f(xi,bi)[r(xi,yi)]Δij=q(xi,j)−q(xi,j−1)
因此可以得到如下转化:
q ( x i , b i ) = ∑ j = 1 b i Δ i j \begin{aligned} q(x_i,b_i)=\sum_{j=1}^{b_i}\Delta_{ij} \end{aligned} q(xi,bi)=j=1∑biΔij
最终可以得到如下转化的优化目标:
m a x ∑ i = 1 n ∑ j = 1 B m a x c i j Δ i j s . t . ∑ i , j c i j ≤ B ⋅ n ; c i j ≤ c i , j − 1 ∀ i , j \begin{aligned} max\sum_{i=1}^n\sum_{j=1}^{B_{max}}{c_{ij}\Delta_{ij}}\quad s.t. \sum_{i,j}{c_{ij}}\le B\cdot n;\quad c_{ij}\le c_{i,j-1} \ \forall i,j \end{aligned} maxi=1∑nj=1∑BmaxcijΔijs.t.i,j∑cij≤B⋅n;cij≤ci,j−1 ∀i,j
其中:
c i j c_{ij} cij为整数变量,表示对于问题 i i i资源是否增多,这是一个整数规划问题,且具有特殊形式,可以用贪心算法求得最优解。
实验结果
以chat任务为例,使用LMSYS-Chat数据集,Full为全量测试集,Tranches为从Full中挑选最难和最简单的问题构造的数据集。在达到相同回答效果的前提下,使用本文资源分配算法可以在Full数据集上获得0-10%的资源节省,在Tranches数据集上获得25-40%的资源节省。
- 原文链接: http://arxiv.org/abs/2410.04707