51c大模型~合集19
我自己的原文哦~ https://blog.51cto.com/whaosoft/11622380
#用苹果Vision Pro隔空操控机器人
黄仁勋表示:「AI 的下一波浪潮是机器人,其中最令人兴奋的发展之一是人形机器人。」如今,Project GR00T 又迈出了重要的一步。
昨日,英伟达创始人黄仁勋在 SIGGRAPH 2024 Keynote 演讲中讲到了其人形机器人通用基础模型「Project GR00T」。该模型在功能上迎来了一系列更新。
德克萨斯大学奥斯汀分校助理教授、英伟达高级研究科学家朱玉可发推,在视频中演示了英伟达如何将通用家务机器人大规模仿真训练框架 RoboCasa 和 MimicGen 系统整合到英伟达 Omniverse 平台和 Isaac 机器人开发平台。
图源:https://x.com/yukez/status/1818092679936299373
视频中涵盖了英伟达自己的三个计算平台,包括 AI、Omniverse 和 Jetson Thor,利用它们简化和加速开发者工作流程。通过这些计算平台的共同赋能,我们有望进入由物理 AI 驱动的人形机器人时代。
其中最大的亮点,开发人员能够使用苹果 Vision Pro 来远程操控人形机器人来执行任务。
与此同时,另一位英伟达高级研究科学家 Jim Fan 表示,Project GR00T 的更新令人振奋。英伟达利用系统化的方法来扩展机器人数据,解决了机器人领域最棘手的难题。
思路也很简单:人类在真实机器人身上收集演示数据,而英伟达在仿真中将这些数据扩展千倍及以上。通过 GPU 加速仿真,人们现在可以用算力来换取耗时耗力耗资金的人类收集数据了。
他谈到自己不久前还认为远程操控在根本上不可扩展,这是因为在原子世界中,我们总是受到 24 小时 / 机器人 / 天数的限制。英伟达在 GR00T 上采用的新的合成数据 pipeline 在比特世界打破了这一局限。
图源:https://x.com/DrJimFan/status/1818302152982343983
对于英伟达在人形机器人领域的最新进展,有网友表示,苹果 Vision Pro 找到了最酷的用例。
英伟达开始引领下一波浪潮:物理 AI
英伟达也在一篇博客中详述了加速人形机器人的技术流程,完整内容如下:
为了加速全球范围内人形机器人的发展,英伟达宣布为全球领先的机器人制造商、AI 模型开发商和软件制造商提供一套服务、模型和计算平台,以开发、训练和构建下一代人形机器人。
这套产品包括用于机器人仿真和学习的全新 NVIDIA NIM 微服务和框架、用于运行多阶段机器人工作负载的 NVIDIA OSMO 编排服务,以及支持 AI 和仿真的远程操作工作流,该工作流允许开发者使用少量人类演示数据来训练机器人。
黄仁勋表示:「AI 的下一波浪潮是机器人,其中最令人兴奋的发展之一是人形机器人。我们正在推进整个 NVIDIA 机器人堆栈的发展,面向全球人形机器人开发者和公司开放访问,让他们能够使用最符合其需求的平台、加速库和 AI 模型。」
借助 NVIDIA NIM 和 OSMO 加速开发
NIM 微服务提供了由英伟达推理软件提供支持的预构建容器,使开发人员能够将部署时间从几周缩短到几分钟。
两个新的 AI 微服务将允许机器人专家在 NVIDIA Isaac Sim 中增强生成物理人工智能仿真工作流程。
MimicGen NIM 微服务根据来自空间计算设备(如 Apple Vision Pro)记录的远程数据生成合成运动数据。Robocasa NIM 微服务可在 OpenUSD 中生成机器人任务和仿真环境。
云原生托管服务 NVIDIA OSMO 现已推出,允许用户在分布式计算资源(无论是在本地还是在云中)中协调和扩展复杂的机器人开发工作流程。OSMO 的出现大大简化了机器人训练和仿真工作流程,将部署和开发周期从数月缩短至不到一周。
为人形机器人开发者提供先进的数据捕获工作流
训练人形机器人背后的基础模型需要大量的数据。获取人类演示数据的一种方法是使用远程操作,但这种方式正变得越来越昂贵和漫长。
通过在 SIGGRAPH 计算机图形大会上展示的 NVIDIA AI 和 Omniverse 远程操作参考工作流,研究者和 AI 开发者能够从极少量远程捕捉的人类演示中生成大量合成运动和感知数据。
首先,开发人员使用 Apple Vision Pro 捕捉少量远程演示。然后,他们在 NVIDIA Isaac Sim 中仿真录音,并使用 MimicGen NIM 微服务从录音中生成合成数据集。
开发人员使用真实数据和合成数据来训练 Project GR00T 人形机器人基础模型,从而节省了大量的时间并降低了成本。然后,他们使用 Isaac Lab 中的 Robocasa NIM 微服务(一种机器人学习框架)来生成经验以重新训练机器人模型。在整个工作流中,NVIDIA OSMO 将计算任务无缝地分配给不同的资源,为开发者减少了数周的管理工作量。
扩大对 NVIDIA 人形机器人开发者技术的访问权限
NVIDIA 提供了三个计算平台来简化人形机器人的开发:用于训练模型的 NVIDIA AI 超级计算机;基于 Omniverse 构建的 NVIDIA Isaac Sim,机器人可以在仿真世界中学习和完善技能;以及用于运行模型的 NVIDIA Jetson Thor 人形机器人计算机。开发人员可以根据自己的特定需求访问和使用全部或部分平台。
通过新的 NVIDIA 人形机器人开发者计划,开发者可以提前使用新产品以及 NVIDIA Isaac Sim、NVIDIA Isaac Lab、Jetson Thor 和 Project GR00T 通用人形机器人基础模型的最新版本。
1x、波士顿动力、字节跳动、Field AI、Figure、Fourier、Galbot、LimX Dynamics、Mentee、Neura Robotics、RobotEra 和 Skild AI 是首批加入早期访问计划的公司。
开发人员现在可以加入 NVIDIA 人形机器人开发人员计划,以访问 NVIDIA OSMO 和 Isaac Lab,并且很快将获得 NVIDIA NIM 微服务的访问权限。
博客链接:
https://nvidianews.nvidia.com/news/nvidia-accelerates-worldwide-humanoid-robotics-development
#GALA3D
复杂组合3D场景生成,LLMs对话式3D可控生成编辑框架来了
该论文的第一作者和通讯作者均来自北京大学王选计算机研究所的 VDIG (Visual Data Interpreting and Generation) 实验室,第一作者为博士生周啸宇,通讯作者为博士生导师王勇涛。VDIG 实验室近年来在 IJCV、CVPR、AAAI、ICCV、ICML、ECCV 等顶会上有多项代表性成果发表,多次荣获国内外 CV 领域重量级竞赛的冠亚军奖项,和国内外知名高校、科研机构广泛开展合作。
近年来,针对单个物体的 Text-to-3D 方法取得了一系列突破性进展,但是从文本生成可控的、高质量的复杂多物体 3D 场景仍然面临巨大挑战。之前的方法在生成场景的复杂度、几何质量、纹理一致性、多物体交互关系、可控性和编辑性等方面均存在较大缺陷。
最近,来自北京大学王选计算机研究所的 VDIG 研究团队与其合作者公布了最新研究成果 GALA3D。针对多物体复杂 3D 场景生成,该工作提出了 LLM 引导的复杂三维场景可控生成框架 GALA3D,能够生成高质量、高一致性、具有多物体和复杂交互关系的 3D 场景,支持对话式交互的可控编辑,论文已被 ICML 2024 录用。
- 论文标题:GALA3D: Towards Text-to-3D Complex Scene Generation via Layout-guided Generative Gaussian Splatting
- 论文链接:https://arxiv.org/pdf/2402.07207
- 论文代码:https://github.com/VDIGPKU/GALA3D
- 项目网站:https://gala3d.github.io/
GALA3D 是一个高质量的 Text-to-3D 复杂组合场景生成与可控编辑框架。用户输入一段描述文本,GALA3D 能够 zero-shot 地生成相应的具有多物体和复杂交互关系的三维场景。GALA3D 在保证生成 3D 场景与文本高度对齐的同时,展现了其在生成场景质量、多物体复杂交互、场景几何一致性等方面的卓越性能。此外,GALA3D 还支持用户友好的端到端生成和可控编辑,使得普通用户能够在对话式的交谈中轻松定制和编辑 3D 场景。在与用户的交流中,GALA3D 可以精准地实现复杂三维场景对话式的可控编辑,并根据用户的对话实现复杂三维场景的布局变换、数字资产嵌入、装修风格改变等多样化的可控编辑需求。
方法介绍
GALA3D 的整体架构如下图所示:
GALA3D 利用大型语言模型(LLMs)生成初始布局,并提出布局引导的生成式 3D 高斯表示构建复杂 3D 场景。GALA3D 设计通过自适应几何控制优化 3D 高斯的形状和分布,以生成具有一致几何、纹理、比例和精确交互的 3D 场景。此外,GALA3D 还提出了一种组合优化机制,结合条件扩散先验和文生图模型,协作生成具有一致风格的 3D 多物体场景,同时迭代优化从 LLMs 提取的初始布局先验,以获得更加逼真准确的真实场景空间布局。广泛的定量实验和定性研究表明 GALA3D 在文本到复杂三维场景生成方面取得了显著效果,超越现有文生 3D 场景方法。
a、基于 LLMs 的场景布局先验
大语言模型展现了优异的自然语言理解和推理能力,本文进一步探索了 LLMs 大语言模型在 3D 复杂场景的推理和布局生成能力。如何在没有人工设计的情况下获得相对合理的布局先验有助于减少场景建模和生成的代价。对此,我们使用 LLMs (例如 GPT-3.5) 对文本输入的实例及其空间关系进行抽取,并生成相应的 Layout 布局先验。然而,通过 LLMs 解读的场景 3D 空间布局和 Layout 先验与实际场景存在一定差距,通常表现生成悬浮 / 穿模的物体,比例差异过大的物体组合等。进一步地,我们提出了 Layout Refinement 模块,通过基于视觉的 Diffusion 先验和 Layout 引导的生成式 3D 高斯对上述生成的粗糙布局先验进行调整和优化。
b、Layout Refinement
GALA3D 使用基于 Diffusion 先验的 Layout 布局优化模块对上述 LLMs 生成的布局先验进行优化。具体地,我们将 Layout 引导的 3D 高斯空间布局的梯度优化加入 3D 生成过程,通过 ControlNet 对 LLM-generated Layouts 进行空间位置、旋转角度和尺寸比例的调整,如图展示了优化前后 3D 场景和 Layout 的对应关系。经过优化的 Layout 具有更加准确的空间位置和比例尺度,并且使得 3D 场景中多物体的交互关系更加合理。
c、布局引导的生成式 3D 高斯表示
我们首次将 3D-Layout 约束引入 3D 高斯表示,提出了布局引导的生成式 3D 高斯,用于复杂文生 3D 场景。Layout-guided 3D 高斯表示包含多个语义抽取的实例物体,其中每个实例物体的 Layout 先验可以参数化为:
其中,N 代表场景中实例物体的总数。具体地,每一个实例 3D 高斯通过自适应几何控制进行优化,得到实例级的物体 3D 高斯表示。进一步地,我们将多个物体高斯根据相对位置关系组合到全场景中,生成布局引导的全局 3D 高斯并通过全局 Gaussian Splatting 渲染整个场景。
d、自适应几何控制
为了更好地控制 3D 高斯在生成过程中的空间分布和几何形状,我们提出了针对生成式 3D 高斯的自适应几何控制方法。首先给定一组初始高斯,为了将 3D 高斯约束在 Layout 范围内,GALA3D 使用一组密度分布函数来约束高斯椭球的空间位置。我们接着对 Layout 表面附近的高斯进行采样来拟合分布函数。之后,我们提出使用形状正则化控制 3D 高斯的几何形状。在 3D 生成的过程中,自适应几何控制不断优化高斯的分布和几何,从而生成更具纹理细节和规范几何的 3D 多物体与场景。自适应几何控制还保证了布局引导的生成式 3D 高斯具有更高的可控性和一致性。
实验结果
与现有 Text-to-3D 生成方法相比,GALA3D 展现了更加优异的 3D 场景生成质量和一致性,定量实验结果如下表所示:
我们还进行了广泛且有效的用户调研,邀请 125 位参与者(其中 39.2% 为相关领域的专家和从业人员)对本文方法和现有方法的生成场景进行多角度评估,结果如下表所示:
实验结果表明 GALA3D 在生成场景质量、几何保真度、文本一致性、场景一致性等多维度的测评指标中均超越现有方法,取得了最优的生成质量。
如下图定性实验结果所示,GALA3D 能够 zero-shot 地生成复杂多物体组合 3D 场景,并且具有良好的一致性:
下图展示了 GALA3D 能够支持用户友好的、对话式的可控生成和编辑:
更多研究细节,可参考原论文。
#Gemma 2
谷歌开源最强端侧小模型:2B参数越级跑赢GPT-3.5-Turbo,苹果15Pro运行飞快
谷歌也来卷「小」模型了,一出手就是王炸,胜过了比自己参数多得多的GPT-3.5、Mixtral竞品模型
今年 6 月底,谷歌开源了 9B、27B 版 Gemma 2 模型系列,并且自亮相以来,27B 版本迅速成为了大模型竞技场 LMSYS Chatbot Arena 中排名最高的开放模型之一,在真实对话任务中比其两倍规模以上的模型表现还要好。
如今,仅仅过去了一个多月,谷歌在追求负责任 AI 的基础上,更加地考虑该系列模型的安全性和可访问性,并有了一系列新成果。
此次,Gemma 2 不仅有了更轻量级「Gemma 2 2B」版本,还构建一个安全内容分类器模型「ShieldGemma」和一个模型可解释性工具「Gemma Scope」。具体如下:
- Gemma 2 2B 具有内置安全改进功能,实现了性能与效率的强大平衡;
- ShieldGemma 基于 Gemma 2 构建,用于过滤 AI 模型的输入和输出,确保用户安全;
- Gemma Scope 提供对模型内部工作原理的无与伦比的洞察力。
其中,Gemma 2 2B 无疑是「最耀眼的仔」,它在大模型竞技场 LMSYS Chatbot Arena 中的结果令人眼前一亮:仅凭 20 亿参数就跑出了 1130 分,这一数值要高于 GPT-3.5-Turbo(0613)和 Mixtral-8x7b。
这也意味着,Gemma 2 2B 将成为端侧模型的最佳选择。
苹果机器学习研究(MLR)团队研究科学家 Awni Hannun 展示了 Gemma 2 2B 跑在 iPhone 15 pro 上的情况,使用了 4bit 量化版本,结果显示速度是相当快。
视频来源:https://x.com/awnihannun/status/1818709510485389563
此外,对于前段时间很多大模型都翻了车的「9.9 和 9.11 谁大」的问题,Gemma 2 2B 也能轻松拿捏。
图源:https://x.com/tuturetom/status/1818823253634564134
与此同时,从谷歌 Gemma 2 2B 的强大性能也可以看到一种趋势,即「小」模型逐渐拥有了与更大尺寸模型匹敌的底气和效能优势。
这种趋势也引起了一些业内人士的关注,比如知名人工智能科学家、Lepton AI 创始人贾扬清提出了一种观点:大语言模型(LLM)的模型大小是否正在走 CNN 的老路呢?
在 ImageNet 时代,我们看到参数大小快速增长,然后我们转向了更小、更高效的模型。这是在 LLM 时代之前,我们中的许多人可能已经忘记了。
- 大型模型的曙光:我们以 AlexNet(2012)作为基线开始,然后经历了大约 3 年的模型大小增长。VGGNet(2014)在性能和尺寸方面都可称为强大的模型。
- 缩小模型:GoogLeNet(2015)将模型大小从 GB 级缩小到 MB 级,缩小了 100 倍,同时保持了良好的性能。类似工作如 SqueezeNet(2015)和其他工作也遵循类似的趋势。
- 合理的平衡:后来的工作如 ResNet(2015)、ResNeXT(2016)等,都保持了适中的模型大小。请注意,我们实际上很乐意使用更多的算力,但参数高效同样重要。
- 设备端学习?MobileNet(2017)是谷歌的一项特别有趣的工作,占用空间很小,但性能却非常出色。上周,我的一个朋友告诉我「哇,我们仍然在使用 MobileNet,因为它在设备端具有出色的特征嵌入通用性」。是的,嵌入式嵌入是实实在在很好用。
最后,贾扬清发出灵魂一问,「LLM 会遵循同样的趋势吗?」
图像出自 Ghimire 等人论文《A Survey on Efficient Convolutional Neural Networks and Hardware Acceleration》。
Gemma 2 2B 越级超越 GPT-3.5 Turbo
Gemma 2 家族新增 Gemma 2 2B 模型,备受大家期待。谷歌使用先进的 TPU v5e 硬件在庞大的 2 万亿个 token 上训练而成。
这个轻量级模型是从更大的模型中蒸馏而来,产生了非常好的结果。由于其占用空间小,特别适合设备应用程序,可能会对移动 AI 和边缘计算产生重大影响。
事实上,谷歌的 Gemma 2 2B 模型在 Chatbot Arena Elo Score 排名中胜过大型 AI 聊天机器人,展示了小型、更高效的语言模型的潜力。下图表显示了 Gemma 2 2B 与 GPT-3.5 和 Llama 2 等知名模型相比的卓越性能,挑战了「模型越大越好」的观念。
Gemma 2 2B 提供了:
- 性能卓越:在同等规模下提供同类最佳性能,超越同类其他开源模型;
- 部署灵活且经济高效:可在各种硬件上高效运行,从边缘设备和笔记本电脑到使用云部署如 Vertex AI 和 Google Kubernetes Engine (GKE) 。为了进一步提高速度,该模型使用了 NVIDIA TensorRT-LLM 库进行优化,并可作为 NVIDIA NIM 使用。此外,Gemma 2 2B 可与 Keras、JAX、Hugging Face、NVIDIA NeMo、Ollama、Gemma.cpp 以及即将推出的 MediaPipe 无缝集成,以简化开发;
- 开源且易于访问:可用于研究和商业应用,由于它足够小,甚至可以在 Google Colab 的 T4 GPU 免费层上运行,使实验和开发比以往更加简单。
从今天开始,用户可以从 Kaggle、Hugging Face、Vertex AI Model Garden 下载模型权重。用户还可以在 Google AI Studio 中试用其功能。
下载权重地址:https://huggingface.co/collections/google/gemma-2-2b-release-66a20f3796a2ff2a7c76f98f
Gemma 2 2B 的出现挑战了人工智能开发领域的主流观点,即模型越大,性能自然就越好。Gemma 2 2B 的成功表明,复杂的训练技术、高效的架构和高质量的数据集可以弥补原始参数数量的不足。这一突破可能对该领域产生深远的影响,有可能将焦点从争夺越来越大的模型转移到改进更小、更高效的模型。
Gemma 2 2B 的开发也凸显了模型压缩和蒸馏技术日益增长的重要性。通过有效地将较大模型中的知识提炼成较小的模型,研究人员可以在不牺牲性能的情况下创建更易于访问的 AI 工具。这种方法不仅降低了计算要求,还解决了训练和运行大型 AI 模型对环境影响的担忧。
ShieldGemma:最先进的安全分类器
技术报告:https://storage.googleapis.com/deepmind-media/gemma/shieldgemma-report.pdf
ShieldGemma 是一套先进的安全分类器,旨在检测和缓解 AI 模型输入和输出中的有害内容,帮助开发者负责任地部署模型。
ShieldGemma 专门针对四个关键危害领域进行设计:
- 仇恨言论
- 骚扰
- 色情内容
- 危险内容
这些开放分类器是对负责任 AI 工具包(Responsible AI Toolkit)中现有安全分类器套件的补充。
借助 ShieldGemma,用户可以创建更加安全、更好的 AI 应用
SOTA 性能:作为安全分类器,ShieldGemma 已经达到行业领先水平;
规模不同:ShieldGemma 提供各种型号以满足不同的需求。2B 模型非常适合在线分类任务,而 9B 和 27B 版本则为不太关心延迟的离线应用程序提供了更高的性能。
如下表所示,ShieldGemma (SG) 模型(2B、9B 和 27B)的表现均优于所有基线模型,包括 GPT-4。
Gemma Scope:让模型更加透明
Gemma Scope 旨在帮助 AI 研究界探索如何构建更易于理解、更可靠的 AI 系统。其为研究人员和开发人员提供了前所未有的透明度,让他们能够了解 Gemma 2 模型的决策过程。Gemma Scope 就像一台强大的显微镜,它使用稀疏自编码器 (SAE) 放大模型的内部工作原理,使其更易于解释。
Gemma Scope 技术报告:https://storage.googleapis.com/gemma-scope/gemma-scope-report.pdf
SAE 可以帮助用户解析 Gemma 2 处理的那些复杂信息,将其扩展为更易于分析和理解的形式,因而研究人员可以获得有关 Gemma 2 如何识别模式、处理信息并最终做出预测的宝贵见解。
以下是 Gemma Scope 具有开创性的原因:
- 开放的 SAE:超过 400 个免费 SAE,涵盖 Gemma 2 2B 和 9B 的所有层;
- 交互式演示:无需在 Neuronpedia 上编写代码即可探索 SAE 功能并分析模型行为;
- 易于使用的存储库:提供了 SAE 和 Gemma 2 交互的代码和示例。
参考链接:
https://developers.googleblog.com/en/smaller-safer-more-transparent-advancing-responsible-ai-with-gemma/
#arXiv
arXiv论文可以发「弹幕」了,斯坦福alphaXiv讨论平台上线,LeCun点赞
当论文讨论细致到词句,是什么体验?
最近,斯坦福大学的学生针对 arXiv 论文创建了一个开放讨论论坛 ——alphaXiv,可以直接在任何 arXiv 论文之上发布问题和评论。
网站链接:https://alphaxiv.org/
其实不需要专门访问这个网站,只需将任何 URL 中的 arXiv 更改为 alphaXiv 就可以直接在 alphaXiv 论坛上打开相应论文:
可以精准定位到论文中的段落、句子:
右侧讨论区,用户可以发表问题询问作者论文思路、细节,例如:
也可以针对论文内容发表评论,例如:「给出至少一个数学问题及其解决方案作为示例会具有启发性。」
用户还可以回应、点赞、反对某条评论:
对此,图灵奖得主 Yann LeCun 也觉得非常 Nice。
我们发现很多论文作者纷纷称赞 alphaXiv 论坛,例如最近发表的一篇论文《KAN or MLP: A Fairer Comparison》,在 alphaXiv 上收获了一些讨论,论文一作 Runpeng Yu 发推表示将在 alphaXiv 上回答大家的问题。
如网友所说:「AlphaXiv 使研究变得易于协作」,推进了学术交流。
如此方便的论文交流平台,感兴趣的读者快去试试吧。
参考链接:
https://twitter.com/StanfordAILab/status/1818669016325800216
#MindSearch
还没排上SearchGPT?比Perplexity更好用的国产开源平替了解一下?
来自上海人工智能实验室。
有 AI 在的科技圈,似乎没有中场休息。除了大模型发布不断,各家科技大厂也在寻找着第一个「杀手级」AI 应用的落脚之地。
OpenAI 首先瞄准的是谷歌 1750 亿美元的搜索业务市场。7 月 25 日,OpenAI 带着 AI 搜索引擎——SearchGPT 高调入场。在演示 demo 中,搜索引擎的使用体验不再像以往一样,需要我们逐个点开网页链接,判断信息有没有用。SearchGPT 像端上了一桌精美的套餐,所有答案都帮你总结好了。
在演示 demo 中,SearchGPT 分析了在应季最适合种植哪种品种的番茄。
不过,鉴于年初发布的 Sora 到目前都还未正式开放,估计很多人排上 SearchGPT 的体验名额也遥遥无期。
然而,有一款国产的开源平替,在和能联网的 ChatGPT 和专攻 AI 搜索引擎的 Perplexity.ai 的 PK 中,它的回答在深度、广度和准确度方面都都秒了这两款明星产品。
它甚至可以在不到 3 分钟内收集并整合 300 多页相关信息。这换成人类专家,需要大约 3 小时才能做完。
这款「国货」就是多智能体框架 MindSearch(思・索),由来自中科大和上海人工智能实验室的研究团队联合研发。正如其名,MindSearch 是一个会「思索」的系统,面对你输入的问题,它将先调用负责充分「思」考问题的智能体,再启用全面搜「索」的智能体,这些智能体分工合作,理解你的需求,并为你呈上从互联网的五湖四海搜罗来的新鲜信息。
- 论文链接:https://arxiv.org/abs/2407.20183
- 项目主页:https://mindsearch.netlify.app/
MindSearch 演示 demo
那么,MindSearch 是凭什么打败 ChatGPT 和 Perplexity.ai 的呢?和别的 AI 搜索引擎相比,MindSearch 有什么独到之处吗?
答案还得从它的名字说起。MindSearch 的核心竞争力在于采用了多智能体框架模拟人的思维过程。
如果向 Perplexity.ai 提问「王者荣耀当前赛季哪个射手最强?」它会直接搜索这个问题,并总结网上已有的回复。把这个问题交给 MindSearch,它会把这个问题拆解成一个逻辑链:「当前赛季是哪个赛季?」,「从哪些指标可以衡量王者荣耀的射手的强度?」,再汇总所能查询到的答案。
技术实现
WebPlanner:基于图结构进行规划
仅依靠向大型语言模型输入提示词的方式并不能胜任智能搜索引擎。首先,LLM 不能充分理解复杂问题中的拓扑关系,比如前一段挂在热搜上的大模型无法理解 9.9 和 9.11 谁大的问题,就是这个问题的生动注脚。字与字之间的关系,LLM 都很难在简单对话中理解,那么「这个季节种哪个品种的番茄最合适?」这种需要深入思考,分解成多个角度来回答的问题,对于 LLM 就更难了。换句话说,LLM 很难将用户的意图逐步转化为搜索任务,并提供准确的响应,因此它总是提供一些模版式的知识和套话。
基于此,研究团队设计了高级规划器 WebPlanner,它通过构建有向无环图(DAG)来捕捉从提问到解答之间的最优执行路径。对于用户提出的每个问题 Q,WebPlanner 将其解决方案的轨迹表示为 G (Q) = 〈V, E〉。在这个图中,V 代表节点的集合,每个节点 v 代表一个独立的网页搜索任务,包括一个辅助的起始节点(代表初始问题)和一个结束节点(代表最终答案)。E 代表有向边,指示节点之间的逻辑和推理关系。
研究团队进一步利用 LLM 优越的代码能力,引导模型编写代码与 DAG 图交互。为了实现这一点,研究团队预定义了原子代码函数,让模型可以在图中添加节点或边。在解答用户问题的过程中,LLM 先阅读整个对话,还有它在网上搜索到的信息。阅读完这些信息后,LLM 会根据这些信息产生一些思考和新的代码,这些代码将通过 Python 解释器添加在用于推理的图结构中。
一旦有新节点加入图中,WebPlanner 将启动 WebSearcher 来执行搜索任务,并整理搜索到的信息。由于新节点只依赖于之前步骤中生成的节点,所以这些节点可以并行处理,大大提高了信息收集的速度。当所有的信息收集完毕,WebPlanner 将添加结束节点,输出最终答案。
WebSearcher:分层检索网页
由于互联网上的信息实在太多,就算是 LLM 也不能一下子处理完所有的页面。针对这个问题,研究团队选择了先广泛搜索再精确选择的策略,设计了一个 RAG 智能体 ——WebSearcher。
首先,LLM 将根据 WebPlanner 分配的问题,生成几个类似的搜索问题,扩大搜索的范围。接下来,系统将调用不同搜索引擎的 API 查询问题,例如分别在 Google、Bing 和 DuckDuckGo 查一下,得到网页的链接、标题和摘要等关键信息。接着,LLM 将从这些搜索结果中选出最重要的网页来仔细阅读,汇总得出最终答案。
MindSearch 中,LLM 如何管理上下文
作为一个多智能体框架,MindSearch 为如何管理长上下文提供了全新尝试。当需要快速阅读大量网页时,由于最终答案只依赖 WebSearcher 的搜索结果,WebPlanner 将专注于分析用户提出的问题,不会被过长的网页信息分心。
这种明确的分工也大大减少了上下文计算量。如何在多个智能体之间高效共享信息和上下文并非易事,研究团队在实证中发现,如果只依靠 WebPlanner 的分析,有可能会在信息收集阶段由于 WebSearcher 内部的局部感知场丢失有用的信息。为了解决这个问题,他们利用有向图边构建的拓扑关系来简化上下文如何在不同智能体间传递。
具体来说,在 WebSearcher 执行搜索任务时,它的父节点以及根节点的回答将作为前缀添加在其回答中。因此,每个 WebSearcher 可以有效地专注于其子任务,同时不会丢失之前的相关上下文或者忘记最终的查询目标。
本地部署
7 月初,上海人工智能实验室已经开源了搭载 MindSearch 架构的 InternLM2.5-7B-Chat 模型。
除了直接点击链接,跳转到体验 Demo 试玩。研究团队还公开了 MindSearch 的完整前后端实现,基于智能体框架 Lagent,感兴趣的朋友可以在本地部署模型。
- 在线 Demo:https://mindsearch.openxlab.org.cn/
- 开源代码:https://github.com/InternLM/mindsearch
在 GitHub 下载 MindSearch 仓库后,输入如下命令就可以打造属于自己的 MindSearch 了:
# 启动服务
python -m mindsearch.app --lang en --model_format internlm_server## 一键启动多种前端# Install Node.js and npm
# for Ubuntu
sudo apt install nodejs npm
# for windows
# download from https://nodejs.org/zh-cn/download/prebuilt-installer
# Install dependencies
cd frontend/React
npm install
npm start
#SELF-GUIDE
CMU&清华新作:让LLM自己合成数据来学习,特定任务性能同样大幅提升
本文主要作者来自清华大学和卡内基梅隆大学(CMU)。共同一作为清华大学计算机系本科毕业生赵晨阳,卡内基梅隆大学硕士生贾雪莹。
虽然大规模语言模型(LLM)在许多自然语言处理任务中表现优异,但在具体任务中的效果却不尽如人意。为了提升模型在特定自然语言任务上的表现,现有的方法主要依赖于高质量的人工标注数据。这类数据的收集过程既耗时又费力,对于数据稀缺的任务尤为困难。
为了解决这个问题,一些研究尝试通过强大的 Teacher Model 生成训练数据,来增强 Student Model 在特定任务上的性能。然而,这种方法在成本、可扩展性和法律合规性方面仍面临诸多挑战。在无法持续获得高质量人类监督信号的情况下,如何持续迭代模型的能力,成为了亟待解决的问题。
来自卡内基梅隆大学和清华大学的研究团队提出了 SELF-GUIDE 方法。该方法通过语言模型自身生成任务特定的数据集,并在该数据集上进行微调,从而显著提升模型在特定任务上的能力,无需依赖大量外部高质量数据或更强大的 Teacher Model。具体来说,在外部输入大约 3 个样例的情况下,SELF-GUIDE 采用多阶段的生成和过滤机制,利用模型生成的合成数据进行微调,使模型在特定任务上的表现更加出色。
- 论文地址:https://arxiv.org/abs/2407.12874
- 代码仓库:https://github.com/zhaochenyang20/Prompt2Model- SELF-GUIDE
图 1:SELF-GUIDE 利用模型自主合成数据的能力提升模型执行特定任务的能力。
方法
具体来说,研究团队将 SELF-GUIDE 方法分解为三个主要阶段:输入数据生成、输出数据生成和质量优化。
输入数据生成
在 SELF-GUIDE 框架的设计和实现过程中,研究者首先根据任务类型(生成型任务或分类型任务)指定不同的提示模板。对于生成型任务, SELF-GUIDE 框架使用一个相对简单的提示模板。而对于分类型任务, SELF-GUIDE 框架则采用了另一种策略。对于分类任务, SELF-GUIDE 框架首先从全部标签空间中随机选择一个标签,将其作为条件生成的伪标签,指导输入数据的生成。选定伪标签后, SELF-GUIDE 框架使用较为复杂的条件生成模板,引导模型生成与所选伪标签相对应的输入内容。
图 2:SELF-GUIDE 的核心在于一个高效的多阶段生成机制,其中语言模型逐步生成输入数据输出数据组合。经过生成和过滤后,自生成的数据进一步用于微调语言模型本身。此图描述了 SELF-GUIDE 针对生成任务的流程。
选定模板并填充示例(few-shot examples)后,完整的提示被传递给 LLM,以生成输入数据。每轮提示后,新生成的输入会被添加到输入库中。从这个库中随机抽取一部分输入,并与初始示例中的输入合并,形成新的提示,逐步扩展 LLM 生成的输入集并且减少重复。SELF-GUIDE 仅进行一轮输入生成,随后在质量优化阶段,应用基于规则的过滤器来去除低质量的输入。
图 3:此图描述了 SELF-GUIDE 完成分类任务的过程。对于分类任务的数据,SELF-GUIDE 首先生成伪标签,然后生成对应的输入,最后重新生成真实标签。
输出数据生成
输出数据生成阶段采用了典型的上下文学习方法:研究者向模型提供任务指令和原始示例,使模型对输入生成阶段产生的每一个输入进行标注。在获取所有输出后,再进行一轮基于规则的过滤,以选择最终的合成数据集。
质量优化
生成数据的质量对于下游训练的成功至关重要。SELF-GUIDE 采用了两种策略来提高质量:调整生成参数以提高生成质量并基于规则过滤掉低质量样本。
调整温度:调整温度是一种平衡多样性和质量的常见策略。SELF-GUIDE 框架在输入生成阶段使用较高的温度以鼓励多样性,在其他阶段通过使用较低的温度确保得到概率最高的输出,从而保证整体数据质量。然而,仅依靠温度调整不足以实现所需的平衡。因此, SELF-GUIDE 还在输入生成后和输出注释后分别进行了两轮基于规则的数据过滤。
噪声过滤(Noise Filter):研究者手动整理了一份噪声术语列表,包括常见的问候语和噪声字符(例如,生成内容中的”\\”)。如果生成示例的输入或输出中出现了任何来自这份列表的噪声术语, SELF-GUIDE 将丢弃整个示例。
长度过滤(Length Filter):虽然示例的长度可能存在偏差,但是研究者认为这些示例在特定任务的长度分布方面仍然具有代表性。SELF-GUIDE 假设示例的长度遵循正态分布,并计算出输入样例的均值 μ 和标准差 σ,研究者假定生成示例的输入和输出长度应符合同一正态分布,并要求长度在 (μ − 2σ, μ + 2σ) 范围内。
整体参数微调(One Parameter Fits All):为了使 SELF-GUIDE 生成符合指令和示例指定目标分布的训练数据,需要在标注数据点上优化各种超参数,包括生成输入输出的个数、输入数据生成的温度、输出数据生成的温度、微调参数等。研究者将实验测试任务分为两部分:一部分可以利用所有数据进行验证以调整生成参数,称为验证任务;另一部分的数据仅用于测试而不可用于调整参数,称为测试任务。研究者在验证任务上搜索 “最大化最差任务性能” 的参数,并将其固定用于测评 SELF-GUIDE 在测试任务上的表现。
实验结果
为了评估 SELF-GUIDE 的有效性,研究者从 Super-NaturalInstructions V2 基准中选择了 14 个分类任务和 8 个生成任务。研究者随机选择了一半任务用于超参数搜索,剩余的一半用于评估。在模型方面,研究者选择了 Vicuna-7b-1.5 作为输入生成、输出生成和微调的基础模型。在评估指标方面,研究者采用了与 Super-NaturalInstructions 基准相同的评估指标,即分类任务的 Exact Match 和生成任务的 ROUGE-L。
为了体现 SELF-GUIDE 的效果,研究者将 SELF-GUIDE 与其他指令跟随和上下文学习方法进行了比较:
1.Few-Shot ICL:作为主要基准,研究者与直接提示语言模型进行了比较。这种方法直接依赖于模型固有的指令跟随能力。
2.Self-ICL:Self-ICL 使用自生成的示例来提高零样本指令跟随。研究者在 Self-ICL 工作的基础上进行了修改,通过自生成尽可能多的示例(而不是固定个数的示例)填充提示词,从而增加参考样本数目。
3.Few-Shot Finetuning:直接利用输入的少量示例进行微调。
SELF-GUIDE 原文主要实验结果如下所示。在基准的评估指标上,分类任务的绝对提升达到了 14.5%,而生成任务的绝对提升则达到了 17.9%。这些结果表明, SELF-GUIDE 在指导 LLM 向任务特定专业化方向发展方面具有显著效果,即使在数据极其有限的情况下。这突显了自我生成数据在大规模适应 LLM 到特定任务中的潜力。更多实验结果和消融实验请参考论文原文。
图 4:对于每类任务(分类和生成任务),研究者将任务随机分成两半,一半用于调试 “One Parameter Fits All” 策略的参数,另一半用于使用这些调试好的参数测试 SELF-GUIDE 的性能。我们使用相同的解码参数和提示模板来评估模型在 SELF-GUIDE 前后的表现。
总结
SELF-GUIDE 框架鼓励模型自主生成训练数据并在此数据上进行微调。实验结果表明,这种方法在提升大规模语言模型特定任务的专业能力方面具有巨大潜力,尤其是在数据有限的情况下,SELF-GUIDE 可以有效解决缺少训练数据的问题。同时,这也为探索自主模型适应和持续学习的技术提供了参考。研究者希望这一工作能够推动 AI 系统在自主对齐和改进机制方面的发展,使其更加符合人类的意图。
#无人车大战打响
美国萝卜日爆8000单破纪录,中美对决已到关键转折点
中美「萝卜赛跑」,已进入历史转折点!美国旧金山的日均无人车服务单量,已经超越出租车,洋萝卜来势汹汹,中国无人驾驶的巨大市场岂能拱手让人?这场中美之战,已经是箭在弦上,不得不发了。
就在刚刚,数据显示:自动驾驶汽车Waymo 8月份在旧金山的日均服务单量已超8800单,远超同期的出租车工作日日均6307单。
工作日出租车平均单量(旧金山交通管理局)
这一历史性的转折时刻,意味着美国自动驾驶发展已经达到了新的里程碑——传统出行方式,已被自动驾驶的入场彻底变革。
这也标志着美国市场无人车接受度,达到了前所未有的高度。
这也会进一步坚定资本市场和政策层面对自动驾驶的看好——
市场认可带来的连锁式效应下,投资机构将更坚定加码自动驾驶领域,各企业都将获得更多资金,用于技术研发、测试和规模化生产;政策上,相关法规也会加快完善,为企业提供更宽松、开放的环境。
双重推动力下,美国的自动驾驶技术将快速迭代、保持全球领先。
同时,这一事件也再次将全球人工智能的竞争推向高潮,在自动驾驶领域,中美两国正在进入决胜时刻!
这场「输不起的战役」,如今已经分秒必争抢。全球竞争格局,已经愈发白热化。
这是因为,「洋萝卜」们已经悄悄开始围追堵截了。
全球人工智能决战自动驾驶
今年3月起,Waymo在旧金山半岛扩大了服务范围。紧接着6月再次获批,在旧金山全域开放无人驾驶出行服务。
出人意料的是,其服务规模快速增长,单量半年内翻三番,从每周5万直接飙升至每周15万单。
与此同时,通用旗下Cruise宣布,将在今年晚些时候恢复全无人驾驶服务,计划2025年初重启收费服务。
这也是美国今年,针对Cruise的第二次政策松动。4月Cruise获批在亚利桑那州凤凰城以少量人类驾驶车辆恢复运营。
到了9月,Waymo正式官宣与Uber合作,推动无人车队大规模落地,加速商业化布局。
不仅如此,谷歌母公司Alphabet还在加大对Waymo投资,为进一步扩张,研发自动驾驶技术注入新的动力。
就在半个月前,这家公司刚宣布完成56亿美元的C轮超额认购融资,这也是Waymo迄今为止筹集的最大一轮融资。
目前,估值超450亿美金。
若说美国自动驾驶领域十月大事件,便是马斯克官宣推出无人驾驶出租车CyberCab。
他在Q3财报电话会议中透露,已面向内部员工开启了CyberCab的测试,有望在明年正式开启服务。
而且,CyberCab将在2026年实现大规模量产,年产量有望达200万,最终增至400万辆。
而且,在那场We,Robot会上,特斯拉还首次演示了旗下包括Model Y、Model S等所有车型,未来都将配备全自动驾驶的能力。
也就意味着,未来的私家车,也可以上路接单。
这一步步举措,可以预见的是,一旦特斯拉无人出租车投入使用,在全球扩张的速度不容小觑。
「洋萝卜」来了,蛋糕谁能吃?
因为综合了人工智能、通信、半导体、汽车等多项技术,并且涉及产业链长、价值创造空间巨大,自动驾驶已经成为各国汽车产业与科技产业跨界、竞合的必争之地。
纵观全球,美国已经为自动驾驶大开绿灯,科技巨头间合纵连横,纷纷加码布局。
德国、日本、英国等多个传统汽车制造商,也已下场无人驾驶。从国家战略层面上,他们就立法动作不断,希望通过抢占「制度高地」发展先机。
而在国内,无人驾驶出租车市场如今仍是一片蓝海。
这块蛋糕我们自己不去吃,自然会有谷歌、特斯拉这类「洋萝卜」去吃。
全球自动驾驶出租车市场规模在2024年约为27.7亿美元,预计到2034年将达到约1889.1亿美元,年复合增长率60.03%
随着「洋萝卜」前后夹击,全球人工智能已经到了决出生死的关键时刻,在自动驾驶全球竞争的最前沿战场,萝卜快跑就是「萝卜抢跑」。
全球自动驾驶企业数量最多的两个国家是哪两个?答案就是中国和美国。
谁能率先跑通、建起产业链,谁就能定义赛道、向其他国家输出技术产品。
谁先抢占先机,谁就能占据主动权。
其实,全球自动驾驶行业的爆发,离不开人工智能和大模型技术的应用和推动。
这是因为,自动驾驶是视觉大模型重构物理世界的典型应用。
而这背后,必然是一场事关钱袋子的比拼。
比如,特斯拉今年就会投资100亿美元用于AI的训练和推理,推理主要用于汽车。
马斯克甚至还有这样一句名言:任何支出达不到每年100亿美元水平或者无法高效部署的公司,都无法在市场上竞争。
现在,全球顶尖科技公司都在加大AI领域的投资和布局,国内岂能输掉先机?
好在,国内玩家中,已经有一位「上桌」了!
没错,它就是百度旗下的萝卜快跑。
1天1万单,「土萝卜」正成为通勤首选
凭着对行业异常敏锐的嗅觉,百度自2013年,就一直在坚持压强式、马拉松式的研发投入,在人工智能和自动驾驶领域累计研发投入近1700亿元。
也是因为这多年的积累,让萝卜快跑成为国内唯一一家能够做到规模化、常态化测试的企业。
从技术创新到落地应用,萝卜快跑正打造中国自动驾驶领域的新标杆。
截至目前,萝卜快跑已覆盖全国10+个城市,并在多个城市提供了无人驾驶出行服务。
最新Q2财报交出了最亮眼的成绩单:1天1万单,累计服务超700万次!不仅如此,单季度订单创新高,增速依旧加快。
土萝卜能够取得里程碑成就,是十年磨一剑的结果。在人工智能和自动驾驶超1700亿元的投入,已经转化为实实在在的技术优势:
2022年,率先发布无方向盘的无人驾驶汽车。
2023年10月,正式宣布用大模型重构自动驾驶。
5月,发布全球首个支持L4级自动驾驶大模型Apollo ADFM(Auto-Driving Foundation Model),率先实现大模型在自动驾驶领域技术应用突破。
Apollo ADFM能够做到同时兼顾技术安全性、泛化性,安全性超越人类驾驶员10倍以上,实现城市级全域复杂场景全覆盖。
不仅如此,百度累计获5000+自动驾驶专利,高级别自动驾驶专利数量全球居首。萝卜快跑始终将「安全」放在首位,截止今年6月,在超1亿公里实际道路测试里程中,实现0重大伤亡事故。
而且,每辆无人车/乘客配备保额500万元保险。另有过去两年数据显示,实际车辆出险率仅为人类司机1/14。
据称,百度即将面向全球用户,发布Apollo自动驾驶开放平台10.0版本,将搭载自动驾驶大模型ADFM。
可见,不论在技术投入,还是研发层面,萝卜快跑有信心、有实力,与Waymo、特斯拉等外企全面比拼,甚至毫不逊色。
虽已拿下10城,但随之而来的问题是,萝卜快跑如何能在全国大范围铺开?
时间紧迫,急需突破卡脖子困境
与洛杉矶和旧金山半岛允许Waymo全区域全天候商业化运营不同,我国大部分核心城市对Robotaxi的开放力度仍显不足——多为限定区域和时段的小范围应用。
不知不觉间,中外自动驾驶的差距可能就会这样拉开。
因此,如今的时间已经很紧迫,我们必须在政策上迎头赶上。
其实早在今年两会期间,就有多位代表委员呼吁,鼓励地方先行先试,在深圳、北京、上海等地对自动驾驶大力支持,探索更大范围、更广空间和更多场景应用。
显然大家都已看出,今日中外自动驾驶的竞争,不但包括技术竞争,比拼的也是政策创新,以及政府支持企业的决心。
汽车产业规模大、先进技术集成度高、产业关联度强,已经是美国、中国、日本、德国等制造大国的重要支柱产业。
而颠覆性技术无人驾驶,则直接关乎各国汽车产业的国际竞争力和全球产业分工格局。
现在,美国在联邦和州政府层面已经发布了一系列法规,逐步对自动驾驶向更高等级发展进行松绑。
英国《自动驾驶汽车法案》还获得了王室批准,为自动驾驶产业在英国的发展建立了全套的法律框架。
而在我国,只有政策更进一步开放,才能支持萝卜快跑等无人驾驶企业的发展,以实现我国无人驾驶在国际赛场上的领跑。
虽然我国已经将自动驾驶作为新型产业发展的重点领域,工信部等相关部委也出台了一系列相关发展战略、规划和标准,但政策体系仍然亟待完善。
如果想要进一步发展,就亟须在各部门、各地方现有政策法规基础上,加强国家层面立法顶层设计,抓住当前《道路交通安全法》修订契机,加快法律文件出台,为自动驾驶构建完善的协同支持和监管体系。
唯有扎实推进行业规范和地方立法,才能促进无人驾驶车辆早日实现规模化落地应用。
技术创新是就业的敌人?Never
在萝卜快跑刚刚试运行时,坊间也有一些不一样的声音。
但其实,技术创业从来都不是就业的敌人。
纵观历史上每一次技术革命,最终都会催生新的就业岗位,为更多的人带去就业机会。
的确,自动驾驶的普及,会在一定程度上减少对传统驾驶员,如出租车司机、货运司机的需求。
然而,这种替代并非意味着岗位的消失,而会推动就业结构升级,同时带来无数新的机遇。
比如,无人驾驶技术带动了传感器制造、算法研发、系统集成等产业的发展,势必会催生大量新的就业机会。
形成高质量的数字产业集群后,自动驾驶这个全新业态,应用场景还有诸多想象空间。
招聘平台数据已经显示,自动驾驶产业的招聘需求在逐年攀升,已成为就业市场的新热点。
近期人力资源和社会保障部就发布了公示,拟增加智能网联汽车测试员等19个新兴职业纳入职业目录。
老司机新身份:主驾安全员、跑路测试员
同时急缺的,还有人工智能数据标注师这类岗位。
据估计,在中国已有数以百万计的「人工智能数据标注师」,有望成为新劳动力蓄水池。
另外,自动驾驶行业也在大量招聘安全员,职责包括数据跟踪与采集、问题记录与反馈、紧急情况处理等。
不仅仅是萝卜快跑,多个招聘平台信息显示,自动驾驶安全员已经成为小马智行、文远知行、小米汽车、滴滴等多家企业的热招岗位。
在不远的将来,自动驾驶将成为对GDP拉动最大的创新技术之一。
作为新质生产力的典型代表,自动驾驶的应用前景令人期待。
更为重要的是,它还能推动就业结构的深刻变革,促进劳动力市场的深刻转型。
而且,自动驾驶也是推动传统实体经济转型升级的新兴科技力量。
从智慧物流到无人配送,我们的生活毫无疑问已经被这项技术重塑。
而从国际层面看,自动驾驶赢,才能代表着人工智能赢,才能不面临卡脖子的局面!
当下,我们正站着一个关键的历史节点。自动驾驶不仅仅是一场技术革命,更是一场重塑未来生产力的革命。
在这场没有硝烟的竞争中,中国更不会缺席。
面对Waywo、特斯拉等「洋萝卜」的奋起直追,中国「土萝卜」还需要跑得更快,飞得更高。
参考资料:
https://www.cpuc.ca.gov/regulatory-services/licensing/transportation-licensing-and-analysis-branch/autonomous-vehicle-programs/quarterly-reporting
https://www.sfmta.com/reports/average-weekday-taxi-trips
#序列并行4,Megatron Context Parallel
图解大模型训练系列
本文详细解释了Megatron Context Parallelism(CP)的工作原理和实践方法。
在序列并行系列中,我们将详细介绍下面四种常用的框架/方法:
1.Megatron Sequence Parallelism:本质是想通过降低单卡激活值大小的方式,尽可能多保存激活值,少做重计算,以此提升整体训练速度,一般和它家的tp配套使用。
2.DeepSpeed Ulysses:我们知道ds家的zero是模型并行的形式,数据并行的本质。在这个情况下,单张卡是完整地做一条序列的MHA过程的,序列长度较长时,就会对单卡显存产生压力。所以Ulysses的解决办法是,让单张卡只算全部seq的某个/某些head的结果,具体实践起来就是先通过按seq维度切割卡的输入,再通过all2all通讯来做。
3.Ring Attention:相当于分布式的Flash Attention V2(我个人的理解),它最终的效果是让每张卡只算自己所维护的那部分seq_chunk的MHA。
4.Megatron Context Parallelism:可以看成是增强版的sp,引入了类ring-attention的技术(在tp-pp-dp rank相同的位置做ring-attention),联合Megatron的各种混合并行方式进行训练。
今天,我们来讲最后一部分Megatron Context Parallelism,把它放在最后的原因是:
Megatron cp可以看成是在保持megatron sp混合并行框架的基础上,引入cp维度的并行。而cp并行的本质其实是做attention部分的优化。所以你可以把megatron sp混合并行理解成整体框架,cp理解成局部优化。
Megatron cp在实践上和朴素的ring attention非常相似,但是它做了计算上的负载均衡处理,我们在本文中会详细讲解这一点。
Megatron cp也有尝试做deepspeed ulysses + ring attention的结合,这一点也写在cp的核心逻辑中,但这不是本文讲解的重点。
综合来看,本文要讲解的重点是megatron tp + cp + dp + pp的混合并行,同时重点关注纯cp部分的实践方法。
关于megatron cp,算是一个比较新的还在持续发展的项目,目前官方没有给出具体的论文,只有一个很简短的官网介绍(https://docs.nvidia.com/megatron-core/developer-guide/latest/api-guide/context_parallel.html),从官网介绍中我们可以大致理解上面说的“在保持megatron sp混合并行框架的基础上,引入cp维度并行”的大致含义。但是这篇文章真得太短了(苦笑),所以cp的细节只能从源码层面来解读。(然而,请让我再次吐槽一次😢😢,cp的实践横跨了megatron-lm和TranformerEngine两个仓库,代码真得写得太冗余、太杂、太混乱了...所以这真是一篇暗含泪水的解读)。
虽然是从源码的阅读中推测出了cp的核心技术,但是本文不打算写成一篇源码解读的文章。本文将把源码运作流程抽象成一张张具体的图例,来说明cp主要做了什么事,在每一节的最后配上相关的代码链接,大家可以配合着图例自行阅读。如此一来,尽量让这篇文章变成纯原理式的文章,不让大家被冗长的代码分心。
一、分布式环境初始化
首先,我们来看在引入cp的前提下,megatron是如何做混合并行的,具体情况如下:
- tp = 2, cp = 2, dp = 2, pp = 2。那么有num_gpu = tp * cp * dp * pp = 2_2_2*2 = 16。也就是我们需要16张卡。假设我们的一台机器内有8张卡,则我们需要2台机器。
- 我们不考虑ep维度(即ep=1),因为本质上它不影响cp维度的并行(cp维度是对attention做优化,ep可以理解成是mlp层的操作)
- 在考虑如何设置并行group时,我们采用的顺序是tp-cp-ep-dp-pp,我们认为越靠前的并行组,通讯量越大,所以尽量安排在一台机器内。例如对于tp group,它的每一个sub-tp group关联的2张卡都位于同一台机器中。tp-cp-ep-dp-pp是megatron代码默认的顺序,我们当然可以根据实际情况做修改,但前提就是要考虑通讯量。
- 由于dp=2,所以我们假设有2个micro-batch,分别是batch0和batch1。由于cp=2,每个batch都被从seq维度上切成两份。
在这些前置条件下,我们绘制出了上面的分布式配置图片,我们以gpu0为例:
- 首先,对于一个模型,它沿着layer层被横向切成2份(pp=2),沿着权重被纵向切成2份(tp=2)。对应到我们的图里,就是4个不同颜色的色块组成一个完整的模型。
- 对于gpu0来说,[0,1,8,9]组成了一个mp group,拥有一个完整的模型
- 对于gpu0来说,[0,1]组成了tp组,这意味着0和1将吃相同的输入X,然后分别计算X的不同head的结果
- 对于gpu0来说,[0,8]组成了pp组,这意味着0和8之间会做层间激活值的传递
- 对于gpu0来说,[0,2]组成了cp组,0和2上维护着相同的模型权重,但是分别维护着同一个batch的seq_chunk0,seq_chunk1
- 对于gpu0来说,[0,4]组成了dp组,0和4上维护着相同的模型权重,但是分别维护着不同batch的seq_chunk0。
总结来看,引入megatron cp,其实就是:
- 我们先假设不对输入X做任何序列维度的切分,这时我们就得到了原始的megatron tp-dp-pp组。
- 现在引入cp,意味着我们要把输入X切分成cp_size份,所以我们只需要把原始的tp-dp-pp组拷贝cp_size份,就得到了最终的分布式配置。
- 所以我们在前文中才说,相同的tp-dp-pp rank位置就是新的cp组。例如图中所展示的tp-dp-pp group中,0和2都是各自group内的local rank = 0的元素,所以他们组成一个的cp组;1和3都是各自group内local rank = 1的元素,所以他们组成一个cp组,以此类推。
好,现在我们已经知道了如下内容:
- cp组的设置方式
- 同一个cp_group内的各张卡维护着:【相同的模型权重】、【相同batch的不同seq_chunk】
- 一个cp组的最终目标是:通过类ring attention的方式,计算出自己所维护的这个seq_chunk在自己所负责的这个head上的结果。
所以接下来,我们马上来看计算细节。分布式初始化的代码在https://github.com/NVIDIA/Megatron-LM/blob/main/megatron/core/parallel_state.py中,大家可以配合上述讲解自行阅读。
二、负载均衡的Ring Attention2.1 朴素Ring Attention
如上图所示,我们在ring attention篇中讲过一个朴素ring attention的运作流程:
- 每张卡上固定维护着某个seq_chunk的Q
- 每张卡上轮转不同seq_chunk的KV值
- 每张卡上,Q和当前轮转到的(K, V)数据做attention计算,然后通过类似Flash Attention V2的方式更新output(细节这里不赘述,大家可以去看上面链接中的文章)
- 当所有的KV值轮转完毕后,每张卡上就得到了最终的output。
例如以Q0为例,整个计算过程如下:
但是,朴素ring attention存在一个较大的问题:计算负载不均衡。
假设我们使用的是causal mask,也就是在attention计算对于某个token,它只和自己及之前的tokens做attn,而不关心后面的token。但是在当前ring attention的划分下:
- 对于gpu0,它维护着Q0,这也意味着后面流转过来的(K1, V1)(K2, V2)(K3, V3)都是位于它之后的tokens产出的结果,它根本不需要和它们做attn,这时gpu0的计算就被浪费了。
- 对于其余gpu也是同理。只有维护着最后一块Q分块的gpu3能在每次流转中都做好计算,没有浪费计算资源。
- 这就是我们所说的,causal mask下朴素ring attention的计算负载不均问题。
2.2 负载均衡版Ring Attention
分块attention的计算其实是和计算顺序无关的,核心是只要每次计算时我们都能拿到当前分块的output,当前未做softmax前attention score矩阵的max和sum相关信息,我们就能正常更新最终的output。(如果对这句话不太理解,可以看下上面链接里给的文章,这里不再展开了)
在理解了这一点的基础上,我们重新设计Ring Attention中每块卡上存放的seq_chunk:
如上图所示,假设cp_size = 4,也就是我们打算在4块gpu上做ring attention。
- 首先,对于原始输入数据X,我们将其切分为2*cp_size = 8块,也就是上图的0~7 chunk
- [0,7],[1, 6],[2, 5], [3, 4]分别组成4个seq_chunk,安放在gpu0~gpu3上。
- 则在ring attention下,每块gpu上计算cp_size次后,就能得到最终的output。例如对于gpu0,计算4次后,就能得到[0, 7]这两个位置最终的attention结果。
- 图中接着展示了在不同的iteration中,每块卡上的计算情况,可以发现:
- i = 0时,每张卡上都是4个小方块在做attn计算
- i = 1/2/3时,每张卡上都是3个小方块在做attn计算
- 总结来看,每个iteration中,各卡的计算量是相同的。不存在朴素ring attention上某些卡空转的情况。
同时注意到,当i = 1/2/3时,总有Q或者KV块不参与计算,如果我们用rank表示这是cp_group内的第几块gpu(例如rank=0就是上面cp_group中的第0块gpu),则对于某张卡,我们有如下规律:
- i = 0,该卡上所有的QKV块参与计算
- i <= rank时,该卡上第2个KV块不参与计算
- i > rank时,该卡上第1个Q块不参与计算
用于分配哪张卡上应该维护哪些Q块的代码在:https://github.com/NVIDIA/Megatron-LM/blob/main/megatron/training/utils.py#L233
用于处理实际QKV计算时应该保留哪些数据块,去掉哪些数据块的代码在:https://github.com/NVIDIA/TransformerEngine/blob/main/transformer_engine/pytorch/attention.py#L1901
大家可以自行阅读
三、计算和通讯的overlap
在ring attention中我们讲解过,对于一张卡,如果我们能让它在计算attn的同时,把自己的KV发送给下一张卡,同时从上一张卡中获取新的KV,这样我们就能实现【计算】和【通讯】的并行,以此来掩盖通讯要带来的额外时间开销。
具体到代码的时间上,我们可以创建不同的cuda流(torch.cuda.Stream())来实现这一目标。对于cuda流的作用你可以简单理解成:一个cuda流中可能包含若干串行的操作,而不同的cuda流是可以并行执行的。这样,我们就可以定义一个cuda流用于计算attn,再定义一个cuda流用于做通讯。
但在megatron cp中,其实一共包含3个cuda流,我们来简单认识一下它们:
- NCCL stream:定义在cp_group内,是用于做KV发送和接收的cuda流
- Stream0和Stream1:都是用于做计算的cuda流,这两个流的作用是可以并行执行attn的计算和softmax_lse的更新。
- 也就是说,megatron cp中,除了对【计算】和【通讯】做了并行,还对计算中的【attn】和【softmax_lse更新】做了并行。
【计算】和【通讯】的并行好理解,我们现在来快速解释下【attn】和【softmax_lse更新】的并行是什么意思。
在之前的系列中,我们已经讲过ring attention更新output的方式非常近似于Flash Attention V2,所以我们贴出Flash Attention V2的fwd过程,来看下output是如何更新的:
- 图中第10行展示了每次output的更新过程
- 图中第12行是,对于一块Q,当我们轮转了所有的(K, V)后,我们使用第12行的公式对output再做一次性的更新,这才得到了这块Q最终的output。而第12行的结果,就是我们说的softmax_lse。
- 但是,另一种做法是,我们可以把第12行的结果放进第10行做,也就是对于一块Q,每轮转1次(K,V),计算attn时,我们就可以这次轮转算出的attn score矩阵算出max和sum,进而更新softmax_lse,然后用于更新本次轮转的output,这就是ring attention采用的做法,目的应该是尽量减少精度损失。至于FA2中为什么把第10行和第12行拆开做,本质是为了减少非矩阵乘法的计算量,以此提升计算速度(之前的文章讲过,这里不再赘述。)
- 所以,对于ring attention,总结来看它的每次计算都分成两块:
- 【attn:算出本次轮转的output】
- 【softmax_lse更新:基于本次轮转的结果更新softmax_lse,用于修正output】
现在我们已经基本了解【attn】和【softmax_lse更新】的定义了,那么现在我们就直接来看megatron cp中这3个cuda流的运行过程,然后来解释什么叫【attn】和【softmax_lse更新】的并行:
上图刻画了在cp_size = 4的情况下,某张卡上的流转过程,具体而言:
- i = 0时
- 切换到stream0上开始执行
- 在stream0上开启发送/接收KV数据的流程,而这个流程则实际由NCCL stream开始执行
- 在stream0上做attn计算。attn计算结束后,会得到output和softmax_lse0。由于这是i=0阶段,所以我们不用做softmax_lse的更新
- 我们要注意区分“算出softmax_lse_i"和“更新softmax_lse”的区别。
- i = 1时:
- 我们需要等待(wait)本次计算需要的KV值到位,这里我特意假设计算无法完美覆盖通讯,所以我们多了等待时间。
- 等数据到位后,我们就开启新的发送/接收KV数据的流程,这个这个流程则实际由NCCL stream执行。
- 接着我们正常做attn计算,得到本次的output和softmax_lse1。
- 同时开启stream0和stream1流程
- 在stream0流程中,我们令softmax_lse = softmax_lse0,这时我们先不做任何softmax_lse的更新。
- 在stream1流程中:
- 不难发现,此时我们在stream0和stream1中已经实现了【attn】和【softmax_lse更新】的并行,只是这里不是严格的softmax_lse更新
- i= 2时:
- 同时开启stream0和stream1流程。
- 在stream1流程中,我们开始做真正意义上的【softmax_lse更新】,即softmax_lse = correction(softmax_lse, softmax_lse1)
- 在stream0流程中,我们做【attn】计算,得到新的output和softmax_lse2。同时开启NCCL stream做数据发送
- i = 3时:
- 同时开启stream0和stream1流程。
- 在stream0流程中,我们做【softmax_lse更新】,即softmax_lse = correction(softmax_lse, softmax_lse2)
- 在stream1流程中,我们做【attn】计算,得到新的output和softmax_lse3。此时我们已经无需再做数据通讯了,因为这是最后一轮流转。
- i = 4时:
- 只需要启动stream1,做最后一次【softmax_lse更新】,即softmax_lse = correction(softmax_lse, softmax_lse3)即可。
这张通讯图我们还做了一些简化,例如当我们每次做【softmax_lse更新】时,我们都需要保证上一次更新的结果已经计算完毕,所以这里可能也是需要做wait的,为了表达简便,这边略去。
本节以及整个cp核心代码在https://github.com/NVIDIA/TransformerEngine/blob/main/transformer_engine/pytorch/attention.py#L1867中,大家可以配合上面的图例更好阅读代码。
#OpenAI安全副总裁、北大校友Lilian Weng宣布离职
翁荔的技术博客深入、细致,具有前瞻性,被很多 AI 研究者视为重要的参考资料。如今,她离开了 OpenAI,开启新的征程。而且她表示,之后可能有更多时间频繁更新博客。
自从 Sam Altman 重新执掌 OpenAI 以来,该公司就陷入了持续不断的高管离职潮中。虽然近段时间有些外部新高管加入,但很显然这个离职潮仍未结束。
就在刚刚,OpenAI 安全系统团队负责人翁荔(Lilian Weng)在 X 上宣布将离开已经工作了近 7 年的 OpenAI。同时,她还公开分享了发给团队的离职信,不过其中并未明确说明她接下来的职业计划。
推文发布后,OpenAI 内外的一些知名人士为其送上了祝福,包括著名研究科学家 Noam Brown、OpenAI 首席信息安全官 Dane Stuckey、思维链提出者 Jason Wei 等等。
当然,许多网友也纷纷送上了自己的祝福,毕竟她不仅在 OpenAI 推动了安全相关的研究和实践,偶尔更新的博客 Lil’Log 也实实在在地帮助了很多人。
Lilian Weng 博客地址:https://lilianweng.github.io/
以下是她与团队分享的离职信的中文版:
亲爱的朋友们,
我做出了离开 OpenAl 的艰难决定。11 月 15 日将是我在办公室的最后一天。
OpenAl 是我成长为科学家和团队领导者的地方,我将永远珍惜与我一路共事和结交的朋友在一起的时光。OpenAl 团队一直是我的知己、老师,也是我身份认同的一部分。
我还记得 2017 年 OpenAl 的使命让我多么着迷,一群人梦想着一个不可能实现的科幻未来。在这里,我一开始研究的是全栈机器人难题 —— 从深度强化学习算法到感知再到固件 —— 目标是教会单台机械手如何解决魔方问题。整个团队花了两年时间,但我们最终做到了。
当 OpenAl 进入 GPT 范式,我们开始探索将最佳 AI 模型部署到现实世界的方法时,我组建了第一个应用研究(Applied Research)团队,推出了微调 APl、嵌入 APl 和审核端点的初始版本,为应用安全工作奠定了基础,并为许多早期 API 客户提供了新的解决方案。
GPT-4 发布后,我被要求接受一项新挑战,重新考虑 OpenAl 安全系统的愿景,并将工作集中在一个拥有完整安全椎栈的团队之下。那是我曾做过的最困难、压力最大又最激动人心的事情之一。现在,安全系统(Satety Systems)团队有超过 80 位出色的科学家、工程师、产品经理、政策专家,而且我为我们作为一个团队所取得的一切成就感到非常自豪。我们一起成为了每次发布的基石 —— 从 GPT-4 及其视觉和 turbo 版本到 GPT Store、语音功能和 o1。我们在训练这些模型使其既强大又负责任方面所做的工作为行业树立了新的标准。我为我们在 o1-preview 模型方面取得的最新成就感到特别自豪,它是我们迄今为止最安全的模型,在保持其实用性的同时,表现出对越狱攻击的卓越抵抗力。
我们一起取得了令人瞩目的成就:
- 我们训练模型使其明白,通过遵循一套定义明确的模型安全行为政策,可以让其很好地拒绝敏感或不安全的请求,包括何时拒绝或不拒绝,从而在安全性和实用性之间取得良好的平衡。
- 在每次模型发布时,我们都提高了其对抗稳健性,包括防御越狱攻击、指令层次结构以及通过推理大幅提升稳健性。我们在透明度方面的承诺都已体现在我们详细的模型系统卡中。
- 我们开发了业界领先的具有多模态能力的审核模型,并免费分享给了公众。我们目前在更通用的监控框架和增强的安全推理能力方面的工作将为更多的安全工作流提供支持。
- 我们为安全数据记录、指标、仪表板、主动学习管道、分类器部署、推理时间过滤和全新的快速响应系统建立了工程开发基础。
回顾我们所取得的成就,我为安全系统团队的每个人都感到骄傲,我非常有信心团队将继续蓬勃发展。我爱你们❤️。
现在,在 OpenAl 工作了 7 年后,我准备重新开始并探索一些新东西。OpenAl 正处于火箭般的增长轨迹上,我只希望这里的每个人都一切顺利。
附言:我的博客还在,会继续下去。我可能很快就会有时间更频繁地更新它,也可能会有更多时间来编程;)
爱你们的,
Lilian
Lilian Weng 介绍
Lilian Weng 是 OpenAI 华人科学家,她 2018 年加入 OpenAI,参与了 GPT-4 项目的预训练、强化学习 & 对齐、模型安全等方面的工作。她本科毕业于北大,曾前往香港大学进行短期交流,博士毕业于印第安纳大学伯明顿分校。
根据领英资料显示,Lilian Weng 在 OpenAI 已经工作了近 7 年时间,担任安全研究副总裁一职。
2021 年 - 2023 年工作期间,Lilian Weng 建立并领导了应用人工智能研究团队,包括产品研究、合作伙伴研究和应用安全,从而使得 OpenAI 的 API 更强大、更实用、更安全。
之前,她还是 OpenAI 机器人团队的技术主管,专注于训练关于机器人任务的算法,如教机械手如何解决魔方、旋转方块等。
在加入 OpenAI 之前,她还在 Facebook、Dropbox 从事软件工程和数据科学方面的工作。
Google Scholar 显示,Lilian Weng 论文引用量超过 13000 多次。
闲暇时间,Lilian Weng 还写了一些关于 AI 的博客文章,她的博客深入、细致,具有前瞻性,被很多 AI 研究者视为重要的参考资料(见文末「扩展阅读」)。感兴趣的读者可以前去阅读。
#AI有鼻子了,还能远程传输气味,图像生成香水
最近,一个名叫 Osmo 的初创公司宣布,他们成功地将气味数字化了。第一个成功的案例是「新鲜的夏季李子」,而且复现出的味道「闻起来」很不错。整个过程依靠 AI 技术来完成,不需要人工干预。有了这项技术,你就可以像下载音乐一样下载香水了。
这个发帖的 Alex Wiltschko 是 Osmo 的 CEO 和联合创始人。「将气味数字化」进而「生成气味」最初只是他在谷歌工作期间的一个研究项目。但在 2022 年,他在 Lux Capital 和谷歌风投的支持下,将其作为一家独立的初创公司推出。
「我一直热衷于了解气味。它是一种非常强大的情绪感官,但我们对它却知之甚少」Wiltschko 在接受 CNBC 采访时说。
在复刻出李子的香味后,Wiltschko 非常激动,「带着这个香味去了很多地方」。
至于这项研究的用途,Osmo 的官方说法是「改善人类的健康和幸福」,因为嗅觉数字化对帮助医疗人员检测、治疗疾病至关重要。比如,医生可以用气味来触发患者记忆或减轻焦虑。
此外,它还有可能在 VR 游戏、电影中发挥作用,增加 VR 设备的沉浸感。
或者,你还可以用这项技术来留住亲人的气味,但「按月付费」就有点讽刺了。
当然,这些都是长期愿景。在近期,Wiltschko 希望 Osmo 能制造出更安全、更可持续的香味分子,用于香水、洗发水、驱虫剂和洗衣粉等日常用品中的香料。
,时长00:59
用数千个香气分子训练 AI 模型
Osmo 的官网上简单列出了他们的研发历史:
0. 在 Osmo 建立之前,Alex Wiltschko 在谷歌研究院领导着这个团队,他们使用先进的机器学习技术构建了 Osmo 气味映射图的基础。
1. 取得了一项重大突破,可使用图神经网络根据分子结构预测其气味。
2. 创造了以前从未闻过的新分子并以超越人类的准确度进行了预测。
3. 设计出了蚊子觉得难闻的气味分子(例如驱虫剂),并且在人体试验中比避蚊胺(DEET)更有效。
而要更具体地了解 Osmo 的研发历程,我们还要从 Wiltschko 的早期经历说起。
Wiltschko 2009 年在密歇根大学获得了神经科学学士学位,并在哈佛大学学习嗅觉神经科学,于 2016 年获得博士学位。
第二年,他成为谷歌研究院的一名研究科学家,在那里,他花了五年时间领导一个团队,利用机器学习帮助计算机根据分子结构预测不同分子的气味,并使用机器学习软件开发了 「主要气味映射图(principal odor map/POM)」。
这项研究发表在 2023 年 9 月的《科学》杂志上。据介绍,POM 坐标可以用于预测气味强度和感知相似性,即使这些感知特征并非模型训练的显式组成部分。这些结果已被用于构建多种嗅觉预测模型 —— 即使没有微调,其表现也优于以前的特征集。
来自 Science
为了构建这个气味地图,他的团队在一个包含 5000 个芳香分子的数据集上训练他们的 AI 模型,这些芳香分子涵盖了各种气味类别,如花香、果香或薄荷味。
Wiltschko 发现,由于分子结构复杂,计算机在分析分子时可能会比较棘手 —— 只要移动一个分子键,分子的气味就可能从玫瑰变成臭鸡蛋。
但得益于人工智能技术的进步,该模型能够捕捉到分子不同结构中的模式,并利用这些知识准确预测其他分子的气味。
值得一提的是,用来训练模型的数据集确实来之不易。
Wiltschko 说,大型语言模型可以通过「整个互联网」的数据进行训练,但当他们开始构建人工智能模型时,还没有类似的气味信息数字图书馆。
所以,他们花了大约一年的时间与香水行业的公司合作。起初,他们以为这些公司会有很棒的数据集,但事实并非如此。
这促使 Wiltschko 和他的团队创建了「一种新的数据」。
为此,他们收集了数千种分子以及调香大师对其气味的描述。然后,他们将这些数据输入图神经网络(GNN),该网络属于机器学习的范畴,使用强大的算法来检测和分析数据点之间的关系。
Wiltschko 说,他的团队可以使用 GNN 来帮助 AI 模型理解原子、连接它们的键以及分子结构如何决定其气味。
气味数字化大有用途
气味数字化可以开拓出前所未有的应用场景,最基础的就是气味的远程传输。Wiltschko 表示,Osmo 希望最终能够利用自己的技术,将一个地方的气味数字化,然后在另一个地方再造一个完全相同的副本,从而实现气味的远程传送。
事实上,该公司最新更新的博客表示,他们已经成功了。
具体来说,选择一种要传输的气味,并将其放入一台 GCMS(气相色谱 - 质谱)机。如果该气味的来源是液体,就直接注入;如果是固体样品(比如李子),就使用顶空分析,也就是将气味困在物体周围的空气中,并通过管子吸收。
GCMS 会识别原始数据(可以视为分子),并将其上传到云。在那里,它会成为主要气味映射图上的坐标 —— 这是一种新颖、先进的人工智能驱动工具,可以预测特定分子组合的气味。
然后,这个配方会被发送到一台配方机器人,它会基于该配方来混合不同的气味,从而复现样品的气味。
在另一项成果展示中,Osmo 表示他们使用 AI 发现了前所未「嗅」的配方,并且他们一口气向欧美市场发布了三种前有未有的香水气味分子。他们将之分别命名为 Glossine、Fractaline、Quasarine。他们还为这三种香水气味编写了美妙的描述。举个例子,对于 Glossine,他们写到:「一种充满活力的花香,让人联想到茉莉花,后调和中调散发出耀眼的亮泽。这种迷人的分子可为之前的任何香水增添耀眼的拉斯维加斯式光彩。」
此外,Osmo 也在研究多模态 AI,具体来说,他们研究的是基于图像生成对应的气味,当然图像又可以进一步基于文本而生成。下面演示了一个案例:
可以看到,用户只需输入文本提示词,AI 就会帮助你生成图像(用户也可直接上传图像),然后再进一步为你生成分子配方。当然,如果你还想亲身闻到这些气味,还需要相应的设备。
事实上,他们已经在线发布了这款工具 Inspire,目前支持文本和图像输入,但他们也表示未来还会支持音乐、PDF、幻灯片和视频输入。感兴趣的读者可以注册尝试一下:https://inspire.osmo.ai/landing
这项技术背后彰显着无限的可能性。举个最明显的例子,也许未来我们还能观看带有气味的电影,实现视觉、听觉和嗅觉的全方位体验 —— 这或许能给那些风景如花的电影变得更加好看以及好闻。
这个节目看起来一定很香
最后,Wiltschko 表示 Osmo 还有一项长期目标,即利用这项技术帮助更早地识别疾病。也许未来,我们在体检时会有一个 AI 通过它的机器鼻子来判断我们的健康状况。
参考链接:
https://www.cnbc.com/2024/08/18/former-google-researchers-startup-uses-ai-to-digitize-smell.html
https://www.science.org/doi/10.1126/science.ade4401
https://www.osmo.ai/