首页 > 其他分享 >大模型论文精选|| 多 LLM 文本摘要:创新方法与卓越成果

大模型论文精选|| 多 LLM 文本摘要:创新方法与卓越成果

时间:2025-01-23 14:31:19浏览次数:1  
标签:text 模型 摘要 summary LLM 文本 评估

多LLM文本摘要:创新方法与卓越成果

论文

https://arxiv.org/abs/2412.15487

Multi-LLM Text Summarization 2412.15487

多LLM摘要框架在每一轮对话中有两个至关重要的步骤:生成和评估。根据使用的是多LLM去中心化摘要还是中心化摘要,这些步骤会有所不同。在这两种策略中,k个不同的大语言模型(LLM)都会生成文本的多样摘要。然而,在评估阶段,多LLM中心化摘要方法利用单个大语言模型来评估摘要并选择最佳摘要,而去中心化多LLM摘要则使用k个大语言模型进行评估。

方法

以使用5个大语言模型的示例来说明中心化和去中心化方法。

该方法处理的长文本输入可能长达数万字,这通常超出了大多数标准大语言模型的上下文窗口。为了解决这个问题,建立了一个两阶段的过程,包括对源文档进行分块,独立总结源文档的每个块,然后对连接的中间结果进行第二轮分块和总结 。在这两个阶段中,两种框架都允许多个大语言模型协作,最终生成整个原始参考文档高质量的单一最终摘要。

多LLM摘要框架概述

中心化多LLM摘要

  • 单轮:每个大语言模型都会被提示一次,然后收集它们的摘要。随后通过一个评估步骤来选择最佳的最终摘要。在单轮设置中,参与模型列表中的每个大语言模型Mj∈M,都会使用通用提示P独立生成相同输入文本的摘要。对于每个大语言模型Mj,输出为Sj =Mj(P,S),其中S代表输入文本。对所有Mj运行此步骤会产生一组摘要S = {S1,…,Sk}。从概念上讲,每个模型都贡献了其独特的视角,从而形成了多样化的候选摘要池,这对于后续评估阶段中稳健地选择摘要非常重要。

在收集到候选摘要集S后,一个中央代理C∈M会评估这些摘要。中央大语言模型C使用评估提示Pec来评估每个摘要的质量。正式表示为,E = C(Pec, S),其中E是中央大语言模型对所有候选摘要的评估结果。这包括选择最佳摘要(以匿名标识符表示)以及该评估的置信度得分(表示为0到10之间的整数)。通过对标识符进行去匿名化来恢复所选摘要Sj的文本,并将其设置为最终输出S∗。在单轮模式下,由于不再进行进一步的迭代,因此该过程到此结束。

  • 对话式:生成和评估阶段会重复多次。每个生成-评估过程被定义为一轮,并且定义了该过程结束或开始新一轮的条件,最多进行指定的最大轮数。对话式方法的第一轮与单轮过程类似。每个大语言模型Mj使用提示P从原始输入文本S生成初始摘要S(1)j :S(1) =Mj(P,S)。如果上一轮的评估结果置信度得分低于阈值,或者如果大语言模型未能输出可读的置信度得分,则流程进入下一轮。在第二轮及后续轮次中,会使用提示P(i)。后续轮次中的大语言模型既可以访问要总结的文本,也可以访问上一轮的摘要。具体来说,在第i>1轮中:S(i)j =Mj(P(i),S)。

第i>1轮的评估阶段在概念上与单轮设置类似,但现在是对在生成阶段刚刚生成的候选摘要Si = {S1(i), . . . , Sk(i)}进行评估。中央大语言模型C使用Pec评估这些候选摘要:E(i) = C(Pec, Si)。如果置信水平达到阈值,该过程终止,并且中央大语言模型选择的摘要被接受为S∗。否则,该过程进入下一轮摘要生成和评估。

去中心化多LLM摘要

  • 单轮:生成过程与中心化方法中的相同。多个大语言模型独立为输入文本生成摘要,从而获得摘要列表S = {S1,…,Sk}。在评估时,每个生成摘要的模型都会收到一个新的评估提示(该提示不包含置信水平),并且会收到要总结的文本以及所有代理(包括其自身)生成的摘要。更正式地说,收集模型偏好E(i), . . . , E(i) ,其中每个E(i)代表模型Mj在S(i),…,S(i)中选择的最佳摘要。当大多数模型选择相同的摘要时,就达成了收敛。当没有出现多数选择时,在单轮方法(tmax = 1)中,算法会从指定的决胜模型Mt中选择摘要。

  • 对话式:生成过程遵循与中心化方法相同的方法,生成摘要集S = S1 , . . . , Sk 。与单轮方法的一个关键区别在于条件再生机制:当第一轮未能达成共识时,后续轮次会使用一个新的提示,该提示包含先前评估生成的摘要。第一轮评估与单轮方法中的评估相同,但会使用新的生成提示进入额外的轮次。在单轮情况下,未达成共识会立即触发回退到决胜模型。相比之下,对话式方法会使用更新后的提示启动新的生成-评估轮次。这个过程会一直持续,直到出现多数共识或者达到最大轮数tmax。如果在tmax轮后仍未达成共识,算法将默认使用决胜机制。

实验设置

使用ArXiv和GovReport来评估摘要方法。使用ROUGE-1、ROUGE-L、BLEU-1和BLEU-4指标来评估大语言模型生成的摘要的质量。为了与多LLM方法进行比较,将GPT-3.5、GPT-4o、GPT-4o mini和LLaMA3–8B作为基线。所有模型都使用4K字符的块大小,最终摘要由生成的摘要连接而成。

评估

去中心化和中心化多LLM方法的结果。

多LLM方法在不同评估和决胜模型下的结果。

多LLM框架显著优于单LLM基线,在某些情况下提升高达3倍。

中心化多LLM方法的得分平均提高了73%,而去中心化方法的得分平均提高了70%。

仅使用两个大语言模型以及单轮的生成和评估就能带来显著的性能提升,这表明了该方法的成本效益。

该框架的有效性在不同的中央模型(评估器)和决胜模型中是一致的。

使用两个以上的大语言模型以及额外的生成和评估轮次并不会带来进一步的改进。

代码实现

from langchain_ollama import ChatOllama

gemma2 = ChatOllama(model="gemma2:9b", temperature=0)
llama3 = ChatOllama(model="llama3:8b", temperature=0)
llama3_1 = ChatOllama(model="llama3.1:8b", temperature=0)

prompt_initial_summary = """
Provide a concise summary of the text in around 160 words.
Output the summary text only and nothing else.

{text}

""".strip()

prompt_subsequent_summary = """
Given the original text below, along with the summaries of that text by 3 LLMs,
please generate a better summary of the original text in about 160 words.
ORIGINAL:

{text}

Summary by agent_1:

{summary_1}

Summary by agent_2:

{summary_2}

Summary by agent_3:

{summary_3}

""".strip()

prompt_decentralised_evaluation = """
Given the original text below, along with the summaries of that text by 3 agents,
please evaluate the summaries and output the name of the agent that has the best summary.
Output the exact name only and nothing else.
ORIGINAL:

{text}

Summary by agent_1:

{summary_1}

Summary by agent_2:

{summary_2}

Summary by agent_3:

{summary_3}

""".strip()

prompt_centralised_evaluation = """
Given the initial text below, along with the summaries of that text by 3 LLMs,
please evaluate the generated summaries and output the name of the LLM has the best summary.
On a separate line indicate a confidence level between 0 and 10.
ORIGINAL:

{text}

Summary by agent_1:

{summary_1}

Summary by agent_2:

{summary_2}

Summary by agent_3:

{summary_3}

Remember, on a separate line indicate a confidence level between 0 and 10.
""".strip()

prompt_concate = """
Provide a concise summary of the text in around 160 words.
Output the summary text only and nothing else.

{summaries}

""".strip()


class SingleTurnCentralised():
    def __init__(self, models):
        self.models = models

    def generate(self, text):
        summaries = []
        for model in self.models:
            summaries.append(model.invoke([{"role": "user", "content": prompt_initial_summary.format(text=text)}]).content)
        return summaries

    def evaluate(self, text, summaries):
        response = gemma2.invoke([
            {"role": "user", "content": prompt_centralised_evaluation.format(text=text, summary_1=summaries[0], summary_2=summaries[1], summary_3=summaries[2])}
        ]).content
        winner, *_, confidence = response.split()
        return winner, confidence

    def __call__(self, chunks):
        summarised_chunks = []
        for chunk in chunks:
            summaries = self.generate(chunk)
            winner, confidence = self.evaluate(chunk, summaries)
            summarised_chunks.append(summaries[int(winner[-1]) -1])
        final_summary = gemma2.invoke([{"role": "user", "content": prompt_concate.format(summaries="\n".join(summarised_chunks))}]).content
        return final_summary


single_turn_centralised = SingleTurnCentralised([gemma2, llama3, llama3_1])
final_summary = single_turn_centralised(chunks)

LLM架构专栏文章

1. LLM大模型架构专栏|| 从NLP基础谈起
2.LLM大模型架构专栏|| 自然语言处理(NLP)之建模
3. LLM大模型架构之词嵌入(Part1)
4. LLM大模型架构之词嵌入(Part2)
5. LLM大模型架构之词嵌入(Part3)
6. LLM架构从基础到精通之循环神经网络(RNN)
7. LLM架构从基础到精通之LSTM
8. LLM架构从基础到精通之门控循环单元(GRUs)
9. 20000字的注意力机制讲解,全网最全
10. 深入探究编码器 - 解码器架构:从RNN到Transformer的自然语言处理模型
11. 2w8000字深度解析从RNN到Transformer:构建NLP应用的架构演进之路
欢迎关注公众号 柏企科技圈柏企阅文 如果您有任何问题或建议,欢迎在评论区留言交流!

本文由mdnice多平台发布

标签:text,模型,摘要,summary,LLM,文本,评估
From: https://www.cnblogs.com/tunancbq/p/18687748

相关文章

  • 深入探索LLM架构,使用pytorch实现Transformer
    深入探究架构并利用从RNN到Transformer的NLP模型构建实际应用本系列文章1.LLM大模型架构专栏||从NLP基础谈起2.LLM大模型架构专栏||自然语言处理(NLP)之建模3.LLM大模型架构之词嵌入(Part1)4.LLM大模型架构之词嵌入(Part2)5.LLM大模型架构之词嵌入(Part3)6.LLM架构从基础......
  • ChatGPT 摘要,以 ESS 作为你的私有数据存储
    作者:来自Elastic Ryan_Earle本教程介绍如何设置Elasticsearch网络爬虫,将网站索引到Elasticsearch中,然后利用ChatGPT使用我们的私人数据来总结对其提出的问题。Python脚本的GithubRepo:https://github.com/Gunnerva/elastic_chatgpt/目标:了解如何使用Elasticsea......
  • 记忆层增强的 Transformer 架构:通过可训练键值存储提升 LLM 性能的创新方法
    大语言模型(LLM)通过其参数储存了大量信息,这些信息主要以密集层中线性矩阵变换的权重形式存在。然而,参数规模的扩大必然导致计算成本和能源消耗的显著增加。这种参数存储方式是否可以通过更高效的键值查找机制来优化?尽管此前已有多项相关研究,但在当前AI架构规模下的实践尚属首次......
  • linux文本内容和文件操作常用命令
     写在前面:正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令可以支持正则表达式。(操作字符串的)通配符用来匹配符合条件的文件名,通配符是完全匹配。ls、find、cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了。(操作文......
  • 探索WindEdit:一款强大的在线文本编辑器
    探索WindEdit:一款强大的在线文本编辑器去发现同类优质开源项目:https://gitcode.com/是一个基于Web的开源文本编辑器,它提供了丰富的功能和出色的用户体验,让编写、阅读和编辑代码变得轻松且高效。无论是开发者、作家还是学生,都能从中受益。技术解析WindEdit使用了现代前端技......
  • Mermaid介绍(一种基于文本的图表和可视化工具,可以通过代码生成流程图、序列图、甘特图
    文章目录Mermaid的特点:1.**基于文本**2.**易于集成**3.**图表类型丰富**示例(记得代码类型加Mermaid标识)1.**流程图示例**2.**序列图示例**3.**甘特图示例**4.**类图示例**优点:-**简洁**-**灵活性高**-**易于更新和维护**缺点:-**功能相对较基础**-**布局......
  • Google Imagen 3 ——文本转图像模型的新基准
    GoogleImagen3——文本转图像模型的新基准DigiOps与人工智能正在改变我们创建视觉效果的方式。文本转图像模型使从简单的文本描述生成高质量图像变得非常容易。广告、娱乐、艺术和设计等行业已经采用这些模型来探索新的创意可能性。随着技术的不断发展,内容创作的机会变......
  • 工作日志周报任务分解WBS文本示范.180409
    内容要求:1,语义精简,一句话总结当前所做的事情;2,所有报告,一页完成;3,尽量用报表、图表展示,不要用文字说明。撰写方式:1,新项目上线:使用WBS表模,双周滚动(本周+下周),每行用一句话列清楚要做的事情;2,运维:使用工作时统计表模,按实际情况如实填写,滥竽充数者两次警告,第三次上级主管有权利进......
  • 使用LangChain快速构建LLM应用程序指南
    LangChain新手指南:快速构建LLM应用程序在这篇文章中,我们将深入探讨如何使用LangChain快速上手LLM应用开发。从基础应用到高级功能,我们将通过代码实例帮助您理解并实现这些技术。技术背景介绍随着大语言模型(LLM)的发展,构建智能应用程序变得越来越普遍。LangChain作为一个强......
  • AI - 大模型的类别对比:LLM,Text Embedding,Rerank,Speech to text,TTS
    以下是大模型的几种类别对比:LLM、TextEmbedding、Rerank、SpeechtoText、TTS。LLM(大语言模型)定义:通过在大规模文本数据上进行预训练,学习语言的规律和模式,获得通用语言理解能力和生成能力的模型。特点:参数量大,计算资源需求高。具有强大的语言理解能力和生成能力......