分类: AI

  • OpenVINO-Java-API

    📚 简介

    OpenVINO™ 是一个用于优化和部署 AI 推理的开源工具包,旨在提升深度学习在计算机视觉、自动语音识别、自然语言处理和其他常见任务中的性能。它支持使用流行框架(如TensorFlow,PyTorch等)训练的模型,减少资源需求,并在从边缘到云的一系列英特尔®平台上高效部署。

    该项目通过Java Native Access (JNA) 实现了基于OpenVINO™工具套件的OpenVINO™ Java API,旨在推动 OpenVINO™在Java领域的应用。由于是基于 OpenVINO™ 开发,OpenVINO™ Java API 支持的所有平台与OpenVINO™ 一致。

    版本计划

    • 1.0: 实现基本函数,并提供Yolov8范例
    • 1.1: 实现Maven在线安装
    • 2.0: 实现库本地加载,告别复杂安装
    • 3.0: 实现在线加载

    Java库公示

    • JNA
    • OpenCV
    • OpenVINO

    ⚙ 如何安装

    以下文章提供了OpenVINO™ Java API在不同平台的安装方法,可以根据自己使用的平台进行安装。

    简短安装步骤

    1. 在OpenVINO官网下载对应平台的runtime库
    2. 将Runtime库加入环境变量
      • Windows: 放在系统路径中
      • Linux/Mac OS: 将库文件放入 /usr/lib/

    详细使用文档

    🏷 开始使用

    快速体验

    使用以下代码简单了解OpenVINO Java API的使用方法:

    public class OpenVINOTest {
    
        public static void main(String[] args) {
            // 实现OpenVINO 库加载
            OpenVINO vino = OpenVINO.load("libopenvino_c.dylib");
            // 如果将库放置在系统路径中,可以这样简写
            // OpenVINO vino = OpenVINO.load();
            Core core = new Core();  // 初始化 Core 核心
            Model model = core.read_model("./model.xml");  // 读取模型文件
            CompiledModel compiled_model = core.compiled_model(model, "AUTO");  // 将模型加载到设备
            InferRequest infer_request = compiled_model.create_infer_request();  // 创建推理通道
            Tensor input_tensor = infer_request.get_tensor("images");  // 获取输入节点Tensor
            infer_request.infer();  // 模型推理
            Tensor output_tensor = infer_request.get_tensor("output0");  // 获取输出节点Tensor
            // 清理 Core 非托管内存
            core.free();
        }
    }

    项目中所封装的类、对象例如Core、Model、Tensor等,通过调用 C API 接口实现,具有非托管资源,需要调用 dispose() 方法处理,否则就会出现内存泄漏。

    💻 应用案例

    • 爱克斯开发板使用OpenVINO™ Java API部署Yolov8模型
    • 基于Spring Boot 的在线AI服务
    • 基于客户端模式运行

    测试系统

    • Mac OS: Sonoma
    • Ubuntu: 23.04 (64位)
    • Windows

    🗂 API 文档

    (链接到相关API文档)

    🔃 更新日志

    (链接到更新日志)

    🎖 贡献

    如果您对OpenVINO™ 在Java使用感兴趣,有兴趣对开源社区做出自己的贡献,欢迎加入我们,一起开发OpenVINO™ Java API。如果你对该项目有一些想法或改进思路,欢迎联系我们,指导我们的工作。

    许可证书

    本项目的发布受Apache 2.0 license许可认证。


    GitHub 仓库地址: Hmm466/OpenVINO-Java-API


    通过这个项目,您可以在Java中更方便地使用OpenVINO™进行AI推理,加速您的开发流程并优化性能。如果有任何问题或建议,欢迎在仓库中提出Issue或进行讨论。


    OpenVINO™ Java API 安装指南(Windows)

    当前验证/测试环境

    • Windows: 7
    • JDK: 11.0.10
    • OpenVINO Runtime: 2023.2.0-12538-e7c1344d3c3
    • OpenCV: 4.8.0

    OpenVINO™ 环境配置

    OpenVINO™ 是一个用于优化和部署 AI 推理的开源工具包,旨在提升深度学习在计算机视觉、自动语音识别、自然语言处理和其他常见任务中的性能。它支持使用流行框架(如TensorFlow,PyTorch等)训练的模型,减少资源需求,并在从边缘到云的一系列英特尔®平台上高效部署。

    步骤

    1. 下载OpenVINO™ Runtime库 下载适用于您电脑平台的OpenVINO™ Runtime库。
    2. 拷贝动态链接库runtime/3rdparty/tbb/lib/*.dll 拷贝至 runtime/lib/intel64/release/ 下。
    3. 配置默认库路径runtime/lib/intel64/release/*.dll 拷贝至以下任意路径之一:
    • 自己喜欢的路径
    • C. \Windows

    OpenCV 环境配置

    1. 下载OpenCV 在官网下载适用于Windows平台的OpenCV,解压缩,并将其加入环境变量。
    2. 拷贝OpenCV动态链接库opencv_java*.dll 拷贝到自己喜欢的目录,或者将 build/lib/libopencv_java*.dll 移动到自己喜欢的目录。
    3. 加载OpenCV库 使用以下代码加载OpenCV库:
       OpenVINO.loadCvDll({opencv_java所在的目录});

    OpenVINO™ Java API 安装

    源码构建

    1. 克隆代码仓库
       git clone https://github.com/Hmm466/OpenVINO-Java-API.git
    1. 使用Maven安装 在代码仓库根目录下运行:
       mvn install

    Maven 引用

    如果您想在Maven项目中引用OpenVINO™ Java API,可以在 pom.xml 文件中添加以下依赖项:

    <dependencies>
        <dependency>
            <groupId>org.openvino</groupId>
            <artifactId>java-api</artifactId>
            <version>[按照最新下载的版本填入]</version>
        </dependency>
    </dependencies>

    在线Maven 安装

    该功能将在1.1版本上线


    通过以上步骤,您可以在Windows平台上成功安装并配置OpenVINO™ Java API。如果有任何问题或需要进一步的帮助,请在GitHub仓库中提出Issue或进行讨论。

    GitHub 仓库地址: Hmm466/OpenVINO-Java-API


    OpenVINO™ 生态系统概述

    简介

    OpenVINO™ 不只是一个工具,它还是一个庞大的实用程序生态系统,提供用于开发深度学习解决方案的整套工作流程。通过详细了解每个实用程序,可以充分利用 OpenVINO™ 工具套件。

    神经网络压缩框架 (NNCF)

    NNCF 是一套用于优化神经网络推理的高级算法,可以最大限度地减少准确度下降。在训练期间,NNCF 会对 PyTorch 和 TensorFlow 模型应用量化、过滤器修剪、二值化和稀疏性算法。

    更多资源:

    OpenVINO™ 安全插件

    OpenVINO™ 安全插件为模型开发人员和独立软件开发商提供了用于进行安全封装并安全执行模型的解决方案。

    更多资源:

    OpenVINO™ 与 TensorFlow 集成 (OVTF)

    OVTF 为 TensorFlow 开发人员提供 OpenVINO™ 优化功能的解决方案。只需在应用中添加两行代码,即可将推理分载给 OpenVINO™,同时保留 TensorFlow API。

    更多资源:

    DL Streamer

    DL Streamer 是一个基于 GStreamer 多媒体框架的流媒体分析框架,用于创建复杂的媒体分析管道。

    更多资源:

    深度学习工作台

    深度学习工作台是一个用于部署深度学习模型的基于 Web 的工具。它依托 OpenVINO™ 的核心功能并配有图形用户界面,提供了一种用于探索 OpenVINO™ 工作流程的各种可能性,以及导入、分析、优化并构建预训练模型的绝佳途径。您可以通过访问英特尔® DevCloud for the Edge 并在线启动深度学习工作台,执行所有此类任务。

    更多资源:

    OpenVINO™ 训练扩展 (OTE)

    OpenVINO™ 训练扩展 (OTE) 提供了一种用于使用 OpenVINO™ 工具套件训练深度学习模型并对其进行转换,以优化推理的便捷环境。

    更多资源:

    计算机视觉注释工具 (CVAT)

    CVAT 是一款用于计算机视觉的在线交互式视频和图像注释工具。

    更多资源:

    数据集管理框架 (Datumaro)

    Datumaro 是一个用于构建、转换和分析数据集的框架兼 CLI 工具。

    更多资源:


    通过详细了解和使用这些实用工具,能够充分发挥 OpenVINO™ 的强大功能,优化和部署高性能的深度学习解决方案。

    详细文档地址: OpenVINO™ 生态系统概述


    OpenVINO™ API 2.0 迁移指南

    概述

    本指南介绍了全新的 OpenVINO™ API (API 2.0) 以及新型 OpenVINO™ IR 模型格式:IR v11。本文将对新旧版本进行比较,并提供详细的迁移步骤。

    API 2.0 简介

    在从 TensorFlow、ONNX 运行时、PyTorch、PaddlePaddle 等其他框架迁移应用时,2022.1 之前的 OpenVINO™ 版本需要更改应用逻辑。这是因为:

    • 模型优化器更改了某些输入的输入精度。例如,具有 I64 输入的神经语言处理模型已更改为包含 I32 输入。
    • 模型优化器更改了 TensorFlow 模型的布局(请参阅 OpenVINO™ 中的布局)。
    • 由于设备插件的限制,推理引擎 API (InferenceEngine::CNNNetwork) 应用了一些输入和输出精度的转换规则。
    • 在模型优化器中进行模型转换期间,用户需要指定输入形状,并在应用中使用静态形状。

    OpenVINO™ 2022.1 引入了 API 2.0(也称为 OpenVINO™ API v2),以调整使用模型的逻辑。API 2.0 未更改布局和精度,使用张量名称和索引来执行操作以对输入和输出进行寻址。OpenVINO™ 运行时将用于推理的推理引擎 API 与用于处理模型和操作的 nGraph API 结合在一起。API 2.0 有通用的结构、命名约定样式、命名空间,并移除了重复的结构。

    现有的应用将继续正常使用 OpenVINO™ 运行时 2022.1,但强烈建议迁移到 API 2.0,以便使用其他功能,如预处理和动态形状支持。

    全新 OpenVINO™ IR v11

    为了支持这些功能,OpenVINO™ 引入了 OpenVINO™ IR v11,它现在是默认版本的模型优化器。以 OpenVINO™ IR v11 表示的模型的输入和输出与原始框架格式下的原始模型完全匹配,无需在转换过程中指定输入形状。生成的 OpenVINO™ IR v11 包含 -1,用于表示未定义维度。OpenVINO™ IR v11 完全兼容借助旧版 OpenVINO™ 使用的推理引擎 API 编写的应用。这种向后兼容性归功于 OpenVINO™ IR v11 中包含的其他运行时信息。

    向后兼容 OpenVINO™ IR v10

    API 2.0 还支持向后兼容 OpenVINO™ IR v10 模型。如果您拥有 OpenVINO™ IR v10 文件,也可以将其馈送到 OpenVINO™ 运行时。某些 OpenVINO™ 开发工具也支持将 OpenVINO™ IR v10 和 v11 作为输入:

    • 精度检查器默认使用 API 2.0 来测量模型精度,也支持通过使用 --use_new_api False 命令行参数切换到旧版 API。
    • 编译工具默认编译要在 API 2.0 中使用的模型。要在推理引擎 API 下使用生成的已编译 Blob,应传递附加 ov_api_1_0 选项。

    OpenVINO™ 2022.1 的训练后优化工具和深度学习工作台不支持 OpenVINO™ IR v10,需使用最新版本的模型优化器生成 OpenVINO™ IR v11 文件。

    API 2.0 与推理引擎 API 的行为差异

    推理引擎和 nGraph API 不会因引入了新 API 而被弃用,用户仍可以在应用中使用这些 API。但强烈建议迁移到 API 2.0,因为它提供了更多功能(在未来版本中会进一步扩展),例如:

    • 使用动态形状,提高神经语言处理 (NLP) 和超分辨率模型等兼容模型的性能。
    • 预处理模型,在推理模型中添加预处理操作并完全占用加速器,从而释放 CPU 资源。

    下表说明了基于这两个 API 的模型会使用哪种行为:旧行为还是新行为。

    APIIR v10IR v11ONNX 文件使用代码创建的模型
    推理引擎/nGraph API
    API 2.0

    通过迁移到 OpenVINO™ API 2.0,您可以充分利用新特性和增强功能,提升模型推理的性能和灵活性。

    详细文档地址: OpenVINO™ API 2.0 迁移指南

  • GQA: 从多头检查点训练广义多查询变换模型

    引言

    在自然语言处理领域,如何在不牺牲模型质量的前提下实现更快的推理速度一直是一个重要的研究课题。本文将介绍一篇名为《GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints》的研究论文,该论文提出了一种从多头检查点训练广义多查询变换模型的方法,旨在解决这一挑战。

    论文贡献

    1. 现有多头语言模型检查点的再训练

    论文提出了一种再训练现有多头语言模型检查点的方法,将其转换为具有多查询注意力(MQA)的模型。MQA使用单个键值头,大幅加快解码器推理速度。通过仅使用原始预训练计算量的5%,再训练现有模型,作者旨在实现更快的推理速度,而无需单独训练一个新模型。

    2. 引入分组查询注意力(GQA)

    论文引入了GQA,作为MQA的一种广义形式。GQA使用中间数量的键值头,数量介于1和查询头总数之间。该方法旨在平衡MQA的速度和多头注意力的质量。作者通过实验表明,再训练的GQA模型在保持与MQA相当速度的同时,能够达到接近多头注意力的质量。

    方法与实验结果

    再训练方法

    论文详细介绍了再训练现有多头语言模型检查点的具体步骤。通过仅使用原始预训练计算量的5%,再训练现有模型,使其具备MQA的特点,从而实现更快的推理速度。

    GQA的实现

    GQA通过使用中间数量的键值头,增加了模型的灵活性和适应性。实验结果表明,再训练的GQA模型在多个自然语言处理任务中表现出色,质量接近于多头注意力,同时推理速度与MQA相当。

    结论

    本文提出的方法为实现更快的推理速度提供了一个有效的解决方案,而无需牺牲模型质量。通过再训练现有多头语言模型检查点,并引入分组查询注意力(GQA),可以在保持高质量的同时,实现高效的推理。这一研究对于提升变换模型在各类自然语言处理任务中的效率和性能具有重要意义。


    进一步了解:

    1. arXiv:2305.13245 – GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints
    2. Papers With Code – GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints
    3. ACL Anthology – GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints
  • 缓存与效果的极限拉扯:从MHA、MQA、GQA到MLA

    引言

    最近,幻方发布的DeepSeek-V2引起了广泛关注。其1块钱100万token的价格令人惊叹,而背后的关键技术之一——MLA(Multi-head Latent Attention)更是备受瞩目。本文将带大家梳理从MHA、MQA、GQA到MLA的演变历程,并深入介绍MLA的设计思路。

    MHA:多头注意力

    MHA(Multi-Head Attention)是《Attention is all you need》提出的注意力机制的基础。它通过多个独立的单头注意力拼接而成,广泛应用于当前的主流LLM(大语言模型)。

    MHA的设计使得每个注意力头(Head)都有独立的键(Key)、值(Value)和查询(Query)向量,这些向量通过线性变换得到。MHA的计算量和存储开销较大,特别是在长上下文(Context)情况下,KV Cache(键值缓存)会占用大量显存。

    瓶颈:为何降低KV Cache大小如此重要?

    LLM的推理主要在GPU上进行,而GPU显存有限。一部分显存用于存放模型参数和激活值,另一部分用于存放KV Cache。随着上下文长度增加,KV Cache的大小会逐渐占据主导地位,可能超出单张卡甚至单台机器的显存容量。

    减少KV Cache的目的是在更少的设备上推理更长的上下文,或在相同上下文长度下提高批处理大小,从而实现更快的推理速度或更大的吞吐量,最终降低推理成本。

    MQA:多查询注意力

    MQA(Multi-Query Attention)是减少KV Cache的一次尝试,首次提出于《Fast Transformer Decoding: One Write-Head is All You Need》。MQA的思路是让所有注意力头共享同一个Key和Value,从而将KV Cache减少到原来的1/h(h是头的数量)。

    尽管MQA在显存占用上有显著优势,但其效果在某些任务上可能有所下降。为了弥补这一损失,研究人员提出了GQA。

    GQA:分组查询注意力

    GQA(Grouped-Query Attention)是MHA与MQA之间的过渡版本,出自《GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints》。GQA将所有注意力头分为g个组,每组共享同一对Key、Value。这样既可以减少KV Cache,又能在一定程度上保留多样性。

    GQA提供了从MHA到MQA的自然过渡,当g=h时是MHA,g=1时是MQA,1 < g < h时则是GQA。GQA在KV Cache压缩率和效果之间提供了平衡。

    MLA:多头潜在注意力

    Part 1:增强模型能力

    MLA(Multi-head Latent Attention)对GQA进行了改进,采用低秩投影的方式替代GQA的分割、重复。MLA通过不同的投影矩阵增强模型能力,并在推理阶段通过恒等变换技巧减少KV Cache。

    Part 2:兼容RoPE

    MLA的一个难题是如何兼容RoPE(旋转位置编码)。RoPE是一个位置相关的矩阵,MLA通过引入一种混合方法,每个注意力头的Query和Key新增部分维度用于添加RoPE,从而保持KV Cache的减少效果。

    Part 3:减少训练参数量

    MLA的最终版本将Query输入改为低秩投影形式,减少训练期间的参数量和相应的显存占用。推理阶段,通过恒等变换技巧减少KV Cache,同时保持高效的计算。

    小结

    本文概述了多头注意力的演变历程,特别是从MHA到MQA、GQA,最终到MLA的变化理念。MLA通过低秩投影和恒等变换技巧实现了KV Cache的进一步压缩,同时兼容RoPE,称得上是一种非常实用的注意力变体。

    转载本文请包括本文地址:https://kexue.fm/archives/10091

    如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。如果您觉得本文不错,欢迎分享或打赏本文。打赏并非为了获得收益,而是希望知道科学空间获得了多少读者的真心关注。再次表示欢迎和感谢!


    苏剑林. (May. 13, 2024). 《缓存与效果的极限拉扯:从MHA、MQA、GQA到MLA》[Blog post]. Retrieved from 科学空间


    MLA(Multi-head Latent Attention)是一种对GQA(Generalized Query Attention)进行改进的注意力机制。它采用低秩投影的方式替代了GQA中的分割和重复操作,同时通过恒等变换技巧减少了KV Cache的使用。MLA的核心思想是通过不同的投影矩阵增强模型的能力,并在推理阶段通过恒等变换技巧减少KV Cache的存储和计算开销。

    MLA的改进主要解决了推理过程中的KV Cache问题,从而实现在更少的设备上推理更长的上下文,或者在相同的上下文长度下增大批处理大小,以实现更快的推理速度或更大的吞吐量,从而降低推理成本。

    与经典的MHA(Multi-head Attention)和GQA、MQA(Multi-query Attention)相比,MLA在优化KV Cache和保证模型效果方面具有显著的优势。MLA通过低秩投影的方式替代了GQA中的分割和重复操作,从而大大减小了KV Cache的大小。与MQA相比,MLA的性能和效果显著优于MQA,甚至强于MHA和GQA,真正实现了降低推理成本并保证模型性能的目标。

    MLA的核心是权重矩阵的合并。在传统的MHA中,注意力计算涉及到多个投影矩阵的乘法运算,而MLA通过合并这些投影矩阵,减少了存储和计算的开销。具体来说,MLA将(Q. ^(T)K的计算结果合并为一个矩阵,并将合并后的权重应用到输入上,从而减少了存储和计算的开销。

    然而,尽管MHA也可以进行合并,但由于其特定的计算方式,无法像MLA那样进行合并。MLA通过恒等变换技巧,将合并后的权重矩阵应用到输入上,从而实现了KV Cache的减少。

    综上所述,MLA通过低秩投影替代分割和重复操作,采用恒等变换技巧减少KV Cache的使用,从而在推理过程中降低了存储和计算的开销,实现了更高效的推理和更低的成本。


    Learn more:

    1. 还在用MHA?MLA来了DeepSeek-v2的MLA的总结和思考 – 知乎
    2. [2405.04434] DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model
    3. DeepSeek-V2中的MLA详解 – 知差(chai)
  • 生成扩散模型漫谈(二十四):少走捷径,更快到达

    引言

    在生成扩散模型的应用中,如何在保证生成质量的前提下减少采样步数一直是一个关键问题。本文将介绍一种名为“Skip Tuning”的加速技巧,该技巧出自论文《The Surprising Effectiveness of Skip-Tuning in Diffusion Sampling》。通过合理的调节Skip Connection的权重,可以在保持生成质量的同时进一步压缩采样步数,实现更快速的采样过程。

    模型回顾

    首先,我们需要回顾一下生成扩散模型中的主流架构——U-Net。U-Net最早出自论文《U-Net: Convolutional Networks for Biomedical Image Segmentation》,其特点是输入和输出的大小一致,适合图像分割任务。U-Net在生成扩散模型中也被广泛采用,因为它能够很好地捕捉图像的细节信息。

    U-Net的核心是Skip Connection,即在逐层下采样和上采样的过程中,添加了额外的连接来避免信息瓶颈。这些Skip Connection使得第一层的输出可以直接传递到倒数第一层,第二层的输出可以传递到倒数第二层,依此类推。这样可以解决信息流动受限的问题,尤其是在重构和去噪任务中,避免生成模糊的结果。

    Skip Tuning 方法

    Skip Tuning是一种特别简单有效的加速技巧,适用于已有的加速技术。其核心思想是通过调节Skip Connection的权重来补偿加速过程中损失的非线性能力。具体来说,在扩散模型的采样过程中,采样是一个多步递归地从初始状态到目标状态的过程,这构成了一个复杂的非线性映射。Skip Tuning通过调节Skip Connection的权重来增加模型的非线性能力,从而提高采样质量或者减少采样步数。

    假设有多个Skip Connection,我们将最靠近输入层的Skip Connection的权重设为一个较大的值,最远离输入层的Skip Connection的权重设为一个较小的值,剩下的按照深度均匀变化。通常情况下,我们设最靠近输入层的权重为1,这样基本上只有最远离输入层的权重需要调节。

    实验效果

    Skip Tuning的实验效果非常显著,以下是两个实验结果的表格展示:

    从实验结果可以看出,通过Skip Tuning,可以在保持采样质量的情况下显著减少采样步数。

    个人思考

    Skip Tuning方法简单明快,却体现了作者别出心裁的想象力和观察力。这与《生成扩散模型漫谈(二十三):信噪比与大图生成(下)》中的内容相呼应,展示了不同思路在生成扩散模型中的应用。

    与Skip Tuning比较相关的一篇论文是《FreeU: Free Lunch in Diffusion U-Net》,该论文分析了U-Net的不同成分在扩散模型中的作用。发现Skip Connection主要负责添加高频细节,而主干部分则主要负责去噪。Skip Tuning的实质是在降低采样步数时,通过调节Skip Connection的权重,增强主干的去噪能力。

    对于没有Skip Connection的模型,如DiT,也可以通过调节残差来获得类似的效果,因为残差的设计本质上与Skip Connection类似,都是线性正则化的inductive bias。

    文章总结

    本文介绍了一个能有效提高扩散模型加速采样后生成质量的技巧——降低U-Net的Skip Connection的权重。整个方法框架非常简单明快,直观易懂,值得学习和应用。

    转载本文请包括本文地址:https://kexue.fm/archives/10077

    更详细的转载事宜请参考:《科学空间FAQ》

    如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

    如果您觉得本文不错,欢迎分享或打赏本文。打赏并非为了获得收益,而是希望知道科学空间获得了多少读者的真心关注。再次表示欢迎和感谢!


    苏剑林. (Apr. 23, 2024). 《生成扩散模型漫谈(二十四):少走捷径,更快到达》[Blog post]. Retrieved from 科学空间

  • 学习超越模式匹配?评估LLMs的数学理解能力

    作者

    Siyuan Guo, Aniket Didolkar, Nan Rosemary Ke, Anirudh Goyal, Ferenc Huszár, Bernhard Schölkopf

    摘要

    本文《学习超越模式匹配?评估LLMs的数学理解能力》探讨了大语言模型(LLMs)在数学问题解决中的领域知识和理解能力。作者不仅研究了预训练LLM已经掌握的知识,还考察了它们在上下文学习或指令微调过程中如何通过信息来学习。研究旨在评估LLMs在解决问题时理解不同数学技能的能力,以及其利用数学中复杂知识结构的能力。

    受到神经切线核(NTK)概念的启发,作者提出了一种名为NTKEval的方法,通过训练不同类型的数学数据来评估LLM概率分布的变化。论文中进行的分析显示了在上下文学习期间领域理解的证据,表明LLMs能够有效地学习和利用相关的数学技能。然而,某些指令微调技术导致的性能变化与训练数据无关,这表明在不同技能之间缺乏领域理解。

    主要内容

    1. 引言

    大语言模型(LLMs)在各种自然语言推理任务中展示了显著的成功。本文评估了LLMs在解决数学问题时所需的不同数学技能的理解能力,不仅关注预训练模型已经掌握的知识,还关注其在上下文学习或指令微调期间如何学习。

    2. 相关工作

    现有的研究主要关注LLMs在数学问题解决中的表现,然而很少有研究探讨其在不同数学技能上的理解能力。本文提出的方法旨在填补这一空白。

    3. 背景

    神经切线核(NTK)是一种用于分析神经网络泛化特性的工具。本文将NTK扩展到语言模型,提出NTKEval方法来评估模型在不同数学数据上的训练效果。

    4. 方法

    NTKEval通过计算在不同技能数据集上的概率分布变化来评估LLM的学习效果。具体来说,本文利用重要性采样方法来计算不同模型在相同输入下生成正确答案的概率差异。

    5. 数据集

    本文使用了合成数据集和KhanSkill数据集。合成数据集包含测试四种基本数学技能和四种问题格式的题目,而KhanSkill数据集包含9393种技能的2020个问题。

    6. 实验

    实验结果表明,LLMs在上下文学习期间能够区分深层结构和表层结构,表现出领域理解。然而,指令微调在不同数据类型上的效果相似,表明其适应性主要基于格式匹配而非领域理解。

    7. 结论

    本文提出的NTKEval方法证明了其在样本效率上的优势,并发现LLMs在上下文学习中表现出领域理解。相比之下,某些指令微调技术在不同数据上的效果相似,缺乏对不同数学技能的理解。

    了解更多

    1. 学习超越模式匹配?评估LLMs的数学理解能力
    2. 理解LLMs:从训练到推理的全面概述
    3. 学习超越模式匹配?评估LLMs的数学理解能力 | allainews.com
  • 多模态数据集提升药物不良事件检测:语料库创建与模型开发

    引言

    药物不良事件(Adverse Drug Events,ADEs)的挖掘在药物警戒中至关重要,通过识别与药物相关的潜在风险,提高患者安全性,促进不良事件的早期检测,并为监管决策提供指导。传统的ADE检测方法虽然可靠,但速度较慢,难以适应大规模操作,并且提供的信息有限。随着社交媒体内容、生物医学文献和电子病历(EMR)等数据源的迅猛增长,从这些非结构化文本中提取相关的ADE信息变得至关重要。

    相关工作

    文本数据与电子病历

    传统的ADE检测多基于文本数据,如电子病历和医学案例报告。这些数据源提供了患者病历记录、治疗情况、病情和潜在风险因素的全面信息。然而,这些方法往往忽视了视觉线索,导致上下文理解不足,影响了准确的解释。

    社交媒体数据集

    社交媒体因其实时性和多样化的用户生成内容,在ADE检测中也发挥了越来越重要的作用。通过分析社交媒体上的用户评论,可以识别潜在的ADE。然而,这些方法也存在局限性,因为它们仅依赖于文本数据。

    语料库开发

    为了弥补现有方法的不足,我们创建了一个多模态药物不良事件(MultiModal Adverse Drug Event,MMADE)检测数据集,将ADE相关的文本信息与视觉辅助信息相结合。具体包括以下步骤:

    数据收集

    我们从社交媒体、医疗博客和医学案例报告中收集数据,确保数据的多样性与代表性。例如,从Twitter收集了大量的推文,并筛选出与ADE相关的内容。

    数据注释

    为了确保数据注释的准确性,我们邀请了医学专业学生和博士生参与注释工作,并制定了详细的注释手册。通过多数投票确定最终的标签,以确保注释的一致性。

    数据分析

    我们对收集的样本进行了分析,确定了13种显著的ADE类型,并根据其来源将其分类,形成了一个多样化的ADE数据集。

    方法论

    我们利用大型语言模型(Large Language Models,LLMs)和视觉语言模型(Vision Language Models,VLMs),如InstructBLIP,对MMADE数据集进行训练,生成详细的医学图像描述。这些模型在视觉问答、图像字幕生成等任务中表现优异,通过集成复杂的联合表示学习机制,能够更好地捕捉文本和视觉模态之间的复杂关系。

    实验结果与分析

    通过一系列实验评估,我们发现多模态模型在捕捉视觉信息和生成文本描述方面表现优越。特别是经过领域特定数据微调后的InstructBLIP模型,在各种评估指标上均表现出色,显著提升了ADE检测的准确性。

    发现

    1. 多模态数据集显著提高了模型性能。
    2. 微调后的模型在捕捉上下文相似性和传达有意义的内容方面表现出色。
    3. 图像与文本的结合在ADE检测中发挥了关键作用。

    结论与未来工作

    本研究介绍了利用多模态数据集进行药物不良事件检测的任务,并创建了一个包含图像和文本描述的MMADE数据集。通过微调InstructBLIP模型,我们展示了领域特定微调对提升整体性能的重要性。未来工作可以扩展数据集,并探索其在ADE严重程度分类和摘要任务中的潜力。

    限制与伦理

    尽管我们开发了ADE检测框架并引入了新颖的MMADE数据集,但仍需注意数据集中可能存在的偏见,并确保隐私保护。我们的数据集仅用于研究目的,不授予商业使用许可。


    了解更多:

    1. Enhancing Adverse Drug Event Detection with Multimodal Dataset: Corpus Creation and Model Development
    2. Enhancing Adverse Drug Event Detection with Multimodal Dataset: Corpus Creation and Model Development
    3. Enhancing Adverse Drug Event Detection with Multimodal Dataset: Corpus Creation and Model Development

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文试图解决的问题是如何有效地从多种数据源(如社交媒体内容、生物医学文献和电子医疗记录)中提取与药物不良反应(Adverse Drug Events, ADEs)相关的信息。具体来说,论文指出传统的ADE检测方法虽然可靠,但是速度慢、不易适应大规模操作,并且提供的信息有限。此外,以往的ADE挖掘研究主要集中在基于文本的方法上,忽视了视觉线索,这限制了对ADE情境的理解并妨碍了ADE的准确解释。

    为了解决这些问题,论文提出了以下几个关键点:

    1. 创建多模态ADE检测数据集(MMADE):该数据集结合了与ADE相关的文本信息和视觉辅助信息,以增强对ADE情境的全面理解。
    2. 开发一个框架:利用大型语言模型(LLMs)和视觉语言模型(VLMs)的能力,为展示ADE的医学图像生成详细的描述,帮助医疗专业人员在视觉上识别不良事件。
    3. 提高ADE检测的准确性和效率:通过整合视觉和文本数据,增强整体性能,这对于提高患者安全、ADE意识和医疗保健的可及性具有重要意义。
    4. 探索个性化医疗的新途径:通过多模态方法,为个性化医疗领域提供进一步探索的可能性。

    总的来说,论文的目标是通过融合文本和视觉信息来提高ADE检测的性能,从而为医疗专业人员提供更准确、更全面的工具,以便更好地进行诊断、治疗规划和患者护理。

    Q: 有哪些相关研究?

    A: 相关研究主要集中在以下几个方面:

    1. 基于生物医学文本和电子医疗记录的ADE检测:研究者开发了多种技术从电子医疗记录(EMRs)和医学案例报告(MCRs)中提取ADE信息。例如,Gurulingappa等人(2012a)使用机器学习方法从MEDLINE案例报告中识别和提取潜在的ADE关系。
    2. 基于社交媒体数据集的ADE检测:社交媒体成为获取实时信息的重要来源,有助于识别潜在的ADE。Leaman等人(2010)的研究表明用户评论在识别ADE方面的价值。
    3. 深度学习技术在ADE检测中的应用:随着深度学习技术的发展,研究者开始采用此类技术来预测ADE。例如,Tutubalina等人(2017)探索了条件随机场(CRF)和循环神经网络(RNN)的结合,展示了CRF增强了RNN模型捕捉上下文信息的能力。
    4. 多任务学习架构:Chowdhury等人(2018)开发了一个多任务架构,同时处理二元分类、ADR标记和指示标记,使用了PSB 2016社交媒体数据集。
    5. 特定领域的ADE检测:一些研究专注于特定类型的ADE,例如皮肤反应。例如,Zhou和Gao(2023)提出了SkinGPT4,这是一个针对皮肤病图像训练的领域特定模型。
    6. 多模态数据集的创建和使用:尽管目前没有公开的多模态(图像和文本)语料库适用于识别与药物相关的不良效果,但本文提出了一个新的多模态数据集MMADE,它包含ADR图像及其相应的文本描述。

    这些研究为本文提出的多模态ADE检测提供了理论和技术基础,同时也指出了现有方法的局限性,特别是在结合文本和视觉信息方面的不足。本文的研究旨在通过引入多模态数据集和模型来填补这一空白,并提高ADE检测的准确性和效率。

    Q: 论文如何解决这个问题?

    A: 论文通过以下几个步骤解决药物不良反应(ADE)检测的问题:

    1. 创建多模态数据集(MMADE):作者创建了一个包含1500个实例的多模态数据集,每个实例都包含患者报告的药物相关问题的文本描述和相应的图片。这个数据集旨在提供更全面的ADE信息,结合了视觉和文本信息。
    2. 利用大型语言模型(LLMs)和视觉语言模型(VLMs):作者提出了一个框架,利用LLMs和VLMs的能力来生成描述ADE的医学图像的详细文本,以帮助医疗专业人员在视觉上识别不良事件。
    3. 模型开发:作者使用了InstructBLIP模型,这是一个基于BLIP-2的预训练模型,具有高质量的视觉表示和强大的语言生成能力。通过精心的微调过程,使得模型能够适应ADE特定的任务。
    4. 微调过程:通过在特定领域数据上进行微调,模型的性能得到了显著提升。这表明领域特定的微调对于适应ADE检测的复杂性至关重要。
    5. 评估和分析:作者使用了一系列评估指标(如BLEU分数、ROUGE分数、BERTScore和MoverScore)来评估模型的性能,并进行了详细的分析。
    6. 风险分析:尽管多模态模型显示出潜力,但作者强调需要医疗专家和药物监管团队验证发现,并考虑其他关键因素。
    7. 未来工作:作者提出了未来研究的方向,包括扩展数据集和探索多模态数据集在ADE严重性分类和总结任务中的潜力。
    8. 伦理和广泛影响:作者讨论了用户隐私、偏见和数据集的预期用途等问题,并强调了研究的伦理方面。

    通过这些步骤,论文旨在提高ADE检测的准确性和效率,同时为医疗专业人员提供更全面的工具,以改善患者的安全和医疗结果。

    Q: 论文做了哪些实验?

    A: 论文中进行了以下实验:

    1. 模型微调:作者对InstructBLIP、BLIP和GIT等视觉语言模型(VLMs)进行了微调,以适应多模态ADE检测任务。微调的目的是让模型更好地理解和生成与ADE相关的文本。
    2. 性能评估:使用了BLEU分数、ROUGE分数、BERTScore和MoverScore等评价指标来评估不同模型在多模态和单模态数据集设置下的性能。
    3. 统计分析:通过配对t检验来比较多模态模型和单模态模型之间的性能差异,以确定使用视觉和文本数据的模型是否显著优于仅使用文本数据的模型。
    4. 定性分析:通过案例研究,分析了不同模型在多模态和单模态设置下生成的文本。案例研究包括了对不同身体部位(如皮肤、眼睛、口腔等)的ADE描述的分析。
    5. 风险分析:评估了模型的局限性,并讨论了需要医疗专家验证模型发现的重要性。
    6. 比较输出:展示了不同模型(包括BLIP、GIT和InstructBLIP)在实际ADE实例中的输出,并与真实文本进行了比较。

    这些实验旨在展示多模态数据集和微调后的模型在ADE检测任务中的有效性,并分析模型在不同情况下的表现。通过这些实验,作者能够证明结合图像和文本信息对于提高ADE检测性能的重要性。

    Q: 有什么可以进一步探索的点?

    A: 根据论文内容,以下是一些可以进一步探索的点:

    1. 数据集扩展:当前的MMADE数据集主要集中在与外部身体部位相关的ADE事件上,未来研究可以探索如何将数据集扩展到内部疾病,如肝脏感染、肾结石或心理健康问题等。
    2. 任务扩展:除了ADE检测,未来的研究可以探索使用多模态数据集进行ADE严重性分类、总结以及投诉识别等任务。
    3. 模型改进:尽管InstructBLIP在实验中表现出色,但总有改进空间。研究者可以探索不同的模型架构或训练技术,以进一步提高ADE检测的准确性和效率。
    4. 跨领域应用:研究如何将多模态ADE检测模型应用于其他医疗领域,例如疾病诊断、患者监护等。
    5. 用户研究:进行用户研究以评估医疗专业人员对多模态ADE检测工具的使用体验和接受度,以及如何将这些工具集成到临床工作流程中。
    6. 隐私和伦理问题:深入研究如何处理和保护在收集和使用多模态医疗数据时涉及的隐私和伦理问题。
    7. 模型解释性:提高模型的可解释性,以便医疗专业人员可以理解和信任模型的决策过程。
    8. 多语言支持:探索模型对不同语言的适应性和支持,以扩大其在全球范围内的应用潜力。
    9. 实时监测和反馈:研究如何将多模态ADE检测集成到实时监测系统中,并提供即时反馈给医疗专业人员和患者。
    10. 教育和培训:使用多模态ADE检测工具作为教育和培训材料,帮助医学生和医疗专业人员更好地理解和识别ADE。

    这些探索点可以帮助推动多模态ADE检测技术的发展,并最终提高患者安全和医疗保健质量。

    Q: 总结一下论文的主要内容

    A: 这篇论文的主要内容可以总结如下:

    1. 问题识别:论文指出药物不良反应(ADE)的检测在药物监管中至关重要,但传统方法存在局限性,如速度慢、不易扩展和信息有限。此外,以往的研究多集中于文本数据,忽略了视觉信息。
    2. 多模态数据集创建:作者提出了一个名为MultiModal Adverse Drug Event (MMADE)的新型多模态数据集,它结合了ADE相关的文本信息和图像,以增强对ADE情境的全面理解。
    3. 模型开发:论文介绍了一个框架,利用大型语言模型(LLMs)和视觉语言模型(VLMs)来生成描述ADE医学图像的详细文本,以辅助医疗专业人员进行视觉上的识别。
    4. 方法论:研究者使用了InstructBLIP模型,这是一个基于BLIP-2的预训练模型,通过微调来适应ADE特定的任务。
    5. 实验与评估:通过一系列实验,包括模型微调、性能评估和统计分析,论文展示了多模态方法在ADE检测中的有效性。使用了BLEU、ROUGE、BERTScore和MoverScore等评价指标来评估模型性能。
    6. 结果:实验结果表明,经过领域特定微调的InstructBLIP模型在多模态设置下表现优于其他模型,强调了结合图像和文本信息在ADE检测中的重要性。
    7. 风险与伦理考量:论文讨论了模型的局限性,并强调了需要医疗专家验证模型的发现,同时考虑了用户隐私、偏见和数据集的预期用途等伦理问题。
    8. 未来工作:作者提出了未来研究的方向,包括扩展数据集、探索多模态数据集在其他任务中的应用,以及提高模型的解释性和跨领域应用潜力。

    总体而言,这篇论文通过创建多模态数据集和开发相应的模型框架,为提高ADE检测的准确性和效率提供了新的视角和方法。

  • 探索 ReRoPE:一种崭新的位置编码方法

    在 Transformer 模型的演进过程中,位置编码一直是关键的一环。最近,笔者引入了一种新的位置编码方法——ReRoPE (Rectified Rotary Position Embeddings),通过这种方法,可以显著提升模型在长度外推上的性能。本文将详细介绍 ReRoPE 的背景、原理、实现和实验结果。

    背景与问题

    在 Transformer 模型中,RoPE(旋转位置编码)是一种绝对位置编码方法,但实际上它给 Attention 带来的是相对位置信息。这种编码方式在长度外推(Length Extrapolation)上效果较差,因为超出训练长度的位置编码并没有被训练过。

    研究人员提出了位置内插(Position Interpolation)来解决这个问题,通过调整相对位置矩阵,使得最大相对位置不超过训练长度。然而,这种方法虽然避免了外推,但使位置信息更加“拥挤”,仍需一定步数的微调。

    后来,NTK-aware Scaled RoPE 进一步改进,通过“高频外推、低频内插”平摊外推压力,效果有所提升,但仍存在上限。

    ReRoPE 的提出

    笔者提出了 ReRoPE(Rectified RoPE),通过设定一个窗口大小 ( w ),在窗口内使用常规位置间隔,在窗口外使用较大的间隔,从而精确保持局域性,且所有位置编码不超过训练长度。形式上,ReRoPE 与标准 RoPE 的关系类似于 ReLU 与 Linear 的关系。

    具体来说,矩阵 ( T. 和 ( T’ ) 的定义如下:

    • 当 ( d = 1 ) 时,( T. 简化为:
      [
      T =
      \begin{cases}
      \text{RoPE}(q, k) & \text{if } |q – k| < w \
      \text{Leaky RoPE}(q, k) & \text{otherwise}
      \end{cases}
      ]
    • 这样,无论输入长度如何,位置编码范围都不超过 ( w )。

    计算复杂度

    实现 ReRoPE 增加了一些计算复杂度,特别是在自回归解码时,需要为每步解码时给整个 Key 序列补上对应的 RoPE。这种改动会增加推理计算量,但对于 token-by-token 解码,仅需计算一次 Attention 矩阵。

    实验结果

    我们在 1 亿参数的 GAU 模型和 llama2-13b 模型上进行了实验,结果显示 ReRoPE 的效果显著优于 NTK-aware Scaled RoPE,甚至超过了 HFWA。

    在 GAU 模型上的实验结果

    测试长度RoPE-4kNTK-RoPE-16kReRoPE-w1024-16k
    4k1.49671.51631.4001
    8k8.86151.54171.4267

    在 llama2-13b 模型上的实验结果

    方法Loss
    RoPE-4k1.4967
    RoPE-8k8.8615
    NTK-RoPE-4k1.6081
    NTK-RoPE-8k1.5417
    ReRoPE-w1024-4k1.4996
    ReRoPE-w1024-8k1.4267
    ReRoPE-w1024-16k1.4001

    可以看到,ReRoPE 几乎不损伤训练效果,并且在更长的上下文中表现更好。

    实现与使用

    我们在 transformers 的 LLAMA 模型基础上实现了 ReRoPE 和 Leaky ReRoPE,读者可以在 GitHub 上查看详细代码。

    依赖

    • transformers 4.31.0

    测试方法

    python test.py  # 测试聊天功能
    python eval_loss.py  # 计算 llama2 模型的 loss

    总结

    ReRoPE 提供了一种新的位置编码方法,显著提升了长度外推能力。在实验中,ReRoPE 的表现超过了目前最优的 NTK-aware Scaled RoPE 和 HFWA,且在任意长度下都表现良好。希望本文的分享能为大家在模型优化上带来新的思路。

    如有兴趣,欢迎访问 GitHub 仓库获取代码并进行测试:GitHub – bojone/rerope

  • Luban:通过自主具身验证构建开放式创造性代理

    人工智能研究的终极目标之一是构建开放式代理,而创造性代理更是其中最具吸引力的一类。然而,现有的大型语言模型(LLM)代理在处理具有明确目标的长时间任务(例如在Minecraft中“挖钻石”)方面表现出色,但在面对具有开放目标和抽象标准的创造性任务时却遇到了困难。这主要是因为它们无法弥合这些任务之间的差距,因而缺乏自我改进的反馈机制。在这项研究中,我们引入了自主具身验证技术,旨在填补这一空白,为创造性任务奠定基础。具体来说,我们提出了Luban代理,专注于Minecraft中的创造性构建任务,并采用了两级自主具身验证机制,灵感来源于人类的设计实践。

    Luban代理的两级自主具身验证

    视觉验证

    视觉验证主要针对3D结构模型进行,这些模型由代理合成的CAD建模程序生成。通过对这些3D结构的视觉检查,Luban能够自主地评估其设计的结构完整性和外观质量。

    实用验证

    实用验证则是通过生成和验证与环境相关的功能性程序,基于抽象标准来评估创作的实用性。这样,Luban不仅能在视觉上检查其设计,还能根据其功能性来评估创作的有效性。

    实验与评价

    我们进行了广泛的多维度人类研究和Elo评分,结果表明Luban在我们提出的基准上完成了多样化的创造性构建任务,并在可视化和实用性方面表现优于其他基线(提升幅度从33%到100%不等)。此外,针对真实世界机器人手臂的演示也展示了Luban在物理世界的创造潜力。

    总结

    Luban代理通过自主具身验证技术,成功弥补了现有LLM代理在处理创造性任务上的不足。这不仅为Minecraft中的创造性构建任务提供了一种新的解决方案,也展示了在现实世界中应用的巨大潜力。


    本文基于Yuxuan Guo等人的研究工作,详细内容请参考原文链接


    Q: 这篇论文试图解决什么问题?

    A: 这篇论文试图解决的问题是如何构建能够在没有明确目标和抽象标准的情况下,自主完成创造性任务的开放式智能代理(open-ended agents)。具体来说,论文中提到的现有大型语言模型(LLM)代理在处理具有明确目标的长期任务(如Minecraft中的“挖钻石”)方面表现出色,但在面对创造性任务时,由于缺乏明确的目标和反馈机制,难以进行自我改进和任务解决。

    为了解决这个问题,论文提出了一种名为“自主体现验证(autonomous embodied verification)”的新技术。通过这种技术,智能代理能够验证和评估创造性任务中的高级抽象标准,并据此进行自我反思和规划,从而逐步完成开放式的创造性任务。

    具体到Minecraft中的创造性建筑任务,论文提出了一个名为“鲁班(Luban)”的代理,它采用了两级自主体现验证机制,包括:

    1. 视觉验证(visual verification):通过合成CAD建模程序来自动生成3D结构推测,并对其进行视觉验证。
    2. 实用验证(pragmatic verification):通过生成与环境相关的功能程序来验证创造物的实用性,基于抽象标准进行评估。

    通过这种两级验证方法,鲁班代理能够成功完成多种创造性建筑任务,并在可视化和实用性方面超越其他基线方法。此外,论文还展示了鲁班在现实世界机械臂上的应用潜力,表明其在物理世界中执行开放式创造性任务的潜力。

    Q: 有哪些相关研究?

    A: 在这篇论文中,提到了以下几类相关研究:

    1. Minecraft代理:Minecraft游戏因其开放性和真实性,成为AI代理的重要测试平台。现有的Minecraft代理主要集中在具有长期目标和明确目标的任务上,如收集和制作材料。这些代理可以分为两类:控制中心代理和计划中心代理。控制中心代理基于从互联网收集的Minecraft游戏演示来构建基于低级游戏控制(例如鼠标和键盘操作)的任务策略。计划中心代理则侧重于利用大型语言模型的推理能力和语义知识,将高级指令与动作原语对齐,通过精心设计的记忆和反思机制来确保代理能够学习有用的技能并利用环境反馈。
    2. 3D模型合成:使用计算机生成3D模型是计算机图形学中的关键研究课题。最近,根据给定指令(文本或图像)合成3D模型的方法引起了研究者的广泛关注。3D模型合成的方法可以分为两类:一类方法直接合成3D模型(例如网格、点云、多视图图像和体素),依赖于生成模型和神经表示;另一类方法依赖于现有的计算机辅助设计(CAD)软件来首先合成建模过程的操作和参数(即程序),然后执行它们以获得3D模型。
    3. 问题定义:将Minecraft环境形式化为部分可观察马尔可夫决策过程(POMDP),并定义了开放式创造性建筑任务为指令跟随(IF)问题。
    4. 方法:介绍了Luban代理,它通过两级自主体现验证来完成开放式创造性建筑任务:3D结构推测阶段的视觉验证和建设阶段的实用验证。
    5. 实验:设计了一个包含5个Minecraft建筑任务的基准测试,以测试代理完成开放式创造性建筑任务的能力,并与其它方法进行了比较。
    6. 相关工作:论文还提到了与Minecraft代理、3D模型合成、大型语言模型(LLM)等相关的研究工作,并讨论了它们与本文提出的Luban代理的比较。

    这些相关研究为本文提出的Luban代理提供了理论和技术背景,并帮助定义了其在创造性任务中的性能和潜在应用。

    Q: 论文如何解决这个问题?

    A: 论文通过提出一个名为“鲁班(Luban)”的代理来解决开放式创造性任务的问题。鲁班代理的核心是两级自主体现验证技术,具体解决过程如下:

    1. 3D结构推测与视觉验证(3D Structural Speculation stage with Visual Verification)
      • 利用大型视觉语言模型(VLM)合成CAD程序,这些程序代表了整个建筑的精确3D形状。
      • 将3D结构推测过程分为三个子阶段:分解(Decomposition)、子组件生成(Subcomponent Generation)和组装(Assembling)。
      • 通过视觉验证来评估由CAD程序生成的3D模型的视觉效果,确保它们与指令一致。
    2. 建设阶段与实用验证(Construction stage with Pragmatic Verification)
      • 根据3D结构推测阶段得到的CAD程序,在Minecraft环境中执行一系列动作来构建建筑。
      • 实用验证旨在从任务指令中推导出明确功能,并验证构建的建筑的实用性,以提出改进下一轮创造的建议。
      • 实用验证包括验证动作生成、执行验证和反思三个子阶段。
    3. 实验验证
      • 设计了一个包含5个Minecraft建筑任务的基准,这些任务具有多样化的视觉和功能要求。
      • 通过多维度的人类研究和Elo评分,展示了鲁班代理能够成功完成所有开放式创造性建筑任务,并且在可视化和实用性方面超越了其他基线。
    4. 实际应用潜力
      • 论文还展示了鲁班代理在现实世界中的潜在应用,通过在真实世界的机械臂上进行演示,显示了鲁班在物理世界中执行开放式创造性任务的潜力。

    通过这些方法,论文不仅提出了一个能够处理创造性任务的智能代理,还通过实验验证了其有效性,并探讨了其在现实世界中的应用前景。

    Q: 论文做了哪些实验?

    A: 论文中进行了以下实验来验证Luban代理的性能和效果:

    1. 基准测试设计:作者设计了一个包含5个Minecraft建筑任务的基准测试,这些任务具有多样化的结构和功能要求。每个任务的指令由文本和多视图图像组成。
    2. 基线比较:Luban代理与几种现有的Minecraft代理基线进行了比较,包括Voyager代理和Creative代理。这些基线代理在处理创造性建筑任务时没有使用环境反馈。
    3. 质量评分:通过多维度的人类研究,对每个任务的结果进行了质量评分。评分包括外观、复杂性、美学、建筑级别功能和环境级别功能等维度。
    4. 一对一比较:进行了一对一比较,以评估不同基线之间的结果。这涉及到选择同一任务和不同基线的结果对,并由人类评估者选择胜者。
    5. 实用验证通过率:计算了Luban代理自主提出的实用验证动作在其他基线上的通过率,以评估其实用性。
    6. 消融研究:进行了消融研究来分析Luban代理的视觉验证和实用验证的影响。消融的基线包括没有实用验证的Luban代理、没有视觉验证的Luban代理,以及两者都没有的Luban代理。
    7. 现实世界应用潜力:展示了Luban代理在现实世界中执行任务的潜力,通过在真实世界的机械臂上进行演示,显示了其在物理世界中执行开放式创造性任务的能力。
    8. 人类评估者研究:招募了15名人类评估者对Minecraft创造性建筑结果进行评估,评估者的游戏经验从“从未玩过”到“游戏时间≥20小时”。
    9. 问卷和界面:设计了问卷和界面,以收集人类评估者对建筑结果的多维度质量评分和一对一比较的结果。

    这些实验结果表明,Luban代理在完成开放式创造性建筑任务方面,不仅在质量评分上超越了其他基线,而且在人类评估者的偏好中也更为一致,同时展示了其在现实世界应用的潜力。

    Q: 有什么可以进一步探索的点?

    A: 根据论文内容,以下是一些可以进一步探索的点:

    1. 记忆机制的引入:当前的Luban代理缺乏记忆机制,无法在多个任务之间共享知识或从环境中持续学习。研究如何为代理引入记忆机制,使其能够积累和利用经验,可能是一个有价值的研究方向。
    2. 更精细的3D结构推断:由于访问成本和能力限制,Luban在生成更精细的3D结构推断方面存在局限。探索如何降低成本并提高能力,以生成更精细的结构,可能是另一个研究点。
    3. 现实世界应用:虽然论文中提到了Luban在现实世界中的潜在应用,但这部分仍处于原型阶段。未来的工作可以探索如何在现实世界中部署和优化Luban,以及如何处理现实世界中的法律和安全问题。
    4. 扩展功能和实用性:Luban的实用验证可以进一步扩展,以在现实世界中获取反馈,构建一个闭环的、开放的创造性代理,这将有助于代理更好地适应现实世界的环境。
    5. 自主学习和技能获取:研究如何使Luban能够自主学习新技能,并将其应用于创造性任务,这可能涉及到更高级的自主体现学习和强化学习技术。
    6. 多模态输入和输出:Luban目前主要处理视觉和语言输入。探索如何整合更多模态的输入和输出(如声音、触觉反馈等)可能会增强代理的创造性和适应性。
    7. 更广泛的任务类型:Luban目前专注于建筑任务。研究如何将其扩展到更广泛的任务类型,如艺术创作、设计、规划等,可能是一个有趣的研究方向。
    8. 用户交互和指导:研究如何改进用户与Luban的交互方式,以及如何通过用户指导来引导和改进代理的创造性输出。
    9. 性能优化和计算效率:探索优化Luban性能的方法,提高其计算效率,特别是在处理大规模或复杂任务时。
    10. 伦理和社会影响:随着Luban等创造性代理的发展,研究其对社会、伦理和法律的潜在影响,确保技术进步与社会价值相协调。

    这些探索点可以帮助推动开放式创造性代理技术的发展,并为未来的研究提供新的方向。

    Q: 总结一下论文的主要内容

    A: 这篇论文的主要内容可以概括为以下几个要点:

    1. 研究目标:构建能够自主完成开放式创造性任务的智能代理,特别是在没有明确目标和抽象标准的情况下。
    2. 问题识别:现有的大型语言模型(LLM)代理在处理具有明确目标的长期任务方面表现出色,但在创造性任务上存在挑战,主要因为缺乏有效的自我评估和反馈机制。
    3. 鲁班代理(Luban):提出了一个名为“鲁班”的代理,它采用两级自主体现验证技术来解决创造性建筑任务:
      • 视觉验证:通过合成CAD建模程序来创建3D结构,并进行视觉评估。
      • 实用验证:在环境中生成和验证与环境相关的功能程序,以确保创造物的实用性。
    4. 方法细节
      • 3D结构推测:将任务指令转化为CAD程序,通过分解、子组件生成和组装三个子阶段来设计建筑。
      • 视觉验证:从多个CAD程序中选择最佳的视觉表示,以确保与指令一致。
      • 建设阶段:将CAD程序转化为环境中的建设动作,执行建设。
      • 实用验证:通过生成功能程序和执行验证动作来评估和改进创造物的实用性。
    5. 实验验证:设计了一个包含5个Minecraft建筑任务的基准测试,通过多维度人类研究和Elo评分来评估Luban代理的性能。
    6. 结果:Luban代理在视觉和实用性方面都优于其他基线方法,显示出其在创造性建筑任务上的有效性。
    7. 现实世界应用潜力:论文还探讨了Luban在现实世界机械臂上执行任务的潜力,展示了其在物理世界中的应用前景。
    8. 未来研究方向:提出了未来可能的研究方向,包括开发3D物理世界库、扩展实用验证以获取现实世界反馈等。
    9. 限制:论文也指出了Luban的局限性,如缺乏记忆机制、高级视觉语言模型的访问成本和能力限制等。
    10. 其他细节:论文还提供了关于计算资源、实现细节、基准测试细节、附加实验结果和人类研究的额外信息。

    总的来说,这篇论文提出了一个创新的方法来解决开放式创造性任务中的挑战,并在Minecraft环境中对提出的方法进行了全面的评估和展示。

  • 探索超越模式匹配:解析大语言模型的数学理解

    随着科学发现逐渐依赖于大语言模型(LLMs)的辅助,我们开始看到这一领域的突破性进展。本文由 Siyuan Guo、Aniket Didolkar、Nan Rosemary Ke、Anirudh Goyal、Ferenc Huszár 和 Bernhard Schölkopf 合著,旨在评估大语言模型在解决数学问题时所需的不同数学技能的领域知识。

    引言:从模式匹配到领域理解

    大语言模型在处理复杂的数学问题时,不仅需要依赖预训练阶段已掌握的知识,还需要通过上下文学习或指令调整等方式,从信息中学习。本文在此基础上,提出了一种名为 NTKEval 的评估方法,该方法借鉴了神经切线核(Neural Tangent Kernel,NTK)的概念,通过在不同类型的数学数据上训练,评估大语言模型的概率分布变化。

    NTKEval 方法:评估模型的学习能力

    NTKEval 方法的核心在于通过训练不同种类的数学数据,观察大语言模型的概率分布变化,从而评估其领域理解能力。具体来说,该方法分析了大语言模型在上下文学习过程中的表现,以及在指令调整过程中的表现。结果显示,在上下文学习过程中,模型表现出了一定的领域理解能力。

    发现:上下文学习与指令调整的差异

    通过系统分析,我们发现大语言模型在上下文学习过程中,能够展现出一定的领域理解能力。然而,在指令调整过程中,无论训练数据的种类如何,模型的性能变化都趋于一致,这表明模型在不同技能上的领域理解能力存在不足。

    结论与未来展望

    本文的研究揭示了大语言模型在处理数学问题时的优势和不足。尽管在上下文学习过程中,模型能够展现出一定的领域理解能力,但在指令调整过程中,模型的表现仍有待提高。未来的研究可以进一步优化大语言模型的训练方法,提升其在不同数学技能上的理解能力。

    通过本文的研究,我们不仅揭示了大语言模型在科学发现过程中的潜力,也为未来的模型优化提供了重要的参考。


    如果您对本文的详细内容感兴趣,请访问以下链接阅读完整版论文:Learning Beyond Pattern Matching? Assaying Mathematical Understanding in LLMs


    Q: 这篇论文试图解决什么问题?

    A: 这篇论文探讨了大型语言模型(LLMs)在数学问题解决方面的理解能力,特别是在它们是否能够超越模式匹配(pattern matching)的层面上进行学习。具体来说,论文试图解决以下问题:

    1. 数学理解的评估:传统的评估方法主要关注模型已经知道的内容,而这篇论文则关注于评估LLMs在数学理解方面的能力,特别是它们如何通过上下文学习或指令调整(instruction-tuning)来学习。
    2. 深度与表面学习:论文试图区分LLMs是否能够识别问题中的深层数学结构(deep structure),而不是仅仅关注问题表述中的表面变化(surface changes)。
    3. 学习效率:论文提出了一种基于神经切线核(Neural Tangent Kernel, NTK)的方法,称为NTKEval,来评估LLMs在训练过程中概率分布的变化,以研究它们是否能够有效地从相关数据中学习。
    4. 领域知识的应用:论文探讨了LLMs在数学问题解决中是否能够利用领域知识,以及它们是否能够通过学习来快速适应新知识。
    5. 指令调整与上下文学习:论文分析了指令调整和上下文学习两种不同的学习方法对LLMs性能的影响,并探讨了它们在数学理解方面的差异。

    总的来说,这篇论文的目标是深入理解LLMs在数学领域的学习机制,以及它们是否能够展示出类似人类在解决数学问题时的深层次理解和推理能力。

    Q: 有哪些相关研究?

    A: 论文中提到了多个与大型语言模型(LLMs)在数学问题解决和元学习(meta-learning)方面的相关研究。以下是一些主要的相关研究领域和具体工作:

    1. LLMs在数学问题解决中的应用
      • OPRO (Yang et al., 2023)
      • AlphaGeometry (Trinh et al., 2024)
      • FunSearch (Romera-Paredes et al., 2024)
    2. 神经切线核(Neural Tangent Kernel, NTK)
      • Jacot et al., 2018:首次提出了NTK的概念,用于理解人工神经网络(ANNs)的泛化特性。
      • Weng, 2022:提供了NTK背后的数学原理的解释。
    3. 技能出现(Skill Emergence)
      • Arora & Goyal, 2023:从统计框架的角度研究了语言模型中复杂技能的出现。
    4. 技能选择和训练数据选择
      • Chen et al., 2023b:基于技能排序选择训练数据。
      • Chen et al., 2023a:引入了SkiC prompting来鼓励技能组合。
    5. 语言模型的背景知识
      • 包括语言模型的定义、预训练、上下文学习(in-context learning)和指令调整(instruction-tuning)。
    6. 评估方法
      • Brown et al., 2020:介绍了上下文学习的概念。
      • Zhou et al., 2023:讨论了指令调整或监督微调(instruction-tuning or supervised fine-tuning)。
    7. 特定领域的LLMs
      • 论文中还提到了一些特定于代码、数学和通用聊天模型的LLMs,如Codellama-7b、Llemma-7b和Mistral-7b。
    8. 其他相关工作
      • 论文还引用了其他一些研究,涉及语言模型的评估、技能框架、以及如何通过不同的方法来提高LLMs在数学问题解决中的性能。

    这些相关研究为理解LLMs在数学问题解决中的能力和潜力提供了理论基础和实证分析。论文通过这些相关工作来构建自己的研究框架,并提出了新的方法来评估和提高LLMs的数学理解能力。

    Q: 论文如何解决这个问题?

    A: 论文通过以下几个步骤来解决评估大型语言模型(LLMs)在数学问题解决中的理解和学习效率的问题:

    1. 提出NTKEval方法:基于神经切线核(Neural Tangent Kernel, NTK)理论,提出了NTKEval方法来评估LLMs在训练过程中概率分布的变化。这种方法特别适用于语言模型,因为它们生成的是自由形式的补全,而不是数值输出。
    2. 构建评估框架:设计了一种评估框架,通过比较模型在训练前后生成正确解决方案的概率差异,来衡量模型是否能够有效地从训练数据中学习。
    3. 创建和使用KhanSkill数据集:为了分析LLMs的数学理解与人类学习之间的一致性,作者创建了KhanSkill数据集,该数据集包含由专家编写的、反映人类理解的数学问题。
    4. 实验设计:通过实验,比较了上下文学习(in-context learning)和指令调整(instruction-tuning)两种学习方法对LLMs性能的影响。实验中,作者特别关注了模型是否能够区分深层数学结构和表面结构。
    5. 系统分析:通过系统地分析实验结果,作者发现上下文学习能够区分深层结构和表面结构,而某些指令调整方法则表现出对不同数据类型训练的相似性能变化,这表明它们可能缺乏对不同技能的领域理解。
    6. 样本效率的比较:通过比较NTKEval方法和传统计数准确率差异方法的样本效率,证明了NTKEval在捕捉模型参数空间小变化方面的有效性。
    7. 深入探讨:论文进一步探讨了LLMs是否能够理解不同的数学技能,并通过实验分析了在训练和测试时使用相关问题的示例对模型性能的影响。

    通过这些步骤,论文不仅提出了一种新的评估方法,还深入分析了LLMs在数学问题解决中的学习机制,特别是它们是否能够展示出超越模式匹配的深层次理解和推理能力。

    Q: 论文做了哪些实验?

    A: 论文中进行了一系列的实验来评估大型语言模型(LLMs)在数学问题解决中的学习效率和理解能力。以下是主要的实验内容:

    1. 样本效率比较:通过对比NTKEval方法和传统的准确率差异计数方法,展示了NTKEval在捕捉模型参数空间变化方面的样本效率优势。
    2. 上下文学习(In-context Learning, ICL)
      • 标准提示:使用随机选择的8个示例作为上下文。
      • 技能提示:将8个示例按相同类别分组,以测试模型是否能够通过看到与测试问题相同结构的示例来提高性能。
    3. 指令调整(Instruction Tuning)
      • 基础模型:在输出随机答案的数据集上进行指令调整,以减少每个LLM特有的概率变化。
      • 技能调整模型:在问题属于相同类别的数据集上进行指令调整。
    4. 深层与表面结构的区分:测试LLMs是否能够基于深层数学技能(如加法、减法等)与表面问题格式(如问题、指令、符号和文字问题)来回答问题,并比较这两种情况下的性能差异。
    5. 不同数学技能的理解:评估LLMs在看到按技能分组的相关示例时,是否能够更快地学习并在测试时有效利用目标技能和不同技能。
    6. 技能特定与非技能特定示例的影响:比较在技能特定和非技能特定(即离对角线技能)示例上进行指令调整时,模型在测试时的性能变化。
    7. KhanSkill数据集的评估:使用KhanSkill数据集,该数据集包含93种技能,每种技能有20个问题,来评估模型的数学理解能力。
    8. 不同模型的比较:在Code Llama 7b、Llemma 7b和Mistral 7b等不同模型上进行实验,以测试专门针对代码、数学和通用聊天模型的领域理解。

    这些实验设计旨在深入理解LLMs在数学问题解决中的学习机制,特别是在它们是否能够展示出超越模式匹配的深层次理解和推理能力。通过这些实验,论文能够提供关于LLMs数学理解能力的系统性分析。

    Q: 有什么可以进一步探索的点?

    A: 论文提出了对大型语言模型(LLMs)在数学问题解决方面理解能力的评估方法,并展示了一些有趣的发现。然而,仍有一些领域可以进一步探索:

    1. 更广泛的数据集和问题类型:研究是否可以将NTKEval方法应用于更广泛的数学问题和数据集,包括更高级的数学概念和更复杂的推理任务。
    2. 不同学习策略的比较:探索和比较不同的学习策略,如元学习(meta-learning)和其他自适应学习方法,以确定哪些方法在数学理解方面最有效。
    3. 跨领域应用:研究NTKEval方法是否可以应用于其他领域,例如自然科学、工程学或社会科学,以评估LLMs在这些领域的理解能力。
    4. 模型的可解释性:提高模型的可解释性,以便更好地理解LLMs是如何学习和解决数学问题的,特别是在它们如何识别和利用深层结构方面。
    5. 模型的泛化能力:研究LLMs在面对未见过的问题类型或数据分布变化时的泛化能力。
    6. 模型的鲁棒性:测试和提高模型对于输入噪声、错误示例或对抗性攻击的鲁棒性。
    7. 模型的效率:优化模型的训练和推理过程,以减少计算资源的需求,提高效率。
    8. 人类与模型的协作:研究如何将LLMs与人类专家更有效地结合起来,以解决复杂的数学问题,特别是在教育和研究领域。
    9. 模型的伦理和社会影响:探讨LLMs在数学教育和问题解决中的应用可能带来的伦理和社会影响,包括对教育公平、隐私和数据安全的影响。
    10. 模型的自我改进:研究LLMs是否能够通过自我反思和自我改进来提高其在数学问题解决方面的能力。

    这些探索点可以帮助我们更深入地理解LLMs的潜力和局限性,并为未来的研究和应用提供指导。

    Q: 总结一下论文的主要内容

    A: 这篇论文的主要内容可以概括为以下几个要点:

    1. 研究动机:随着大型语言模型(LLMs)在科学发现中的创造性应用逐渐增多,论文旨在评估LLMs在数学问题解决方面的领域知识,特别是它们对所需数学技能的理解。
    2. 评估方法:论文提出了一种基于神经切线核(Neural Tangent Kernel, NTK)的评估方法,称为NTKEval,用于分析LLMs在训练过程中概率分布的变化。
    3. 学习方式:研究了LLMs通过上下文学习和指令调整(instruction-tuning)两种方式进行学习的效果,特别关注了它们是否能够从训练数据中有效地学习数学知识。
    4. 数据集:为了评估LLMs的数学理解能力,论文创建了KhanSkill数据集,包含93种数学技能,每种技能有20个问题。
    5. 实验结果
      • 上下文学习(In-context Learning, ICL)能够区分深层数学结构和表面结构,显示出对数学技能的理解。
      • 指令调整(Instruction Tuning)在不同数据类型上的适应性表现出相似的性能变化,暗示可能缺乏对不同数学技能的领域理解。
    6. 样本效率:NTKEval显示出比传统准确率差异计数方法更高的样本效率,能够更快地捕捉到模型参数空间的小变化。
    7. 领域理解:论文通过系统分析发现,上下文学习表现出对数学领域的理解,而某些指令调整方法则没有表现出对不同数学技能的区分能力。
    8. 进一步探索:论文提出了未来研究的方向,包括探索更广泛的数据集、不同的学习策略、跨领域应用、模型的可解释性、泛化能力、鲁棒性、效率、人类与模型的协作、伦理和社会影响以及模型的自我改进。

    总的来说,这篇论文通过提出NTKEval方法,对LLMs在数学问题解决中的学习效率和领域理解能力进行了深入的研究和评估。

  • Neuromorphic Dreaming: 高效学习的未来路径

    引言

    在人工智能(AI)计算平台上实现高效的能源利用是一个关键挑战。生物系统展示了在复杂技能学习中的快速且高效的能力,这为AI的研究提供了重要的灵感。因此,本文提出了一种基于模型的强化学习(Model-Based Reinforcement Learning,MBRL)方法,使用混合信号类脑(neuromorphic)硬件上的脉冲神经网络(Spiking Neural Networks,SNNs)进行实现,从而提高样本效率和能源效率。

    基于模型的强化学习

    混合信号神经形态硬件

    混合信号神经形态硬件结合了模拟和数字信号处理的优点,能够在低功耗的情况下实现复杂的神经网络计算。本文使用的DYNAP-SE神经形态处理器架构,基于指数泄露积分发放(ExLIF)模型,实现了高效的神经元动态模拟。

    “清醒-做梦”学习阶段

    提出了一种”清醒-做梦”学习模式,交替进行在线学习(清醒阶段)和离线学习(做梦阶段)。在清醒阶段,代理与真实环境互动并更新其策略和世界模型;在做梦阶段,代理使用学习到的世界模型生成模拟经验,进一步细化策略。这种方法模拟了生物大脑在清醒和睡眠状态下的学习过程,提高了学习效率。

    两个共生网络

    模型包括两个网络:一个代理网络,通过结合真实和模拟经验进行学习;一个学习到的世界模型网络,用于生成模拟经验。这两个网络相互作用,共同提高系统的学习效率。

    实验设计

    为了验证所提出方法的有效性,本文在Atari游戏Pong中进行了实验。实验包括以下几个步骤:

    基线代理无做梦能力

    建立了一个没有做梦能力的SNN基线代理,架构包括一个输入层,一个隐藏层(由510个漏斗积分发放(LIF)神经元组成),以及一个3单元读出层。代理仅在读出层更新权重,使用基于奖励的策略梯度规则进行训练。

    代理加入做梦能力

    在基线代理的基础上增加了做梦能力,使用一个单独的模型网络来学习环境动态。模型网络架构与代理类似,但有3个额外的动作输入和4+1个读出单元来预测下一个状态和奖励。

    时间考虑

    为了优化系统性能和训练时间,研究了10毫秒、20毫秒和50毫秒的等待时间,最终选择了10毫秒的等待时间以最小化训练时间。

    实验设置

    实验在OpenAI Gym工具包中的Atari Pong视频游戏环境中进行,每个训练运行包括2000个游戏,每个游戏持续100帧。进行了10次独立的训练运行,以确保结果的稳健性和可靠性。

    实验结果

    实验结果显示,通过引入做梦能力,显著提高了样本效率,使得代理在与真实环境的交互次数减半的情况下达到更高的分数。图表展示了有无做梦能力的代理在训练过程中的平均回报以及策略熵的演变。

    未来研究方向

    论文提出了多个未来研究方向,包括:

    • 将读出层的权重量化,并转移到神经形态芯片上
    • 使用泊松脉冲发生器进行输入编码
    • 在更复杂的游戏和现实世界应用上测试方法
    • 训练世界模型以应对更复杂的任务和环境
    • 优化神经形态硬件的参数
    • 提高系统的鲁棒性
    • 探索不同的学习规则和网络架构

    结论

    本文提出了一种新颖的基于模型的强化学习方法,通过结合神经形态硬件和“清醒-做梦”学习模式,提高了AI系统的能源效率和学习能力。实验结果验证了该方法的有效性,展示了其在现实世界应用中的潜力。这种方法为开发能够快速适应真实世界环境的高效智能系统提供了新的思路。


    通过本文的研究,我们看到了神经形态硬件在未来AI发展中的巨大潜力。随着技术的不断进步,我们有理由相信,未来的智能系统将不仅更加智能,还会更加环保和高效。


    Achieving energy efficiency in learning is a key challenge for artificial intelligence (AI) computing platforms. Biological systems demonstrate remarkable abilities to learn complex skills quickly and efficiently. Inspired by this, we present a hardware implementation of model-based reinforcement learning (MBRL) using spiking neural networks (SNNs) on mixed-signal analog/digital neuromorphic hardware. This approach leverages the energy efficiency of mixed-signal neuromorphic chips while achieving high sample efficiency through an alternation of online learning, referred to as the “awake” phase, and offline learning, known as the “dreaming” phase. The model proposed includes two symbiotic networks: an agent network that learns by combining real and simulated experiences, and a learned world model network that generates the simulated experiences. We validate the model by training the hardware implementation to play the Atari game Pong. We start from a baseline consisting of an agent network learning without a world model and dreaming, which successfully learns to play the game. By incorporating dreaming, the number of required real game experiences are reduced significantly compared to the baseline. The networks are implemented using a mixed-signal neuromorphic processor, with the readout layers trained using a computer in-the-loop, while the other layers remain fixed. These results pave the way toward energy-efficient neuromorphic learning systems capable of rapid learning in real world applications and use-cases.

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文试图解决的关键问题是在人工智能(AI)计算平台上实现能源效率的学习。具体来说,它探讨了如何借鉴生物系统快速高效学习复杂技能的能力,来开发一种硬件实现的基于模型的强化学习(MBRL)方法,该方法使用混合信号类脑(neuromorphic)硬件上的脉冲神经网络(SNNs)。这种方法旨在利用混合信号神经形态芯片的能源效率,并通过在线学习(即“清醒”阶段)和离线学习(即“做梦”阶段)的交替来实现高样本效率。通过这种“清醒-做梦”学习模式,论文中的模型能够在有限的真实环境交互下,通过模拟经验来提高学习效率,从而为开发能够快速学习现实世界应用案例的能源高效神经形态学习系统铺平了道路。

    Q: 有哪些相关研究?

    A: 这篇论文提到了多个与神经形态硬件、脉冲神经网络(SNNs)、强化学习以及相关学习算法和架构相关的研究。以下是一些论文中引用的相关研究:

    1. 深度强化学习(DRL)算法的适应:论文中提到了将深度Q网络(DQN)和双延迟深度确定性策略梯度(TD3)等深度强化学习算法适应于脉冲网络,这些网络在离散和连续动作空间环境中都得到了应用。
    2. 基于模型的强化学习(MBRL):论文采用了一种最近提出的MBRL方法,该方法使用SNNs并且与神经形态硬件实现兼容。
    3. 神经形态硬件:论文中讨论了神经形态计算系统,这些系统使用专门的硬件基板来模拟生物神经网络的计算原理。
    4. DYNAP-SE神经形态处理器架构:论文中使用了DYNAP-SE这一通用神经形态处理器架构,它实现了基于指数泄露积分发放(ExLIF)模型的基本神经元动态。
    5. e-prop方法:这是一种生物学上合理的演员-评论家和通过时间的反向传播的形式,代表了脉冲网络强化学习的最新技术方法。
    6. Spike-timing-dependent plasticity (STDP):论文中提到了基于奖励信号调节STDP的想法,这是强化学习在脉冲网络中的一种实现方式。
    7. 局部突触可塑性规则:论文中提到了使用基于奖励的局部可塑性规则的方法,这些方法对于简单任务效果很好,但在复杂的控制场景中面临限制。
    8. 记忆整合和强化学习:论文中提到了做梦在记忆整合和生物大脑中的强化学习中的作用。
    9. 人口编码技术:用于将环境状态变量和选定的动作转换为可以被网络处理的脉冲序列。

    这些研究为论文提出的模型提供了理论和技术基础,帮助实现了在神经形态硬件上的高效学习。论文通过结合这些研究成果,提出了一种新的神经形态学习系统,该系统能够在真实世界应用和用例中实现快速学习,并且具有能源效率。

    Q: 论文如何解决这个问题?

    A: 论文通过以下几个关键步骤来解决人工智能学习平台的能源效率问题:

    1. 模型基础强化学习(MBRL):论文提出了一种基于模型的强化学习方法,这种方法使用脉冲神经网络(SNNs),并且与神经形态硬件兼容。这种方法被证明比现有的无模型强化学习方法更具样本效率。
    2. 混合信号神经形态硬件:利用混合信号神经形态芯片的能源效率,特别是DYNAP-SE神经形态处理器架构,该架构实现了指数泄露积分发放(ExLIF)模型的神经元动态。
    3. “清醒-做梦”学习阶段:提出了一种”清醒-做梦”学习模式,其中包括在线学习和离线学习的交替。在”清醒”阶段,代理与真实环境互动并更新其策略和世界模型;而在”做梦”阶段,代理使用学习到的世界模型生成模拟经验,进一步细化策略。
    4. 两个共生网络:模型包括两个网络:一个代理网络,通过结合真实和模拟经验学习;一个学习到的世界模型网络,用于生成模拟经验。
    5. 硬件实现:通过使用混合信号神经形态处理器,其中读出层通过与计算机的交互进行训练,而其他层保持固定,实现了网络的硬件实现。
    6. 输入编码:使用人群编码技术将游戏状态变量和选定的动作转换为可以被网络处理的脉冲序列。
    7. 实验验证:通过在Atari游戏Pong上的实验,验证了所提出模型的有效性。实验结果表明,通过引入”做梦”阶段,显著减少了与真实环境的交互次数,同时保持了良好的性能。

    通过这些方法,论文展示了一种能够在真实世界应用和用例中快速学习且能源效率高的神经形态学习系统。这种方法受到生物神经系统的启发,并利用了神经形态硬件的计算优势。

    Q: 论文做了哪些实验?

    A: 论文中进行了一系列的实验来评估所提出的基于神经形态硬件的强化学习方法。以下是实验的主要内容:

    1. 基线代理无做梦能力(Baseline agent without dreaming)
      • 建立了一个没有做梦能力的SNN基线代理。
      • 代理架构包括一个输入层,一个隐藏层(由510个漏斗积分发放(LIF)神经元组成),以及一个3单元读出层。
      • 仅在读出层更新权重,使用基于奖励的策略梯度规则。
    2. 代理加入做梦能力(Agent with dreaming)
      • 在基线代理的基础上增加了做梦能力,使用一个单独的模型网络来学习环境动态。
      • 模型网络架构与代理类似,但有3个额外的动作输入和4+1个读出单元来预测下一个状态和奖励。
      • 训练在“清醒”阶段和“做梦”阶段之间交替进行。
    3. 时间考虑(Timing considerations)
      • 优化系统性能和训练时间需要仔细考虑更新输入和从隐藏神经元读取脉冲之间的等待时间。
      • 研究了10毫秒、20毫秒和50毫秒的等待时间,选择了10毫秒的等待时间以最小化训练时间。
    4. 实验设置(Experiments and results)
      • 在OpenAI Gym工具包中的Atari Pong视频游戏环境中进行了一系列的实验。
      • 每个训练运行包括2000个游戏,每个游戏持续100帧。
      • 进行了10次独立的训练运行,以确保结果的稳健性和可靠性。
    5. 结果(Results)
      • 通过图表展示了有无做梦能力的代理在训练过程中的平均回报。
      • 观察到引入做梦能力可以显著提高样本效率,使得代理在与真实环境的交互次数减半的情况下达到更高的分数。
      • 还展示了具有做梦能力的一个代表性训练运行中策略熵的演变。
    6. 讨论(Discussion)
      • 论文讨论了实验结果的意义、方法的局限性以及未来研究的方向。
    7. 结论(Conclusion)
      • 论文总结了实验结果,强调了基于模型的强化学习与脉冲网络在神经形态硬件上实现样本效率高和能源效率高的学习系统的潜力。

    这些实验验证了所提出方法的有效性,并展示了在神经形态硬件上实现强化学习代理的可行性。通过做梦阶段的引入,代理能够在有限的真实环境交互下实现更有效的学习。

    Q: 有什么可以进一步探索的点?

    A: 论文在讨论部分提出了一些潜在的研究方向和可以进一步探索的点,以下是几个主要的点:

    1. 将读出层转移到神经形态芯片上
      • 探索将读出层的权重量化,并使用并行连接或利用下一代芯片更可编程的特性和突触权重,将这些层转移到神经形态芯片上。
    2. 使用泊松脉冲发生器进行输入编码
      • 考虑使用泊松脉冲发生器作为输入编码方案,这可能需要进一步的工程优化,以减少DYNAP-SE芯片上泊松脉冲发生器的更新时间。
    3. 在更广泛的任务上测试方法
      • 在更复杂的游戏和现实世界应用上测试所提出的方法,以评估其普适性和可扩展性。
    4. 训练世界模型以应对更复杂的任务和环境
      • 考虑使用多个代理在训练过程中收集更多样的环境信息,以提高模型网络捕捉环境动态的能力。
    5. 优化神经形态硬件的参数
      • 进一步研究和优化DYNAP-SE芯片的参数,以改善性能和可靠性。
    6. 提高系统的鲁棒性
      • 研究如何提高系统对设备不匹配和环境变化的鲁棒性,例如通过群体编码、片上学习和校准机制。
    7. 探索不同的学习规则和网络架构
      • 研究其他可能更适合神经形态硬件的本地学习规则和网络架构。
    8. 开发更高级的模拟环境
      • 开发更高级的模拟环境,以更好地模拟真实世界的情况,并用于训练和测试神经形态系统。
    9. 集成更复杂的记忆和规划机制
      • 探索如何将更复杂的记忆和规划机制集成到神经形态系统中,以提高其在复杂任务中的表现。
    10. 跨学科合作
      • 鼓励神经科学、计算机科学、电子工程等领域的研究人员之间的合作,以推动神经形态计算和智能系统的发展。

    这些探索点可以帮助推动神经形态计算领域的发展,并为创建能够适应真实世界环境的智能系统提供新的思路和方法。

    Q: 总结一下论文的主要内容

    A: 这篇论文《Neuromorphic dreaming: A pathway to efficient learning in artificial agents》主要探讨了如何通过模仿生物神经系统的高效学习能力,提高人工智能(AI)计算平台的能源效率。以下是论文的主要内容概述:

    1. 问题背景:随着AI模型的不断进步,能源效率成为了一个关键挑战。生物系统能够快速且高效地学习复杂技能,这为AI提供了灵感。
    2. 研究目标:提出一种基于模型的强化学习方法(MBRL),使用脉冲神经网络(SNNs)在混合信号类脑(neuromorphic)硬件上实现,以提高样本效率和能源效率。
    3. 方法论
      • 神经形态硬件:使用DYNAP-SE神经形态处理器,该处理器采用指数泄露积分发放(ExLIF)模型实现神经元动态。
      • “清醒-做梦”学习阶段:交替进行在线学习(清醒)和离线学习(做梦)阶段,以提高学习效率。
      • 两个网络:代理网络和世界模型网络,前者负责决策制定,后者负责模拟环境动态。
    4. 实验设计
      • 在Atari Pong游戏中进行实验,验证模型的有效性。
      • 对比有无“做梦”阶段的代理性能,以及策略熵随训练的变化。
    5. 实验结果
      • 引入“做梦”阶段显著提高了样本效率,减少了与真实环境的交互次数。
      • 代理能够更快地达到更高的游戏分数,并且策略熵随着训练的进行而降低,表明代理的行动选择变得更加自信。
    6. 讨论与贡献
      • 论文讨论了使用DYNAP-SE神经形态处理器实现实时交互的重要性和挑战。
      • 提出了未来研究方向,包括将读出层转移到神经形态芯片上,使用泊松脉冲发生器进行输入编码,以及在更复杂的任务和环境中测试方法。
    7. 结论
      • 论文总结了通过在神经形态硬件上实现基于模型的强化学习,可以创建出既节能又高效的学习系统。
      • 强调了这种方法在开发能够适应真实世界环境的智能代理方面的潜力。

    整体而言,论文提出了一种新颖的方法,通过结合神经形态硬件和强化学习,提高了AI系统的能源效率和学习能力,为未来智能系统的发展提供了新的思路。

人生梦想 - 关注前沿的计算机技术 acejoy.com