科研上新 | 第3期:大模型推进科研边界;大模型的道德价值对齐;优化动态稀疏深度学习模型;十亿规模向量搜索的高效更新

news2024/11/17 7:39:09

者按:欢迎阅读“科研上新”栏目!“科研上新”汇聚了微软亚洲研究院最新的创新成果与科研动态。在这里,你可以快速浏览研究院的亮点资讯,保持对前沿领域的敏锐嗅觉,同时也能找到先进实用的开源工具。

本期内容速览

01. LLM for Science:使用大语言模型辅助和加速科学研究

02. 大模型道德价值观对齐问题的剖析与展望

03. PIT:通过排列不变性优化动态稀疏深度学习模型

04. SPFRESH:十亿规模向量搜索的增量原地更

arXiv精选

LLM for Science:使用大语言模型辅助和加速科学研究

new-arrival-in-research-3-1

论文链接:https://arxiv.org/pdf/2309.05689.pdf

项目链接:https://aka.ms/GeneralAI

大型语言模型(LLMs)在自然语言生成、代码生成和逻辑推理等多种任务中都表现出了卓越的能力。然而,除了通过内插现有知识来解决一些简单问题之外,大语言模型能否从其庞大的解空间中外推出新知识仍是一个未知的问题。

为了探究大语言模型完成专家级任务的潜力,微软亚洲研究院的研究员们提出了一种名为 LLM for Science 的范式。研究员们发现,大语言模型中知识的广度和深度使之有机会充分利用不同领域知识,提出多样的研究想法,辅助人类进行科学研究。

在这个 LLM for Science 范式下,研究员们还提出了一种名为苏格拉底式推理(Socratic Reasoning)的通用问题解决框架。该框架受古希腊哲学家苏格拉底的提问法启发,通过一系列问题来激发大语言模型“思考”,并通过持续的对话引出新的结论,从而激发大语言模型在自由形式、高度复杂问题中的潜力。苏格拉底式推理包括五类提示模板:演绎、转换、分解、验证和整合,迭代使用这些问题模板,将可以激励大语言模型在解决高度复杂任务时协调各种子问题,引导其建立高层次的推理路径,并在其广阔的解空间中高效地找到答案。

图1:苏格拉底式推理中的五类提示模板

图1:苏格拉底式推理中的五类提示模板

采取苏格拉底式推理,研究员们用 GPT-4 在理论计算机科学和数学中最重要的未解决问题之一——P 和 NP 问题上展开了探究。研究员们引入了五个不同角色(例如,概率论专业的数学家)作为合作证明者。根据具体问题需要,研究员们切换不同的提示模板和模型角色,以充分发挥大语言模型的潜力。仿照人类数学证明过程,研究员们在对话初期先要求大语言模型设计出了一个初步的证明思路,并在随后的对话中要求模型根据这个思路进行严格推证。

结果表明,GPT-4 在和人类进行了97轮对话后,构建了一类极度困难的 NP 完全问题,并证明了其中一些问题实例在时间复杂度低于 O(2^n)(即穷举搜索)的情况下无法被求解,得出“P≠NP”的结论。这项研究突显了 GPT-4 与人类合作探索极度复杂和专家级问题的潜在能力,为 LLM for Science 范式中的科学发现提供了前景。研究员们也将继续关注如何使大语言模型更有效地与人类合作,以发现更多新的可能性。

大模型道德价值观对齐问题的剖析与展望

new-arrival-in-research-3-3

中文版论文链接:https://crad.ict.ac.cn/cn/article/doi/10.7544/issn1000-1239.202330553

英文版论文链接:https://arxiv.org/pdf/2310.17551.pdf

大语言模型的发展带来了与之相伴随的诸多道德风险和挑战,例如对少数群体的歧视、隐私泄露、版权侵害、误导性信息、恶意滥用等问题,并可能对用户乃至整个社会造成偏见加剧、分配不平等深远的负面影响。为了引导人工智能在发展过程中遵循负责任且守道德的准则,人们有必要对当前的大模型进行道德价值的对齐(Ethical Values Alignment)。

为此,微软亚洲研究院的研究员们首先对大模型风险与 AI 道德规范准则进行了梳理。研究员们概述了大模型的特点以及相应的反尺度现象和风险涌现性质,并介绍了当下主流的 AI 伦理准则及其面临的问题,随后提出了从规范伦理学的角度重新审视近年来繁杂的规范性准则,倡导共同构建统一普适的 AI 道德框架。

紧接着研究员们讨论了大模型道德倾向评测,并分析了对齐方法。基于道德基础理论,研究员们采用问卷式评测,评估了主流大语言模型的道德倾向,为理解这些模型中存在的道德价值观提供了参考,并发现了当下价值观评测和对齐方法的不足。随后,文章系统性介绍了大模型的对齐算法,并总结了大模型道德价值观对齐所面临的独特挑战。

图2:道德价值对齐的难点与挑战

图2:道德价值对齐的难点与挑战

最后,研究员们提出了平衡对齐(Equilibrium Alignment)的展望。研究员们从交叉学科的角度提出了一个道德价值对齐的新的概念性范式,并从对齐的角度、评估方式和实际方法三个层面为解决道德对齐问题进行了阐述。在对齐角度上,研究员们提出了理解能力、诊断能力、矫正能力和性能维持四个核心维度;在评估方式上,提出了结合道德判断和道德行为的联合评测模式;在对齐方法上,设计了自顶向下(Top-Down)和自底向上(Bottom-Up)相结合的平衡对齐。这一范式一方面考虑了具有高优先级的一组道德准则,另一方面,允许模型从海量的用户交互和反馈数据中学习人类道德判断中的共同模式,并以此形成内部学习得到的隐式道德价值观,来解决价值观变化性这一挑战,实现普适道德价值的强约束与特定情景下动态调整的平衡。

道德价值是基于社会和文化群体构建的原则,剥离了社会和文化的环境,道德价值无法存在。因此要解决价值对齐的问题与挑战,使大模型在道德层面与人类全面对接,微软亚洲研究院的研究员们呼吁,AI 的研究者和开发者要加强跨学科合作,使 AI 真正为人服务,促进人类社会的繁荣和持久发展,以科技之光照亮未来之路。

顶会聚焦

PIT:通过排列不变性优化动态稀疏深度学习模型

new-arrival-in-research-3-5

论文链接:

https://dl.acm.org/doi/abs/10.1145/3600006.3613139

https://arxiv.org/abs/2301.10936

项目链接:https://github.com/microsoft/SparTA/tree/pit_artifact

在深度神经网络中,动态稀疏性是一种重要但是难以优化性能的特性,它的稀疏模式只能在运行过程中才能确定。动态稀疏性允许系统通过仅计算被激活的部分来提升运行效率。基于 Transformer 的大语言模型表现出了多种动态稀疏性,例如,由于文本生成的序列长度的不均衡导致了 key-value 缓存中的动态稀疏性;混合专家模型(mixture-of-experts,MoE)会在每个专家的输入 token 中引入动态稀疏性。

然而,动态稀疏性也给深度学习系统带来了挑战。由于预处理相关的开销过大,目前最先进的稀疏感知深度学习解决方案主要应对的是预定义的、静态的稀疏模式。在执行动态稀疏计算时,适合在 GPU 上高效执行的 tile 配置通常和与匹配稀疏模式的 tile 形状(最小化覆盖浪费,即张量中的非零值)严重不匹配。这种不匹配使得现有系统很难从动态稀疏性中获得实质性的加速。

为了解决这些问题,微软亚洲研究院的研究员们提出了 PIT,一个专门针对动态稀疏性的深度学习编译器。PIT 利用了一种名为“置换不变变换”(Permutation Invariant Transformation,PIT)的性质,允许将散布在不同位置的稀疏 micro-tile 转换为 GPU 高效的密集 tile,在不改变计算结果的前提下,PIT 可实现高 GPU 利用率和低覆盖浪费。

图3:PIT 将分散的 micro-tiles 转换为高效的密集 tile,并通过 Sread 和 Swrite 生成高效的 GPU 内核

图3:PIT 将分散的 micro-tiles 转换为高效的密集 tile,并通过 Sread 和 Swrite 生成高效的 GPU 内核

在编译时,PIT 会为模型中的所有运算符找到可行的PIT规则,并根据这些规则生成高效的 GPU 内核。在运行时,研究员们通过新的 SRead 和 SWrite 原语来快速执行 PIT 规则,以提供高效的动态稀疏性支持。

对各种模型广泛的评估结果表明,与当前最先进的编译器相比,PIT 可以将动态稀疏计算的速度提高至最高的5.9倍(平均为2.43倍),为深度学习的效率提升开启了新的可能性。该论文已被 SOSP 2023 大会接受。

SPFRESH:十亿规模向量搜索的增量原地更新

new-arrival-in-research-3-7

论文链接:https://www.microsoft.com/en-us/research/publication/spfresh-incremental-in-place-update-for-billion-scale-vector-search/

目前,近似最近邻搜索(ANNS)在高维向量数据领域得到了广泛应用,包括信息检索、问答和推荐等。在这一背景下,向量索引成为了十分重要的数据结构,用于高效组织高维向量,以实现高准确性和低延迟的近似最近邻搜索。

随着数据的不断新增和变化,支持向量索引的实时更新变得至关紧要。但对于数百上千维度的向量而言,更新并不是一项简单的任务。基于图的索引在更新向量时成本高昂,因为每次插入或删除向量数据通常都需要检查整个图以更新高维空间中的边。相反,聚类索引的更新成本较低,向量的插入和删除只需要对向量分区进行恒定的局部修改即可。然而,随着每个向量分区中的更新累积,数据分布会随着时间而发生偏移,导致分区大小不均匀,从而影响查询延迟和准确性,使得索引质量下降。

图4:分区分裂需要进行重新分配向量数据

图4:分区分裂需要进行重新分配向量数据

为应对这一挑战,微软亚洲研究院的研究员们开发了可支持高效的向量更新的 SPFresh 系统。SPFresh 的核心是一种轻量级的增量再平衡协议 LIRE,用于分割向量分区并重新分配附近分区中的向量以适应数据分布的变化。LIRE 正式定义了基于最近邻分配(NPA)规则的向量重新分配的两个必要条件。通过这些必要条件,LIRE 可以在向量更新时识别一个最小集合的邻近向量来适应数据分布的变化,并通过仅在分区边界重新分配向量来实现低成本的向量更新。

有了 LIRE,SPFresh 能够提供相比全局重建解决方案更加卓越的查询延迟和准确性。而在基于磁盘的数十亿规模的向量索引中,与目前最先进的方法相比,SPFresh 仅需占用1%的 DRAM 和不到10%的核心资源。该论文已被 SOSP 2023 大会接受。

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

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

相关文章

JavaScript日期和时间处理手册

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ ​ ✨ 前言 日期和时间在应用开发中是非常常用的功能。本文将全面介绍JavaScript中处理日期和时间的方…

vscode设置python脚本运行参数

1 添加配置文件 点击到你要配置的python文件,然后右上角点击 运行 ,再点击 添加配置 再点击 “Pyhton文件” 选项(其实就是在选择 当前的python文件 进行配置) 接着就生成了配置文件 lanunch.json 2 参数配置 再上面代码的基础上…

1月10号代码随想录左叶子之和

404.左叶子之和 给定二叉树的根节点 root ,返回所有左叶子之和。 示例 1: 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24示例 2: 输入: root [1]…

206. 反转链表(Java)

题目描述: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 输入: head [1,2,3,4,5] 输出: [5,4,3,2,1] 代码实现: 1.根据题意创建一个结点类: public class ListNode {int val…

【详细】双系统 Ubuntu 如何给根目录扩容

1.分配出一块未分配空间(需要和Ubuntu系统存储分区位于同一个硬盘上) 这一步我直接利用windows系统自带的“创建并格式化硬盘分区”功能进行的。 如图,在想要切割出来一部分空间的卷上右键,选择压缩卷选项,之后输入空…

使用Windbg动态调试目标进程的一般步骤详解

目录 1、概述 2、将Windbg附加到已经启动起来的目标进程上,或者用Windbg启动目标程序 2.1、将Windbg附加到已经启动起来的目标进程上 2.2、用Windbg启动目标程序 2.3、Windbg关联到目标进程上会中断下来,输入g命令将该中断跳过去 3、分析实例说明 …

leetcode:1716. 计算力扣银行的钱(python3解法)

难度:简单 Hercy 想要为购买第一辆车存钱。他 每天 都往力扣银行里存钱。 最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。 给你 n &am…

安卓文件传输工具---Android File Transfer中文

Android File Transfer是一款专为安卓设备设计的文件传输工具,可以帮助用户快速方便地在安卓设备和计算机之间传输文件。这款软件支持多种文件类型,包括图片、音乐、视频、文档等,使得用户可以轻松地将文件从计算机传输到安卓设备&#xff0c…

[足式机器人]Part2 Dr. CAN学习笔记-动态系统建模与分析 Ch02-7二阶系统

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-动态系统建模与分析 Ch02-7二阶系统 1. 二阶系统对初始条件的动态响应 Matlab/Simulink - 2nd Order Syetem Response to IC2. 二阶系统的单位阶跃响应 2nd Order System Unit Step Response3. 二…

CNN——GoogLeNet

1.GoogLeNet简介 GoogLeNet是谷歌推出的基于Inception模块深度卷积神经网络结构。L和N大写还是为了致敬LeNet。在随后的两年中一直在改进,形成了Inception V2、Inception V3、Inception V4等版本。GoogLeNet(Inception-V1),在Imag…

微服务下多模块拆分,公用类调用与模块隔离性怎么兼得呢

前言 在一个微服务项目中,为了追求低耦合,会根据业务板块对主系统进行切分为一个个子模块,模块间相互隔离,但是这样子就会导致一个问题:对于一些在多个子模块中都适用的配置类、工具类、封装类等都需要拷贝冗余到各个模…

大数据本地环境搭建-Linux基础环境搭建

1.安装VMware 下载 VMware Workstation Pro | CN 2.配置虚拟网卡 3.Windows网络配置 4.安装centos7.9 Download (centos.org) 4.1 新建虚拟机 如果开机的时候电脑蓝屏使用WindowsR输入optionalfeatures 打开启用或关闭Windows功能->勾选打开以下两项 重启 继续安装ce…

静态网页设计——滑板官网(HTML+CSS+JavaScript)(dw、sublime Text、webstorm、HBuilder X)

前言 声明:该文章只是做技术分享,若侵权请联系我删除。!! 感谢大佬的视频:https://www.bilibili.com/video/BV1Cw411u7hj/?vd_source5f425e0074a7f92921f53ab87712357b 源码:https://space.bilibili.com…

LeetCode 2807.在链表中插入最大公约数

【LetMeFly】2807.在链表中插入最大公约数 力扣题目链接:https://leetcode.cn/problems/insert-greatest-common-divisors-in-linked-list/ 给你一个链表的头 head ,每个结点包含一个整数值。 在相邻结点之间,请你插入一个新的结点&#x…

Kafka集群部署 (KRaft模式集群)

KRaft 模式是 Kafka 在 3.0 版本中引入的新模式。KRaft 模式使用了 Raft 共识算法来管理 Kafka 集群元数据。Raft 算法是一种分布式共识算法,具有高可用性、可扩展性和安全性等优势。 在 KRaft 模式下,Kafka 集群中的每个 Broker 都具有和 Zookeeper 类…

Springboot3(一、lambda、::的应用)

文章目录 一、使用lambda简化实例创建1.语法:2.示例:3.Function包3.1 有入参,有返回值【多功能函数】3.2 有入参,无返回值【消费者】3.3 无入参,有返回值【提供者】3.4 无入参,无返回值 二、类::方法的使用…

centos7上升级mysql8.0.21到mysql8.0.35版本

1、下载安装包 cd /home/soft/mysql8.0.35 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar 2、解压压缩包 3、停止掉mysqld服务 systemctl stop mysqld 4、强制安装新的版本包 rpm -ivh mysql-community-common-8.0.35-1.el…

富士康注资21亿元河南成立电动车公司 | 百能云芯

富士康在河南注册成立富士康新能源汽车产业发展有限公司,注册资本达人民币5亿元,展现了其在电动车产业的持续布局。这一全资子公司将致力于从事汽车零部件及配件制造、电机制造、新材料技术研发、新能源汽车整车销售等业务。作为鸿海集团的全资子公司&am…

基于Jackson封装的JSON、Properties、XML、YAML 相互转换的通用方法

文章目录 一、概述二、思路三、实现四、测试 一、概述 我们在 yaml转换成JSON、MAP、Properties 通过引入 实现了JSON、Properties、XML、YAML文件的相互转换,具体封装的类、方法如下: 上面的实现,定义了多个类、多个方法,使用…

FlinkAPI开发之数据合流

案例用到的测试数据请参考文章: Flink自定义Source模拟数据流 原文链接:https://blog.csdn.net/m0_52606060/article/details/135436048 概述 在实际应用中,我们经常会遇到来源不同的多条流,需要将它们的数据进行联合处理。所以…