计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23

计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-23

本期,我们对大语言模型在表情推荐, 软件安全和 自动化软件漏洞检测等方面如何应用,提供几篇最新的参考文章。

1 Semantics Preserving Emoji Recommendation with Large Language Models

Z Qiu, K Qiu, H Lyu, W Xiong, J Luo - arXiv preprint arXiv:2409.10760, 2024
在这里插入图片描述

使用大型语言模型进行语义保持的 Emoji 推荐

摘要
Emoji 已经成为数字通信中不可或缺的一部分,通过传达情感、语气和意图来丰富文本。现有的 Emoji 推荐方法主要基于它们与用户原始文本中选择的确切 Emoji 匹配的能力进行评估。然而,它们忽略了社交媒体上用户行为的本质,即每段文本都可以对应多个合理的 Emoji。为了更好地评估模型与现实世界 Emoji 使用的一致性,我们提出了一个新的语义保持评估框架,用于 Emoji 推荐,该框架衡量模型推荐与用户文本保持语义一致性的 Emoji 的能力。为了评估模型保持语义的能力,我们评估预测的情感状态、人口统计特征和态度立场是否保持不变。如果这些属性得以保留,我们认为推荐的 Emoji 保持了原始语义。大型语言模型(LLMs)在理解和生成细微、相关上下文输出方面的高级能力使它们非常适合处理语义保持 Emoji 推荐的复杂性。为此,我们构建了一个全面的基准测试,系统地评估了六种专有和开源 LLMs 使用不同提示技术在我们的任务上的性能。我们的实验表明,GPT-4o 在其他 LLMs 中表现最佳,达到了 79.23% 的语义保持分数。此外,我们进行了案例研究,分析了模型在下游分类任务中的偏见,并评估了推荐的 Emoji 的多样性。

创新点

  1. 提出了一个新的语义保持评估框架,用于评估 Emoji 推荐模型。
  2. 利用大型语言模型(LLMs)进行 Emoji 推荐,考虑了模型在理解和生成相关上下文输出方面的能力。
  3. 开发了一套全面的基准测试,评估了多种 LLMs 在 Emoji 推荐任务上的性能。

算法模型

  • 使用了六种不同的专有和开源大型语言模型(LLMs),包括 GPT-4o。
  • 构建了基于不同提示技术(zero-shot, few-shot, conditional generation)的评估方法。
  • 利用五个下游分类任务(情感分析、情绪分类、立场检测、年龄预测、性别预测)来评估语义保持能力。
    在这里插入图片描述

实验效果

  • GPT-4o 在所有模型中表现最佳,达到了 79.23% 的语义保持分数。
  • 通过条件推荐方法(考虑用户画像信息),所有模型的推荐性能都有显著提升。
  • 案例研究显示,模型在特定类别(如性别分类中的“女性”类别)中存在偏差。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

推荐阅读指数
★★★★☆

推荐理由
这篇论文在自然语言处理和用户交互领域具有创新性,特别是在利用大型语言模型进行 Emoji 推荐方面。它提出的语义保持评估框架对于评估和改进未来的 Emoji 推荐系统具有重要意义。此外,论文中关于模型偏见的分析也为理解和改进 AI 模型的公平性和无偏见性提供了有价值的见解。对于研究 Emoji 使用、推荐系统或大型语言模型的学者和从业者来说,这是一篇值得一读的论文。

2. Detection Made Easy: Potentials of Large Language Models for Solidity Vulnerabilities

MT Alam, R Halder, A Maiti - arXiv preprint arXiv:2409.10574, 2024
在这里插入图片描述
在这里插入图片描述

简化检测:大型语言模型在 Solidity 漏洞检测中的潜力

摘要
随着以太坊主网上 Solidity 智能合约的大规模部署,近年来吸引了越来越多出于财务动机的攻击者。本文介绍了如何使用大型语言模型(LLMs)检测 Solidity 中的 OWASP 十大漏洞。作者提出了一个新颖的、类别平衡的、结构化且标记的数据集 VulSmart,用于基准测试和比较多个开源和闭源 LLMs 的性能。通过自动化和手动评估,使用 BLEU 和 ROUGE 指标评估漏洞检测的有效性。研究发现,经过微调的闭源模型 GPT-3.5 Turbo 和 GPT-4o Mini 在漏洞检测、确定漏洞类型和严重性的准确性上达到了 99%、94% 和 98%。SmartVD 框架在“思维链”提示技术下表现最佳,而微调后的闭源模型在“零样本”提示方法下表现优异。

创新点

  1. 提出了一个新的数据集 VulSmart,用于智能合约漏洞检测。
  2. 开发了 SmartVD 框架,利用 LLMs 进行漏洞类型和严重性的多类分类及生成。
  3. 对比了多种开源和闭源 LLMs 在漏洞检测任务上的性能。
  4. 探索了不同的提示策略(零样本、少样本、思维链)对 LLMs 漏洞检测能力的影响。

算法模型

  • 使用了包括 CodeLlama、Llama2、CodeT5、Falcon 等开源 LLMs,以及 GPT-3.5 Turbo 和 GPT-4o Mini 等闭源模型。
  • SmartVD 框架通过微调预训练的 Codelama 模型构建,包括输入层、标记化层、嵌入层、注意力层、LoRA 单元、归一化层和输出层。
  • 采用了二元分类和多类分类及生成的方法来评估模型。
    在这里插入图片描述

实验效果

  • GPT-3.5 在漏洞分类任务中表现最佳,准确率达到 78%,经过微调后准确率提升至 99%。
  • SmartVD 框架在“思维链”提示技术下表现最佳,而微调后的闭源模型在“零样本”提示方法下表现优异。
  • 在对抗性攻击测试中,闭源 LLMs 显示出完全的抵抗力,而开源 LLMs 的表现有所下降。
    在这里插入图片描述

推荐阅读指数
★★★★☆

推荐理由
这篇论文针对智能合约安全领域,特别是 Solidity 语言的漏洞检测问题,提出了创新的数据集和基于 LLMs 的检测框架。研究不仅提供了深入的分析和实验验证,还探讨了不同的提示策略对模型性能的影响,这对于理解 LLMs 在代码分析任务中的应用具有重要意义。此外,论文还考虑了对抗性攻击对模型鲁棒性的影响,为未来在这一领域的研究提供了有价值的见解和方向。对于对智能合约安全、漏洞检测和 LLMs 应用感兴趣的研究人员和从业者来说,这是一篇值得阅读的论文。

3. Prompt Obfuscation for Large Language Models

D Pape, T Eisenhofer, L Schönherr - arXiv preprint arXiv:2409.11026, 2024
在这里插入图片描述
在这里插入图片描述

大型语言模型的提示模糊化

摘要
系统提示,包括详细说明底层大型语言模型(LLM)执行的任务的指令,可以轻松地将基础模型转变为工具和服务,而开销极小。由于它们对实用性的重要影响,通常被视为知识产权,类似于软件产品的代码。然而,通过使用提示注入,可以轻易提取系统提示。迄今为止,还没有有效的对策来防止系统提示的窃取,所有保护努力都可能被精心制作的提示注入所绕过,从而避开所有保护机制。在这项工作中,我们提出了一种传统系统提示的替代方案。我们引入了提示模糊化,以防止提取系统提示,同时保持系统的实用性,几乎没有开销。核心思想是找到原始系统提示的表示,它具有相同的功能,而模糊化的系统提示不包含任何允许对原始系统提示得出结论的信息。我们实现了一种基于优化的方法来找到模糊化的提示表示,同时保持功能。为了评估我们的方法,我们调查了八种不同的指标,比较使用原始和模糊化系统提示的系统的性能,我们表明模糊化版本始终与原始版本相当。我们进一步进行了三种不同的去模糊化攻击,涵盖了不同攻击者知识,包括黑盒和白盒攻击,并表明即使在访问模糊化提示和LLM本身的情况下,我们也无法始终如一地提取有意义的信息,尽管模型有时可以从其自身输出中识别系统提示的含义。总体而言,我们展示了提示模糊化可以是保护知识产权的有效方法,同时保持与原始系统提示相同的实用性。

创新点

  1. 提出了一种新的系统提示模糊化方法,以防止系统提示被提取,同时保持系统本身的实用性。
  2. 开发了一种基于优化的方法来找到模糊化的提示表示,该方法在不牺牲功能的情况下保护了提示。
  3. 对比了使用原始和模糊化系统提示的系统性能,并展示了模糊化版本与原始版本相当。
  4. 进行了包括黑盒和白盒在内的不同去模糊化攻击,证明了模糊化提示的有效性。

算法模型

  • 提出了在软提示空间中进行模糊化的优化方法,通过梯度下降算法直接优化软提示。
  • 使用了Adam优化器,并设置了学习率、迭代次数和令牌数量等参数。
  • 实现了一种基于贪心坐标梯度(GCG)技术的离散优化方法,用于硬提示模糊化。
    在这里插入图片描述

实验效果

  • 在不同的数据集上评估了模糊化提示的有效性,包括TruthfulQA、TriviaQA、CNN dailymail和samsum。
  • 使用了多种文本相似度指标来评估模糊化提示与原始提示之间的相似度。
  • 进行了黑盒和白盒攻击,以评估攻击者从模糊化提示中提取原始提示信息的能力。
  • 实验结果表明,模糊化提示在保持与原始提示相同功能的同时,能够有效抵抗去模糊化攻击。

推荐阅读指数
★★★★☆

推荐理由
这篇论文针对大型语言模型中系统提示的安全性问题提出了创新的解决方案。通过引入提示模糊化技术,有效地保护了模型的知识产权,防止了提示注入攻击。论文中的实验设计严谨,涵盖了多种评估指标和攻击场景,为理解和防御LLMs中的安全威胁提供了有价值的见解。

4. Self-Evolutionary Large Language Models through Uncertainty-Enhanced Preference Optimization

J Wang, Y Zhou, X Zhang, M Bao, P Yan - arXiv preprint arXiv:2409.11212, 2024
在这里插入图片描述
通过不确定性增强的偏好优化实现自我进化的大型语言模型

摘要
大型语言模型(LLMs)在以太坊主网上的广泛部署近年来吸引了越来越多的财务驱动攻击者。本文提出了一种新的不确定性增强偏好优化(UPO)框架,以提高LLMs在Solidity漏洞检测中的性能。该框架通过执行成对不确定性估计和可靠反馈抽样来减少当前策略和奖励模型产生的噪声偏好数据。研究者引入了一个估计器模型,该模型结合了贝叶斯神经网络(BNN)中的蒙特卡洛(MC)dropout技术,以对LLM策略产生的偏好数据进行不确定性估计。与现有方法直接基于奖励分数过滤生成的响应不同,估计器专注于成对的模型不确定性,并有效绕过了奖励模型的确认偏差问题。此外,研究者还提出了一种不确定性增强的自我进化算法,以提高偏好优化的鲁棒性,并鼓励LLM生成具有高奖励和高确定性的响应。在多个基准测试上的广泛实验表明,该框架显著减轻了噪声问题,并提高了迭代偏好优化的性能。

创新点

  1. 提出了不确定性增强偏好优化(UPO)框架,用于提高LLMs在偏好优化中的性能。
  2. 引入了估计器模型,使用贝叶斯神经网络中的蒙特卡洛dropout技术来估计偏好数据的不确定性。
  3. 提出了不确定性增强的自我进化算法,以提高LLMs在迭代更新参数时的鲁棒性。

算法模型
在这里插入图片描述

  • 不确定性增强偏好优化(UPO)框架:该框架通过减少由当前策略和奖励模型产生的噪声偏好数据来提高LLMs的自我进化能力。
  • 估计器模型:结合了贝叶斯神经网络中的蒙特卡洛dropout技术,用于估计LLM策略产生的偏好数据的不确定性。
  • 不确定性增强的自我进化算法:通过不确定性估计来选择可靠的偏好数据,并将其用于LLM策略的迭代更新。

实验效果

  • 在AlpacaEval 2.0和MT-Bench等通用NLP基准测试中,UPO框架显著提高了LLMs的性能。
  • 在GSM8K和MATH等数学推理任务中,UPO框架同样展现出了优越的性能提升。
  • 实验结果表明,UPO框架在减少噪声和提高迭代偏好优化的性能方面具有显著效果。
    在这里插入图片描述

推荐阅读指数
★★★★☆

推荐理由
这篇论文针对大型语言模型在偏好优化中的噪声问题提出了一种新颖的解决方案。UPO框架通过不确定性估计和自我进化算法,有效地提高了LLMs在多种任务上的性能。论文的实验设计严谨,涵盖了广泛的任务和数据集,验证了方法的有效性。

5. VulnLLMEval: A Framework for Evaluating Large Language Models in Software Vulnerability Detection and Patching

A Zibaeirad, M Vieira - arXiv preprint arXiv:2409.10756, 2024
在这里插入图片描述
VulnLLMEval:一个评估大型语言模型在软件漏洞检测和修补中的性能的框架

摘要
大型语言模型(LLMs)在代码翻译等任务中展现出了潜力,激发了人们对其在自动化软件漏洞检测(SVD)和修补(SVP)中应用的兴趣。为了推进这一领域的研究,建立一个基准测试对于评估LLMs在这些任务中的优势和局限性至关重要。尽管LLMs具有能力,但它们是否能够准确分析复杂漏洞并生成适当的补丁仍然存在疑问。本文介绍了VulnLLMEval,这是一个旨在评估LLMs在识别和修补C代码漏洞中的性能的框架。我们的研究包括从Linux内核中提取的307个真实世界漏洞,创建了一个包含漏洞和已修补代码的精选数据集。这个基于真实世界代码的数据集为评估LLM在SVD和SVP任务中的性能提供了多样化和代表性的测试平台,为严格评估提供了坚实的基础。我们的结果揭示了LLMs在区分漏洞和已修补代码方面常常遇到困难。此外,在SVP任务中,这些模型倾向于过度简化代码,产生的解决方案可能需要进一步改进才能直接使用。

创新点

  1. 提出了VulnLLMEval框架,用于评估LLMs在软件漏洞检测和修补任务中的性能。
  2. 创建了一个包含307个真实世界漏洞的精选数据集,涵盖30种不同的CWEs,这些漏洞来自Linux内核。
  3. 开发了一种自动化的数据收集方法,使用提交哈希来收集和标记漏洞和已修补的代码,无需安全专家手动提供真实补丁,简化了评估过程。
  4. 设计了8种不同的提示模板,用于引导LLMs完成漏洞检测和修补任务,包括零样本和少样本学习场景。

算法模型

  • VulnLLMEval框架:一个用于评估预训练LLMs在SVD和SVP任务中的性能的框架。
  • 数据集:包含307个真实世界的C语言代码漏洞,涵盖Linux内核中的多种CWEs。
  • 自动化数据收集方法:利用公开的CVE记录和元数据(如提交哈希、CVE和CWE)系统地提取漏洞代码块及其相应的修补版本。
  • 评估指标:包括Mean Reciprocal Rank (MRR)、Top-5准确率、Rouge分数、CodeBLEU分数和循环复杂度等。

算法伪码:
在这里插入图片描述

实验效果

  • 在多个真实世界的漏洞检测和修补任务中,LLMs表现出在区分漏洞和已修补代码方面的挑战。
  • LLMs在生成补丁时倾向于简化代码,可能需要进一步的改进才能直接使用。
  • 实验结果表明,LLMs在SVD任务中的表现与在SVP任务中的表现存在差异,需要进一步的研究和改进。
    在这里插入图片描述
    在这里插入图片描述

推荐阅读指数
★★★★☆

推荐理由
这篇论文提出了一个创新的框架VulnLLMEval,用于评估大型语言模型在软件漏洞检测和修补任务中的性能。通过创建一个基于真实世界漏洞的数据集,并开发自动化的数据收集方法,该研究为LLMs在软件安全领域的应用提供了有价值的见解和评估工具。对于从事软件安全、漏洞检测和语言模型研究的学者和工程师来说,这是一篇值得阅读的论文。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[深度学习]卷积神经网络CNN

1 图像基础知识 import numpy as np import matplotlib.pyplot as plt # 图像数据 #imgnp.zeros((200,200,3)) imgnp.full((200,200,3),255) # 可视化 plt.imshow(img) plt.show() # 图像读取 imgplt.imread(img.jpg) plt.imshow(img) plt.show() 2 CNN概述 卷积层convrelu池…

分布式数据库——HBase基本操作

启动HBase: 1.启动hadoop,进入hadoop的sbin中 cd /opt/hadoop/sbin/ 2.初始化namenode hdfs namenode -format 3.启动hdfs ./start-all.sh 4.启动hbase cd /opt/hbase/bin ./start-hbase.sh 5.使用jps查看进程 jps 以下图片则是hbase启动成功~ 运行HBase ./hbase sh…

64.【C语言】再议结构体(下)(未完)

本文衔接第63篇 目录 6.复习 7.修改默认对齐数 8.结构体传参 01.传递非指针参数 02.传递指针参数(传递地址) 03.对比 9.结构体实现位段 01.位段的定义 02.格式 03.例题 答案速查 分析 前置知识:位段的内存分配 解析 若按浪费空间处理 验证 6.复习 20.【C语言…

20.1 分析pull模型在k8s中的应用,对比push模型

本节重点介绍 : push模型和pull模型监控系统对比为什么在k8s中只能用pull模型的k8s中主要组件的暴露地址说明 push模型和pull模型监控系统 对比下两种系统采用的不同采集模型,即push型采集和pull型采集。不同的模型在性能的考虑上是截然不同的。下面表格简单的说…

全网最全软件测试面试题(含答案解析+文档)

一、软件测试基础面试题 1、阐述软件生命周期都有哪些阶段? 常见的软件生命周期模型有哪些? 软件生命周期是指一个计算机软件从功能确定设计,到开发成功投入使用,并在使用中不断地修改、增补和完善,直到停止该软件的使用的全过程(从酝酿到…

smb文件夹共享设置

UOS统信三种不同场景的文件夹共享,分别是:1、UOS系统间的文件共享;2、Windows7系统访问UOS共享的文件;3、UOS系统访问Windows7共享的文件 文章目录 功能概述功能介绍第一种场景:UOS系统之间的文件共享设置步骤一:打开共享文件夹步骤二:共享管理步骤三:设置共享密码步骤…

Linux使用systemd安排定期任务的操作详解

systemd 定时器是一种替代传统 cron 的方法,用于安排定时任务。 systemd 定时器由两部分组成:一个 .service 文件和一个 .timer 文件。.service 文件定义了要执行的任务,而 .timer 文件设定了何时执行这个任务。 通常位于 /etc/systemd/syste…

扩散模型(2)--1

1.简介 生成模型通过学习并建模输入数据的分布,从而采集生成新的样木,该模型广泛运用于图片视频生成、文本生成和药物分子生成。扩散模型是一类概率生成模型,扩散模型通过向数据中逐步加入噪声来破坏数据的结构,然后学习一个相对应…

【Linux的内存管理】

为什么需要内存管理 分段和分页内存分段内存分页 分页情况下,虚拟内存如何映射到物理地址页表原理多级页表 TLB快表段页式内存管理需要为什么进程地址空间Linux的进程虚拟地址空间管理进程地址空间如何分配虚拟内存虚拟内存的管理程序编译后的二进制文件如何映射到虚…

node-rtsp-stream、jsmpeg.min.js实现rtsp视频在web端播放

1. 服务地址(私有):https://gitee.com/nnlss/video-node-server 2.node-rtsp-stream 需要安装FFMPEG; 3.给推拉流做了开关,可借助http请求,有更好方式可联系; 4.存在问题: 1&…

王道-计组

4 设相对寻址的转移指令占4字节,其中第1、第2字节是操作码,第3、第4字节是相对位移量(用补码表示)。设当前PC的内容为2008H,要求转移到2001H的地址,则该转移指令第3、第4字节的内容应为______ 答案:A 解析:由于指令占4字节,取指令之后(PC)+4。第3、第4字节的内容为:2…

【从0开始自动驾驶】用python做一个简单的自动驾驶仿真可视化界面

【从0开始自动驾驶】用python做一个简单的自动驾驶仿真可视化界面 废话几句废话不多说,直接上源码目录结构init.pysimulator.pysimple_simulator_app.pyvehicle_config.json 废话几句 自动驾驶开发离不开仿真软件成品仿真软件种类多https://zhuanlan.zhihu.com/p/3…

Debian与Ubuntu:深入解读两大Linux发行版的历史与联系

Debian与Ubuntu:深入解读两大Linux发行版的历史与联系 引言 在开源操作系统的领域中,Debian和Ubuntu是两款备受瞩目的Linux发行版。它们不仅在技术上有着密切的联系,而且各自的发展历程和理念也对开源社区产生了深远的影响。本文将详细介绍…

10分钟,AI如何精准写出社会热点文?一篇爆款文章的背后你敢信?

本文背景 很多小伙伴们反馈,用AI输出的文章经常被平台判定为“疑似AI创作”,一但被判定,系统就不会给推荐流量。 到底在这个充斥着AI的大环境下,应该怎样完成AI文章的写作呢?特别是做流量主项目的小伙伴们,…

探索甘肃非遗:Spring Boot网站开发案例

1 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前&#…

【Android 源码分析】Activity短暂的一生 -- 目录篇 (持续更新)

1. 前言 忽然有一天,我想要做一件事:去代码中去验证那些曾经被“灌输”的理论。                                                                                  …

Library介绍(二)

时序弧(timing arc) 描述2个节点延迟信息的数据,可以分为net delay和cell delay两大类。 Net delay: drive cell output pin和drived cell input pin之间的net delay,取决于net rc和drive cell驱动能力及drived cell的load。 C…

Java五子棋

目录 一:案例要求: 二:代码: 三:结果: 一:案例要求: 实现一个控制台下五子棋的程序。用一个二维数组模拟一个15*15路的五子棋棋盘,把每个元素赋值位“┼”可以画出棋…

Rust和Go谁会更胜一筹

在国内,我认为Go语言会成为未来的主流,因为国内程序员号称码农,比较适合搬砖,而Rust对心智要求太高了,不适合搬砖。 就个人经验来看,Go语言简单,下限低,没有什么心智成本&#xff0c…