腾讯:将LLM排序能力迁移至BERT

在这里插入图片描述

📖标题:Best Practices for Distilling Large Language Models into BERT for Web Search Ranking
🌐来源:arXiv, 2411.04539

🌟摘要

🔸最近的研究强调了大型语言模型(LLM)作为零样本相关性排序者的巨大潜力。这些方法主要利用快速学习,通过生成潜在文档的排名列表来评估查询和文档之间的相关性。尽管LLM有前景,但与LLM相关的巨额成本对其在商业搜索系统中的直接实施构成了重大挑战。
🔸为了克服这一障碍并充分利用LLM在文本排名方面的能力,我们探索了将LLM的排名专业知识转移到类似于BERT的更紧凑模型的技术,使用排名损失来部署资源密集度较低的模型。具体来说,我们通过持续预训练来增强LLM的训练,以查询为输入,以点击的标题和摘要为输出。然后,我们使用排名损失对LLM进行监督微调,将最后一个标记指定为整个句子的代表。鉴于自回归语言模型的固有特性,只有最后一个标记可以封装所有前面的标记。此外,我们引入了混合的逐点和边际MSE损失,将排名知识从LLM转移到更小的模型,如BERT。这种方法为具有严格资源约束的环境创建了一个可行的解决方案。
🔸离线和在线评估都证实了我们方法的有效性,截至2024年2月,我们的模型已成功集成到商业网络搜索引擎中。

🛎️文章简介

🔸研究问题:如何将大语言模型(LLM)的能力有效地转移到BERT模型中,以提升网页搜索排名的性能?
🔸主要贡献:论文提出了一个名为DisRanker的蒸馏排名框架,结合了LLM和BERT的优势,通过领域特定的继续预训练和混合损失函数来提升搜索排名的效果。

📝重点思路

🔺相关工作

🔸LLM文本排名:越来越多地用于搜索引擎中的相关性排名任务,主要分为即时方法和监督微调技术,但继续预训练来和排名损失来的优化研究较少。
🔸文本排序的知识蒸馏:集中于最小化教师和学生的软目标分布之间的差异,总体目标是压缩模型大小并减少总推理成本,其中包括内存需求和计算开销。

🔺论文方案

🔸领域继续预训练:使用搜索数据进行继续预训练,使模型更好地理解查询和文档之间的关系。具体来说,使用查询作为输入,生成标题和摘要作为输出,从而增强模型对相关性的建模能力。
🔸监督微调:在LLM上使用排名损失进行监督微调,使用标记表示查询和文档对,通过密集层将最后一层的表示映射到一个标量值,以优化排名性能。
🔸知识蒸馏:采用混合的点对点均方误差(Point-MSE)和边际均方误差(Margin-MSE)损失函数,将LLM的预测分数和排序能力转移到BERT模型中,以提高BERT在排名任务中的表现。

🔎分析总结

🔸离线和在线评估的有效性:DisRanker在离线和在线评估中都表现出色,显著提升了搜索排名的效果。
🔸混合损失函数的有效性:使用混合的Point-MSE和Margin-MSE损失函数比单独使用其中一种损失函数在PNR和NDCG指标上都有更好的表现。
🔸在线A/B测试结果:DisRanker在实际搜索系统中的部署效果显著,页面点击率(PageCTR)、平均点击后停留时间(post-click dwell time)和用户点击率(UserCTR)都有显著提升。
🔸模型运行效率的提升:通过实验比较了LLM教师模型和BERT学生模型的吞吐量和成本节省,结果显示BERT学生模型在运行效率上有显著优势。
🔸分数分布分析:通过分析LLM教师模型和BERT学生模型的输出分数分布,发现混合损失函数有助于防止学生模型过拟合,同时保持排序的相对顺序。

💡个人观点

论文的核心是通过领域特定的继续预训练和混合损失函数强化排序能力,并通过蒸馏转移到小模型中。

🧩附录

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/20450.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

unity 打包WebGL打开后Input无法输入中文,在手机端无法调用输入法(使用WebGLInput)

成果展示 1、只是在电脑上运行时 使用TexMeshPro-InputField组件就可以输入中文了 2.不仅在电脑上运行,还需要在移动端运行 这个时候就需要使用WebGLInput插件,连接里有测试demo 1、下载后把WebGLSupport.unitypackage 导入到工程里 2、给input添加两…

服务器上部署并启动 Go 语言框架 **GoZero** 的项目

要在服务器上部署并启动 Go 语言框架 **GoZero** 的项目,下面是一步步的操作指南: ### 1. 安装 Go 语言环境 首先,确保你的服务器上已安装 Go 语言。如果还没有安装,可以通过以下步骤进行安装: #### 1.1 安装 Go 语…

如何通过统一权限管理打破异构系统的安全屏障

企业在运营过程中面临着众多异构系统的整合挑战,这些异构系统由于其不同的技术架构、数据格式和安全机制等,给信息管理带来了诸多挑战。其中,“信息孤岛”问题尤为突出,而异构环境下的统一授权管理系统则成为解决这一问题的关键。…

【IDEA】插件篇(JClassLib)

一、JClassLib 1、概述 jclasslib 字节码编辑器是一个可视化已编译Java类文件和包含的字节码的工具。 项目地址:https://github.com/ingokegel/jclasslib 其他反编译工具:javap、arthas 2、安装 IntelliJ IDEA -> Preferences -> Plugins&am…

机器学习阶段学习Day31

KNN分类算法 KNN算法原理 根据K个邻居样本来判断当前样本属于哪个类别:K个最相似邻居中大多数所属类别即为当前样本的类别。但是对于数据量巨大或者高纬度的数据样本不太合适,数据量大的数据样本需要进行大量计算,而高纬度数据计算距离不具…

深入理解前端路由

目录 前言1. 什么是路由2. Vue Router 的基础2.1 安装 Vue Router2.2 创建路由器2.3 在应用中使用 Vue Router 3. 路由切换与编程式导航3.1 声明式导航3.2 编程式导航 4. 子路由:结构化的路由管理4.1 子路由的定义4.2 子路由的渲染 5. 高级用法:路由守卫…

【UGUI】Unity 游戏开发:背包系统初始化克隆道具

在游戏开发中,背包系统是一个非常常见的功能模块。它允许玩家收集、管理和使用各种道具。今天,我们将通过一个简单的示例来学习如何在 Unity 中初始化一个背包系统。我们将使用 Unity 2021.3.7 版本,并结合 C# 脚本来实现这一功能。 1. 场景…

grafana+prometheus+windows_exporter实现windows进程资源占用的监控

grafanaprometheuswindows_exporter实现windows进程资源占用的监控TOC 一、 管理端搭建,采用windows版本的grafanaprometheus 管理端安装部署不做本文终端,简单讲解一下,此处采用msi的grafana安装包,和免安装版本的prometheus 1…

ElementUI之给el-table实现搜索功能

1&#xff0c;有一个表格 <el-table:data"tableData"borderstyle"width: 100%"><el-table-columnprop"date"label"日期"width"180"></el-table-column><el-table-columnprop"name"label&quo…

Chrome 浏览器 131 版本开发者工具(DevTools)更新内容

Chrome 浏览器 131 版本开发者工具&#xff08;DevTools&#xff09;更新内容 一、使用 Gemini 调试 CSS Chrome DevTools 现在推出了一个新的实验性 AI 辅助面板&#xff0c;可以与 Gemini 聊天并获得帮助来调试 CSS。 在 Elements 面板中&#xff0c;右键点击一个元素并选…

Ubuntu20.04 Rk3588 交叉编译ffmpeg7.0

firefly 公司出的rk3588的设备&#xff0c;其中已经安装了gcc 交叉编译工具&#xff0c;系统版本是Ubuntu20.04。 使用Ubuntu20.04 交叉编译ffmpeg_ubuntu下配置ffmpeg交叉编译器为arm-linux-gnueabihf-gcc-CSDN博客文章浏览阅读541次。ubuntu20.04 交叉编译ffmpeg_ubuntu下配…

蓝桥杯第22场小白入门赛2~5题

这场比赛开打第二题就理解错意思了&#xff0c;还以为只能用3个消除和5个消除其中一种呢&#xff0c;结果就是死活a不过去&#xff0c;第三题根本读不懂题意&#xff0c;这蓝桥杯的题面我只能说出的是一言难尽啊。。第四题写出来一点但是后来知道是错了&#xff0c;不会正解&am…

sagemaker中使用pytorch框架的DLC训练和部署cifar图像分类任务

参考资料 https://github.com/aws/amazon-sagemaker-examples/blob/main/sagemaker-python-sdk/pytorch_cnn_cifar10/pytorch_local_mode_cifar10.ipynbhttps://sagemaker.readthedocs.io/en/stable/frameworks/pytorch/using_pytorch.html 获取训练数据 # s3://zhaojiew-sa…

golang笔记8-函数

1. 基本函数 package mainimport "fmt"/*什么是函数&#xff1a;完成某一功能的程序指令的集合语法&#xff1a;func 函数名称(形参列表)(返回值类型列表){执行语句。。。返回值列表}注意事项&#xff1a;函数名&#xff1a;函数名首字母大写&#xff1a;可以被本包…

vite+vue3+ts编译vue组件后,编译产物中d.ts文件为空

一、前言 使用vue3vitets实现一个UI组件库&#xff0c;为了生成类型文件便于其他项目引用该组件库。根据推荐使用了vite-plugin-dts插件进行ts文件的生成 二、版本 组件版本vue ^3.5.12 vite ^5.4.10 vite-plugin-dts ^4.3.0 typescript ~5.6.2 三、问题描述 使用vitevi…

向量数据库FAISS之二:基础进阶版

基础 1.评价类型和距离 1.METRIC_L2 Faiss 使用了欧几里得 (L2) 距离的平方&#xff0c;避免了平方根。 这仍然与欧几里德距离一样单调&#xff0c;但如果需要精确距离&#xff0c;则需要结果的额外平方根。 2.METRIC_INNER_PRODUCT 这通常用于推荐系统中的最大内积搜索。…

家庭网络常识:猫与路由器

这张图大家应该不陌生——以前家庭网络的连接方式。 图1 家庭网络连接示意图 来说说猫/光猫&#xff1a; 先看看两者的图片。 图2 猫 图3 光猫 这个东西因为英文叫“modem”&#xff0c;类似中文的“猫”&#xff0c;所以简称“猫”。 猫和光猫的区别就是&#xff0c;一…

华三预赛学习笔记(每日编辑,复习完为止)

知识点分布 路由交换技术基础 计算机网络基本概念 计算机网络基本概念&#xff1a; 很多电脑和设备通过电线或无线信号连在一起&#xff0c;可以互相“说话”和“分享东西” 网络的主要形式和发展历程&#xff1a; 诞生阶段-最早的计算机网络是以单个计算机为中心的联机系统-终…

技术速递|Microsoft.Extensions.VectorData 预览版简介

作者&#xff1a;Luis Quintanilla - 项目经理 排版&#xff1a;Alan Wang 我们很高兴推出 Microsoft.Extensions.VectorData.Abstractions 库&#xff0c;该库现已提供预览版。 正如 Microsoft.Extensions.AI 库为使用 AI 服务提供了一个统一层一样&#xff0c;此包为 .NET 生…

第5章-总体设计 5.3 硬件架构设计

5.3 硬件架构设计 1.哪些类型的产品需要架构设计&#xff1f;2.硬件架构师到底做什么&#xff1f;&#xff08;1&#xff09;理解需求和业务模型的情况。&#xff08;2&#xff09;背板设计&#xff0c;既需要考虑业务数据交换能力&#xff0c;也需要考虑子模块的管理监控能力。…