ACL2024 AGI之paper with code 2
-
Agent的潜意识
2024-08-16 21:10:33
-
数据库开发技术
-
原创
第一篇是做COT优化的。提出了一个active prompt的方法。这个方法简单直接的解释就是:推理过程就是逐步推理,将不明确的问题转化成确定化的问题,就好计算了。COT需要给大模型增加不确定性的明确化,即通过写中间过程的思路来提升大模型在联合概率分布计算中的准确性。这个方法就是可以发现推理过程中哪些是核心不确定的东西,将这些核心不确定性的东西增加人工注释就提升了大模型的能力。这个工作有点老师的感觉,就是如何琢磨给学生(LLM)将明白一个数学题目。需要琢磨与学生(LLM)对话的语言。第二篇用大模型写代码的。他增加了一个模块,能够提升大模型写代码过程中的代码风格归一化的能力。第三篇是做大模型安全审计的。他们构建了一个大模型水印评测基准测试工程 waterbench来做全面基准测试。第四篇又是大模型安全方面的研究,他做的工作是:用探测技术来通过检查模型的内部激活来检测预训练数据中是否包含的目标文本。第五篇这个是一个很实用的方法,我感觉也可以集成用在RAG里。他是针对长文本输入的推理过程的优化。例如多文档问答,写摘要,续写这种,他将输入的长文本做了压缩,从而提升了模型的理解力。进行降低了推理成本还提高了准确率。第六篇文章是做代码生成优化的。提出了一个方法:UniCoder-Instruct包括自然语言问题、代码解决方案和相应的通用代码。中间通用代码表示与最终代码解决方案之间的对齐显著提高了生成代码的质量。所有ACL 的paper with code 的代码和文章都开源在git :https://github.com/scalaboy/AIpaper_with_codeActive Prompting with Chain-of-Thought for Large Language Models[('Shizhe Diao'), ('Pengcheng Wang'), ('Yong Lin'), ('Tong Zhang')]这篇论文讨论了大型语言模型(LLMs)规模的增长如何带来新的能力,使其能够处理需要推理的各种复杂任务,如算术和常识推理。众所周知,为LLMs设计有效的任务特定提示对于它们产生高质量答案的能力至关重要。特别是,基于示例的链式思维(CoT)推理提示是复杂问答任务的有效方法,这显著提高了LLMs的性能。然而,当前的CoT方法依赖于一组固定的人工注释示例,这些示例不一定是不同任务最有效的示例。本文提出了一种新的方法,称为Active-Prompt,以适应不同任务的任务特定示例提示(用人工设计的CoT推理进行注释)。为此,我们提出了一种解决方案,以确定从一组任务特定查询中哪些问题是最重要和最有帮助的,需要进行注释。通过借鉴基于不确定性的主动学习相关思想,我们引入了几个指标来表征不确定性,以便选择最不确定的问题进行注释。实验结果证明了我们提出的方法的优越性,在八个复杂推理任务上达到了最先进的水平。对不同不确定性指标、池大小、零样本学习和准确性-不确定性关系的进一步分析证明了我们方法的有效性。我们的代码将在https://github.com/shizhediao/active-prompt上提供。Rewriting the Code: A Simple Method for Large Language Model Augmented Code Search[('Haochen Li'), ('Xin Zhou'), ('Zhiqi Shen')]在代码搜索领域,出现了一种名为生成增强检索(Generation-Augmented Retrieval, GAR)的框架,该框架通过生成示例代码片段来增强查询,以应对代码片段和自然语言查询之间模态对齐的主要挑战,特别是利用大型语言模型(Large Language Models, LLMs)所展示的代码生成能力。然而,我们的初步研究表明,这种LLM增强框架所带来的改进在某种程度上是有限的。这种限制可能归因于生成的代码虽然功能上准确,但经常在风格上与代码库中的基准代码有显著偏差。在本文中,我们扩展了基础的GAR框架,并提出了一种简单但有效的方法,即在代码库内重写代码(Rewrites the Code, ReCo)以实现风格归一化。实验结果表明,ReCo在不同搜索场景中显著提高了检索精度,包括稀疏(高达35.7%)、零样本密集(高达27.6%)和微调密集(高达23.6%)检索设置。为了进一步阐明ReCo的优势并激发代码风格归一化研究,我们引入了代码风格相似度(Code Style Similarity),这是第一个针对量化代码中风格相似度的度量标准。值得注意的是,我们的实证发现显示现有度量标准在捕捉风格细节方面的不足。源代码和数据可在\url{https://github.com/Alex-HaochenLi/ReCo}获取。WaterBench: Towards Holistic Evaluation of Watermarks for Large Language Models[('Shangqing Tu'), ('Yuliang Sun'), ('Yushi Bai'), ('Jifan Yu'), ('Lei Hou'), ('Juanzi Li')]为了减轻大型语言模型(LLMs)可能被滥用的风险,最新的研究开发了水印算法,这些算法通过在生成过程中留下一个不可见的痕迹来限制生成过程,以便进行水印检测。由于这项任务的两阶段特性,大多数研究分别评估生成和检测,因此在无偏见、全面且适用的评估中提出了挑战。在本文中,我们介绍了WaterBench,这是首个针对LLM水印的全面基准测试,其中我们设计了三个关键因素:(1) 为了确保基准测试过程的一致性比较,我们首先调整每种水印方法的超参数以达到相同的水印强度,然后共同评估它们的生成和检测性能。(2) 对于任务选择,我们多样化输入和输出长度,形成了一个包含9个任务的五类分类法。(3) 对于评估指标,我们采用了GPT4-Judge来自动评估水印后指令遵循能力下降的情况。我们在2种LLMs上评估了4个开源水印,在2种水印强度下观察到当前方法在维持生成质量方面的常见挑战。代码和数据可在 https://github.com/THU-KEG/WaterBench 上获取。Probing Language Models for Pre-training Data Detection[('Zhenhua Liu'), ('Tong Zhu'), ('Chuanyuan Tan'), ('Haonan Lu'), ('Bing Liu'), ('Wenliang Chen')]大型语言模型(LLMs)已经展示了它们令人印象深刻的能力,同时也引发了关于数据污染问题的担忧,这些问题源于预训练阶段的隐私问题和基准数据集的泄露。因此,检测污染至关重要,需要检查LLM是否针对目标文本进行了预训练。最近的研究集中在生成文本上,并计算困惑度,这些是表面特征,并不可靠。在这项研究中,我们提议使用探测技术来通过检查模型的内部激活来检测预训练数据。我们的方法简单有效,并且可以带来更可靠的预训练数据检测。此外,我们提出了ArxivMIA,这是一个包含计算机科学和数学类别的arXiv摘要的新挑战性基准。我们的实验表明,我们的方法优于所有基线,并在WikiMIA和ArxivMIA上都取得了最先进的性能,额外的实验证实了其有效性(我们的代码和数据集可在https://github.com/zhliu0106/probing-lm-data上获取)。LongLLMLingua: Accelerating and Enhancing LLMs in Long Context Scenarios via Prompt Compression[('Huiqiang Jiang'), ('Qianhui Wu'), ('Xufang Luo'), ('Dongsheng Li'), ('Chin-Yew Lin'), ('Yuqing Yang'), ('Lili Qiu')]在长文本处理场景中,大型语言模型(LLMs)面临三个主要挑战:更高的计算/财务成本、更长的延迟以及性能下降。一些研究表明,LLMs的性能取决于输入提示中关键信息(与问题相关)的密度和位置。受这些发现的启发,我们提出了LongLLMLingua,这是一种针对提示压缩的方法,旨在提高LLMs对关键信息的感知能力,同时解决这三个挑战。我们在包括单/多文档问答、少样本学习、摘要、合成任务和代码补全在内的广泛长文本场景中进行了评估。实验结果表明,LongLLMLingua压缩的提示可以在成本大大降低的情况下获得更高的性能。端到端系统的延迟也得到了减少。例如,在NaturalQuestions基准测试中,LongLLMLingua在输入GPT-3.5-Turbo的token数量减少了大约4倍的情况下,性能提升了高达17.1%。它还可以分别从LongBench和ZeroScrolls基准测试中每1000个样本节省28.5美元和27.4美元的成本。此外,当以2x-10x的压缩率压缩大约10k个token的提示时,LongLLMLingua可以将端到端延迟加快1.4x-3.8x。我们的代码可在https://aka.ms/LLMLingua上获取。UniCoder: Scaling Code Large Language Model via Universal Code[('Tao Sun'), ('Linzheng Chai'), ('Jian Yang'), ('Yuwei Yin'), ('Hongcheng Guo'), ('Jiaheng Liu'), ('Bing Wang'), ('Liqun Yang'), ('Zhoujun Li')]在自然语言处理(NLP)的各种下游任务中,中间推理或执行步骤已经成功地提高了大型语言模型(LLMs)的处理能力。当将LLMs应用于代码生成时,最近的工作主要集中在指导模型明确表达中间自然语言推理步骤,如链式思维(CoT)提示,然后输出带有自然语言或其他结构化中间步骤的代码。然而,这样的输出对于代码翻译或生成任务来说并不合适,因为标准的CoT与代码的逻辑结构和表达形式不同。在这项工作中,我们引入了通用代码(UniCode)作为中间表示。它是一种使用编程语言的约定混合描述算法步骤的方法,例如赋值运算符、条件运算符和循环。因此,我们收集了一个指令数据集UniCoder-Instruct来训练我们的模型UniCoder,以实现多任务学习目标。UniCoder-Instruct包括自然语言问题、代码解决方案和相应的通用代码。中间通用代码表示与最终代码解决方案之间的对齐显著提高了生成代码的质量。实验结果表明,使用通用代码的UniCoder在性能上大大超过了以前的提示方法,展示了伪代码中结构线索的有效性。所有ACL 的paper with code 的代码和文章都开源在git :https://github.com/scalaboy/AIpaper_with_code