广元 网站建设,深圳企业vi设计公司,动态二维码制作,qq说说赞在线自助下单网站最近在看arxiv的时候发现了一个有意思的框架#xff1a;LLM-Blender#xff0c;它可以使用Ensemble 的方法来对大语言模型进行集成。
官方介绍如下#xff1a;LLM-Blender是一个集成框架#xff0c;可以通过利用多个开源大型语言模型(llm)的不同优势来获得始终如一的卓越性…最近在看arxiv的时候发现了一个有意思的框架LLM-Blender它可以使用Ensemble 的方法来对大语言模型进行集成。
官方介绍如下LLM-Blender是一个集成框架可以通过利用多个开源大型语言模型(llm)的不同优势来获得始终如一的卓越性能。
LLM集成
我们都知道集成学习是一种机器学习方法旨在提高预测模型的性能和鲁棒性。它通过将多个不同的学习器如决策树、神经网络等结合成一个整体来取得比单个学习器更好的预测效果。比如最常见的Kaggle比赛中就广泛的使用了这种方法。
那么大语言模型有必要进行集成吗 论文给出了以下观点
由于数据、架构和超参数的变化LLM表现出不同的优势和劣势使它们互补。并且目前不存在一个开源LLM在所有例子中都占主导地位。可以集成LLM的输出(基于输入、任务和领域)以便在不同的示例中提供一致的卓越性能。结合他们独特的贡献;可以减轻个别LLM的偏差、误差和不确定性从而使产出与人类偏好保持一致。
LLM-Blender
所以论文就给出了一个框架LLM-Blender LLM-Blender有两个模块:PairRanker和GenFuser。PairRanker比较多个模型的输出给出排名最高的输出。然后GenFuser将前几个排名靠前的输出融合在一起生成最终输出。
1、PairRanker是如何工作的
PairRanker模块用于有效地识别候选模型输出之间的细微差异并根据它们的质量对它们进行排名。收集N个模型的输出并以总共N(N-1)/2种方式进行配对(从总共N个项目中选择2个项目的组合次数)。然后根据以下条件对结果进行评估:给定输入提示哪个候选人的输出更好。
在推理过程中计算一个包含表示两两比较结果的对数的矩阵。给定该矩阵确定并选择排名前k的输出用于GenFuser模块。
2、GenFuser是如何工作的
GenFuser模块使用PairRanker模块排名靠前的输出为最终用户生成潜在的改进输出。该模块融合了排名前n位的结果中的前K位并产生了改进的输出利用他们的优势和减轻他们的弱点。
基准测试
论文介绍了一个名为mixdirective的新数据集用于对llm在指令跟随任务中的集成模型进行基准测试。该数据集拥有来自Alpaca-GPT4、Dolly-15K、GPT4-ALL-LAION和ShareGPT的大规模指令示例集。有10万例用于训练5万例用于验证5万例用于测试。
使用N 11个流行的开源LLM进行测试。候选的输出使用ChatGPT对所有候选对进行评估。对于每一对ChatGPT被要求判断那个是更好的。 可以看到各个LLM有不同的优势和劣势。顶尖的LLM在测试中并不总是最优的。PairRanker优于其他LLM。LLM-Blender组合比其他任何单个模型更好。
限制
最主要的还是效率因为对PairRanker中top-K输出进行排序的过程需要调用模型O(n²)次才能获得最佳性能。解决这个问题的一种方法是使用多轮气泡排序方法来减少所需的推断数量。另一种提高时间效率的方法是并行执行PairRanker的推理因为它们是独立的也就是多个模型同时推理。
目前论文使用的是在ChatGPT帮助下的自动评估。虽然自动评估是一个很好的选择但人工评价可以提供更可靠、更全面的评价结果。
这时一个很有意思的项目有兴趣的可以看看他的论文还有源代码
https://avoid.overfit.cn/post/29adfb00f1b44adabe43f6a5cd47c53b