🚀 COCOM模型 - 高效上下文压缩助力问答生成
COCOM是一种有效的上下文压缩方法,它能将长上下文缩减为少量的上下文嵌入,从而显著加快问答生成速度。
📚 模型概述
COCOM是一种高效的上下文压缩方法,可将长上下文压缩为少量的上下文嵌入(Context Embeddings),极大地加快问答生成时间。

✨ 主要特性
高效的答案生成
检索增强生成(RAG)通过外部上下文扩展输入,克服了大语言模型知识有限的问题。然而,RAG的一个主要缺点是输入越长,解码时间显著增加。我们提出的COCOM方法,作为一种有效的上下文压缩方法,将长上下文压缩为少量的上下文嵌入,从而加快生成时间。该方法允许不同的压缩率,可在解码时间和答案质量之间进行权衡。与早期方法相比,COCOM能更有效地处理多个上下文,显著减少长输入的解码时间。与现有的高效上下文压缩方法相比,我们的方法在实现高达5.69倍加速的同时,还能取得更高的性能。
📦 模型推理
对于批量处理,模型的输入包括:
questions
(list
):包含问题的列表
contexts
(list of lists
):每个问题对应一个上下文列表,且每个问题的上下文数量固定。模型在微调(和推理)时使用 5
个上下文。
模型将问题压缩为上下文嵌入,并根据提供的上下文嵌入回答问题。
💻 使用示例
基础用法
from transformers import AutoModel
model = AutoModel.from_pretrained('naver/cocom-v1-128-mistral-7b', trust_remote_code=True)
model = model.to('cuda')
contexts = [[
'Rosalind Bailey. Rosalind Bailey Rosalind Bailey (born 1946) is a British actress, known for her portrayal of Sarah Headley ("née" Lytton) in the 1970s and 1980s BBC television drama “When the Boat Comes In". Bailey has appeared in numerous British television drama series, including "Byker Grove", “Distant Shores" and "Burn Up". Her stage work includes playing Miss Mary Shepherd in Alan Bennett’s play "The Lady in the Van”.',
'Malcolm Terris. Malcolm Terris Malcolm Terris (born 11 January 1941 in Sunderland, County Durham) is a British actor. He had a lengthy career in a large number of television programmes. Possibly his best-known role was in "When the Boat Comes In", a popular 1970s series, where he played the part of Matt Headley. His film career includes appearances in "The First Great Train Robbery" (1978), "McVicar" (1980), "The Plague Dogs" (1982, voice only), "Slayground" (1983), “The Bounty" (1984) as Thomas Huggan, ship’s surgeon, "Mata Hari" (1985), "Revolution" (1985), “Scandal" (1989), and “Chaplin” (1992). His TV appearances include: One episode of',
'When the Boat Comes In. When the Boat Comes In When the Boat Comes In is a British television period drama produced by the BBC between 1976 and 1981. The series stars James Bolam as Jack Ford, a First World War veteran who returns to his poverty-stricken (fictional) town of Gallowshield in the North East of England. The series dramatises the political struggles of the 1920s and 1930s and explores the impact of national and international politics upon Ford and the people around him. Section:Production. The majority of episodes were written by creator James Mitchell, but in Series 1 north-eastern',
'Susie Youssef. Youssef began her comedy career as a writer for "The Ronnie Johns Half Hour" in 2006, and made her acting debut in the short film "Clicked" in the role of Lina in 2011. In 2014, she played Jane in the short film "Kevin Needs to Make New Friends: Because Everyone Hates Him for Some Reason" and then turned to television where she appeared in "The Chaser’s Media Circus". In 2014, Youssef played the lead role of Sarah in the Hayloft Project’s stage play "The Boat People" which won the Best On Stage award at the FBi SMAC Awards',
'Madelaine Newton. Madelaine Newton Madelaine Newton is a British actress best known for her portrayal of Dolly in 1970s BBC television drama "When the Boat Comes In". She is married to actor Kevin Whately, known for his role as Robert "Robbie" Lewis in both "Inspector Morse” and its spin-off "Lewis". They have two children. She starred alongside her husband in the “Inspector Morse" episode "Masonic Mysteries" as Beryl Newsome - the love-interest of Morse - whom Morse was wrongly suspected of murdering. She played Whately’s on-screen wife in the 1988 Look and Read children’s serial, Geordie Racer. She also made'
]]
questions = ['who played sarah hedley in when the boat comes in?']
answers = model.generate_from_text(contexts=contexts, questions=questions, max_new_tokens=128)
print(answers)
📖 参考文献
@misc{rau2024contextembeddingsefficientanswer,
title={Context Embeddings for Efficient Answer Generation in RAG},
author={David Rau and Shuai Wang and Hervé Déjean and Stéphane Clinchant},
year={2024},
eprint={2407.09252},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2407.09252},
}