为什么RAG比LLM慢?

问题描述 投票:0回答:1

我将 RAG 与 LLAMA3 用于 AI 机器人。我发现 RAG 与 chromadb 比调用 LLM 本身慢得多。 根据测试结果,仅仅一个1000字左右的简单网页,检索就需要2秒多的时间:

Time used for retrieving: 2.245511054992676
Time used for LLM: 2.1182022094726562

这是我的简单代码:

embeddings = OllamaEmbeddings(model="llama3")
vectorstore = Chroma.from_documents(documents=splits, embedding=embeddings)
retriever = vectorstore.as_retriever()
question = "What is COCONut?"
start = time.time()
retrieved_docs = retriever.invoke(question)
formatted_context = combine_docs(retrieved_docs)
end = time.time()
print(f"Time used for retrieving: {end - start}")

start = time.time()
answer = ollama_llm(question, formatted_context)
end = time.time()
print(f"Time used for LLM: {end - start}")

我发现当我的chromaDB大小只有1.4M左右时,检索需要20多秒,而LLM仍然只需要大约3或4秒。我有什么遗漏的吗?还是RAG技术本身这么慢?

large-language-model llama chromadb
1个回答
0
投票
  • 由于额外的检索步骤,检索增强生成 (RAG) 模型比大型语言模型 (LLM) 更慢。
  • 由于 RAG 模型在数据库中搜索相关信息,这可能非常耗时,尤其是对于大型数据库,因此速度往往会更慢。与法学硕士相比,他们的响应速度更快,因为他们依赖预先训练的信息并跳过上述数据库检索步骤。
  • 您还必须注意,与 RAG 模型相比,LLM 可能缺乏最新或具体的信息,RAG 模型通常访问外部数据源,并可以使用最新信息提供更详细的响应。
  • 因此,尽管 RAG 模型速度较慢,但它在响应质量和复杂、信息丰富的查询的相关性方面具有优势。希望我能帮上忙。

如果您认为这为您的案例提供了完美的背景,请将此标记为答案。

© www.soinside.com 2019 - 2024. All rights reserved.