当前位置: 首页 > news >正文

微软 CMU - Tag-LLM:将通用大语言模型改用于专业领域

文章目录

  • 一、前言
  • 二、主要内容
  • 三、总结

🍉 CSDN 叶庭云https://yetingyun.blog.csdn.net/


一、前言

论文地址:https://arxiv.org/abs/2402.05140

Github 地址:https://github.com/sjunhongshen/Tag-LLM

大语言模型(Large Language Models,LLMs)在理解和生成自然语言方面展现出卓越的能力。然而,在预训练语料库中代表性不足的高度专业领域,例如物理和生物医学领域,LLMs 的能力可能会减弱。这项工作探讨了如何将通用 LLMs 改用于专门领域的有效任务求解器。研究者提出了一个新颖且与模型无关的框架,用于学习自定义输入标签(input tags)。这些标签被参数化为连续向量,附加到 LLM 的嵌入层,以调节 LLM。研究者设计了两种类型的输入标记:领域标签用于分隔专门的表示(例如,化学式)并提供领域相关的上下文;函数标签用于表示特定函数(例如,预测分子特性)并压缩函数求解指令。

在这里插入图片描述

研究者进而开发了一种三阶段协议,利用辅助数据和领域知识来学习这些标签。通过明确地将任务域与任务函数分开, Tag-LLM 能够通过不同输入标签的组合,对未见过的问题实现零样本泛化。此外,它在各种专业领域中的性能也有所提高,例如预测蛋白质或化学性质,以及建立药物与靶点相互作用模型。在这些任务上,它的性能优于为此类任务量身定制的专家模型。


二、主要内容

在 LLMs 领域中,一个长期存在的挑战是将最初设计用于一般用途的模型适应到专业领域并表现出色。感兴趣的领域通常涵盖高度专业化的学科,例如物理和生物医学。在这些领域中,数据与通常在自然语言处理中遇到的文本数据存在很大差异。为了弥补这一差距,Tag-LLM 框架旨在利用特定领域的输入标签,将通用 LLM 重新应用于专门的任务。这些标签被参数化为连续向量,并附加到 LLM 的嵌入层中,成为调节 LLM 功能以符合特定专业领域或任务要求的强大工具。

在这里插入图片描述

如上图所示:以蛋白质-药物结合亲和力预测任务为例,Tag-LLM 将领域标签 ⟨Protein⟩、⟨SMILES⟩ 和函数标签 ⟨Binding Affinity⟩ 注入输入,并映射到经过专门训练的嵌入。模型将最后一个隐藏状态传递到特定任务的头部,以生成所需的预测类型(例如,在本例中为标量结合亲和值)。

Tag-LLM 的设计和实现

Tag-LLM 将输入标签分为两类:领域标签和函数标签。领域标签用于给输入数据上下文化,向模型指明其处理的专业数据类型(例如化学式或蛋白质序列),而函数标签则指示模型进行具体任务,如预测分子特性或模拟药物与靶标的相互作用。这种分叉允许采用模块化方法来解决问题,通过部署各种输入标签组合,以 zero-shot 方式处理新的或未见过的任务。

为了学习这些标签,研究者开发了一个独特的三阶段协议,利用辅助数据集和领域知识逐步提高模型的理解能力和性能。在第一阶段中,通过使用域内数据进行 next-token prediction 任务来完善域标签。后续阶段涉及使用越来越专业化的面向任务的数据训练单个领域和跨领域的函数标签,以丰富模型解决不同领域复杂问题的能力。

经验结果与发现

实验结果表明,使用可学习的标签可以更细粒度地控制语言模型(LLM)。具体来说,使用实际文本(如 “Protein”)来条件化模型的效果在很大程度上取决于它在预训练语料库中的出现频率,但最终用户无法控制这一点。作者通过从目标领域的数据中显式学习标签嵌入来解决这个限制。实验还研究了标签长度对测试误差的影响。随着 p p p 值的增加,测试误差先减小后增大。这表明,虽然增加的自由度最初是有益的,但超过某个阈值可能会导致过拟合训练数据,从而阻碍测试时的性能。

经过定量评估,证明了 Tag-LLM 在多项任务中的有效性,包括八种语言的翻译、蛋白质特性预测和药物发现等科学工作。实验还证明了 Tag-LLM 方法可以有效地将 LLM 重新用于专业领域。例如,在多语言翻译任务中,使用领域标签表示不同的语言,并训练一个共享的函数标签 ⟨Translate⟩ 来编码翻译能力。实验结果验证了领域标签可以从数据中有效地提取领域信息,以及函数标签可以推广到未见过的领域和翻译对。值得注意的是,在制药领域的任务中,如药物组合预测和结合亲和力预测,Tag-LLM 取得了领先的结果,明显优于专用模型和其他重新利用 LLM 的方法。

Tag-LLM 采用模块化设计和系统化的训练协议,不仅提高了专项任务的性能,还提供了一个可扩展的框架,可以逐步添加新的标签。这种功能确保了 Tag-LLM 能够根据领域发展或面临新挑战时进行相应调整和扩展,具有实际落地应用价值。

总之,实验结果表明,Tag-LLM 方法在各种任务上的表现优于其他基线方法,证明了其有效性和实用性。


三、总结

Tag-LLM 可能是一个针对特定领域专业化 / {/} /微调大语言模型的好方法。

在这里插入图片描述

在这项工作中,研究者利用现有的 LLMs 来解决特定任务。开发了一个 LLM 标签系统,用于调节 LLM,并提出了一个学习标签的三阶段训练协议。实验结果表明,Tag-LLM 提高了 LLM 的预测质量,并允许对其行为进行更细粒度的控制。作者设想开源不同模型的学习标签可以帮助促进专业领域的研究。

基于 Tag-LLM 确定了几个未来发展方向。例如,在其他专业领域进一步验证 Tag-LLM,如基因功能预测(计算生物学)或求解偏微分方程(物理学)。用特定任务的输出头来增强函数标签的想法可以应用于各种预测问题。不过,在这项研究中,Tag-LLM 主要关注回归问题,而对分类和其他结构化预测问题的探索则留待今后研究。在计算效率方面,一个潜在的改进方法是大批量地训练标签,例如,将不同领域的数据串联在一起,而不是像论文里这样按顺序训练。最后,将 Tag-LLM 与其他领域适应范式(如上下文学习)相结合,也是一种值得探索的可能性。


📚️ 参考链接:

  • Tag-LLM: Repurposing General-Purpose LLMs for Specialized Domains
  • 沈向洋:致 AI 时代的我们 —— 请不要忽视写作的魅力

相关文章:

微软 CMU - Tag-LLM:将通用大语言模型改用于专业领域

文章目录 一、前言二、主要内容三、总结 🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 论文地址:https://arxiv.org/abs/2402.05140 Github 地址:https://github.com/sjunhongshen/Tag-LLM 大语言模型&#xff08…...

Kafka集群安装与部署

集群规划 准备工作 安装 安装包下载:链接:https://pan.baidu.com/s/1BtSiaf1ptLKdJiA36CyxJg?pwd6666 Kafka安装与配置 1、上传并解压安装包 tar -zxvf kafka_2.12-3.3.1.tgz -C /opt/moudle/2、修改解压后的文件名称 mv kafka_2.12-3.3.1/ kafka…...

C++初阶(十一) list

一、list的介绍及使用 1.1 list的介绍 list的文档介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点…...

图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化

图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化 卷积神经网络的一些基本概念:图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化 1.图像卷积、步长、填充 图像卷积:卷积核矩阵在一个原始图像矩阵上 “从上往下、…...

CMake进行C/C++与汇编混合编程

1. 前提 这篇文章记录一下怎么用CMake进行项目管理, 并用C/C和汇编进行混合编程, 为了使用这项技术, 必须在VS的环境中安装好cmake组件 由于大部分人不会使用C/C与汇编进行混合编程的情况。所以这篇文章并不适用于绝大部分人不会对其中具体细节进行过多叙述。只是做一些简单的…...

缓存预热!真香

预热一般指缓存预热,一般用在高并发系统中,为了提升系统在高并发情况下的稳定性的一种手段。 缓存预热是指在系统启动之前或系统达到高峰期之前,通过预先将常用数据加载到缓存中,以提高缓存命中率和系统性能的过程。缓存预热的目…...

VS中设置#define _CRT_SECURE_NO_WARNINGS的原因和设置方式

原因: 在编译老的用C语言的开源项目的时候,可能因为一些老的.c文件使用了strcpy,scanf等不安全的函数,而报警告和错误,而导致无法编译通过。 解决方案: 我们有两种解决方案: 1、在指定的源文件的开头定…...

【网站项目】155在线考试与学习交流网页平台

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…...

解决IDEA的Project无法正常显示的问题

一、问题描述 打开IDEA,结果发现项目结构显示有问题: 二、解决办法 File -> Project Structure… -> Project Settings (选Modules),然后导入Module 结果: 补充: IDEA提示“The imported module settings a…...

CDF和PDF的比较

以下内容来自ChatGPT,科技改变生活 Cumulative Distribution Function (CDF)(累积分布函数)和 Probability Density Function (PDF)(概率密度函数)是统计学和概率论中两个重要的概念,用于描述随机变量的性…...

编译基本过程 预处理器

编译基本过程 源代码(main.c)->预处理器(cpp)->编译器(gcc/clang/msvc)->汇编器(as)->链接器(ld)->可执行文件(main.exe) 预处理器 C语言中预处理器:执行预处理命令(文件包含、宏替换、条件编译)处理注释(将所有注释替换为空格)处理续行符(将所有…...

模拟算法.

1.什么是模拟 在信息奥赛中,有一类问题是模拟一个游戏的对弈过程或者模拟一项任务的操作过程.比如乒乓球在比赛中模拟统计记分最终判断输赢的过程等等,这些问题通常很难通过建立数学模型用特定的算法来解决因为它没有一种固定的解法,需要深刻理解出题者对过程的解释一般只能采…...

ClickHouse--10--临时表、视图、向表中导入导出数据

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1.临时表1.1 特征1.2 创建一个临时表 2.视图2.1 普通视图2.2 物化视图 3.向表中导入导出数据3.1 案例 1.临时表 1.1 特征 ClickHouse 支持临时表,临时表…...

Python一些可能用的到的函数系列124 GlobalFunc

说明 GlobalFunc是算网的下一代核心数据处理基础。 算网是一个分布式网络,为了能够实现真的分布式计算(加快大规模任务执行效率),以及能够在很长的时间内维护不同版本的计算方法,需要这样一个对象/服务来支撑。Globa…...

python中线程/线程池,进程/进程池的创建

创建子线程 # 创建子线程t1 threading.Thread(targetjob,args(1,))# 执行子线程t1.start()# 等待子线程执行print("waiting threading")t1.join()print("threading done")创建子进程 # 创建子进程p1 multiprocessing.Process(targetjob,args(1,),name&qu…...

【c++】vector的增删查改

1.先定义一个类对象vector 为了防止和库里面发生冲突&#xff0c;定义一个命名空间&#xff0c;将类对象放在命名空间 里面 #include<iostream> using namespace std; namespace zjw {class vector {public:private:}; }2.定义变量&#xff0c;需要一个迭代器&#xff…...

【研究生复试】计算机软件工程人工智能研究生复试——资料整理(速记版)——JAVA

1、JAVA 2、计算机网络 3、计算机体系结构 4、数据库 5、计算机租场原理 6、软件工程 7、大数据 8、英文 自我介绍 1. Java 1. 和 equals的区别 比较基本数据类型是比较的值&#xff0c;引用数据类型是比较两个是不是同一个对象&#xff0c;也就是引用是否指向同 一个对象&…...

JVM-JVM中对象的生命周期

申明&#xff1a;文章内容是本人学习极客时间课程所写&#xff0c;文字和图片基本来源于课程资料&#xff0c;在某些地方会插入一点自己的理解&#xff0c;未用于商业用途&#xff0c;侵删。 原资料地址&#xff1a;课程资料 对象的创建 常量池检查:检查new指令是否能在常量池…...

RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?<= , (?= , (?<! , (?!

RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?< , (? , (?<! , (?! 有好多种称呼 (?< , (? , (?<! , (?! 有好多种称呼 , 我称为: 左限定, 右限定, 左否定, 右否定 (?<左限定)    (?右限定)(?<!左否定)    (?!右限定) 再…...

相机图像质量研究(30)常见问题总结:图像处理对成像的影响--重影

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...