计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-29
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-29
目录
文章目录
- 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-29
- 目录
- 1. Does your LLM truly unlearn? An embarrassingly simple approach to recover unlearned knowledge
- 摘要
- 研究背景
- 问题与挑战
- 如何解决
- 创新点
- 算法模型
- 实验效果(包含重要数据与结论)
- 推荐阅读指数:4.5
- 2. Comparative Study of Multilingual Idioms and Similes in Large Language Models
- 摘要
- 研究背景
- 问题与挑战
- 如何解决
- 创新点
- 算法模型
- 实验效果(包含重要数据与结论)
- 推荐阅读指数: 4.0
- 3. Beyond Browsing: API-Based Web Agents
- 摘要
- 研究背景
- 问题与挑战
- 如何解决
- 创新点
- 算法模型
- 实验效果(包含重要数据与结论)
- 推荐阅读指数: 4.0
- 4. Multi-head Sequence Tagging Model for Grammatical Error Correction
- 摘要
- 研究背景
- 问题与挑战
- 如何解决
- 创新点
- 算法模型
- 实验效果(包含重要数据与结论)
- 推荐阅读指数: 5
- 代码:
- 5. BIG5-CHAT: Shaping LLM Personalities Through Training on Human-Grounded Data
- 文章标题翻译
- 摘要
- 研究背景
- 问题与挑战
- 如何解决
- 创新点
- 算法模型
- 实验效果(包含重要数据与结论)
- 推荐阅读指数:4.0
- 后记
1. Does your LLM truly unlearn? An embarrassingly simple approach to recover unlearned knowledge
Authors: Zhiwei Zhang, Fali Wang, Xiaomin Li, Zongyu Wu, Xianfeng Tang, Hui
Liu, Qi He, Wenpeng Yin, Suhang Wang
https://arxiv.org/abs/2410.16454
你的大型语言模型真的“忘记”了吗?一种令人尴尬的简单方法来恢复“遗忘”的知识
摘要
这篇论文探讨了大型语言模型(LLMs)在进行“机器卸载”(machine unlearning)操作后,是否真的能够忘记不需要的知识。作者发现,通过对经过卸载处理的模型应用量化(quantization)技术,可以恢复那些被“忘记”的信息。研究通过多种量化技术和不同精度级别的实验,评估了这一现象。结果显示,在全精度下,卸载模型平均保留了21%的被意图遗忘的知识,而在4位量化后,这一比例显著增加到83%。基于实验结果,论文提供了理论解释,并提出了一种量化鲁棒的卸载策略,旨在缓解这一复杂问题。研究强调了在保持卸载模型效用和防止通过量化恢复知识之间的基本张力,突出了现有LLM卸载方法的重大失败,并强烈主张需要更全面和鲁棒的策略,以确保真正的卸载,同时不牺牲模型效用。
研究背景
大型语言模型(LLMs)在文本生成方面展现出了卓越的能力,但同时也可能从训练数据中习得不想要的行为,如版权和隐私问题。机器卸载被提出作为一种解决方案,旨在从LLMs中移除特定知识,而无需重新训练模型。尽管当前的卸载方法有效,但人们对这些方法是否真的能够实现遗忘,或者仅仅是隐藏知识,这一点关注不足。
问题与挑战
主要挑战在于验证现有的LLMs卸载方法是否真正实现了遗忘,还是仅仅隐藏了知识,特别是在模型量化后,是否能够防止知识的恢复。此外,如何在保持模型效用的同时实现真正的遗忘,是一个需要解决的关键问题。
如何解决
研究者们通过实验发现,量化技术可以恢复被卸载模型“忘记”的知识。基于此发现,论文提出了一种理论解释,并开发了一种量化鲁棒的卸载策略,称为基于显著性的大学习率卸载(SURE)。SURE策略通过构建模块级别的显著性图来指导卸载过程,仅更新与被遗忘数据最相关的组件,从而在应用大学习率时减少对模型效用的负面影响。
创新点
- 揭示量化对卸载影响:首次系统地评估了量化技术对LLMs卸载性能的影响,揭示了量化可能导致被卸载的知识恢复的问题。
- 理论解释:为观察到的现象提供了理论解释,解释了为什么量化可能导致卸载失败。
- SURE策略:提出了一种新的卸载策略,通过显著性图和大学习率来指导卸载过程,以减少量化对卸载效果的影响。
算法模型
论文中提到的主要算法包括:
- Gradient Ascent (GA):通过梯度上升减少对遗忘数据集的正确预测概率。
- Negative Preference Optimization (NPO):将遗忘数据集视为负偏好数据,调整模型以降低对遗忘数据集的预测概率。
- SURE策略:基于显著性的大学习率卸载策略,通过构建模块级别的显著性图来指导卸载过程。
实验效果(包含重要数据与结论)
实验在多个数据集和不同的量化技术下进行,包括NEWS和BOOKS数据集。实验结果显示:
- 在全精度下,卸载模型平均保留了21%的被意图遗忘的知识。
- 在4位量化后,保留的知识比例显著增加到83%。
- SURE策略能够有效地减少量化对卸载效果的影响,提高卸载性能。
推荐阅读指数:4.5
2. Comparative Study of Multilingual Idioms and Similes in Large Language Models
Authors: Paria Khoshtab, Danial Namazifard, Mostafa Masoudi, Ali Akhgary, Samin
Mahdizadeh Sani, Yadollah Yaghoobzadeh
https://arxiv.org/abs/2410.16461
多语言成语和比喻在大型语言模型中的比较研究
摘要
本研究填补了文献中关于大型语言模型(LLMs)在解释多种语言中不同类型的比喻性语言(包括成语和比喻)的比较性能的空白。通过使用两个多语言数据集对LLMs进行评估,研究了包括思维链(chain-of-thought)、少量样本(few-shot)和英语翻译提示在内的各种提示工程策略的有效性。研究者还将这些数据集的语言扩展到了波斯语,构建了两个新的评估集。评估涉及闭源(GPT-3.5、GPT-4o mini、Gemini 1.5)和开源模型(Llama 3.1、Qwen2),揭示了不同语言和比喻类型间显著的性能差异。研究发现,尽管提示工程方法通常有效,但其成功程度因比喻类型、语言和模型而异。此外,开源模型在低资源语言的比喻解释上尤其困难。研究还观察到,对于许多语言来说,成语解释的性能已接近饱和,这需要更具挑战性的评估。
研究背景
大型语言模型(LLMs)在理解和生成人类语言方面展现出了显著的能力,但理解比喻性语言(包括比喻、成语和隐喻)是LLMs面临的一个挑战。比喻性语言通过丰富的文化参考和判断来隐含地表达复杂的想法和情感,对LLMs来说至关重要,因为它们需要与用户自然而有效地互动。因此,研究LLMs如何处理比喻性语言对于提升它们的能力至关重要。现有研究表明,LLMs不仅在生成上存在困难,还经常误解比喻性表达,这强调了需要更复杂的技术来弥合这些差距。在多语言环境中,这一挑战变得更加突出,因为比喻性语言与文化细微差别密切相关。
问题与挑战
主要挑战在于比较LLMs在解释不同类型比喻性语言(英语和多语言环境)的性能,以及探索不同提示工程策略的有效性。此外,需要为低资源语言(如波斯语)创建新的评估集,并评估LLMs在这些语言中的表现。
如何解决
研究者们通过以下方式解决上述挑战:
- 数据集扩展:将现有数据集的语言扩展到波斯语,构建了两个新的评估集。
- 提示工程策略:评估了包括思维链、少量样本和英语翻译提示在内的不同提示工程策略。
- 模型评估:对闭源和开源模型进行了综合评估,以了解它们在处理多语言比喻性语言方面的能力。
创新点
- 多语言数据集扩展:将数据集扩展到波斯语,为低资源语言的比喻性语言理解提供了新的资源。
- 全面的模型评估:不仅评估了闭源模型,还评估了开源模型,提供了对不同模型在多语言环境中性能的深入理解。
- 提示工程策略的比较:系统地比较了不同的提示工程策略,揭示了它们在不同语言和比喻类型中的有效性。
算法模型
研究中评估了多种LLMs,包括闭源模型(GPT-3.5、GPT-4o mini、Gemini 1.5)和开源模型(Llama 3.1、Qwen2)。这些模型被用来评估它们在解释成语和比喻方面的能力。
实验效果(包含重要数据与结论)
实验结果表明:
- 模型性能差异:不同模型在解释比喻性语言时表现出显著的性能差异。例如,Gemini 1.5在成语解释方面表现最好,而Llama 3.1在某些语言中表现优于Qwen2。
- 语言和比喻类型的影响:模型性能受到语言和比喻类型的影响。例如,对于英语和印尼语,模型性能较好,而对于低资源语言,性能较差。
- 提示工程的有效性:提示工程方法(如思维链提示)在某些情况下提高了模型性能,尤其是在较小的模型中。
- 翻译的影响:将测试数据翻译成英语可以提高某些模型的性能,但这取决于语言、模型和任务。
推荐阅读指数: 4.0
3. Beyond Browsing: API-Based Web Agents
Authors: Yueqi Song, Frank Xu, Shuyan Zhou, Graham Neubig
https://arxiv.org/abs/2410.16464
超越浏览:基于API的网络代理
摘要
本文探讨了传统基于浏览器的网络代理与基于API的AI代理在执行在线任务时的性能差异。研究者提出了两种新型代理:(1) 仅通过API调用执行在线任务的API调用代理,类似于传统的编码代理;(2) 能够通过Web浏览和APIs与在线数据交互的混合代理。在WebArena这一广泛使用的现实基准测试中进行的实验表明,基于API的代理优于基于Web浏览的代理。混合代理在各项任务中几乎一致性地超越其他代理,与仅Web浏览相比,绝对性能提升了超过20.0%,达到了35.8%的成功率,实现了任务不可知代理中的最先进性能。这些结果强烈表明,当API可用时,它们是仅依赖Web浏览的有吸引力的替代方案。
研究背景
网络代理通过浏览器界面辅助人类完成日常任务,如在线购物、规划、旅行规划等。现有的网络代理通常在图形用户界面(GUI)内操作,模拟人类行为,如点击和输入。然而,这些网站最初是为人类消费而设计的,可能不是机器的理想接口。与此同时,APIs是专为机器与在线内容交互而设计的另一种接口,允许机器直接与网络服务的后端通信,发送和接收机器友好格式的数据。
问题与挑战
尽管APIs提供了直接的机器接口,但AI代理是否能有效使用APIs来处理现实世界的在线任务,以及在何种条件下这是可能的,这些问题在科学文献中尚未得到充分研究。此外,并非所有网站都提供全面的API支持,在这种情况下,Web浏览行为可能仍然是必须的。
如何解决
研究者开发了新的基于API的代理,直接通过API调用与网络服务交互,绕过了通过模拟点击与Web页面GUI交互的需求。同时,为了处理那些API支持有限的网站,研究者探索了一种混合方法,将基于API的代理与Web浏览代理结合起来,开发了一种混合代理,能够根据任务需求和可用资源动态切换API调用和Web浏览。
创新点
- API调用代理:提出了一种新型的AI代理,它仅通过API调用执行在线任务,类似于传统的编码代理。
- 混合代理:提出了一种能够通过Web浏览和APIs与在线数据交互的混合代理,这种代理能够根据任务需求动态切换执行API调用或Web浏览动作,或两者结合。
- 实验设计:在WebArena这一广泛使用的现实基准测试中进行实验,全面评估了基于API的代理和混合代理的性能。
算法模型
研究中评估了三种类型的代理:
- 基于Web浏览的代理:通过模拟人类浏览行为,如点击、输入和页面间导航来执行任务。
- 基于API的代理:通过直接调用API与网络服务交互,执行任务。
- 混合代理:结合了基于Web浏览的代理和基于API的代理,能够在API调用和Web浏览之间动态切换。
实验效果(包含重要数据与结论)
实验结果表明:
- API基代理:在WebArena任务中平均性能提升了约15%,尤其在具有广泛API支持的网站(如Gitlab)上成功率更高。
- 混合代理:在所有类别中表现优于其他代理,准确率提高了超过5%,达到了35.8%的成功率。
- 成本与效率:虽然基于API的代理和混合代理在步骤数上更多,但由于它们能够更准确、高效地完成任务,因此增加的成本是合理的。
推荐阅读指数: 4.0
4. Multi-head Sequence Tagging Model for Grammatical Error Correction
Authors: Kamal Al-Sabahi, Kang Yang, Wangwang Liu, Guanyu Jiang, Xian Li, Ming Yang
https://arxiv.org/abs/2410.16473
多头序列标注模型用于语法错误纠正
摘要
本研究旨在解决语法错误纠正(GEC)问题,这是一个将源序列映射到目标序列的任务,两者仅在少数跨度上有所不同。因此,研究者将注意力转向了非自回归或序列标注模型。在这些模型中,GEC任务从Seq2Seq简化为用编辑命令对输入标记进行标注,这些命令从大编辑空间中选择。由于类别众多和可用数据集的限制,当前的序列标注方法在处理广泛的语法错误方面仍存在问题。为此,研究者进一步简化了GEC,将其分解为七个相关子任务:插入、删除、合并、替换、转换、检测和纠正,其中纠正是主要关注点。提出了一个新颖的多头和多任务学习模型,以有效利用训练数据并利用相关任务训练信号中的信息。为了缓解可用训练样本数量有限的问题,研究者使用新的去噪自编码器生成新的合成数据集,用于预训练。此外,提出了一种新的字符级转换,以增强序列到编辑的功能并提高模型的词汇覆盖范围。模型在BEA-19(测试)和CoNLL-14(测试)上分别达到了74.4/77.0和68.6/69.1的F0.5分数。在JFLEG测试集上评估时,单模型和集成模型的GLEU分数分别为61.6和61.7。与最近发布的最先进结果相比,性能有了显著提升。
研究背景
语法错误纠正(GEC)任务涉及检测和纠正各种错误,如标点、拼写、语法和词汇选择。近年来,由于其能够改善用户生成文本的语法性和可读性,GEC已成为众多建模工作的研究对象。先前的方法将GEC视为单语文本到文本的重写或机器翻译。虽然这些模型可以处理输出之间的完整依赖关系,但在达到人类性能水平之前,仍需解决一些严重问题。
问题与挑战
GEC与机器翻译不同,因为它只改变了源句子中的几个词。以前的工作表明,在推理过程中,Seq2Seq模型的主要效率瓶颈在于,大部分解码步骤都花在了将原始句子中的语法正确标记复制到目标句子上。通过节省这些时间,可以提高GEC模型的效率。此外,Seq2Seq方法通常需要大型训练集才能良好工作,而这些数据集稀缺且具有挑战性。
如何解决
研究者通过以下方式解决上述问题:
- 多头和多任务学习模型:将GEC任务分解为七个子任务,并为每个子任务分配一个单独的分类头。
- 去噪自编码器:使用去噪自编码器模型将大量未标记的数据集转换为人工标记的数据集,用于预训练。
- 字符级转换:提出字符级转换以增强序列到编辑功能,并提高模型的词汇覆盖范围。
创新点
- 多头序列标注模型:首次在GEC的序列标注设置中使用多头架构。
- 多任务学习方法:通过将GEC任务分解为多个子任务,利用相关任务训练信号中的信息,提高数据效率和模型泛化能力。
- 去噪自编码器预训练:利用未标记的数据集生成合成数据,以缓解训练样本数量有限的问题。
- 字符级转换:通过删除、替换、追加、合并、分割或更改一个或多个字符的大小写,增强模型处理词汇的能力。
算法模型
研究者提出的模型基于深度双向变换器(如BERT、RoBERTa、XLNet等)作为编码器,提供每个输入标记的上下文编码,并在顶部添加一个分类头,用于GEC序列标注。模型包含七个分类头,分别对应插入、删除、合并、替换、转换、检测和纠正等子任务。
实验效果(包含重要数据与结论)
实验结果表明,提出的多头序列标注模型在BEA-19(测试)和CoNLL-14(测试)上取得了74.4/77.0和68.6/69.1的F0.5分数,显著优于许多现有模型。在JFLEG测试集上,单模型和集成模型的GLEU分数分别为61.6和61.7,超过了最近发布的最先进结果。
推荐阅读指数: 5
代码:
https://github.com/alsabahi2030/Synthetic-Data-Generation.git
# -*- coding: utf-8 -*-
"""
pre-processing large monolingual corpus with several heuristics
"""
import argparse
import os
import re
import string
from pathlib import Path
import logging
SYMBOLS = set(string.punctuation)
ASCII_CHARS = set(string.printable)
def get_args():
parser = argparse.ArgumentParser(description='my script')
parser.add_argument('--input', '-i', default=None, help='files to read, if empty, stdin is used')
parser.add_argument('--output', '-o', required=True,help='path to output dir')
args = parser.parse_args()
return args
def remove_long_sent(line, threshold=80):
tokens = line.split(' ')
if len(tokens) > threshold:
return None
else:
return line
def remove_short_sent(line, threshold=3):
tokens = line.split(' ')
if len(tokens) <= threshold:
return None
else:
return line
def remove_too_many_puncts(line, thresh_ratio=0.20):
tokens = line.split(' ')
n_puncs = len([t for t in tokens if t in SYMBOLS])
n_total = len(tokens)
ratio = (n_puncs / n_total)
if ratio >= thresh_ratio and n_total >= 10:
return None
else:
return line
def remove_nonascii_chars(line):
filterred = ''.join(c for c in line if c in ASCII_CHARS)
if len(filterred) < len(line):
return None
else:
return line
def remove_consecutive_whitespace(line):
if re.search(r'\s{3,}', line):
return None
else:
return line
def remove_too_many_digits_sentence(line):
total_tokens = len(line.split())
match = re.findall(r'\s\d[\d,\/]*\s', line)
if not match:
return line
else:
n_digit_tokens = len(match)
if n_digit_tokens / total_tokens > 0.10:
return None
else:
return line
def main(args):
#dest = Path(args.output, *Path(args.input).parts[-1:])
logging.info('Processing: {}'.format(args.input))
with open(args.input, 'r', encoding='utf-8') as fi, open(args.output, 'w', encoding='utf-8') as fo:
for line in fi:
line = line.strip()
# remove if line is too long
if line:
line = remove_long_sent(line)
# remove if line is too short
if line:
line = remove_short_sent(line)
# remove if certain ratio of tokens are symbols
if line:
line = remove_too_many_puncts(line)
# remove if line contains non-ascii characters
if line:
line = remove_nonascii_chars(line)
# remove if consecutive spaces exist (probably the numerical table)
if line:
line = remove_consecutive_whitespace(line)
# remove if too many digits exist
if line:
line = remove_too_many_digits_sentence(line)
if line:
line = line + '\n'
# fo.write(line.encode('utf-8'))
fo.write(line)
if __name__ == "__main__":
args = get_args()
main(args)
5. BIG5-CHAT: Shaping LLM Personalities Through Training on Human-Grounded Data
Authors: Wenkai Li, Jiarui Liu, Andy Liu, Xuhui Zhou, Mona Diab, Maarten Sap
https://arxiv.org/abs/2410.16491
文章标题翻译
通过在人类基础数据上训练塑造大型语言模型的个性:BIG5-CHAT
摘要
本研究旨在将现实人类个性特征嵌入大型语言模型(LLMs)。先前的方法主要依赖于基于提示的方法来描述与所需个性特征相关的行为,这些方法在现实性和有效性方面存在问题。为了解决这些限制,研究者介绍了BIG5-CHAT,这是一个包含100,000个对话的大型数据集,旨在将模型基础定位在人类如何在文本中表达个性。利用这个数据集,研究者探索了监督式微调和直接偏好优化作为基于训练的方法,使LLMs更自然地与人类个性模式对齐。这些方法在个性评估方面,如BFI和IPIP-NEO,超过了提示方法,并且与人类数据更接近的特质相关性。此外,实验表明,训练表现出更高尽责性、更高宜人性、更低外向性和更低神经质的模型在推理任务上表现更好,这与心理学中这些特质如何影响人类认知表现的发现一致。据研究者所知,这项工作是第一个全面研究,展示了基于训练的方法如何通过学习真实人类行为来塑造LLM个性。
研究背景
现实地模拟人类个性及其对文本生成的影响是一个具有挑战性但至关重要的问题。将个性特征嵌入LLMs可以极大地增强它们在从对话代理到教育工具和心理健康平台等一系列应用中的真实性。通过创建更类似于人类的互动,LLMs可以更好地模拟不同的人物角色,并更可靠地适应不同的上下文。
问题与挑战
现有方法主要依赖于用与个性特征相关的行为描述来提示模型,这些行为描述通常来源于用于测试个性特征的相同心理问卷,这引发了评估有效性的问题。更重要的是,这些行为描述对于基于文本的LLMs来说是无意义的,未能将个性特征基础定位在人类在文本中表达个性的真实模式上。此外,缺乏大规模、人类生成的、带有个性特征标注的数据集限制了基于训练方法的探索,使得大多数先前的研究仅限于基于提示的方法。
如何解决
研究者通过以下方式解决这些问题:
- 构建大规模对话数据集BIG5-CHAT:包含100,000个对话,捕捉个性表达的多样性。
- 探索基于训练的方法:使用监督式微调和直接偏好优化(DPO)来对齐LLMs的个性特征。
- 生成预训练数据集:使用去噪自编码器模型生成新的合成数据集,用于预训练。
创新点
- BIG5-CHAT数据集:首个包含100,000个对话的大型数据集,涵盖广泛的个性表达。
- 多任务学习(MTL):通过将GEC任务分解为七个子任务,使用共享模型同时学习多个任务。
- 基于训练的方法:与传统的提示方法相比,基于训练的方法能够更深入、更可靠地整合个性特征。
- 个性特征与推理能力的相关性研究:研究个性特征如何影响LLMs在不同推理任务中的表现。
算法模型
研究者提出的模型基于深度双向变换器(如BERT、RoBERTa、XLNet)作为编码器,提供每个输入标记的上下文编码,并在顶部添加一个分类头,用于GEC序列标注。模型包含七个分类头,分别对应插入、删除、合并、替换、转换、检测和纠正等子任务。
实验效果(包含重要数据与结论)
实验结果表明:
- 个性评估:在BFI和IPIP-NEO个性测试中,基于训练的方法(SFT和DPO)超过了提示方法。
- 推理任务表现:训练表现出更高尽责性和宜人性、更低外向性和神经质的模型在推理任务上表现更好,这与心理学中这些特质如何影响人类认知表现的发现一致。
- 模型性能:单模型和集成模型在BEA-19(测试)和CoNLL-14(测试)上分别达到了74.4/77.0和68.6/69.1的F0.5分数。在JFLEG测试集上评估时,单模型和集成模型的GLEU分数分别为61.6和61.7。
推荐阅读指数:4.0
后记
如果觉得我的博客对您有用,欢迎 打赏 支持!三连击 (点赞、收藏、关注和评论) 不迷路,我将持续为您带来计算机人工智能前沿技术(尤其是AI相关的大语言模型,深度学习和计算机视觉相关方向)最新学术论文及工程实践方面的内容分享,助力您更快更准更系统地了解 AI前沿技术。