Skip to content
从炒菜到缝针!斯坦福炒虾团队打造自主「AI达芬奇」,苦练神指当外科医生
斯坦福炒虾机器人作者,又出新作了!通过模仿学习,达芬奇机器人学会了自己做「手术」——提起组织、拾取针头、缝合打结。最重要的是,以上动作全部都是它自主完成的。
斯坦福炒虾机器人作者,又出新作了。
这次,机器人不是给我们炒饭了,而是给我们做外科手术!
最近,约翰霍普金斯和斯坦福大学的研究者们,进行了一项新的探索——
著名的医疗机器人达芬奇,是否可以通过模仿学习,来学习外科手术的操作任务呢?
经过实验后,他们成功了!
组织操作、针头处理和打结这三项基本的手术任务,达芬奇都可以自己独立完成了。
首先是需要医学生苦练指法的缝合打结技术,只见达芬奇「飞针走线」,很熟练地就可以把结打好:
接下来是针的拾取和移交,达芬奇也能够一次精准操作,动作绝无拖泥带水。
第三大任务是提起组织,可以看到达芬奇选择了正确着力点,轻松提起了组织。
最重要的是,以上动作全部都是达芬奇自主完成的!
翻开研究作者一栏,赫然出现了炒虾机器人的作者Tony Zhao和Chelsea Finn。
果然,这种程度的精细操作,怎么看都有一股熟悉的味道。
论文地址:https://arxiv.org/abs/2407.12998
博客地址:https://surgical-robot-transformer.github.io/
要知道,跟家庭环境中的桌面操作相比,手术任务需要精确操纵可变形物体,还要面对不一致的照明和遮挡的硬感知问题。
另外,手术机器人通常可能还有不准确的本体感觉和迟滞。
这些问题,他们都是如何克服的?
大型临床数据存储库,机器人可以学习了
大规模模仿学习,在操作任务的通用系统上显示出了巨大的前景,比如让机器人给我们做家务。
不过这次研究者们盯上的,是外科领域。
外科领域是一个尚未开发、潜力巨大的领域,尤其是在达芬奇手术机器人的加持之下。
截止2021年,全球已经有67个国家使用了6500套达芬奇系统,进行了超过1000万例手术。
而且,这些手术的过程都被全程记录了下来,从而让我们有了大量的演示数据存储库。
如此大规模的数据,能否利用起来,构建一个自主手术的通才系统?
然而,当研究者们下手研究时却发现:让达芬奇机器人通过模仿学习来做外科手术,存在一个难点——
由于达芬奇系统本身的特殊性,就导致了独特的挑战,阻碍了模仿学习的实施。
右上是真实的医疗环境,右下是研究人员的实验设置
而且,由于联合测量不精确,其正向运动学就会不一致,如果只是简单地使用这种近似运动学数据训练一个策略,通常会导致任务的失败。
很简单的视觉伺服任务,机器人也无法执行。训练输出绝对末端执行器姿势的策略(这是训练机器人策略的常用方法),在所有任务中的成功率都接近于0。
怎样克服这种限制?
团队发现,达芬奇系统的相对运动,比它的绝对正向运动学更加一致。
因此,他们想到一个办法:引入一种相对动作公式,使用它的近似运动学数据,来进行策略训练和部署。
他们考虑了以下三个选项:以相机为中心、以工具为中心和混合相关操作。
以相机为中心的动作表示是一种基线方法,它将动作建模为末端执行器相对于内窥镜尖端的绝对姿势。另外两个是定义相对于当前工具(即末端执行器)框架或内窥镜尖端框架的动作的相对公式
然后,使用图像作为输入和上述动作表示,来训练策略。
这一点,他们的做法跟此前的工作不一样,后者会使用运动学数据作为输入,然而在这项工作中,达芬奇的运动学数据可能并不可靠。
他们的模型基于ACT,一种基于Transformer的架构。
团队提出了一种策略设计,仅将图形作为输入,并输出相对姿态轨迹
如果这种方法成功,那么包含近似运动学的大型临床数据存储库,就可以直接用于机器人学习,而无需进一步校正了。
这对于机器人的临床手术操作,无疑意义重大。
果然,在引入相对动作公式后,团队便利用近似运动学数据,在达芬奇上成功地演示了模仿学习,不仅不需要进一步的运动学矫正,而且效果也大大优于基线方法。
实验表明,模仿学习不仅可以有效地学习复杂的手术任务,还能推广到新的场景,比如在看不见的真实人体组织上。
另外,腕式摄像机对于学习手术操作任务,也十分重要。
现在,除了之前已经展示的组织操作、针头处理和打结等自主任务外,达芬奇机器人还可以完成下面多种操作。
零样本泛化
斯坦福团队的模型显示出了适应新场景的能力,例如在出现未知的动物组织的情况下。
这是一段达芬奇在缝合猪肉并打结的视频——
换成是鸡肉,达芬奇也能精确地拿起放在肉表面的手术针。
这显示出其在未来临床研究中进行扩展的前景。
重试行为
那么,如果存在一些环境扰动,达芬奇是否还能稳定发挥呢?
可以看到,在其他器械突然闯入,并将手术缝合线故意剥落之后,达芬奇并没有停下动作,仍然将打结行为进行了下去。
在下面整段视频中,达芬奇在第一次操作中没有拾起手术针,它很快意识到了这一事实,通过自动调整成功拾取。
重复性测试
临床手术非同儿戏,必须保证临床机器人具有可重复性,「万无一失」是其必要能力。
研究团队放出了达芬奇的重复性测试视频,在不同视角下观察它的多次操作,基本无可挑剔。
技术路径
如下图所示,达芬奇机器人的dVRK系统,由一个内窥镜摄像操纵器(ECM)和两个共享同一机器人底座的患者侧操纵器(PSM1、PSM2)组成。
每个手臂都是被动设置关节的顺序组合,而后面是机动主动关节。
然而,一般情况下,如果在所有关节中都使用电位器,会导致手臂的正向运动学不准确,甚至有高达5厘米的误差。
不幸的是,dVRK提供的正向运动学数据并不稳定。这是因为设置关节(蓝色)仅使用电位计进行关节测量,并不可靠。主动关节(粉色)同时使用电位器和电机编码器,提高了精度
为了让达芬奇完成通过模仿学习来完成手术操作任务这一目标,鉴于机器人的前向运动学不准确,团队提出了前文中所提到的三种动作表示法,其中混合相对方法进一步提高了平移动作的准确性。
执行细节
为了训练可行的策略,研究使用带有Transformer的动作分块(ACT)和扩散策略。
他们使用了内窥镜和手腕相机图像作为输入来训练策略,这些图像均缩小为224x224x3的图像尺寸。
手术内窥镜图像的原始输入尺寸为1024x1280x3,手腕图像为480x640x3。
运动学数据不像其他模仿学习方法中常见的那样作为输入提供,这是因为由于dVRK的设计限制,运动学数据通常不一致。
策略输出包括末端执行器(delta) 位置、(delta) 方向和双臂下颌角度。
实验过程
在这次实验中,研究者的目标是弄清这些问题的答案——
1. 模仿学习是否足以应对复杂的外科操作任务?
2. dVRK的相对运动是否比其绝对前向运动学更稳定?
3. 使用腕式摄像头是否对提高成功率至关重要?
4. 模型在未见过的新场景中能否有效泛化?
首先需要评估的是,达芬奇的相对运动是否比其绝对前向运动学更加一致。
评估方法是在不同的机器人配置下,使用绝对与相对运动公式重复记录参考轨迹。
具体来说,机器人需要在模拟人体腹部的圆顶,使用相同的孔,将手臂和内窥镜大致放置在相似的位置。
这项任务不简单,因为孔比内窥镜和工具轴的尺寸大得多,而且必须通过移动安装接头,将工具手动放置到孔中。
总体而言,实验表明,在存在测量误差的情况下,相对运动的一致性更高。因此,将策略动作建模为相对运动是更好的选择。
在这项配置中,共收集了224次组织提起实验、250次针的拾取和移交实验,以及500次打结实验
图5展示了在各种机器人配置下重复录制的参考轨迹,以此来测试所有动作表示的可重复性。
左图显示了所有动作表示法的参考轨迹的完美重构,因为自参考轨迹采集以来,机器人关节没有移动过。
而当机器人向左或向右移动时(中、右图),以摄像头为中心的动作表示法无法跟踪参考轨迹,而相对动作表示法则能很好地跟踪参考轨迹。
各种机器人配置下的轨迹跟踪
除此之外,团队还评估了使用各种动作表示法训练的模型的任务成功率。
结果表明,使用相对动作表述(以工具为中心的动作表述和混合相对动作表述)训练出来的策略表现良好,而使用绝对正向运动学训练出来的策略则失败了。
而在下图中,最上面一行,就是组织提起任务中,机器人需要抓住橡胶垫(组织)的一角,将其向上提起。
在训练期间,组织的一角保持着红色框内,显示测试时角的配置。
中间一行,是针的拾取和移交。
在训练过程中,针被随机放在了红色盒子内。测试时,针的中心隆起被放置在如图所示的9个位置,以在评估期间强制执行一致的设置。
下面一行,机器人在打结的过程中,需要使用左侧的绳子形成一个环,通过环来抓住绳子的末端,然后将夹具拉离彼此。
在训练期间,来自垫子的绳子位置随机放在红色方框内,而测试时,绳子被放在红色方框中央。
下面的视频显示了使用手臂的绝对前向运动学(以摄像头为中心的动作)训练策略的结果。
由于达芬奇手臂的前向运动学存在误差,在训练和推理之间会发生显著变化,因此这些策略无法完成任务。
而且,研究人员还观察到,在学习外科手术操作任务时,腕部摄像头能带来显著的性能提升。
显然,能够自主学习的手术机器人,有望在未来进一步扩展外科医生的能力。
参考资料:
https://surgical-robot-transformer.github.io/
零样本即可时空预测!港大、华南理工等发布时空大模型UrbanGPT | KDD 2024
UrbanGPT是一种创新的时空大型语言模型,它通过结合时空依赖编码器和指令微调技术,展现出在多种城市任务中卓越的泛化能力和预测精度。这项技术突破了传统模型对大量标记数据的依赖,即使在数据稀缺的情况下也能提供准确的预测,为城市管理和规划提供了强大的支持。
时空预测技术致力于深入分析和预测动态的城市环境,它不仅关注时间的变化,也考虑空间的布局。这项技术的目标是揭示城市生活中交通、人口迁移和犯罪率等各个方面的未来趋势和模式。尽管许多研究集中于利用神经网络来提高时空数据预测的准确性,但这些方法通常需要大量的训练数据来生成可靠的时空特征。
然而,在实际的城市监测场景中,数据往往不足,特别是在某些情况下,收集有标记的数据变得非常困难,这进一步加剧了挑战。因此,开发一个能够适应不同时空背景并具备强大泛化能力的模型显得尤为关键。
受到大型语言模型(LLMs)在多个领域的显著进展的启发,香港大学、华南理工大学等机构的研究人员发布了一个全新的时空大语言模型UrbanGPGT,将时空依赖的编码器和指令微调技术相结合,其目标是开发一个能够广泛适用于城市任务的时空大型语言模型。
项目链接:https://urban-gpt.github.io/
代码链接:https://github.com/HKUDS/UrbanGPT
论文链接:https://arxiv.org/abs/2403.00813
视频展示:https://www.bilibili.com/video/BV18K421v7ut
这种结合使得模型能够深入理解时间和空间的复杂关系,并在数据有限的情况下提供更全面和精确的预测。
为了测试这一方法的有效性,我们在多个公共数据集上进行了广泛的实验,这些实验涉及多种时空预测任务。实验结果一致显示,UrbanGPT 在性能上始终超越了现有的顶尖模型。这些成果证明了在数据标记较少的情况下,利用大型语言模型进行时空学习的巨大潜力。
概述
现有挑战
C1. 标签数据的稀缺性与重新训练成本高昂: 尽管现有的时空神经网络在预测准确性方面表现出色,但它们对大量标注数据的依赖性极大。
在实际的城市监测环境中,数据的稀缺性是一个显著的障碍。例如,考虑到成本问题,在整个城市范围内部署传感器来监测交通流量或空气质量是不现实的。此外,现有的模型在面对新的地区或城市预测任务时,往往缺乏足够的泛化能力,需要重新训练才能生成有效的时空特征。
C2. 大型语言模型和现有时空模型在零样本场景下的泛化能力不足: 如图2所示,大型语言模型LLaMA能够根据输入文本推断流量模式。然而,它在处理具有复杂时空依赖性的数字时间序列数据时,有时会出现预测失误。
与此同时,虽然预训练的基线模型在编码时空依赖关系方面表现良好,但它们可能会因为过度适应源数据集而在零样本场景中表现不佳。
C3. 将大型语言模型的推理能力扩展到时空预测领域: 时空数据的独特性质与大型语言模型中编码的知识之间存在显著差异。如何缩小这种差异,进而构建一个在广泛的城市任务中具有卓越泛化能力的时空大型语言模型,是一个亟待解决的重要问题。
图1:与LLM和时空图神经网络相比,UrbanGPT 在零样本场景下有着更好的预测性能
现有挑战
(1)据我们了解,这是首次尝试创建一个能够跨多个数据集预测各种城市现象的时空大型语言模型,特别是在训练数据有限的情况下。
(2)本文介绍了一个名为UrbanGPT的时空预测框架,它允许大型语言模型深入理解时间和空间之间的复杂联系。通过将时空依赖编码器与指令微调技术紧密结合,有效地将时空信息融入语言模型中。
(3)在真实世界数据集上进行的广泛实验验证了UrbanGPT在零样本时空学习环境中的卓越泛化能力。这些结果不仅展示了模型在预测和理解时空模式方面的高效性,还证明了其在缺乏样本的情况下依然能够提供准确的预测。
方法
图2:UrbanGPT 整体框架
时空依赖编码器
尽管大型语言模型在处理语言文本方面取得了显著成就,但它们在解析时空数据中的时序变化和动态模式时仍存在挑战。
为了应对这一问题,本研究提出了一种创新的方法,即整合时空依赖编码器,以提升大型语言模型在捕捉时空上下文中的时间序列依赖性的能力。
具体来说,我们设计的时空编码器由两个核心组件构成:一个是门控扩散卷积层,另一个是多层次关联注入层。
上式 为初始化时空嵌入,从原始时空数据中获取。Er’是Er的切片,用于进行残差操作以缓解梯度消失。
我们使用一维扩散卷积来编码时间关联。
Sigmoid 激活函数δ 用于控制多层卷积运算的信息保留程度。
经过门控时间扩展卷积层的处理,我们能够精确地捕捉到连续多个时间步长内的时间序列依赖性,进而生成丰富的时间特征表示。这些表示涵盖了多层次的时间依赖关系,揭示了不同粒度级别的时间演变模式。
为了完整地保留这些时间信息,我们引入了一种多层次关联注入层,该层特别设计用于捕捉并整合不同层次之间的相互联系:
其中是形如的卷积核,在通过L层的编码处理之后,我们利用一个简单的线性层将门控扩散卷积层和多层次关联注入层的输出进行整合,最终生成的时空依赖性特征表示为
为应对可能在各种城市场景中出现的复杂情况,本文设计的时空编码器在处理空间相关性时不依赖于特定的图结构。这是因为在零样本预测环境中,实体间的空间联系往往是未知的或难以预测的。这样的设计使得UrbanGPT能够在广泛的城市应用场景中保持其适用性和灵活性。
时空指令微调框架
时空数据-文本对齐
为了使语言模型能够深入理解时空动态,确保文本内容与时空数据的一致性是关键。这种一致性使得模型能够整合多种数据类型,生成更加丰富的数据表示。通过将文本内容与时空领域的上下文特征相结合,模型不仅能够捕捉到补充性的信息,还能够提炼出更高层次的、具有更强表现力的语义特征。
为了实现这一点,本文采用轻量对齐模块来投影时空依赖性表示。
投影操作采用线性层参数进行,其中dL表示大语言模型常用的隐藏维度。所得到的投影 ,在指令中使用特殊的标记表示为:,,…,,。在这里, 和 是用来标记时空信息起始和终止的特殊符号,它们可以通过扩展词汇库的方式被纳入到大型语言模型中。
占位符 代表时空标记,它对应于隐藏层中的向量 H。利用这种技术,模型能够识别时空依赖关系,这显著增强了其在城市环境中进行时空预测任务的能力。
时空提示指令
在进行时空预测时,时间和空间数据都蕴含着关键的语义信息,这些信息对于模型捕捉特定情境下的时空规律至关重要。
比如,交通流量在早晨和高峰时段会有显著变化,商业区与住宅区的交通模式也各有不同。因此,将时间与空间信息作为提示文本引入时空预测任务,可以显著提升模型的预测效果。我们利用大型语言模型在文本理解方面的专长来处理这些信息。
在UrbanGPT的架构中,我们整合了不同粒度的时间数据和空间细节,作为大型语言模型的指令输入。时间信息涵盖了一周中的日期和具体时间点,而空间信息则包括城市区域、行政区划以及周边的兴趣点(POI)等,如图3所示。
通过整合这些多样化的元素,UrbanGPT能够深入识别并理解在复杂时空背景下,不同区域和时间段的时空动态,进而提升其在零样本情况下的推理能力。
图3: 编码时间和位置感知信息的时空提示指令
大语言模型的时空指令微调
在利用指令微调大型语言模型(LLMs)生成时空预测的文本描述时,面临两大挑战。一方面,时空预测通常基于数值型数据,这些数据的结构和模式与自然语言处理中的语言模型所擅长的语义和句法关系不同。
另一方面,LLMs在预训练阶段通常采用多分类损失函数来预测词汇,这导致其生成的是词汇的概率分布,而时空预测任务则需要连续值的输出。
为了克服这些问题,UrbanGPT采取了一种创新的方法。它不是直接预测未来的时空值,而是生成辅助性的预测标记。这些标记随后通过一个回归层处理,将模型的隐藏层表示转换为更精确的预测值。这种方法使得UrbanGPT能够更有效地进行时空预测。
上式中预测标记的隐藏表征用表示,其中预测标记可通过扩充LLMs词表的方式引入。W1,W2,W3为回归层的权重矩阵,[⋅,⋅]为拼接操作。
实验
零样本预测性能
相同城市内未见区域的预测
在跨区域预测中,我们利用同一城市中某些区域的数据来预测模型未接触过的其他区域的未来状况。通过深入分析模型在此类跨区域预测任务中的表现,我们注意到:
(1)卓越的零样本预测能力。表1中的数据展示了所提出模型在不同数据集上的回归和分类任务中超越基线模型的优异表现。UrbanGPT的出色表现主要归功于两个核心要素。
i)时空数据-文本对齐。将时空上下文信号与语言模型的文本理解能力对齐,对模型的成功至关重要。这种整合使得模型能够充分利用编码自时空信号的城市动态信息,同时结合大语言模型对文本上下文的深入理解,从而扩展了模型在零样本场景下的预测能力。
ii)时空指令的微调。通过自适应调整,LLMs能够更有效地吸收指令中的关键信息,提升其对空间和时间因素复杂关系的理解。UrbanGPT通过将时空指令微调和时空依赖编码器相结合,成功地保留了通用且可转移的时空知识,实现了在零样本场景中的准确预测。
(2)对城市语义的深入理解。城市语义提供了对空间和时间特性的深刻洞察。通过在多种数据集上训练模型,增强了其对不同时间段和地理位置的时空动态的理解。
相比之下,传统的基准模型通常更注重编码时空依赖关系,而忽略了区域、时段和数据类型之间的语义差异。通过将丰富的语义信息融入UrbanGPT,我们显著提升了其在未见过的区域中进行精确零样本预测的能力。
(3)在稀疏数据环境中,提升预测性能。在数据点稀疏的环境中预测时空模式是一项挑战,主要因为模型在这种情况下容易过拟合。例如,在预测犯罪等场景中,数据往往较为稀疏,这使得基线模型在跨区域预测任务中表现不佳,召回率低,暗示可能存在过拟合的问题。
为解决这一挑战,我们的模型采用了一种创新的策略,将时空学习与大型语言模型相结合,并通过有效的时空指令微调方法进行优化。这种方法通过整合丰富的语义信息,增强了模型对时空数据的理解和表示能力,使其能够更有效地处理稀疏数据,并显著提高了预测的准确性。
表1:跨区域零样本预测场景性能比较
跨城市预测任务
为了检验模型在不同城市间的预测能力,我们选择了芝加哥的出租车数据集进行实验验证。(注意,此数据集并未在训练阶段使用)。如图4所示,测试结果表明,模型在所有时间点上均展现出优于对比方法的性能,这证明了UrbanGPT在跨城市知识迁移方面的有效性。
通过将时空编码器与时空指令微调技术相结合,模型能够捕捉到普遍性和特殊性并存的时空规律,从而进行更准确的预测。此外,模型通过综合考虑不同的地理位置、时间因素以及学习到的知识迁移,能够将不同功能区域和历史时期的时空模式联系起来。这种全面的时空理解为在跨城市场景中进行精确的零样本预测提供了关键的洞察。
图4:跨城市零样本预测场景性能比较
典型的有监督预测任务
本章节重点研究UrbanGPT在完全监督的预测环境中的表现,具体来说,我们通过使用时间跨度较大的测试数据集来评估模型在长期时空预测任务中的效果。例如,模型使用2017年的数据进行训练,并用2021年的数据进行测试。
测试结果显示,UrbanGPT在长期时间跨度的预测任务中明显优于基线模型,这突出了其在处理长期预测时的卓越泛化能力。这一特性减少了对频繁重新训练或增量更新的需求,使得模型更加适合实际应用场景。此外,实验结果还证实,引入额外的文本信息不仅不会影响模型的性能,也不会引入噪声,这进一步证明了利用大型语言模型来增强时空预测任务的有效性。
表2:端到端有监督设置下的预测性能评估
消融实验
(1)时空上下文的重要性:STC。 当从指示文本中移除时空信息后,模型的性能出现了下降。这可能是因为缺少时间信息,使得模型只能依赖时空编码器来处理与时间相关的特征并执行预测任务。同时,空间信息的缺失也限制了模型捕捉空间相关性的能力,使得分析不同区域的时空模式变得更加困难。
(2)多数据集指令微调的效果:Multi。 我们仅在NYC-taxi数据集上对模型进行训练。由于缺乏其他城市指标的信息,这限制了模型揭示城市时空动态的能力。因此,模型的表现欠佳。通过整合来自不同城市的不同时空数据,模型能够更有效地捕捉不同地理位置的独特特征和时空模式的演变。
(3)时空编码器的作用:STE。 当从模型中移除时空编码器时,结果表明,这种缺失显著降低了大语言模型在时空预测任务中的预测能力。这突出了时空编码器在提升模型预测性能中的关键作用。
(4)指令微调中的回归层:T2P。 我们指导UrbanGPT直接以文本格式输出其预测结果。模型的性能表现不佳,主要是因为在训练过程中依赖于多类损失函数进行优化,这导致了模型输出的概率分布与时空预测任务所需的连续值分布不匹配。为了解决这个问题,我们在模型中引入了一个回归预测器,显著提升了模型在回归任务中生成更准确数值预测的能力。
图5:UrbanGPT消融实验
模型鲁棒性研究
在本节中,我们对UrbanGPT在处理不同时空模式场景时的稳定性进行了评估。我们根据特定时间段内数值变化的幅度(如出租车流量)对区域进行区分。较小的方差通常意味着区域具有稳定的时间模式,而较大的方差则暗示着区域的时空模式更为多样化,常见于商业活跃区或人口密集区。
如图6所示,多数模型在方差较低的区域表现出色,因为这些区域的时空模式较为一致和可预测。然而,基线模型在方差较高的区域表现不佳,尤其是在方差处于(0.75, 1.0]区间的区域,这可能是因为基线模型在零样本场景下难以准确推断出这些区域复杂的时空模式。在城市管理中,如交通信号控制和安全调度等,对人口密集或繁华区域的准确预测至关重要。UrbanGPT在(0.75, 1.0]区间内显示出显著的性能提升,这证明了其在零样本预测场景中的强大能力。
图6:模型鲁棒性研究
案例研究
案例研究对不同大型语言模型在零样本时空预测场景中的有效性进行了评估,结果如表3所示。研究结果表明,各类LLMs能够根据提供的指令生成预测,这验证了提示设计的有效性。
具体来看,ChatGPT在预测时主要依赖于历史平均值,而没有明确地将时间或空间数据纳入其预测模型中。Llama-2-70b虽然能够分析特定时间段和区域,但在处理数值时间序列的依赖性时遇到了挑战,这影响了其预测的准确性。
相比之下,Claude-2.1能够更有效地总结和分析历史数据,利用高峰时段的模式和兴趣点来实现更准确的流量趋势预测。
而我们提出的UrbanGPT通过时空指令微调的方式,将时空上下文信号与大型语言模型的推理能力紧密结合,显著提升了预测数值和时空趋势的准确性。这些发现突出了UrbanGPT在捕捉普遍时空模式方面的潜力和有效性,使得零样本时空预测成为可能。
表3:不同的LLMs对纽约市自行车流量的零样本预测案例
总结与展望
本研究提出了UrbanGPT,这是一种具备在多样城市环境中良好泛化能力的时空大型语言模型。为了实现时空上下文信号与大型语言模型(LLMs)的无缝整合,本文提出了一种创新的时空指令微调方法。这种方法赋予了UrbanGPT在各种城市数据中学习普遍和可迁移的时空模式的能力。通过广泛的实验分析,证明了UrbanGPT架构及其核心组件的高效性和有效性。
尽管当前的成果令人振奋,但未来研究中仍有一些挑战需要克服。首先,我们将积极收集更多类型的城市数据,以增强UrbanGPT在更广泛城市计算领域的应用能力。其次,理解UrbanGPT的决策机制同样重要。尽管该模型在性能上表现出色,但提供模型预测的可解释性也是未来研究的关键方向。未来的工作将致力于使UrbanGPT能够解释其预测结果,从而增加其透明度和用户信任。
参考资料:
https://arxiv.org/abs/2403.00813
万字技术干货!LLM工程师必读量化指南,可视化图解揭秘大模型如何压缩
面对LLM逐渐膨胀的参数规模,没有H100的开发者和研究人员们想出了很多弥补方法,「量化」技术就是其中的一种。这篇可视化指南用各种图解,将「量化」的基本概念和分支方法进行了全方位总结。
大语言模型(LLM)通常过于庞大,无法在消费级硬件上运行。这些模型的参数可能超过数十亿,通常需要显存较大的GPU来加速推理过程。
因此,越来越多的研究开始关注如何缩小模型,比如改进训练方法或使用适配器。该领域的一项主要技术被称为量化(quantization)。
ML工程师Maarten Grootendorst撰写了一篇博客文章,在语言建模背景下专门介绍了量化技术,并通过可视化的方法逐一探索相关概念,以帮助我们建立对该技术的直观理解。
在这篇博文中,Maarten将探讨各种方法、使用案例以及量化背后的原理。
文章目录以及涵盖内容如下图所示,主要介绍了训练后量化(PTQ)以及量化感知训练(QAT)两种方法,建议有AI基础的读者直接跳转至对称量化部分:
第一部分:LLM的「问题」
「大语言模型」就是大在模型参数量上,规模通常达到数十亿的级别(其中主要是权重)。
这些参数不仅存储成本相当高,推理阶段的计算量也很大。
在推理过程中,激活值是输入和权重的乘积,因此权重数量越多,激活值也会越大。
因此,我们希望尽可能高效地表示数十亿个值,从而尽可能减少存储参数所需的空间。
让我们从头开始,探索数值是如何表示的,然后再进行优化。
如何表示数值
数值存储的形式通常是浮点数(floting point number,或简称为floats):一个带有小数点的正数或负数。
这些值由每一位(bit)上的二进制数字表示。
IEEE-754标准描述了每一位上的数字如何表示具体数值,具体来说共有三种映射:符号、指数或小数(尾数)。
这三个部分可以结合起来,根据一组bit值计算出所表示的数值:
使用的位数越多,表示的数值值通常越精确,比如FP32形式就能比FP16精确到小数点后更多位数:
内存限制
可用的位数越多,不仅数值越精确,可表示的数值范围也越广。
给定位数和表示形式,可表示的数值区间称为动态范围(dynamic range),而两个相邻值之间的距离称为精度(precision)。
这种表达形式的一个巧妙特性在于,我们可以计算出设备需要多少内存来存储某个给定值。
由于内存中的每个字节含有8位,我们可以为大多数形式的浮点数创建一个基本公式——
在实际应用中,还有更多因素会影响推理过程中所需的显存/内存大小,例如上下文大小和模型架构
现在假设我们有一个包含700亿参数的模型。大多数模型本身使用32位浮点数(通常称为全精度)表示,这需要280GB的内存来加载模型。
但如果能将所有参数用16位浮点数表示,所需的内存大小就可以直接减少一倍。
因此,将模型参数的表示位数最小化(不仅是推理,还有训练过程)是非常有吸引力的。
然而,这种方法不是没有代价的。随着表示位数减少导致精度降低,模型的准确性通常也会下降。
我们希望在保持准确性的同时减少表示数值的位数……此时,量化技术就派上用场了。
第二部分:量化入门
现在我们知道,量化的目的是将模型参数的精度从较高位宽(如32位浮点数)降低到较低位宽(如8位整数)。
在减少表示原始参数的位数时,通常也会伴随一些精度(粒度,granularity)的损失。
为了让这种效果更直观,我们可以用照片颜色作为类比。比如,选择任意图像(左图),但只用8种颜色表示(右图):
注意看,放大的曲奇饼干看起来比原来更有「颗粒感」。
与之相似,量化的主要目标是减少表示原始参数所需的比特数(颜色),同时尽可能保留原始参数的精度。
常见数据类型
首先,让我们看看常见的数据类型以及使用它们替代32位(称为全精度或FP32)表示的影响。
FP16
首先是一个从32位到16位(称为半精度或FP16)浮点数的例子:
FP16可取的数值范围比FP32小得多。
BF16
为了获得与原始FP32相似的数值范围,引入了bfloat 16作为一种「截断的FP32」类型:
BF16使用的位数与FP16相同,但增加了指数位,因此能取到更广泛的数值范围,常用于深度学习领域。
INT8
进一步减少位数时,就更接近整数而非浮点数的表示方法。比如,从FP32到只具有8位的INT8,只有原始位数的1/4:
每次减少位数时,都会进行映射,将初始的FP32表示「压缩」到较少的位数中。
但在实际操作中,我们不需要将整个FP32范围[-3.4e38, 3.4e38]全部映射到INT8中。我们只需找到一种方法,将实际模型参数的数据范围映射到INT8中。
常见的压缩/映射方法可以有对称量化和非对称量化两种,都属于线性映射。
接下来将要探讨的就是从FP32到INT8的量化方法。
对称量化
在对称量化中,原始浮点值的范围被映射到量化空间中以零为中心的对称范围,量化前后的范围都以零为中点。
这意味着,原来浮点空间中的零,映射到量化空间后也恰好是零。
一种对称量化的典型例子是最大绝对值(absmax)量化。
给定一个数值列表,我们取其中最高的绝对值(α)作为执行线性映射的范围。
[-127, 127]表示受限范围(restricted range),未受限范围是[-128, 127],取决于量化方法
由于这是一个以零为中心的线性映射,公式很简单。
首先用以下公式计算比例因子(s):
– b是我们要量化到的字节数(8)
– α是最高的绝对值
然后,我们使用s来量化输入x:
如上图所示,最大绝对值α为10.8,将FP32映射到INT8时,即有如下公式:
如果要恢复原始的FP32值,也可以使用先前计算的比例因子(s)来进行反量化。
先量化,再反量化以恢复原始值,全过程如下所示:
可以看到某些值,如3.08和3.02,在量化为INT8时都是36。因此进行反量化恢复到FP32时,它们失去了一些精度并且不再可区分。
这种原始值和反量化值之间的差异被称为量化误差。通常,量化结果的位数越少,误差越大。
非对称量化
与对称量化不同,非对称量化不是以零为中心的对称。相反,它将浮点范围内的最小值(β)和最大值(α)分别映射到量化范围的最小值和最大值。
这里我们探讨的方法被称为零点量化(zero-point quantization)。
注意0的位置是如何移动的。这就是为什么它被称为非对称量化。在范围[-7.59, 10.8]中,最大值和最小值到0的距离不同。
由于零点位置的偏移,我们必须计算INT8范围内的零点才能执行线性映射。与之前一样,我们还必须计算比例因子(s),但使用INT8范围的差值[-128, 127]。
由于需要在INT8范围内计算零点(z)以移动权重,这有点复杂。
像之前一样,让我们填入公式:
为了将量化后的值从INT8反量化回FP32,我们需要使用先前计算的比例因子(s)和零点(z)。
除此之外,反量化很简单:
当我们将对称和非对称量化并排放置时,可以快速看出两种方法之间的区别:
在上图中,我们能看到对称量化的零中心特性与非对称量化的偏移。
范围映射和剪裁(Clipping)
在之前的例子中,我们探讨了如何将给定向量中的值范围映射到低位表示。虽然这样可以映射整个向量值的范围,但有一个主要缺点,即异常值(outlier)。
想象一下,你有一个包含以下值的向量:
一个值比其他所有值都大得多,可以被认为是异常值。如果我们映射整个向量的范围,所有小值将被映射到相同的低位表示,并失去它们的区分度:
这是之前使用的absmax方法。如果不进行剪裁,非对称量化也会发生同样的情况
相反,我们可以选择剪裁某些值。剪裁是指设置原始值的不同动态范围,使所有异常值都被设为相同的值。
在下面的例子中,我们手动将动态范围设置为[-5, 5],所有超出该范围的值将被映射到-127或127,无论它们的实际值是多少:
这种方法的主要优点是非异常值的量化误差显著减少。然而会导致异常值的量化误差增加。
校准(Calibration)
上面的例子中,我们随机将动态范围设置为[-5, 5],但其实应该通过「校准」过程做出决定,找到一个合适的范围,包含尽可能多的值,同时最小化量化误差。
校准步骤的具体执行对于不同类型的参数是不一样的。
权重(和偏置)
我们可以将大语言模型(LLM)的权重和偏置(weights & biases)视为静态值,因为它们在运行模型之前是已知的。例如,Llama 3的约20GB文件大部分由其权重和偏置组成。
由于偏置变量的数量(数百万)显著少于权重(数十亿),因此偏置通常保持较高精度(如INT16),而量化的主要工作集中在权重上。
对于已知的静态权重,选择范围的校准技术包括:
– 手动选择输入范围的百分位数
– 优化原始权重和量化权重之间的均方误差(MSE)
– 最小化原始值和量化值之间的熵(KL散度)
例如,选择一个百分位数,会导致类似于我们之前看到的剪裁行为。
激活值
在整个大语言模型中不断更新的输入通常被称为激活值(activations)。
之所以被称为激活值,因为它们通常会经过一些激活函数,如sigmoid或relu
与权重不同,激活值在推理过程中随输入数据而变化,因此难以准确量化。
由于这些值在每个隐藏层之后都会更新,因此在推理阶段,只有输入数据通过模型后才能得知它们的具体数值。
总体来说,有两种方法用于校准权重和激活值,应用于模型的不同阶段:
– 训练后量化(Post-Training Quantization,PTQ)
– 顾名思义,即训练后进行的量化
– 量化感知训练(Quantization Aware Training,QAT)
– 训练/微调期间的量化
第三部分:训练后量化(PTQ)
训练后量化(PTQ)是最流行的量化技术之一。它是在模型训练完成后,对模型的参数(包括权重和激活值)进行量化。
权重的量化可以采用对称量化或非对称量化的方法。
然而,激活值的量化需要经过推理阶段来获取其潜在分布,因为我们事先并不知道它们的范围。
激活值的量化有两种形式:
– 动态量化(dynamic quantization)
– 静态量化(static quantization)
动态量化
数据通过隐藏层后,其激活值会被收集,比较出每一层的最大值(α)和最小值(β):
然后利用这些激活值的分布来计算量化输出所需的零点(zeropoint,z)和比例因子(scale factor,s)值:
每次数据通过新的网络层时,这个过程都会重复。因此,每一层都有其独立的z和s值,从而使用不同的量化方案。
静态量化
与动态量化不同,静态量化并不是在推理过程中计算零点(zeropoint,z)和比例因子(scale factor,s),而是在推理之前计算这些值。
为了找到这些值,我们会使用一个校准数据集,并将其输入模型以收集这些潜在的激活值分布。
收集到这些分布之后,就可以计算出在推理过程中进行量化所需的s和z值。
在实际推理时,不会重新计算s和z值,而是在所有激活中全局使用它们来对其进行量化。
总体来说,动态量化为每个隐藏层计算s和z值,往往更准确。然而,这可能会增加计算时间,因为这些值需要在每次推理时计算。
相反,静态量化虽然不如动态量化准确,但速度更快,因为它已经预先知道用于量化的s和z值。
4-bit量化领域
低于8-bit的量化一直是一个挑战,因为每减少一位,量化误差就会增加。幸运的是,有几种巧妙的方法可以将位数减少到6、4,甚至2-bit(尽管通常不建议将位数降到低于4-bit)。
我们将探讨在HuggingFace上常见的两种方法:
– GPTQ(全模型在GPU上运行)
– GGUF(可能将层卸载到CPU上)
GPTQ
GPTQ可以说是实际应用中最著名的4-bit量化方法之一。
它使用非对称量化,并逐层进行处理,每层独立处理后再继续处理下一层:
在这个逐层量化过程中,它首先将层的权重转换为逆Hessian矩阵。逆Hessian矩阵是模型损失函数的二阶导数,表示模型输出对每个权重变化的敏感性。
简单来说,它本质上展示了每个层中权重的重要性(逆重要性)。
Hessian矩阵中较小值的权重更为重要,因为这些权重的微小变化可能导致模型性能的显著变化。
在逆Hessian矩阵中,较低的值表示更「重要」的权重
接下来,我们量化并反量化权重矩阵的第一行:
这一过程使我们能够计算量化误差(q),我们可以使用之前计算的逆Hessian值(h_1)来加权这个量化误差。
本质上,我们是在基于权重的重要性创建加权量化误差:
接下来,我们将这个加权量化误差重新分配到该行的其他权重上。这有助于保持网络的整体功能和输出。
例如,如果对第二个权重(即x_2=0.3)进行此操作,我们会将量化误差(q)乘以第二个权重的逆Hessian(h_2)加上去:
接下来,继续对给定行中的第三个权重进行相同的操作:
重复这个重新分配加权量化误差q的过程,直到所有值都被量化。
这个方法所以有效,是因为权重通常是相互关联的。因此,当一个权重有量化误差时,相关的权重会通过逆Hessian进行相应的更新。
GGUF
虽然GPTQ是一种很好的在GPU上运行整个大语言模型(LLM)的量化方法,但如果没有相应的硬件条件,也可以通过GGUF将LLM的任意层卸载到CPU上。
相当于同时用CPU和GPU运行模型,以弥补显存(VRAM)不足的情况。
量化方法GGUF经常更新,而且依赖于具体的量化位数,但基本原理如下。
首先,给定层的权重被分成「超级块」,每个「超级块」包含一组「子块」。从这些「子块」中,我们计算出比例因子(s)和α值:
为了量化给定的「子块」,可以使用之前提到的absmax量化,将给定的权重乘以比例因子(s_sub):
比例因子s_sub是使用「子块」中的信息计算的,但用「超级块」中的信息s_super进行量化:
总而言之,这种以块为单位的量化使用「超级块」的比例因子(s_super)来量化「子块」的比例因子(s_sub)。
每个比例因子的量化级别可能不同,「超级块」的比例因子通常比「子块」有更高的精度。
为了说明这一点,让我们探讨几个量化级别(2-bit、4-bit和6-bit):
根据量化类型,还需要一个额外的最小值(m)来调整零点,这些与比例因子(s)一样被量化
第四部分:量化感知训练(QAT)
第三部分讲述了如何在训练后对模型进行量化。这种方法的缺点在于,没有考虑到实际的训练过程。
这就是量化感知训练(QAT)派上用场的地方。与训练后量化(PTQ)不同,QAT的目标是在训练中学习量化过程。
QAT往往比PTQ更准确,因为在训练过程中已经考虑了量化。其工作原理如下:
在训练过程中,引入了所谓的「假」量化。比如先将权重量化为INT4,然后再反量化回FP32:
这一过程让模型在训练阶段进行损失计算和权重更新时,就已经考虑到了量化误差。
如下图所示,QAT尝试探索「宽」极小值情况下的损失值,以减少量化误差,因为「窄」极小值往往会导致更大的量化误差。
假设在反向传播过程中没有考虑量化,梯度下降过程就会选择损失值最小的权重。然而,如果它处于「窄」极小值中,那将引入更大的量化误差。
相反,如果我们考虑量化,将在「宽」极小值中选择一个不同的更新权重,其量化误差要小得多。
因此,尽管PTQ方法在高精度(例如FP32)有较低的损失值,但QAT在低精度(例如INT4)下损失值也很低,这是我们所追求的。
1-bit时代:BitNet
之前我们看到,将量化精度降低到4-bit已经相当小了,但如果我们进一步降低呢?
这就是BitNet的用武之地,它将模型的权重表示为单个比特,即-1或1,通过将量化过程直接注入到Transformer架构中来实现这一点。
Transformer架构是大多数LLM的基础,由涉及线性层的计算组成:
这些线性层通常以更高的精度表示,如FP16,而且是大多数权重所在的位置。
BitNet用BitLinear层替换了这些线性层:
BitLinear层的工作原理与普通线性层相同,用权重乘以激活值来计算输出。
但不同的是,BitLinear层仅用1位表示模型的权重,使用INT8表示激活值:
BitLinear层像量化感知训练(QAT)一样,在训练期间执行一种「假」量化,以分析权重和激活值的量化效果:
让我们一步步地了解BitLinear。
权重量化
在训练过程中,权重以INT8存储,然后使用一种称为符号函数(signum function)的基本策略将其量化为1位。
本质上,它将权重的分布移动至以0为中心,然后将所有小于0的值分配为-1,将所有大于0的值分配为1:
此外,它还跟踪一个值β(平均绝对值),我们将在之后的反量化过程中使用。
激活值量化
为了量化激活值,BitLinear使最大绝对值方法(absmax)将激活值从FP16转换为INT8,因为它们需要以较高的精度进行矩阵乘法(×)。
此外,它还跟踪一个值α(最大绝对值),我们将在之后的反量化过程中使用。
反量化
我们跟踪了α(激活值的最大绝对值)和β(权重的平均绝对值),这些值将帮助我们将激活值反量化回FP16。
输出激活值使用{α, γ}重新缩放,以将其反量化到原始精度:
这个过程相对简单,并且允许模型仅用两个值表示,即-1或1。
通过这种方法,作者观察到,随着模型规模的增长,1位训练和FP16训练之间的性能差距越来越小。
然而,这仅适用于较大的模型(>30B参数),较小模型之间的差距仍然很大。
所有LLM都是1.58位
为了改善之前提到的扩展性问题,BitNet 1.58b被引入。
在这种新方法中,模型的每个权重不仅可以是-1或1,还可以取0,使每个变量成为三元值(ternary)。
有趣的是,仅仅是添加0这个简单的操作,就大大改进了BitNet,加速了计算过程。
0的力量
为什么添加0是一个重大改进呢?
这与矩阵乘法有关!
首先,让我们探讨一下矩阵乘法的基本工作原理。
当计算输出时,我们将权重矩阵与输入向量相乘。下面是权重矩阵的第一层的第一行乘法的可视化:
这种乘法涉及两个动作,将单个权重与输入相乘,然后将它们全部相加。
相比之下,BitNet 1.58b设法避免了乘法的动作,因为三值权重本质上告诉你以下内容:
– 1:我想加上这个值
– 0:我不想要这个值
– -1:我想减去这个值
因此,如果你的权重被量化到1.58 bit,你只需要执行加法:
这不仅可以显著加快计算速度,还允许特征过滤。
将给定的权重设置为0就相当于忽略了这个输入,而不是像1-bit那样,表示加上或减去输入值。
量化
为了执行权重量化,BitNet 1.58b使用平均绝对值量化(absmean),这是我们之前见过的最大绝对值量化(absmax)的变体。
它只是压缩权重的分布并使用绝对均值(α)来量化值。然后将它们四舍五入为-1、0或1:
与BitNet相比,激活值量化是相同的,除了一个方面:不是将激活值缩放到范围[0, 2ᵇ⁻¹],而是使用最大绝对值方法缩放到[-2ᵇ⁻¹, 2ᵇ⁻¹]。
总结一下,1.58-bit量化主要涉及两个技巧:
– 添加0以创建三值表示[-1, 0, 1]
– 权重的绝对均值量化
BitNet论文中有这样的结论:「13B BitNet b1.58在延迟、内存使用和能耗方面比3B FP16 LLM更高效。」
论文地址:https://arxiv.org/abs/2402.17764
由于只有1.58个计算效率高的bit,我们得到了轻量级模型。
参考资料:
https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-quantization
iPhone可跑2B小钢炮!谷歌Gemma 2来袭,最强显微镜剖解LLM大脑
谷歌DeepMind的小模型核弹来了,Gemma 2 2B直接击败了参数大几个数量级的GPT-3.5和Mixtral 8x7B!而同时发布的Gemma Scope,如显微镜一般打破LLM黑箱,让我们看清Gemma 2是如何决策的。
谷歌DeepMind的小模型,又上新了!
就在刚刚,谷歌DeepMind发布Gemma 2 2B。
它是从Gemma 2 27B中蒸馏而来。
虽然它的参数只有2.6B,但在LMSYS竞技场上的得分,已经超越了GPT-3.5和Mixtral 8x7B!
在MMLU和MBPP基准测试中,它分别取得了56.1和36.6的优异成绩;比起前代模型Gemma 1 2B,它的性能超过了10%。
小模型击败了大几个数量级的大模型,再一次印证了最近业界非常看好的小模型方向。
谷歌在今天,一共公布了Gemma 2家族的三个新成员:
Gemma 2 2B: 轻量级2B模型,在性能和效率之间实现了最大的平衡
ShieldGemma: 基于Gemma 2构建的安全内容分类器模型,用于过滤AI模型的输入和输出,确保用户安全
Gemma Scope: 一种可解释性工具,提供对模型内部运行机制的无与伦比的洞察
6月,27B和9B Gemma 2模型诞生。
自发布以来,27B模型迅速成为大模型排行榜上,排名前列的开源模型之一,甚至在实际对话中表现超过了参数数量大两倍的流行模型。
Gemma 2 2B:即刻在设备上使用
轻量级小模型Gemma 2 2B,是从大模型中蒸馏而来,性能毫不逊色。
在大模型竞技场LMSYS上,新模型取得令人印象深刻的1130分,与10倍参数的模型不相上下。
GPT-3.5-Turbo-0613得分为1117,Mixtral-8x7b得分为1114。
足见,Gemma 2 2B是最好的端侧模型。
有网友在iPhone 15 Pro上,让量化后的Gemma 2 2B在MLX Swift上运行,速度快到惊人。
具体来说,它能够在各种终端设备,包括手机、笔记本,甚至是使用Vertex AI和Google Kubernetes Engine(GKE)强大的云,皆能完成部署。
为了让模型加速,它通过NVIDIA TensorRT-LLM完成了优化,在NVIDIA NIM平台也可使用。
优化后的模型适用于各种平台部署,包括数据中心、云、本地工作站、PC 和边缘设备。
它还可以支持RTX、RTX GPU、Jetson模块,完成边缘化AI部署。
此外,Gemma 2 2B无缝集成了Keras、JAX、Hugging Face、NVIDIA NeMo、Ollama、Gemma.cpp等,并很快将与MediaPipe集成,实现简化开发。
当然,与Gemma 2一样,2B模型也同样可以用来研究和商用。
甚至,由于其参数量足够下,它可以在Google Colab的免费T4 GPU层上运行,降低了开发门槛。
目前,每位开发者都可以从Kaggle、Hugging Face、Vertex AI Model Garden下载Gemma 2的模型权重,也可在Google AI Studio中试用其功能。
仓库地址:https://huggingface.co/collections/google/gemma-2-2b-release-66a20f3796a2ff2a7c76f98f
ShieldGemma:最先进的安全分类器
正如其名,ShieldGemma是最先进的安全分类器,确保AI输出内容具有吸引力、安全、包容,检测和减少有害内容输出。
ShieldGemma的设计专门针对四个关键的有害领域:
– 仇恨言论
– 骚扰内容
– 露骨内容
– 危险内容
这些开源分类器,是对谷歌现有的负责任AI工具包中安全分类器套件补充。
该工具包包括一种,基于有限数据点构建针对特定策略分类器的方法,以及通过API提供的现成Google Cloud分类器。
ShieldGemma基于Gemma 2构建,是行业领先的安全分类器。
它提供了各种模型参数规模,包括2B、9B、27B,都经过英伟达速度优化,在各种硬件中可以高效运行。
其中,2B非常适合在线分类任务,而9B和27B版本则为对延迟要求较低的离线应用提供更高性能。
Gemma Scope:通过开源稀疏自编码器揭示AI决策过程
此次同时发布的另一大亮点,就是开源稀疏自编码器——Gemma Scope了。
语言模型的内部,究竟发生了什么?长久以来,这个问题一直困扰着研究人员和开发者。
语言模型的内部运作方式往往是一个谜,即使对于训练它们的研究人员,也是如此。
而Gemma Scope就仿佛一个强大的显微镜,通过稀疏自编码器 (SAEs) 放大模型中的特定点,从而使模型的内部工作更易于解释。
有了Gemma Scope以后,研究人员和开发者就获得了前所未有的透明度,能够深入了解Gemma 2模型的决策过程。
Gemma Scope是数百个适用于Gemma 2 9B和Gemma 2 2B的免费开放稀疏自动编码器 (SAE) 的集合。
这些SAEs是专门设计的神经网络,可以帮助我们解读由Gemma 2处理的密集、复杂信息,将其扩展成更易于分析和理解的形式。
通过研究这些扩展视图,研究人员就可以获得宝贵的信息,了解Gemma 2如何识别模式、处理信息、做出预测。
有了Gemma Scope,AI社区就可以更容易地构建更易理解、负责任和可靠的AI系统了。
同时,谷歌DeepMind还放出了一份20页的技术报告。
技术报告:https://storage.googleapis.com/gemma-scope/gemma-scope-report.pdf
总结来说, Gemma Scope有以下3个创新点——
开源SAEs:超过400个免费提供的SAEs,覆盖Gemma 2 2B和9B的所有层
互动演示:在Neuronpedia上无需编写代码,即可探索SAE功能,并分析模型行为
易于使用的资源库:提供与SAEs和Gemma 2交互的代码和示例
解读语言模型内部的运作机制
语言模型的可解释性问题,为什么这么难?
这要从LLM的运行原理说起。
当你向LLM提出问题时,它会将你的文本输入转换为一系列「激活」。这些激活映射了你输入的词语之间的关系,帮助模型在不同词语之间建立联系,据此生成答案。
在模型处理文本输入的过程中,模型神经网络中不同层的激活代表了多个逐步高级的概念,这些概念被称为「特征」。
例如,模型的早期层可能会学习到像乔丹打篮球这样的事实,而后期层可能会识别出更复杂的概念,例如文本的真实性。
用稀疏自编码器解读模型激活的示例——模型是如何回忆「光之城是巴黎」这一事实的。可以看到与法语相关的概念存在,而无关的概念则不存在
然而,可解释性研究人员却一直面临着一个关键问题:模型的激活,是许多不同特征的混合物。
在研究的早期,研究人员希望神经网络激活中的特征能与单个神经元(即信息节点)对齐。
但不幸的是,在实践中,神经元对许多无关特征都很活跃。
这也就意味着,没有什么明显的方法,能判断出哪些特征是激活的一部分。
而这,恰恰就是稀疏自编码器的用武之地。
要知道,一个特定的激活只会是少数特征的混合,尽管语言模型可能能够检测到数百万甚至数十亿个特征(也就是说,模型是稀疏地使用特征)。
例如,语言模型在回答关于爱因斯坦的问题时会想到相对论,而在写关于煎蛋卷时会想到鸡蛋,但在写煎蛋卷时,可能就不会想到相对论了。
稀疏自编码器就是利用了这一事实,来发现一组潜在的特征,并将每个激活分解为少数几个特征。
研究人员希望,稀疏自编码器完成这项任务的最佳方式,就是找到语言模型实际使用的基本特征。
重要的是,在这个过程中,研究人员并不会告诉稀疏自编码器要寻找哪些特征。
因此,他们就能发现此前未曾预料过的丰富结构。
然而,因为他们无法立即知道这些被发现特征的确切含义,他们就会在稀疏自编码器认为特征「触发」的文本示例中,寻找有意义的模式。
以下是一个示例,其中根据特征触发的强度,用蓝色渐变高亮显示了特征触发的 Token:
用稀疏自编码器发现特征激活的示例。每个气泡代表一个 Token(单词或词片段),可变的蓝色说明了这个特征的存在强度。在这个例子中,该特征显然与成语有关
Gemma Scope有何独特之处?
比起此前的稀疏自编码器,Gemma Scope有许多独特之处。
前者主要集中在研究小型模型的内部工作原理或大型模型的单层。
但如果要把可解释性研究做得更深,就涉及到了解码大型模型中的分层复杂算法。
这一次,谷歌DeepMind的研究者在Gemma 2 2B和9B的每一层和子层的输出上,都训练了稀疏自编码器。
这样构建出来的Gemma Scope,总共生成了超过400个稀疏自编码器,获得了超过 3000万个特征(尽管许多特征可能重叠)。
这样,研究人员就能够研究特征在整个模型中的演变方式,以及它们如何相互作用,如何组合形成更复杂的特征。
此外,Gemma Scope使用了最新的、最先进的JumpReLU SAE架构进行了训练。
原始的稀疏自编码器架构,在检测特征存在与估计强度这两个目标之间,往往难以平衡。而JumpReLU架构,就能更容易地实现二者的平衡,并且显著减少误差。
当然,训练如此多的稀疏自编码器,也是一项重大的工程挑战,需要大量的计算资源。
在这个过程中,研究者使用了Gemma 2 9B训练计算量的约15%(不包括生成蒸馏标签所需的计算),将约20 PiB的激活保存到了磁盘(大约相当于一百万份英文维基百科的内容),总共生成了数千亿个稀疏自编码器参数。
参考资料:
https://developers.googleblog.com/en/smaller-safer-more-transparent-advancing-responsible-ai-with-gemma/
GPU训Llama 3.1疯狂崩溃,竟有大厂用CPU服务器跑千亿参数大模型?
是时候用CPU通用服务器跑千亿参数大模型了!
马斯克19天建成由10万块H100串联的世界最大超算,已全力投入Grok 3的训练中。
与此同时,外媒爆料称,OpenAI和微软联手打造的下一个超算集群,将由10万块GB200组成。
在这场AI争霸赛中,各大科技公司们卯足劲加大对GPU的投资,似乎在暗示着拥有更多、更强大的GPU,就能让自己立于不败之地。
然而,这种对高端GPU的狂热追求,并非在所有情况下,都是完美无缺的解决方案。
Pytorch之父表示,技术报告中暗藏了很多基础设施的有趣细节,包括如何并行化,如何让系统更可靠等等
就拿稳定性来说,在Llama 3.1训练的54天里,Meta的1.6万块H100集群总共遇到了419次意外中断,相当于平均每3小时发生一次。
而在这之中,有148次(30.1%)是由于各种GPU故障引起的。
相比之下,由CPU故障引发的中断,只有2次。
另一方面,想要把Llama 3.1 405B跑起来,还得搭配2台8×H100的DGX工作站才行——即1280GB的显存。
曾经有位勇士尝试用一张4090运行,结果等了30分钟,模型才缓缓吐出一个「The」。
完整的回复,花了整整20个小时
熟悉模型的训练和推理的朋友都知道,这些事情一点都不奇怪。
集群搭建(GPU配置、网络设计、轨道优化等)、集群管理(实时监控、故障排除等)……个个都是「拦路虎」。
对于缺乏相关经验和资金的公司来说,该怎么办?
最近,浪潮信息的研发工程师,仅靠4颗CPU,就让千亿参数的「源2.0」在通用服务器上跑起来了!
面对用Java编写程序的代码任务,「源2.0」非常迅速地给出了结果。
再给它上一道推理题——船边挂着软梯,离海面2米,海水每小时涨半米,几小时海水能淹没软梯?
同样,AI几乎0延迟给出了详细的解题步骤和答案。
用通用服务器运行千亿参数大模型,可谓是前无古人,这一领域的积累完全是空白,没有任何经验可借鉴。
浪潮信息,究竟是怎么做到的?
用4颗CPU,撬动千亿参数大模型
若要在单台服务器中,实现千亿参数大模型的推理,包含了2个主要阶段,均对计算能力提出了硬性需求。
首先,是预填充阶段,也叫做前向传播阶段。
这一阶段涉及到输入数据的处理、模型参数第一次读取。
比如,当你输入「给我写一篇有关AI的文章」提示,预填充阶段便会将问题中所有token、模型参数,一次性输入计算。
有时,这一输入可能是几个字,也可能是几千个字,或者是一本著作。
第一阶段的计算需求有多大,主要取决于我们输入的长度。
而在计算第一个token过程中,由于模型首次加载,会在内存中存放全部的权重参数,以及KV Cache等数据。
这是模型参数本身所占内存空间的2-3倍。
对于千亿参数模型来说,大量的参数和数据输入,需要在强大计算单元中处理。对此,它需要支持向量化指令集、矩阵计算指令集,来实现大量的矩阵乘法和张量运算。
其次,是解码阶段,即在问题全部输入之后,模型开始输出结果的阶段。
在这个阶段,对大模型唯一要求便是,输出尽可能快。同时,挑战不再是算力挑战,转而为「数据搬运」的挑战。
它包含了两部分「数据搬运」:
预填充阶段生成的大量KV Cache,需要从显存/内存,搬运到计算单元中(工作量非常大)
模型参数本身的搬运
这些搬运对大模型的计算和推理速度,起到了一个决定性的作用。数据搬运很快,LLM吐字的速度也会快。
LLM输出主要通过KV Catch,逐一生成token,并在每步生成后存储新词块的键值向量。
因此,千亿大模型的实时推理,服务器需要具备较高的计算能力,以及较高的存储单元到计算单元的数据搬运效率。
总而言之,在大模型推理的两阶段中,有着截然不同的计算特征,需要在软硬件方面去做协同优化。
GPU不是万能的
传统上,GPU因其具备优越的并行处理能力,一举成为了AI训练和推理的首选。
成本
然而,高端GPU服务器在市场中经常出现供不应求,极难获取的现象。
仅有资金雄厚的科技巨头们,诸如微软、谷歌,才能够承担起这笔费用。
另一方面,不仅买不起,更是用不起。
基于GPU的云服务租用,在推理任务中的代价却是高昂的。对于科研人员和应用厂商来说,需要实现更高的成本效益,就得另谋他路。
显存
此外,GPU最大的劣势之一在于,显存容量受限。
当前业界LLM的网络架构,已从GPT逐渐走向MoE。通向AGI的大模型参数规模,只会呈指数级增长。
这意味着,闭源/开源主流模型的尺寸只会越来越大,千亿参数,甚至万亿参数模型将会成为主流。
对于百亿参数模型,20-30GB显存就够了。然而,若想跑千亿参数,大约需要200-300GB的显存空间。
目前主流的AI芯片,显存通常只有几十GB,显然放不下这么大的模型。(目前最强的AI芯片也没还没达到200GB)
被低估的通用服务器
GPU不行,那就从CPU入手。
虽然目前还搞不定模型的大规模训练,但通用服务器在推理任务上,却意外有着不小的优势。
在具体实践的过程中,浪潮信息的工程师们分别从硬件资源和算法层面入手,攻克了一个个「拦路虎」。
超大内存+高速带宽
算力方面, 目前领先的服务器CPU都已经具备了AI加速功能。
类似于GPU的Tensor core,AMX高级矩阵扩展可以将低精度的计算做加速,编成指令集给CPU的核,利用专用的核做加速。
算法方面, 浪潮信息的通用服务器可同时支持PyTorch、TensorFlow等主流AI框架,以及DeepSpeed等流行开发工具,满足了用户更成熟、易部署、更便捷的开放生态需求。
通信方面, 全链路UPI(Ultra Path Interconnect)总线互连的设计,则实现了CPU之间高效的数据传输:
允许任意两个CPU之间直接进行数据传输,减少了通信延迟
提供了高传输速率,高达16GT/s(Giga Transfers per second)
此外,浪潮信息的研发工程师还优化了CPU之间、CPU和内存之间的走线路径和阻抗连续性。
依据三维仿真结果,他们调整了过孔排列方式,将信号串扰降低到-60dB以下,较上一代降低了50%。
并且,通过DOE矩阵式有源仿真,找到了通道所有corner的组合最优解,让算力性能可以得到充分发挥。
内存方面, 可以说是通用服务器的最大优势了。
容量
对于4路服务器来说,只需给每颗CPU插上8根32GB内存,就能轻松达到1TB。插满之后甚至可以扩展到16TB,最大可支持万亿参数的模型。
带宽
搭配DDR5的内存,则可以实现4800MHz × 8bit × 8通道 × 4颗 ÷ 1024 = 1200GB/s的理论上带宽。
实测结果显示,读带宽为995GB/s、写带宽为423GB/s,以及读写带宽为437GB/s。
这个数据,对于一些搭载GDDR显存的GPU或加速卡,可以说是毫不逊色。
但仅靠硬件远远不够
仅仅依靠硬件创新,是远远不够的,CPU很难进行大模型算法的大规模并行计算。
正如开篇所述,大模型对通信带宽的要求是非常高的,无论是数据计算、计算单元之间,还是计算单元与内存之间。
如果按照BF16精度计算,想要让千亿大模型的运行时延小于100ms,内存和计算单元之间的通信带宽,就至少要达到2TB/s以上。
不仅如此,对于基于擅长大规模并行计算的加速卡设计的AI大模型,通用服务器的处理器与之并不适配。
原因很明显:后者虽然拥有高通用性和高性能的计算核心,但并没有并行工作的环境。
通常来说,通用服务器会将先将模型的权重传给一个CPU,然后再由它去串联其他CPU,实现权重数据的传输。
然而,由于大模型在运行时需要频繁地在内存和CPU之间搬运算法权重,这样造成的后果就是,CPU与内存之间的带宽利用率不高,通信开销极大。
如何解题?用算法创新
针对以上难题,浪潮信息提出了「张量并行」(Tensor Parallel)和「NF4量化」两项技术创新,成功实现了千亿大模型Yuan2.0-102B的实时推理。
根据性能分析结果,可以清晰地看到模型中不同部分的计算时间分布——
线性层运行时间占比50%,卷积运行时间占比20%,聚合通信时间占比20%,其它计算占比10%。
注意,在整个推理过程中,计算时间占比达到了80%!
跟使用多个PCIe的AI加速卡相比,这就形成了鲜明的对比——后者的通信开销可能高达50%,从而导致严重的算力浪费。
Yuan2.0-102B模型推理性能分析结果图
张量并行
所谓张量并行,就先将卷积算子进行张量切分,然后把大模型中的注意力层和前馈层的矩阵计算权重,分别输入到多个处理器的内存中。
如此一来,通用服务器中的4颗CPU便可同时获取算法权重,进行计算加速。
不过,张量并行对模型参数的切分粒度较细,要求CPU在每次张量计算后都要进行数据同步。
对于这个需求,前文提到的全链路UPI总线互连技术,完全可以满足(通信带宽高达16GT/s)。
最终,这种协同并行工作,直接让计算效率提升了4倍!
NF4量化
至于内存带宽不足的问题,则需要在不影响精度的情况下对模型进行「瘦身,也就是量化。
其优势在于,一方面可以将LLM参数量化成低比特数据,权重会变小。另一方面,权重缩小之后,在计算时传输的数据量也会变小。
这里,浪潮信息采用了一种并不多见的分位数量化方法——NF4(4位NormalFloat)。
NF4量化方法可将Yuan2.0-102B的尺寸压缩到原来的1/4
具体来说,NF4的核心思想是,确保量化区间内输入张量的值数量相等。
这个特点,恰恰非常适合呈现近似正态分布的LLM权重。
由于可以通过调整标准差来适配量化数据类型的范围,NF4相较于传统的4位整数或4位浮点数量化,可以获得更高的精度。
如此一来,量化之后的模型既能满足精度需求,又能大幅降低大规模并行计算的访存数据量,从而达到了实时推理的解码需求。
整数或浮点数量化方法的数据间隔通常是平均分布或指数分布的
为了进一步压缩模型的权重参数,团队还采用了嵌套量化(Double Quant)技术。
这是在NF4量化基础上,进行了二次量化。
因为NF4量化后会产生大量的scale参数,如果使用32位浮点数(FP32)存储,会占用大量内存。
对于一个千亿参数的LLM,若以每64个参数作为一个量化块(block size=64)来计算,仅存储scale参数就需要额外的6GB内存:(100B ÷ 64) × 4 = 6GB。
团队通过将这些scale参数量化到8位浮点数(FP8),显著减少了所需的存储空间。
在采用256为量化块大小(block size=256)的情况下,存储所有scale参数所需的额外空间仅为1.57GB:(100B ÷ 64 ÷ 256) × 4 + (100B ÷ 64) × 1 = 1.57GB.
通过嵌套量化,模型的每个权重参数最终仅占用4字节的内存空间,比原始FP32节省了大量的内存占用空间。
与此同时,它将从内存到CPU的数据搬运效率,提高了4倍。
这样的优化显著减轻了内存带宽对Yuan2.0-102B模型推理解码效率的限制,从而进一步提升了模型的推理性能。
所谓通用,就是让大家都用上
到这里,浪潮信息就成功交卷了!
通过系统优化,浪潮信息的NF8260G7,在业界首次实现了仅基于通用处理器,支持千亿参数大模型的运行。
至此,通用算力可支持的AI大模型,参数规模突破了千亿,彻底填补了行业空白,成为了企业拥有AI的新起点。
千亿参数AI的模型的部署,从此有了性能更强、成本更经济的选择;AI大模型应用,可以和云、大数据、数据库,实现更紧密的融合。
科技进步的最终目的,一定是落入凡间。
放眼当下,AIGC已经渗透进千行百业。AI已经以惊人的速度,渗透进了每一个计算设备。
2024年1-4月,国内大模型的中标数量,已经超越了2023全年总数,中标披露金额已经达到了2023年全年的77%。
在金融行业、医院门诊部,企业的IT部门,从业者都发现了这一点:传统行业的算力基础设施,已经不够用了!
如今,千亿参数大模型,是千行百业智能涌现的关键。而通用算力能否运行千亿参数大模型,正是衡量其能否支撑千行百业智能涌现的关键。
浪潮信息的创举,让互联网、金融、医疗等行业客户可实现高效部署,首次投入就可节约80%以上的建设成本。
无论是金融防欺诈、财务数据分析、企业CRM营销洞察、医疗智能诊断、个性化诊疗方案、教育培训等等,都将见证AI的广泛应用。
从此,一切计算皆AI。
参考资料:
https://mp.weixin.qq.com/s/1wYt7dfoVy2J1FFkOJjRTg
对比学习滥用隐私数据!中科院等发布「多步误差最小化」方法 | ACM MM2024
研究人员提出了一种新颖的多步误差最小化(MEM)方法,用于生成多模态不可学习样本,以保护个人数据不被多模态对比学习模型滥用。通过优化图像噪声和文本触发器,MEM方法有效地误导模型,降低其对隐私数据的学习能力,并在不同模型间展现出强大的可迁移性。
多模态对比学习(如CLIP)通过从互联网上抓取的数百万个图像-字幕对中学习,在零样本分类方面取得了显著进展。
然而,这种依赖带来了隐私风险,因为黑客可能会未经授权地利用图像-文本数据进行模型训练,其中可能包括个人和隐私敏感信息。
最近的工作提出通过向训练图像添加难以察觉的扰动来生成不可学习样本(Unlearnable Examples),可以建立带有保护的捷径.
然而,这些方法是为单模态分类任务设计的,在多模态对比学习中仍未得到充分探索。本文首通过评估现有方法在图像-标题对上的性能来探索这一背景,由于在该场景中缺乏标签,之前的无法有效地推广到多模态数据,并且在建立捷径方面的效果有限。
在本文中提出了多步误差最小化(MEM),这是一种用于生成多模态不可学习样本的新颖优化过程。它扩展了误差最小化(EM)框架,以优化图像噪声和额外的文本触发器,从而扩大了优化空间,并有效地误导模型学习噪声特征和文本触发器之间的捷径。
论文链接: https://arxiv.org/abs/2407.16307
代码链接: https://github.com/thinwayliu/Multimodal-Unlearnable-Examples
具体来说,采用投影梯度下降来解决噪声最小化问题,并使用HotFlip方法来近似梯度和替换单词,以找到最佳的文本触发器。
大量实验证明了方法的有效性,保护后的检索结果几乎是随机猜测的一半,并且它在不同模型之间具有高度的迁移性。本篇工作的论文和代码均已开源。
研究背景
近年来,随着多模态学习的兴起,研究者们对结合文本、图像和音频等多种数据类型的模型产生了浓厚的兴趣。
其中,多模态对比学习成为了这一领域的重要方法,如CLIP和ALIGN等模型利用对比损失训练,以增强图像和文本的相关性,进而减少人工标注的需求,并展示了在图像分类、生成等任务中的潜力。
然而,这些模型的训练依赖于大量的多模态数据,这些数据常常来自公开的数据集,如CC12M、YFCC100M和LAION5B,但这些数据集可能仍然不足,且可能包含大量敏感的个人信息,引发了对隐私泄露的担忧。
我们考虑了一个专注于生成多模态不可学习样本以应对与多模态对比学习相关的隐私风险的场景。在这种场景下,我们专注于图像-文本对作为代表性的多模态数据集。假设用户经常在社交媒体平台(如Facebook)上分享带有文本的个人照片,包括一些私人身份信息,如面孔、姓名、电话号码和地址。
目前,黑客试图从互联网上收集大量此类图像-文本对,并利用多模态对比学习技术训练或微调大模型,如图1的左半部分所示。
这些模型无意中捕获了用户的私人信息和面部特征,导致潜在的隐私泄露。保护者旨在通过对多模态数据进行不可学习的方法来防止这些敏感数据被未经授权利用。这些方法使在这种多模态不可学习样本上训练的模型无法访问用户的隐私特征,同时不妨碍用户在发布图像和文本后的社交互动,如图1的右半部分所示。
图1:Facebook上的帖子无意中会泄露了个人信息(如图左),但利用多模态不可学习样本可以保护数据可以防止未经授权的模型访问私人特征(如图右)
动机
最近的研究致力于通过不可学习样本(Unlearnable Examples)来防止图像分类中的数据未经授权使用。这些方法通过对数据施加细微扰动来阻碍模型学习图像特征,也被称为可用性攻击(availability attacks)或无差别的中毒攻击(indiscriminate poisoning attacks)。
它主要分为无代理模型攻击和基于代理模型的攻击,其中无代理模型攻击通过在像素级别生成噪声,而基于代理模型的攻击则通过代理模型生成特征级别的噪声。
然而,所有用于分类的无代理模型方法在多模态场景下都无法生成图像噪声,因为这些方法旨在为与某个特定类别相关的图像找到一系列特定的噪声模式,而图像-文本对数据中没有标签。
因此,只有基于代理模型的方法可以应用,我们扩展了两种典型的方法来生成不可学习的多模态示例(EM和UAP)。
The Error-minimizing Noise(EM)方法:
Untargeted Adversarial Perturbation.(UAP)方法:
尽管EM和UAP可以应用于图像-字幕对,但它们未能实现高效的保护,尤其是UAP。我们探讨了这些方法从图像分类到多模态对比学习有效性下降的原因。
在图像分类中,EM和UAP优化具有相同标签的图像,使其在特征空间中收敛,导致模型容易捕获这些附加噪声并学习与标签的相关性,如图2(a)所示。
图2:不同方法在传统分类和多模态对比学习中的比较。𝐼表示图像,𝑇是配对的标题。蓝色区域是在不可学习样本上训练的模型的预期决策边界
但在多模态对比学习中,为了有效地应用EM和UAP方法,优化的图像噪声的方向必须与文本的特征相关,导致图像特征变得要么接近要么远离这些特征。
然而,不同对的文本特征可能在图像–文本数据集中广泛分散。如图2(b)和(c)所示,与分类不同,模型更难捕捉字幕和EM和UAP生成的噪声之间的相关性。
在图2(c)中,UAP的学习决策空间更加复杂,因此其保护效果不佳。
方法
图3:多步误差最小化方法(MEM)的框架
由于图像-文本对的分散,基于代理模型的方法仍然无法实现有效的保护。一个直观的增强策略是同时优化图像和文本,以获得更大的优化空间,促进它们在特征空间中不同对的收敛。
因此,图像和文本集的优化特征表示呈现出相似的分布,便于模型学习它们的捷径,如图2(d)所示。
为此,我们以EM方法为基本框架,并提出在字幕前添加额外的短文本触发器来最小化对比损失,遵循对文本任务的对抗攻击的设置。我们的方法可以被概念化为一个三层迭代优化问题,类似于EM的多步过程。
具体来说,我们依次优化噪声δ和文本触发器t,以减少优化图像I + δ和优化文本T ⊕ t之间的对比损失,其中⊕表示可以在不同位置插入干净文本T的触发器。
为了简单起见,我们在本文中选择在文本的开头添加文本触发器。因此,我们的多步误差最小化(MEM)方法可以表述为:
通过参考EM中的方法依次迭代优化上述问题。使用投影梯度下降(PGD)来解决式中的噪声最小化问题。
值得注意的是,为了减轻噪声对干净字幕的过拟合,我们通过在批处理中打乱干净字幕并添加正确匹配的文本触发器来增强它们。因此,当面对语义错误的字幕时,这种生成的噪声可以更多地关注文本触发器而不是部分字幕。因此,我们可以根据以下迭代公式获得最优的δ:
对于文本触发器最小化问题,首先通过在所有输入的前面重复单词「the」或「a」来初始化触发序列。
此外,基于HotFlip优化文本触发器,通过梯度近似替换标记的效果。通过更新每个触发标记的嵌入,以最小化当前标记嵌入周围的CLIP损失的一阶泰勒近似:
最后,我们可以在候选标记的集合中使用束搜索来搜索每个最优文本触发器。我们考虑来自上式的前k个候选者,并在触发器的每个位置从前到后搜索,并使用当前批处理上的损失对每个束进行评分。
我们遵循Wallace等人的方法,并使用小的束大小进行高效计算。在图3中,我们可以看到使用我们的MEM生成多模态不可学习样本的框架。
实验效果
有效保护性
表1:在不同数据集上几种方法生成的不可学习样本的有效性比较
表1展示了它们在不同数据集上的检索结果。显然,UAP几乎无法为多模态数据提供任何保护,而EM则表现出一定程度的保护。
然而,我们的MEM始终为多模态数据提供强大的保护,将检索性能降低到几乎是随机猜测的一半。特别是MEM-5,由于其文本触发器更长,与MEM-3相比,在降低黑客模型性能方面取得了更大的效果。
图4展示了由不同方法生成的不可学习样本训练的训练损失下降曲线和在干净测试集上的检索Medr。从(a)中可以观察到,尽管EM使损失比正常训练下降得更快,但我们的方法MEM-3和MEM-5在第一个epoch时损失更小,这表明模型可以快速学习到捷径。
从(b)中我们发现,所有模型的Medr都比随机猜测时降低,但在不可学习样本上训练的模型停止学习得最快,达到了最差的检索结果,并且随着epoch的增加不会进一步学习得更好。以上观察结果与表1中的结果一致。
图4:训练损失和测试指标Medr的曲线变化记录
跨模型迁移性
表2:在不同模型架构上,基于ResNet50模型的MEM-3方法生成的不可学习样本的可转移性
我们假设数据保护是一个完全黑盒的设置,其中保护者不知道黑客模型的架构。因此,我们评估了在ResNet50代理模型上生成的MEM在不同黑客模型上的性能,包括ResNet101和ViT。结果如表2所示。我们发现这些样本可以成功地在不同模型之间转移,并能降低CLIP模型的性能。
可视化分析
图5:注意力图可视化:比较四种模型在干净数据和不同方法的不可学习样本上的情况
图5展示了在干净数据和不同方法生成的不可学习样本上训练的模型的注意力热图。对于图像,我们使用Grad-CAM来可视化模型的注意力,而对于文本,我们使用Integrated Gradients来可视化注意力。颜色越浅表示模型的注意力越高。
值得注意的是,对于图5(1),(2)和(3)中的模型都关注中心区域,这与字幕相关。
然而,图5(4)中由MEM – 3生成的样本训练的模型由于只学习了噪声特征,无法准确识别干净图像。同样在文本中,前三者中的模型都关注关键词「glass」,而后者中的模型将注意力放在前三个单词上,这可能是因为MEM-3总是优化噪声和前三个文本触发器来创建捷径。
这些可视化结果表明,EM和UAP在保护多模态数据方面效果不佳,而MEM具有明显的有效性。
图6:干净样本和MEM-3优化的不可学习样本在干净模型和中毒模型下的t-SNE可视化
我们在图6中可视化了正常模型下干净样本的特征分布以及MEM3在中毒模型上优化的不可学习样本的特征分布。我们用三角形表示图像特征,用圆圈表示文本特征,相同颜色表示数据集中五个相同但经过变换的图像及其对应的不同描述。
从(a)中我们可以观察到,在干净模型下,相同的图像和文本在内部聚集在一起,并且相应的图像-文本对彼此接近。
然而,在(b)中,相同的图像和文本出现了分歧,只有成对的图像和文本彼此接近。这表明我们的方法有效地促进了模型学习噪声和文本触发器之间的捷径。
案例探讨:人脸隐私保护
我们进行了一个案例研究,将我们的MEM噪声应用于一个现实世界的场景:保护社交媒体平台上的个人人脸图像和相关信息,如姓名。
我们使用PubFig数据库进行了实验,这是一个大型的现实世界人脸数据集,包含从互联网上收集的200个个体的58,797张图像。对于检索评估,我们随机选择每个名人的一张照片作为测试集,并使用所有剩余的图像进行训练。
为了进行真实的微调,我们更改了他们的名字,并提供了一组与该名字相关的文本模板用于字幕生成。随后,我们使用MEM生成不可学习的样本,并使用不同的黑客模型进行评估。结果如表3所示。
MEM可以防止这些微调模型学习人脸和姓名特征之间的相关性,从而阻碍在测试集上的准确人员检索。
表3:在不同预训练模型上,ResNet50微调生成的不可学习样本的保护效果
结语
在本文中,我们探索了多模态数据保护,特别关注图像-文本对,我们生成了多模态不可学习样本来防止被多模态对比学习利用。我们将先前的分类方法扩展到这个背景下,揭示了由于模态增加和数据分散而存在的局限性。
鉴于这些发现,我们引入了一种名为多步误差最小化(MEM)的新颖生成方法,它基于EM框架。MEM有效地在噪声和文本触发器之间建立了捷径,并展示了在不同黑客模型之间的可转移性。
此外,我们使用各种可视化工具验证了我们方法的有效性。我们的工作开辟了一个新的方向,预计将适用于其他模态对,如音频-文本和音频-图像对。
作者介绍
本文作者来自中科院信工所、南洋理工大学、新加坡国立大学和中山大学。作者列表:刘心玮,加小俊,寻源,梁思源,操晓春。
其中,第一作者刘心玮是中科院信工所博士生。通讯作者中山大学操晓春教授和和南洋理工大学的加小俊博士后研究。
参考资料:
https://scst.sysu.edu.cn/members/caoxiaochun.html
https://jiaxiaojunqaq.github.io
英伟达市值狂飙再破纪录!股价大涨13%,单日暴增3290亿美元
英伟达股价又迎大涨,单日市值暴增3290亿美元再创纪录。
英伟达股价这周又坐上了过山车。
截至周三收盘,英伟达股价大涨13%,市值暴增3290亿美元,再次刷新过去几个月自己创下的单日纪录。
而就在一天前,英伟达股价刚刚遭遇7%的暴跌,市值蒸发1930多亿美元。
Miller Tabak + Co首席市场策略师Matt Maley表示,「英伟达的波动表明,投资者目前对AI股和芯片股的投资前景是多么困惑。」
「与上一年持续看涨不同,投资者也开始担心,对人工智能的巨额投资无法换来期待中的回报。」
尤其是过去的两周,很多投资者因为对AI行业预期回报的悲观情绪而大量撤出科技股,选择套利跑路,将资金转向银行和周期性公司。
英伟达、苹果、微软和谷歌等巨头都是这一恐慌心态的受害者。
然而从本周开始,科技巨头和独角兽纷纷发布第二季度财报,在一定程度上缓解了人们的担忧,促使人们再次涌入科技行业。
今年前6个月,英伟达股价上涨了150%,之后好于预期的通胀让大家纷纷押注,美联储可能最快9月降息。
这个消息最终等来了官宣。周三,美联储主席Jerome Powell表示,9月份降息是板上钉钉的事。
Powell释放9月降息的信号之后,美股三大指数齐涨。截至当天收盘,美股纳指涨2.64%,标普500指数涨1.58%,道指涨0.24%。
受到宏观政策的利好影响,投资者对科技行业和英伟达的热情也进一步升温。
单日市值涨幅前十名
经过周三的暴涨后,英伟达成为第一只单日涨幅超过3000亿美元的股票。
前十榜单上,英伟达不仅独占半席,还包揽前三。
今年2月22日、5月23日,英伟达单日市值还分别增长了2766亿美元、2177亿美元。
英伟达的股价增长强劲,与全球范围内的营收增长密不可分。
根据Statista的数据,2024财年,英伟达总收入超过600亿美元,在美国的营收达269.7亿美元,较上一财年的82.9亿美元大幅增长。
2024财年中国台湾地区营收达13.41亿美元,中国大陆营收达103.1亿美元。
除了英伟达,上榜的谷歌母公司Alphabet已公布二季度财报,另一家榜上有名的大型科技公司Meta定于周三收盘后发布财报。
微软带涨,黑马芯片股
英伟达股价之所以又迎来暴涨,主要是得益于大客户微软和AMD在周二都公布了新一季财报。
微软财报显示,二季度资本支出高达190亿美元,同比增长77.6%,大幅超越分析师预期。
微软的二季度资本开支中云计算和AI相关的支出,几乎占了全部,预计开支环比将继续上升,人工智能中的算力产业链,AI服务器、芯片、存储等等仍然独占投资鳌头。
微软CEO Satya Nadella和首席财务官Amy Hood称,公司计划明年在基于英伟达的基础设施上投入更多资金。
彭博资讯分析师Kunjan Sobhani表示,「微软宣布增加资本支出,主要是受云计算和人工智能相关需求的推动,这大大利好英伟达的销售前景。」
根据AMD第二季度财报,第二季度实现营收58.35亿美元,同比增长8.9%;净利润为2.65亿美元,同比增长881%,环比增长115%。继续超越市场预期,这一下就让美股科技股再次沸腾。
此外,Meta也在周三收盘后发布了二季度财报。
其中营收和盈利均高于预期,当季资本支出小于预期,全年资本支出的区间上限并未变动但下限上调20亿美元。
Meta强调,2025年的资本支出将大幅增长,基础设施成本是重要驱动因素,这将继续支持AI研究和产品开发工作。
除了大涨的英伟达,美股博通涨超8%,ASML、美光科技涨逾7%,AMD涨6%,台积电、高通涨超5%。
参考资料:
https://www.bloomberg.com/news/articles/2024-07-31/nvidia-s-100-billion-swings-become-routine-as-volatility-soars
美国制裁再落重锤:管制非美国企业出口芯片,三星台积电或被针对
下个月,美国政府或将出台新规,加大对中国芯片企业获取半导体制造设备渠道的限制。
AI「芯片战争」愈演愈烈!
据路透社报道,美国政府即将在下个月发布外国直接产品规则(Foreign Direct Product Rule,FDPR)的扩展规则。
这项新规将进一步阻止美国势力范围内的国家和地区向中国出口半导体制造设备。
以色列、中国台湾、新加坡和马来西亚都会受到影响。
但日本、荷兰和韩国等关键的芯片制造设备出口国并不包括在内。
部分原因是「这些国家会遵守其对中国更严格的出口政策,因此美国无需诉诸FDPR」。
消息公布后,荷兰半导体制造巨头ASML和日本东京电子的股价分别大涨11%和7.4%。
除此之外,美国还计划通过FDPR钳制SK海力士和三星等韩国企业,限制中国获取高性能HBM芯片。
最快下个月,这些限制就会到来。
调低「含美量」下限
FDPR规定,如果产品是使用美国软件或技术制造的,美国政府有权阻止其销售,包括在外国制造的产品。
现行规定通过产品使用美国技术的含量,决定是否属于管制范围。
新规中,美国计划调低「含美量」下限,这就意味着扩大了管制产品的范围。消息人士称,这填补了FDPR中的一个「漏洞」。
因此,某些设备可能仅仅因为内置含美国技术的芯片,就被划到出口管制范围内。
韩国的SK海力士和三星将遭受影响
韩国的SK海力士和三星是世界顶级的存储芯片制造商,它们都广泛使用了AMAT和CDNS等美国公司的技术,因此成为了FDPR的直接瞄准对象。
三星HBM芯片
据彭博社报道,美国正在考虑,限制中国获取由美光科技和SK海力士制造的AI存储芯片以及相应生产设施,最快在下个月实施。
这些措施旨在阻止美光、韩国的SK海力士和三星向中国公司供应高带宽内存(HBM)芯片,这是运行复杂GenAI程序至关重要的设备。
如果实施,新规则将涵盖HBM2及更先进的芯片,包括HBM3和HBM3E,以及生产这些芯片所需的工具。
HBM芯片作为关键组件,也是芯片巨头英伟达和AMD产品的关键组件。
报道称,美光将基本不受影响,因为他们已经在2023年停止向中国出口HBM产品。
虽然新措施将限制向中国公司直接销售HBM芯片,但尚不清楚是否允许将高端内存芯片与AI加速器捆绑在一起销售给中国。
比如,同样遭到限制的英伟达不惜打破陈规,为中国市场开发GB20服务器,专门用于搭载「特供版」芯片。
6家晶圆厂和120家实体或受限
扩展后的FDPR,将对国内大约6家最先进芯片制造中心的进口造成影响,但目前还无法确定具体包括哪些厂商。
美国还计划将约120家中国实体列入其限制贸易名单,包括晶圆厂、工具制造商、EDA(电子设计自动化)软件开发商等。
如果有供应商要向这些中国实体发货,必须先得到美国政府颁发的许可证,但相关的申请并不一定会被通过。
积极拉拢,密切合作
为了阻止中国在芯片领域的技术发展,美国在过去几年多次颁布针对中国的出口管制,限制英伟达和Lam Research等总部位于加州的公司的出货量。
除了控制本土的公司外,美国还致力于拉拢其他国家和地区一起「围堵」中国的AI和半导体产业。
去年,美国便与日本、荷兰达成了协议,约定要限制向中国出口半导体制造工具。
随后,美国开始劝说韩国和德国加入联盟,并试图在协议中增加更多限制。
对此,华盛顿战略与国际研究中心的研究员James Lewis表示,「美国不会放弃对中国技术的施压,欧洲获得的豁免是暂时的,其他地区也是如此。」
据知情人士透露,虽然计划中的新规目前还处于草案阶段,但预计下个月就会以某种形式进行发布。
据美国商务部信息,在美国出口管制体系中,所有国家或地区根据外交关系和安全问题等因素被分为A~E五大类。
比如,D:5就包括中国大陆等;A:5和A:6组别则是与美国保持友好关系的国家及地区。
除了日本、荷兰和韩国之外,草案规则还豁免了属于同一A:5集团的其他30多个国家和地区。
参考资料:
https://www.reuters.com/technology/new-us-rule-foreign-chip-equipment-exports-china-exempt-some-allies-sources-say-2024-07-31/
https://www.reuters.com/technology/artificial-intelligence/us-mulls-new-curbs-chinas-access-ai-memory-chips-bloomberg-news-says-2024-07-31/
奥运摸鱼大法,一键激活AI办公神器!打工人、学生党的效率救星
最近,这款爆火的AI办公神器,拯救了一大批被导师项目deadline压垮的大学生,和0基础数据运营小白的打工人,聊着天就把数据分析做了,嗖嗖去班味,简直是掌管古希腊数据分析的神!
打工好累,工作好多,还想摸鱼看奥运……
有什么方法可以帮忙节省时间增加效率吗?最近一款AI办公工具爆火,不仅用户猛增,网上还涌现一大批体验小作文。
一看时间点,原来是进入如火如荼的打工旺季Q3了,哭了,人生再无暑假。
这款名为「办公小浣熊」,是来自商汤科技的大模型AI原生工具。除了 完全免费 外,「办公小浣熊」既有 网页端入口,还有 移动端小程序,聊着天就能把数据分析做了,操作非常方便。
翻了翻用户repo出的案例,小编被浓浓的「班味儿」冲到了——场景和数据分析需求都非常多样。
有为了不求数据工程师咬牙 从0起步的运营小白,将20万用户数据从预处理到数据计算,再实现对用户行为、转换率、地理分析等多维度分析:
对于从事销售来说销售数据藏着太多重要信息,半年度了,个人销售业绩怎么样,有没有努力小浣熊也可以 直接做个图表 看看效果:
图片来源:infoQ用户@完美句号
不仅如此,「办公小浣熊」还拯救了不少要狂赶课程论文的大学生于水火中。
例如遇到球迷导师要把欧洲杯转换成一项大作业,让小浣熊拿捏他,多维度分析各类高级图表:
来源:infoQ用户@白日梦
「办公小浣熊」的底层技术是商汤日日新·商量语言大模型-数据分析版本,在数据分析场景下的数据测试集(1000+题目)中以85.71%的正确率超过GPT-4。
无论是打工人还是学生党,都可以用上这款古希腊掌管数据分析的神,具体来看看它究竟多厉害。
清洗、运算、分析……小浣熊是怎么玩转数据的?
据官方介绍,办公小浣熊是基于商汤大语言模型的大模型原生数据分析产品,它可以通过用户的自然语言输入,结合商汤大模型的能力,自动将数据转化为有意义的分析和可视化结果。
看了一圈经验贴,办公小浣熊主要拥有明显的三大优势:
操作便捷、小白可用:表面聊着天就能做数据分析,实际背后是为数据分析场景定制的大模型和「代码解释器」等能力的支持;
从清洗到运算的全流程数据分析,支持全类型文件(Word、Excel、PPT、PDF、Json、csv、SQL数据库等)处理分析,并且可同时处理多类别、多表头文件,分析速度快;
基于超强的模型能力,数据可视化效率与质量很高,且支持一键导出。
「办公小浣熊」的界面会为我们展示所有分析逻辑,其底层逻辑其实就如同程序员写代码一样,进行python 代码逻辑的运算,而且运算速度很快。
来源:infoQ用户@Sunny_媛
从选择数据源开始,我们通常会进行 数据预处理及清洗,像excel这种基础数据文件格式简直小case。
随便处理几千条数据,并对数据集中的乱码数据进行处理:
来源:infoQ用户@言程序
下载清洗后的数据,对比一下差别非常明显,J人福音:
来源:infoQ用户@言程序
这种程度的数据预处理基本已经满足普通小白用户的需求了,但如果是专业人士使用,「办公小浣熊」还能进阶,可以导入数据库文件,甚至在开始阶段就可以选择专业的数据分析师人设。
来源:infoQ用户@红目香薰
接下来就是最有价值的部分「掘金」数据—— 数据运算与分析。
来看一位运营小白提供的典型场景——以用户行为数据为根源,分析转化率及失败原因,这类分析对运营者非常重要,可以判断吸引用户到销售转换整个流程中哪一步是最关键行为。
这往往涉及数据计算、字段分类、统计与分析,甚至还要绘制用户行为图,步骤相当繁琐。
而在「办公小浣熊」里,只需要通过对话形式就把brief下单了:
提示词:
根据 action 字段,分析用户行为路径。统计每个步骤的用户数量,绘制用户行为图。从而更好地查看整个流程用户的数量流失。
来源:infoQ用户@直须
「办公小浣熊」不仅很快地绘制出了图表,并且给出了文字结论,真正做到了分析,最后的结论也很准确:从进入页面到输入手机号,以及输入手机号到点击订购,这两个阶段流失了很多用户。
像失败原因、地理分布、时间序列等多类型分析也都可以交给「办公小浣熊」去做,最终还能让它直接生成一份报告。
来源:infoQ用户@直须(非完整版报告)
很多用户在分享使用体验时都提到了「办公小浣熊」拥有丰富的数据 可视化能力,包括智能图表推荐、动态数据更新实时反馈与调整、多维度可视化/高级可视化、交互式图表等。
数据可视化可以更直观、清晰展现数据结果,也是数据分析能力的重要展现渠道,要做汇报PPT的打工人懂得都懂。
「办公小浣熊」基本覆盖所有常用、表现不同分析关系的可视化表格形式:折线、柱状、环形、饼状、散点、箱状、热力……满足各类分析需求。
并且在使用python绘图时,如果出现bug,「办公小浣熊」可以智能自动调整并修复逻辑。
来源:infoQ用户@Sunny_媛
真正小白可入手的新质生产力:把班味儿留在对话框里,把数据价值带走
办公看起来貌似是一个相对垂直的场景,但实际上在如今IT化高度普及、大数据渗透到各行各业的时代,一不小心就会沾染班味儿,办公就成了一个非常普遍并非职场人士才会遇到的场景。
比如好好地上个大学,遇到一个足球迷老师,向你丢出一包世界杯数据,并要求完成一份数据分析课程论文。
来源:infoQ用户@白日梦
但这位同学依靠「办公小浣熊」完成了参赛趋势分析、进球率、夺冠率等多维度分析,完成了这项任务。
真正好的AI工具需要做的就是降低使用门槛,真正做到小白可用,办公小浣熊将大模型能力用最简单的方式——聊天传递给每个有需求的人。
One more thing, 下班其实也可以用。
Midjourney V6.1再进化!人像逼真细节拉满,摄影级画面秒生成
Midjourney迎来最强版本v6.1,速速来体验!
Midjourney几个月前画的饼终于端上来了!他们今天刚刚发布了最新版本v6.1!
此次更新总结四个大字:细节狂魔。
网友纷纷发推测试最新版本的Midjourney,摄影级画面先睹为快!
这张图被取名为《天窗》,构图、色彩、光影、明暗,各方面都极度舒适,湖面波光粼粼细节生动,简直可以直接用来做屏保。
继续看一幅风景,曙光拨开云层,远处群山连绵,积雪未消;植被茂密,松树纹理逼真,一片静谧祥和。
接着看一组静物,原本需要大量人力物力财力和精力拍摄的商业图,Midjourney几十秒轻松搞定。
每张图片不仅清晰,还能围绕一个配色、主题和风格展开。
人像生成自然也不在话下,五官立体,妆容精致,堪比杂志图。
生成人物与街景图自带复古ccd效果,落日余晖打在人脸上清晰真实,没有过度美化的假面感。
甚至还能生成定制风格的图片,下图就是一个千禧风格的老式计算机。
网友都上手尝鲜新版本的同时,也有人感叹Midjourney进化速度之快。
有人po出一张Midjourney V2和Midjourney V6.1的对比,从画面模糊到清晰,摩托车与人的轮廓从诡异到炫酷,仅仅经过了两年时间。
细节狂魔
之所以把Midjourney这一版的亮点称之为「细节狂魔」,是因为V6.1着重强调了以下新功能:
– 更连贯的图像(手臂、腿、手、身体、植物、动物等)
– 图像质量更好(减少像素伪影、增强纹理、皮肤、8 位复古效果等)
– 更精确、更详细、更正确的细节特征(眼睛、小脸、远处的手等)
– 新的图像放大器具有更好的图像/纹理质量
– 标准图像作业速度提高约 25%
– 提高文本准确性(在提示中通过「引号」绘制单词)
– 新的个性化模型,具有令人惊喜的细微差别和准确性
– 个性化代码版本控制(将旧作业中的代码用于当前作业的个性化模型和数据)
一句话总结,就是让画面整体上看起来更和谐、精致。
尤其是在人像的处理方面,几乎已经无可挑剔。
以图为证,左边V6生成的已经足够逼真,V6人物的眉毛纹理更加精细,眼球红血丝清晰可见。
可以说将AI生成图与摄影大师作品同场竞技也丝毫不输。
V6.1对比V6
产品介绍得再天花乱坠,用户最为关注的,还是上手使用时性能是否真正提升。
接下来我们直接与前一代横向对比,看看千呼万唤的V6.1在上面提到的更新升级做的怎么样了。
提示词:冬天,一个金渐层小猫在壁炉前的沙发上玩毛线球,平视角度,主体形象直视镜头,写实逼真。
两幅画对比可以看出,右边的小猫看上去更加毛茸茸的,毛线球的质感也更加真实不死板,背后的原因就在于V6.1版本在于对细节和纹理的处理更加真实细致。
提示词:阳光明媚的日子里,经典福特野马在海岸附近的道路上行驶的高角度镜头,温暖的阳光照亮了汽车的底盘,逼真,高分辨率。
V6.1的版本清晰度就眼前一亮,画面构图更加和谐,远处山脉纹理也更加真实。
提示词:JC Leyendecker 风格的插图,年轻运动员在行动中,复古足球服,大学橄榄球场的初秋午后,动态照明突出肌肉形态,光影对比,低角度,饱和色彩,程式化和流畅的笔触。
JC Leyendecker是上世纪美国著名插画师,风格偏写实风,注重线条流畅程度以及灯光质感,善于借用灯光打造人物效果,烘托出主人公。
JC非常注重用笔触打造衣物、皮肤和头发的质感,绘画线条流畅,擅长运用松节油混合颜料,创作出丰富、流畅的笔触和发光般的表面质感。
可以看出,V6.1的版本更符合JC Leyendecker的绘画风格,棒球运动员的衣服和皮肤都有微微光感。
再看下面这个例子,展示了V6.1最引以为傲的人像处理部分,首先画面一眼看去更加和谐且具有电影质感。
提示词:电影拍摄画面,可疑的人,灯光昏暗的街道。在晚上,人物紧张地环顾四周。人工街道照明,前角,双色调,绿松石和红色,营造紧张的气氛,Cinestill 50D。
V6版本对于皱纹形态和手部细节的处理还都比较死板,V6.1版本中,人物的肌肉线条明显更加真实。
深究人像细节可以发现,V6版本的人脸被遮挡且晦暗不清,V6.1中,人物打湿微卷的头发、脸部光影和皮肤的沟壑纹理都极其真实。
经过以上四组动物、外景、人物和强烈绘画风格的对比例子来看,Midjourney V6.1都较上一代呈现出了高质量的画面和丰富的细节,并且还能定制生成艺术家风格的作品。
自然,Midjourney依旧不会满足于V6.1的进步,在上新的同时也透露下一步消息——V6.2将会在下个月推出。
参考资料:
https://x.com/midjourney/status/1818342703618482265