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

具身智能论文问答(三):Open VLA

第一层核心直觉 (TL;DR - 宏观视角)核心痛点尽管像 RT-2 这样的视觉-语言-动作模型VLA展现出了惊人的泛化能力但它们大多是闭源的普通研究者难以访问 。同时以前的开源通才策略如 Octo往往需要从头拼凑不同的网络模块缺乏端到端的高效微调最佳实践 。核心 Idea作者提出了OpenVLA一个拥有 7B70亿参数的开源 VLA 模型 。它的核心思路是拿一个已经用海量互联网数据训练好的视觉-语言大模型VLM具体是 Prismatic-7B将其直接放在包含了 97 万条真实机器人轨迹的庞大数据集Open X-Embodiment上进行微调让它学会输出机器人的控制指令 。直观比喻想象你要教一个人开车。传统机器人学习就像是教一个刚出生的婴儿他连红绿灯和汽车长什么样都不知道得从零教起。而 OpenVLA 的思路是找一个“已经读完大英百科全书的成年人”预训练的视觉语言模型拥有常识和视觉理解能力然后直接给他看 97 万集“第一人称开车视频”机器人轨迹他就能迅速且稳健地学会开车甚至能应对从没见过的奇葩路况泛化能力。第二层技术框架 (High-Level - 系统架构视角)整体架构 (Pipeline)视觉编码器 (Vision Encoder)将输入的图像转化为特征向量 。MLP 投影层 (Projector)将视觉特征映射到语言大模型的输入空间中 。大语言模型骨干 (LLM Backbone)使用 Llama 2 7B将视觉特征和文本指令结合以自回归Next-token prediction的方式预测机器人的动作系统的输入与输出输入一张单视角的 RGB 图像环境观察 自然语言指令例如Put eggplant in bowl 。输出7 维的连续机器人动作$X, Y, Z$ 上的位移三个旋转角度 $\Delta \theta$以及夹爪的开合程度 $\Delta Grip$ 。这些连续动作会被转化为离散的文本 Token 输出 。与 Baseline 的核心差异与闭源的 RT-2-X 相比OpenVLA 参数量小了一个数量级7B vs 55B但在多个通用操作任务上绝对成功率高出了 16.5% 。与开源的 Octo 相比Octo 倾向于从头训练并“缝合”预训练组件而 OpenVLA 采用端到端的微调策略把动作直接当做语言词表里的 Token 来预测架构更简单且扩展性更强 。采用了融合的视觉编码器SigLIP DINOv2相比单一编码器如 CLIP能同时捕获高级语义和低级空间特征 。第三层硬核细节 (Deep Dive - 研究与复现视角)核心算法与机制设计动作离散化 (Action Tokenization)连续动作必须变成大模型能懂的离散 Token。作者将每个动作维度划分为 256 个 bin 。巧妙的是他们没有使用简单的最大最小值而是使用训练数据中 $1^{st}$ 到 $99^{th}$ 分位数来确定边界这样可以有效忽略异常值Outliers对分辨率的破坏 。词表替换Llama 2 预留的特殊 Token 不够用作者直接暴力但有效地覆盖了 Llama 词汇表中最不常用的后 256 个 Token 作为动作 Token 。损失函数使用标准的交叉熵损失进行下一个 Token 预测并且仅计算动作 Token 的损失实验设置与核心 Metrics训练数据基于 Open X-Embodiment 数据集经过严格清洗的 970k 条轨迹 。测试评估在 BridgeData V2、Google 移动机器人以及多个 Franka 机械臂环境中进行 。Metrics核心指标是不同泛化轴视觉、运动、物理、语义泛化上的绝对任务成功率。消融实验 (Ablation Study) 的关键结论最重要提升OpenX 大规模数据预训练。剥离 OpenX 数据仅在目标数据集微调会导致性能暴跌 30% 。视觉编码器必须解冻微调。以前 VLM 领域的共识是冻结视觉塔效果好但在机器人控制中作者发现如果不解冻并微调视觉编码器模型对细粒度空间细节的掌控力极差性能会大幅下降 。融合视觉编码器的红利。移除 DINOv2 仅使用 SigLIP会导致 5% 的性能下降证明空间特征DINOv2对控制有增益 。低秩微调 (LoRA)仅训练 1.4% 的参数$r32$就能达到全参微调的性能彻底打通了消费级显卡单张 A100几小时内完成新任务适配的路径 。第四层批判与拓展 (Reviewer 视角)当前方法的局限性观测模态单一目前 OpenVLA 仅支持单图像输入缺乏对多相机视角Multi-camera和本体感觉Proprioception如关节角度历史数据的支持 。推理速度与控制频率瓶颈在未经量化加速的情况下RTX 4090 上的推理速度仅为 6Hz 。对于需要 50Hz 控制频率的高动态或高灵巧任务如 ALOHA 系统的双臂操作目前的速度远远不够 。缺乏时间平滑性OpenVLA 是一个单步动作预测模型没有引入扩散策略Diffusion Policy中的动作分块Action Chunking技术这导致在需要高精度和时间一致性的灵巧操作上表现不如从头训练的扩散模型 。下一步突破口 (Future Work)多模态时间序列融合引入交错的图文预训练 VLM使其原生支持多帧图像历史和本体状态输入以解决部分遮挡和复杂状态估计问题 。推理加速与动作分块的结合利用投机解码Speculative Decoding或结合 Action Chunking 机制让大模型一次吐出未来的一系列轨迹点而不是单个点以此跨越低频控制带来的物理限制进军双臂精细操作领域 。数据协同训练 (Co-training)探究如果在微调机器人动作的同时保持一定比例的互联网图文数据训练是否能进一步减少“灾难性遗忘”提升语义泛化能力 。Level 1: 基础概念与直觉 (Foundation Intuition)核心定位与之前像 RT-2 这样的闭源庞然大物或者 Octo 这样依赖模块拼接的开源基线相比OpenVLA 最大的架构差异和核心开源贡献是什么 输入与输出映射作为一个纯粹的自回归语言模型OpenVLA 具体是如何将机器人连续的 7 维空间动作末端执行器的 XYZ 位移、旋转和夹爪开合转化为模型可以预测的“语言”的 Level 2: 架构与技术细节 (Architecture Technical Details)视觉特征的互补为什么 OpenVLA 的视觉编码器没有选择单一的 CLIP 或 SigLIP而是选择了融合 SigLIP 和 DINOv2这两种特征分别在机器人操作中起到了什么互补作用 冻结与微调的反常识在训练传统的视觉语言大模型VLM时主流做法通常是冻结Freeze视觉编码器以保留预训练的通用特征。为什么在 OpenVLA 中作者发现“解冻并全参微调”视觉塔反而是极其关键的 动作分词的鲁棒性在把连续动作离散化为 256 个 bin 时作者为什么选择基于数据分位数1st 到 99th quantile而不是直接使用简单的最小-最大边界min-max bounds Level 3: 实验现象与微调范式 (Experiments Fine-tuning)海量数据的本质消融实验表明如果剥离 Open X-Embodiment 数据集仅仅在目标机械臂的子数据集上微调模型的成功率会暴跌 30% 。你认为这种基于多具身数据的预训练到底为模型注入了什么层面的能力是视觉鲁棒性、还是语义对齐 平民化的适配策略对于资源有限的个人开发者或实验室论文推荐了哪一种参数高效微调PEFT策略使得模型可以在单张消费级显卡上快速适配新任务且几乎不损失全参微调的性能 Level 4: 领域前沿与架构拓展 (Frontier Architectural Extension)融入 3D 空间感知拓展题目前 OpenVLA 仅依赖单视角的 RGB 图像输入 。如果我们希望在输入侧引入深度图Depth map或点云Point clouds来增强三维空间感知你认为在现有的 Prismatic 骨干网络结构中应该如何设计特征对齐和融合的切入点结合层次化控制拓展题OpenVLA 目前是直接输出单步底层动作的“端到端”模型。如果我们采用“大小脑Big Brain / Small Brain”的分层控制架构——让 OpenVLA 作为大脑袋负责任务拆解和语义子目标规划让 Diffusion Policy 作为小脑负责高频、灵巧的底层动作生成。这种架构能解决目前 OpenVLA 的哪些固有痛点 部署与动态延迟拓展题论文提到在 8-bit 量化推理时由于算力导致的推理延迟降低了控制频率直接改变了系统的物理动力学特征导致任务成功率骤降 。在准备未来的实机演示或实习汇报时除了硬件升级你会考虑在算法侧采用哪些技术手段比如 Action Chunking 或 Speculative Decoding来弥合大模型延迟带来的控制鸿沟 Level 1: 基础概念与直觉1. 核心定位 OpenVLA 的核心贡献在于它是一个完全开源的高性能模型打破了 RT-2 等商业模型在权重和训练细节上的封闭性 。与 Octo 这种从头训练并拼凑各个预训练组件视觉、语言分立的做法不同OpenVLA 采用了端到端End-to-End的直觉范式它直接将预训练的视觉-语言大模型Prismatic-7B作为骨干把机器人动作当成一种外语通过语言模型的自回归机制进行微调预测 。2. 输入与输出映射 模型将 7 维连续动作如 $X, Y, Z$ 坐标、旋转角和夹爪状态的每个维度独立离散化为 256 个 bin 。为了不增加 Llama Tokenizer 的词表大小从而导致底层 embedding 维度变动作者极其直接地用这 256 个动作 Token 覆盖了词汇表中最不常用的后 256 个特殊 Token 。随后模型像预测下一个单词一样通过标准的交叉熵损失仅计算动作 Token 的损失来预测动作序列 。Level 2: 架构与技术细节3. 视觉特征的互补 SigLIP 擅长全局语义理解比如“这是一个红色的苹果”但缺乏精确的物理坐标感而 DINOv2 是在自监督下训练的能够提取非常细粒度、低级别的空间和几何边界信息 。两者的特征在通道维度拼接后使得模型在面对需要高精度对齐和避障的复杂物理操作时拥有了显著增强的空间推理能力 。4. 冻结与微调的反常识 在传统的 VLM 任务如视觉问答中冻结视觉塔能更好地保留互联网规模预训练的常识 。但机器人控制是一个高频的物理交互过程原生的互联网图像特征缺乏极其微小的空间位移感知能力 。解冻并进行全参微调能让视觉编码器直接适应真实的物理操作几何场避免机器人在执行中出现迷之抖动或不稳定行为 。5. 动作分词的鲁棒性 使用 1% 到 99% 的分位数进行离散化是为了过滤掉训练数据中极少数异常的超大动作值Outliers 。如果直接使用 min-max bounds这几个极端值会把动作区间的上限和下限拉得极大导致划分出的 256 个 bin 的实际物理粒度分辨率变得非常粗糙从而严重降低控制精度 。Level 3: 实验现象与微调范式6. 海量数据的本质 剥离 Open X-Embodiment 数据集会导致性能暴跌 30%这主要损失了模型跨场景、跨物体的视觉鲁棒性与语义泛化能力。实验表明如果仅在目标数据上微调模型其实能完成简单的单一指令但在面临多指令干扰、从未见过的桌面背景或新物体Semantic Generalization时OpenX 数据集注入的“见多识广”的先验底座是决定成败的关键 。7. 平民化的适配策略 对于资源有限的团队论文首推使用LoRA低秩微调Rank32策略 。该策略只需要更新模型 1.4% 的参数就能完全媲美全参微调的成功率并且在单张 A100 显卡上仅耗时 10-15 小时即可完成对新任务的适配 。Level 4: 领域前沿与架构拓展8. 融入 3D 空间感知拓展如果要将点云或深度图融入 Prismatic 骨干网络一种优雅的思路是采用“补丁即 Token (Patch-as-token)”的思想。现有的 DINOv2 已经能处理 2D 空间特征我们可以通过 PointNet 或 PointMAE 提取三维点云的局部几何特征将其投影到与 2D Tokens 相同的维度作为独立的 3D Tokens。在进入大语言模型前将 RGB 提取的 2D 语义 Tokens 与三维几何 Tokens 在序列层面进行级联Concatenation。这样既不需要大幅修改原有的注意力机制又能为 VLM 补足纯视觉极度缺乏的绝对深度感知。9. 结合层次化控制拓展 采用 Big Brain / Small Brain 分层架构正好能弥补 OpenVLA 目前输出单步底层动作的局限性。受限于 7B 的庞大体量OpenVLA 难以达到 50Hz 等高频控制要求且由于未引入动作分块Action Chunking精细操作不够平滑 。我们可以让 OpenVLA 作为“大模型”负责复杂语义推理、场景常识理解和长期任务分解将其输出的子目标坐标或中间层 Embedding作为 Condition 喂给底层的 Diffusion Policy或类似 $\pi_0$ 这样的小模型。这样由“小脑”负责高频、灵巧的局部轨迹生成既保住了 VLA 强大的零样本泛化又打通了工业级的高频闭环。10. 部署与动态延迟拓展 延迟带来的控制频率下降会直接改变系统原有的动力学特性这是导致 8-bit 量化任务成功率骤降的核心原因 。在六月份推进实机部署或向导师做技术方案汇报时除了采用 4-bit 量化实测能跑 3Hz 且显存减半 算法层面的终极解法是引入Action Chunking。让 VLA 一次自回归吐出未来 $T$ 个时间步的动作序列在下一次极耗时的推理完成前开环执行这几步动作 。此外利用投机解码Speculative Decoding让一个小模型去猜测下一个 Token大模型只做并行验证也是目前在不牺牲精度的前提下加速 VLA 部署的最优工程路径之一 。

相关文章:

具身智能论文问答(三):Open VLA

第一层:核心直觉 (TL;DR - 宏观视角)核心痛点: 尽管像 RT-2 这样的视觉-语言-动作模型(VLA)展现出了惊人的泛化能力,但它们大多是闭源的,普通研究者难以访问 。同时,以前的开源通才策略&#xf…...

终极罗技鼠标宏配置指南:3步实现绝地求生零后坐力压枪

终极罗技鼠标宏配置指南:3步实现绝地求生零后坐力压枪 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为绝地求生中的武器后坐力…...

毕业季不焦虑:用百考通AI搞定论文查重与AIGC检测,高效通关秘籍

又到一年毕业季,论文写作进入最后冲刺阶段,不少同学在熬夜码字之后,又迎来了两座“大山”——论文查重和AIGC(AI生成内容)检测。辛辛苦苦写出来的论文,很可能因为重复率过高或AI使用痕迹过重而被卡住&#…...

你的网盘下载还在龟速吗?这个开源工具帮你三分钟搞定全速下载

你的网盘下载还在龟速吗?这个开源工具帮你三分钟搞定全速下载 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘…...

如何3步搞定华硕笔记本性能优化:G-Helper完整调优指南

如何3步搞定华硕笔记本性能优化:G-Helper完整调优指南 【免费下载链接】g-helper G-Helper is a fast, native tool for tuning performance, fans, GPU, battery, and RGB on any Asus laptop or handheld - ROG Zephyrus, Flow, Strix, TUF, Vivobook, Zenbook, P…...

MAA明日方舟助手:终极自动化解放你的游戏时间

MAA明日方舟助手:终极自动化解放你的游戏时间 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://gitcode.com…...

5步精通REFramework:打造你的RE引擎游戏Mod开发利器

5步精通REFramework:打造你的RE引擎游戏Mod开发利器 【免费下载链接】REFramework Mod loader, scripting platform, and VR support for all RE Engine games 项目地址: https://gitcode.com/GitHub_Trending/re/REFramework 在当今游戏Mod开发领域&#xf…...

CF1458C 题解

以后可能随机发一点小题解,不再执着于完美整理一整份大题解了。 1. 状态表示 先把所有量转成 0∼n−10 \sim n-10∼n−1(行、列、值都减一),并在模 nnn 意义下计算。 对一个元素,用四维向量表示: X(i, j, t…...

3步掌握:Nucleus Co-Op本地分屏游戏终极方案

3步掌握:Nucleus Co-Op本地分屏游戏终极方案 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 还在为喜欢的游戏不支持本地多人联机而烦恼…...

保姆级教程:用Vector CANoe的LIN Slave Conformance Tester搞定一致性测试

从零到精通的LIN节点一致性测试实战指南 当你第一次接手LIN节点测试任务时,面对Vector CANoe那复杂的界面和专业术语,是不是感觉无从下手?别担心,这份指南将带你一步步掌握LIN Slave Conformance Tester模块的使用技巧。不同于市…...

MTKClient终极指南:解锁联发科设备的底层控制权

MTKClient终极指南:解锁联发科设备的底层控制权 【免费下载链接】mtkclient MTK reverse engineering and flash tool 项目地址: https://gitcode.com/gh_mirrors/mt/mtkclient MTKClient是一款革命性的开源工具,专为联发科芯片设备提供深度底层操…...

绝区零一条龙:智能自动化助手让你的游戏时间效率提升300%

绝区零一条龙:智能自动化助手让你的游戏时间效率提升300% 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 你是否…...

避坑指南:YOLOv5换MobileNetV3主干时,concat层和特征图对齐的那些坑我都帮你踩过了

YOLOv5主干网络替换实战:MobileNetV3特征图对齐与concat层避坑指南 当你决定用MobileNetV3替换YOLOv5的主干网络时,本以为能轻松获得轻量化的优势,却在特征图拼接环节遭遇各种维度错误。这不是简单的模块替换问题,而是需要深入理解…...

CloddsBot:基于Python的云存储自动化机器人框架设计与实践

1. 项目概述与核心价值最近在折腾一些自动化流程,发现很多重复性的文件上传、下载、同步任务,如果手动操作不仅耗时,还容易出错。尤其是在处理一些跨平台、跨存储服务的文件时,比如从本地传到云端,或者从一个网盘搬到另…...

昆明靠谱装修设计工作室大盘点,究竟哪些值得你选择?

在昆明,装修设计行业竞争激烈,各种装修设计工作室层出不穷。对于业主来说,如何选择一家靠谱的装修设计工作室成为了一大难题。今天,我们就来盘点一下昆明靠谱的装修设计工作室,重点介绍一下胡桃善锦原创设计&#xff0…...

Forge.OpenAI.ErrorOr:优雅处理OpenAI API错误的函数式解决方案

1. 项目概述与核心价值如果你在.NET生态里折腾过OpenAI的API,大概率会和我一样,经历过一段“痛并快乐着”的时光。快乐在于,大语言模型的能力确实让人兴奋;痛则在于,处理API调用中的各种异常和错误状态,代码…...

终极指南:如何在Blender中高效创建和管理VRM虚拟角色

终极指南:如何在Blender中高效创建和管理VRM虚拟角色 【免费下载链接】VRM-Addon-for-Blender VRM Importer, Exporter and Utilities for Blender 2.93 to 5.1 项目地址: https://gitcode.com/gh_mirrors/vr/VRM-Addon-for-Blender VRM Addon for Blender是…...

避坑指南:CentOS 7最小化安装下部署Zabbix 6.4最容易踩的5个雷(附解决方案)

CentOS 7最小化环境部署Zabbix 6.4的五大典型故障与实战修复手册 当你在一台刚完成最小化安装的CentOS 7服务器上部署Zabbix 6.4时,就像在雷区中穿行——稍有不慎就会触发各种依赖缺失、版本冲突和配置错误。本文将揭示五个最致命的"地雷",并提…...

绝区零一条龙:3步实现游戏全自动化的终极指南

绝区零一条龙:3步实现游戏全自动化的终极指南 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 在《绝区零》的快…...

如何在5分钟内解放你的星穹铁道游戏时间?三月七小助手完整指南

如何在5分钟内解放你的星穹铁道游戏时间?三月七小助手完整指南 【免费下载链接】March7thAssistant 崩坏:星穹铁道全自动 三月七小助手 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 你是否每天花费大量时间在《崩坏&#xff…...

从可视化拖拽到SDF源码:Gazebo模型编辑器的“两面性”与进阶之路

从可视化拖拽到SDF源码:Gazebo模型编辑器的“两面性”与进阶之路 当你第一次在Gazebo中拖拽出一个机器人模型时,那种所见即所得的成就感令人着迷。但随着项目复杂度提升,你会发现图形界面开始变得力不从心——为什么这个嵌套模型无法编辑&…...

LinkSwift技术方案:八大网盘直链解析与高效下载实战指南

LinkSwift技术方案:八大网盘直链解析与高效下载实战指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...

从人口普查到App A/B测试:一文读懂整群抽样与系统抽样的实战选择

从人口普查到App A/B测试:整群抽样与系统抽样的技术决策指南 在数据驱动的决策时代,抽样方法的选择直接影响着实验结果的可靠性。想象这样一个场景:你的团队需要为一款拥有2亿用户的社交应用测试新消息通知功能,直接全量发布风险太…...

从Monkey测试到bugreport解析:一份给Android测试工程师的Crash分析实战手册

从Monkey测试到bugreport解析:Android测试工程师的Crash分析实战指南 在移动应用质量保障体系中,Crash问题始终是影响用户体验的首要威胁。根据行业数据统计,超过60%的一星应用评价直接源于未修复的崩溃问题。对于Android测试工程师而言&…...

5款惊艳VLC皮肤:告别单调界面,打造专属播放体验

5款惊艳VLC皮肤:告别单调界面,打造专属播放体验 【免费下载链接】VeLoCity-Skin-for-VLC Castom skin for VLC Player 项目地址: https://gitcode.com/gh_mirrors/ve/VeLoCity-Skin-for-VLC 你是否曾为VLC播放器那千篇一律的默认界面感到厌倦&…...

WebAI逆向工程:将网页AI服务封装为可调用API的实战指南

1. 项目概述:从WebAI到API的桥梁搭建最近在折腾一个挺有意思的项目,叫“WebAI-to-API”。这个名字听起来有点技术范儿,但说白了,它的核心目标非常直接:把那些原本只能在网页上点点划划才能用的AI模型,变成一…...

ComfyUI-Manager:如何在无网络环境中部署AI节点管理神器?

ComfyUI-Manager:如何在无网络环境中部署AI节点管理神器? 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable…...

从上帝视角到像素射线:用大白话图解LSS如何让自动驾驶汽车‘脑补’出3D世界

从上帝视角到像素射线:用大白话图解LSS如何让自动驾驶汽车‘脑补’出3D世界 想象一下,你正坐在一辆自动驾驶汽车里,眼前只有几个摄像头的2D画面,但车辆却能像鸟瞰一样"看"到周围360度的立体世界——这就是BEV&#xff0…...

魔兽争霸III终极优化指南:WarcraftHelper完整使用教程

魔兽争霸III终极优化指南:WarcraftHelper完整使用教程 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III这个经典游戏在现…...

macOS滚动方向个性化控制:Scroll Reverser深度技术解析与实战指南

macOS滚动方向个性化控制:Scroll Reverser深度技术解析与实战指南 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 多设备输入环境下的滚动行为冲突问题 在现代macOS…...