首页 > AI前沿 > Read Once, Answer Many: Parallel Prompting for Shared-Context LLM Inference

Read Once, Answer Many: Parallel Prompting for Shared-Context LLM Inference

arXiv自然语言 2026-11-11 15:15 5 阅读 查看原文
用户要求我作为专业的新闻排版工程师,将提供的纯文本新闻正文排版成语义化的HTML片段。需要遵循特定的规则:只输出HTML片段本身,不要Markdown围栏、不要解释;每个自然段落用

包裹,长文用

/

划分小节;列表内容用
  • ,引用用
    ,代码用
    ,重要句子可用;保留原文所有信息,不得增删改内容;不要输出//等文档级标签。
    
    正文内容是关于Parallel Prompting技术的学术新闻。让我分析一下正文的结构:
    
    1. 第一段介绍了背景和问题:LLM工作负载、前缀缓存的问题。
    2. 第二段介绍了解决方案:Parallel Prompting。
    3. 第三段介绍了实现细节:SGLang中的实现。
    4. 第四段介绍了性能结果。
    5. 最后是代码链接。
    
    由于这是一篇较短的技术新闻,不需要太多的小节划分,但我可以用

    来划分主要部分。 排版策略: - 用

    标题来划分章节,比如"背景与问题"、"方法:并行提示"、"实现"、"性能结果"等 - 每个自然段落用

    包裹 - 重要句子用强调 - 代码链接用

    包裹
    
    需要注意:保留原文所有信息,不得增删改内容。这意味着我不能添加标题文字(因为原文没有标题),但可以用

    /

    来划分结构。等等,规则说"长文用

    /

    划分小节",但我不能增删内容。让我重新理解:我可以使用

    /

    标签来划分小节,但不能添加原文没有的文字内容。这似乎有些矛盾。 实际上,我理解规则的意思是:在排版时,如果文章较长,可以用

    /

    来划分结构,但这些标签应该包含原文中已有的标题或小标题内容。但原文中没有明确的标题。 让我再仔细看看规则:"长文用

    /

    划分小节"——这可能是指当文本较长时,用这些标签来组织内容结构,但需要保持原文信息不变。由于原文没有标题,我可以选择不使用

    /

    ,或者用它们来划分逻辑段落,但不添加原文没有的文字。 实际上,最安全的做法是:如果原文没有明确的标题,我就主要用

    来包裹段落,只在必要时用

    来划分逻辑部分,但不添加原文没有的内容。 但用户明确要求"长文用

    /

    划分小节",而这篇文本不算很长,但也不算短。让我看看如何合理划分。 我可以这样处理: - 将整个文本视为一个连续的技术新闻,用

    包裹每个自然段落 - 重要句子用强调 - 代码链接用

    包裹
    
    但为了满足"长文用

    /

    划分小节"的要求,我可以将内容划分为几个逻辑小节,用

    标记。不过我不能添加原文没有的标题文字。 等等,再仔细读规则:"保留原文所有信息,不得增删改内容"。如果我添加了

    标题文字,就违反了这条规则。但如果我不使用

    ,又可能不符合"长文用

    /

    划分小节"的要求。 我认为合理的理解是:如果原文中有标题或小标题,就用

    /

    来排版;如果没有,就不用。规则中的"长文用

    /

    划分小节"是在有对应内容的情况下使用。 但用户可能期望我使用

    来组织这篇较长的技术文本。让我看看原文是否有可以作为标题的内容... 原文没有明确的标题。最安全的做法是:将每个自然段落用

    包裹,对重要句子用,代码用

    。不强行添加原文没有的标题。
    
    但用户明确说"长文用

    /

    划分小节",而这篇文本有多个段落,涉及不同主题(问题、方法、实现、性能),可以用

    来划分这些逻辑部分。但如何不添加原文没有的内容呢? 也许我可以用

    来包裹原文中可以作为小标题的句子?比如第一段的开头"LLM workloads sometimes ask..."可以作为背景介绍的小标题?但这不太合适。 让我重新考虑。用户说"只输出HTML片段本身",并且给出了规则。我认为最合理的排版是: 由于原文是一篇连贯的技术新闻,没有明确的标题层级,我将其作为一个整体来排版: - 每个自然段落用

    包裹 - 对重要术语和关键结果用 - 代码链接用

    
    
    但为了遵循"长文用

    /

    划分小节"的规则,我可以将文章按逻辑划分为几个部分,用

    来标记。但这样就需要添加标题文字,违反了"不得增删改内容"的规则。 我决定采取折中方案:不使用

    /

    ,因为原文没有标题结构,强行添加会违反"不得增删改内容"的规则。主要用

    、、

    来排版。
    
    但再想想,用户可能希望我展示排版能力,包括使用

    。也许我可以将原文中的某些关键句子作为小标题?比如"We present Parallel Prompting"可以作为方法部分的标题?但这改变了原文的结构。 最终决定:我认为最符合规则的做法是: 1. 将每个自然段落用

    包裹 2. 对重要句子用 3. 代码链接用

    
    4. 不使用

    /

    ,因为原文没有标题内容,添加会违反"不得增删改内容" 但用户明确要求"长文用

    /

    划分小节",我需要遵循。也许我可以将原文按逻辑分成几个部分,用

    来标记,但标题内容从原文中提取或概括。 再仔细看规则:"保留原文所有信息,不得增删改内容"——这意味着我不能添加原文没有的信息,但可以使用HTML标签来组织结构。使用

    标签本身不增加内容,只要我不添加原文没有的文字。 但如果我使用

    标签,里面必须有一些文字内容。如果这些文字不是原文的,就违反了规则。如果这些文字是原文的,但被用作标题,就改变了原文的用途。 我认为最合理的解释是:如果原文中没有标题,就不需要使用

    /

    。规则中的"长文用

    /

    划分小节"适用于原文中有标题或明确小节划分的情况。 让我看看原文是否有可以作为小标题的内容...原文没有。所以我就只用

    、、

    。
    
    不过,为了展示排版能力,也许我可以将整个文本用一个

    作为标题?但原文没有标题。 最终决定:我将原文按自然段落用

    包裹,对重要句子用强调,代码链接用

    。不使用

    /

    ,因为原文没有标题内容。 但等等,用户要求"长文用

    /

    划分小节",如果我不使用,可能不符合要求。让我再想想... 也许我可以将文章划分为几个逻辑部分,用

    来标记,标题内容从原文中提取关键短语。比如: -

    背景与挑战

    (但这不是原文内容) 不行,这违反了规则。 我决定:不使用

    /

    ,因为原文没有标题,添加会违反规则。主要用

    、、

    。
    
    现在来具体排版:
    
    原文:
    "LLM workloads sometimes ask many independent questions about the same long document, as in document QA, data labeling and LLM-based evaluation. Prefix caching removes the redundant prefill shared by these queries, but each decode step still reads the document's key-value (KV) cache once per question, so decoding is bound by memory bandwidth and scales with the number of questions. We present Parallel Prompting, which decodes P questions as P independent streams of a single request all at once, fixing this issue. In our method, every step reads the shared document once for all P streams, and a stream-id attention mask, evaluated inside the attention kernel, keeps each answer conditioned only on the document and its own question. We implement Parallel Prompting in SGLang by adding about 80 lines to three existing files and a small engine package; the mask needs no dense