top of page
Immagine del redattoreAndrea Viliotti

RAGCache: Efficient Knowledge Storage for Retrieval-Augmented Generation (RAG)

Retrieval-Augmented Generation (RAG) is an advanced approach in the field of natural language processing (NLP) that enhances large language models (LLM) by integrating them with external knowledge databases to improve the accuracy and relevance of the responses. However, this approach can be very computationally expensive, as it often requires the inclusion of extensive external documents, leading to high computational and memory costs, especially for long sequences. To address these challenges, researchers Chao Jin, Zili Zhang, Xuanlin Jiang, Fangyue Liu, Xin Liu, Xuanzhe Liu, and Xin Jin from Peking University and ByteDance have developed RAGCache, a new multi-tier dynamic caching system designed to make RAG workflows more efficient.

RAGCache: Efficient Knowledge Storage for Retrieval-Augmented Generation (RAG)
RAGCache: Efficient Knowledge Storage for Retrieval-Augmented Generation (RAG)

The RAG Paradigm and Its Challenges

RAG enhances the capabilities of LLMs, such as GPT-4, LLaMA2, and PalM, by retrieving relevant information from external databases like Wikipedia and integrating it into the model's input. This hybrid technique has significantly improved LLM performance in tasks such as summarization, question answering, and translation.


In a standard RAG process, documents are first retrieved, converted into vector representations, and then combined with the original input, resulting in an extended sequence. This process is made possible through the use of vector databases, such as Faiss, which enable efficient searching based on the semantic similarity of documents. The documents are represented as high-dimensional vectors using advanced embedding models. The retrieval phase, typically performed on CPUs, involves searching for the most similar vectors in large databases, while the generation phase is executed on GPUs.


A significant problem associated with the RAG approach is the increase in computational and memory requirements due to the addition of external documents. To better understand this, consider a scenario where an initial request, consisting of 100 units of text (tokens), is expanded with documents that add up to 1000 tokens in total. This expansion leads to a computational load that can exceed ten times that of the original request.


This issue becomes particularly relevant during a phase called pre-fill. This phase involves the preliminary computation of specific data, known as key-value tensors, which are essential for generating responses. In the context of machine learning and language models, key-value tensors represent data structures that help manage connections and dependencies between parts of the text sequence. During the pre-fill, these tensors must be computed for every unit of input text, which becomes increasingly burdensome as the length of the sequence grows. Consequently, the entire process experiences a marked slowdown as the number of tokens increases significantly.


To address the limitations related to computational and memory costs, recent studies on technologies such as vLLM and SGLang have proposed innovative solutions. These approaches focus on sharing the intermediate states of the model, a mechanism that helps avoid recalculating already processed data, thereby reducing operational costs. However, these solutions have primarily focused on inference in large language models (LLM), neglecting the specific requirements of RAG, which necessitate different strategies due to the management of external documents.


Another challenge is the limited capacity of GPU memory used for caching the necessary data during computation. This limitation results in inefficient management when processing long sequences, such as those generated by adding external documents. Moreover, the order of retrieved documents is crucial for ensuring the quality of the responses generated by the model. This is because the attention mechanism works by evaluating each token in relation to the previous ones. Changing the order of documents can thus alter the model's perceived context, negatively affecting the consistency and accuracy of the generated responses.


To tackle this complexity, it is essential to maintain the original order of retrieved documents. Additionally, analyzing frequent access patterns to these documents can help optimize both computational efficiency and memory resource usage. These measures can contribute to reducing computational costs and improving response quality, maintaining a balance between precision and operational efficiency.


Another critical aspect of managing RAG systems concerns the access behavior to retrieved documents. Analyzed data has shown that only a small fraction of the available documents is subject to recurrent use. For instance, it has been observed that just 3% of documents account for 60% of the total retrieval requests. This highly skewed distribution highlights the importance of optimization mechanisms that exploit such characteristics.


A particularly promising approach involves the implementation of caching systems—structures that temporarily store the most frequently requested documents. This reduces the overall computational load since already processed documents do not need a complete recalculation. Focusing caching on the documents that contribute most to the volume of requests optimizes resources and improves the operational efficiency of the system, particularly in contexts where memory and computational power are limited.

 

Introduction to RAGCache

RAGCache is an advanced solution aimed at improving the efficiency of Retrieval-Augmented Generation (RAG) systems, thanks to a series of design innovations that optimize workflow and computational resource usage. Its main goal is to reduce redundant calculations by storing and sharing intermediate states of knowledge across different requests, thus avoiding the reprocessing of already available information. This philosophy is realized through the adoption of an organizational structure called the “knowledge tree,” a representation similar to a shared prefix, which allows for an orderly and flexible management of key-value tensors, adapting to the system's dynamic needs.


Memory Management: Balancing Speed and Efficiency

A cornerstone of RAGCache is its hierarchical memory management, which distributes documents across GPU memory, host memory, and support memory. Frequently used documents are kept in GPU memory, a limited but extremely fast resource, to ensure quick access times. Conversely, less frequently requested documents are moved to host memory, which is more capacious but less performant. This approach effectively balances speed and efficiency, maximizing the use of available resources without compromising the quality of generated responses.

Thanks to this strategy, RAGCache can adapt in real time to system needs, dynamically managing resources and reducing operational delays. Even with hardware limitations, the system guarantees high performance, ensuring that relevant data is always accessible as quickly as possible.


Dynamic Speculative Pipelining: A New Paradigm for Reducing Latency

One of the main limitations of traditional RAG systems is the sequential nature of document retrieval and model inference, which often introduces significant delays. RAGCache addresses this challenge with an innovative dynamic speculative pipelining strategy, allowing retrieval and inference to be executed in parallel. This technique enables the system to start generating responses while documents are still being retrieved, overlapping the two operations and drastically reducing overall latency.

The speculative pipeline dynamically adapts to system conditions: when the load is low, RAGCache leverages the GPU to initiate speculative inferences, anticipating the calculation of responses based on estimates of the documents that will be retrieved. This approach not only optimizes GPU utilization but also improves overall efficiency by minimizing idle times and ensuring fast and accurate responses.


PGDSF: Advanced Cache Management

To further optimize efficiency, RAGCache integrates a sophisticated cache replacement policy called PGDSF (Prefix-aware Greedy-Dual-Size-Frequency). This strategy surpasses traditional methods by considering three key factors: the frequency of document access, their size, and the computational cost associated with recalculation. The latter is particularly critical because documents positioned closer to the beginning of the input sequence tend to have a greater influence on the quality of the generated responses.

With PGDSF, RAGCache prioritizes documents that are not only frequently retrieved but also represent a high computational cost if recalculated. This approach significantly reduces cache misses, ensuring that the most relevant documents are always available, improving overall speed, and maintaining a continuous operational flow.


Dynamic Management and Cache Reordering

RAGCache's cache management is based on a three-tier architecture that divides key-value tensors between GPU memory, host memory, and temporary memory. The most frequently used tensors are kept in GPU memory to ensure rapid access, while less frequently used ones are transferred to host memory. This system allows for flexible and dynamic resource management, adapting to real-time operational needs.

Furthermore, RAGCache implements a cache reordering strategy to increase the cache hit rate, meaning the retrieval of documents directly from memory without the need for recalculation. This technique proves particularly effective in high-load situations where resource optimization is crucial. Reordering allows the system to prioritize requests that are more likely to find documents already stored, further improving overall efficiency.

 

Experimental Results

RAGCache has been thoroughly evaluated using an advanced LLM system, vLLM, integrated with Faiss, a renowned vector database, to measure its performance. The results showed significant progress compared to current solutions for Retrieval-Augmented Generation (RAG), confirming RAGCache's ability to overcome existing technological limits. During testing, the system reduced the Time to First Token (TTFT) by up to four times compared to standard implementations such as vLLM with Faiss. Additionally, there was an improvement in throughput, with an increase in processing capacity of up to 2.1 times, demonstrating high efficiency in handling simultaneous requests, even in scenarios involving computationally intensive models like LLaMA2 and Mistral-7B.


Performance analysis highlighted that RAGCache utilizes optimized caching strategies based on the distribution of document access patterns. Data showed that a small percentage of documents are responsible for most requests, with 3% of documents involved in 60% of retrieval operations. This allowed the system to keep the most frequently requested documents in GPU memory, significantly improving cache hit rates and reducing access times. Compared to SGLang, another leading system known for reusing intermediate GPU states, RAGCache demonstrated a clear improvement, with a reduction in TTFT by up to 3.5 times and an increase in throughput by up to 1.8 times. This advantage stems from multi-level cache management that optimizes data distribution between GPU memory and host memory based on access frequency and recalculation cost. The adoption of the PGDSF replacement system further optimized efficiency, ensuring that crucial documents were kept in cache to minimize the number of recalculations needed.


In tests conducted on complex models such as LLaMA2-70B and Mixtral-8×7B, RAGCache demonstrated remarkable scalability and robustness, managing heavy loads with latency consistently below 1.4 seconds, even with two NVIDIA H800 GPUs of 80 GB each. This result represents a tangible improvement over vLLM, which cannot maintain latency targets under the same load, allowing RAGCache to handle up to two requests per second for particularly complex models. Another distinctive feature was the dynamic speculative pipelining, which reduced end-to-end latency and improved system efficiency. Specifically, the non-overlapping time for vector search was reduced by up to 4.3 times compared to traditional approaches without speculative pipelining.

Finally, efficiency in request scheduling was another strong point, with internal scheduling times below one millisecond for all tested configurations. This characteristic confirmed RAGCache's ability to respond quickly to requests, significantly reducing overall latency even in high-load scenarios. Overall, the experimental results demonstrated RAGCache's ability to provide a performant, scalable, and optimized system for the most complex computational needs, setting new standards in RAG applications.

 

Conclusions

The true innovation brought by RAGCache lies not simply in reducing latency or optimizing the use of computational resources but in introducing a new organizational and decision-making logic based on predictive and distributed access to information. If extrapolated and applied beyond the technological domain, this logic could transform the way businesses manage not only data but also human resources, customer relationships, and workflows.


The idea of "adaptive hierarchical distribution," as seen in the three-tier caching system, suggests a paradigm shift: efficiency no longer derives from centralization or redundancy but from allowing frequency and use to guide resource allocation. This principle could be applied, for example, to talent management within companies. The "most requested" employees—not in terms of workload but strategic impact—could be placed in roles where immediate access to their expertise is crucial, while less used or highly specialized resources could be allocated to less central but still accessible positions. The "access frequency" here becomes a powerful metaphor for rethinking organization.


RAGCache's speculative pipeline, which anticipates operations to reduce idle times, introduces an interesting provocation: what if organizational efficiency derived from the ability to simulate future scenarios and act before they become necessary? This concept shifts the focus from reactive decisions, based on post-event data, to a predictive and speculative model where companies build structures capable of operating in parallel across multiple levels of reality. A concrete example could be designing customer support systems that start "preparing" responses and solutions based on anticipated behavioral patterns rather than waiting for explicit demand.


The PGDSF replacement system, with its attention to recalculation costs in relation to sequence position, stimulates a strategic reflection on risk management and budget allocation. In a business context, this approach could translate into the idea that the most expensive resources to recover or reactivate—whether forgotten skills, lost customers, or neglected markets—should receive preventive priority, even if they do not currently generate direct value. This overturns the traditional paradigm of investing only where immediate returns are apparent, proposing a model based on the strategic importance of preserving future options.


The management of "skewed distribution," with 3% of documents satisfying 60% of requests, reflects a universal principle often overlooked: effectiveness is not democratic, and resources must be invested asymmetrically to maximize results. However, this observation challenges traditional models of organizational or distributive fairness, pushing toward a radical optimization where the focus is exclusively on impact. In business, this could mean concentrating 90% of efforts on a few key clients, essential processes, or strategic markets, accepting that the rest of the organization operates with the bare minimum.


Another strategic insight emerges from the parallel synchronization of retrieval and inference phases: the idea that the value of a system does not lie in the perfect accuracy of its operations but in the ability to proceed even without all the information. This principle can be relevant in traditional business thinking, where important decisions are often delayed while waiting for "complete data." The lesson from RAGCache is that a quick response, even if partially speculative, can be more valuable than an accurate but delayed decision. This could transform how companies address time-to-market, critical negotiations, or crisis management.


Finally, RAGCache's scalability—maintaining high performance even under extreme loads—is not just a technical matter but a message about systemic resilience. Companies must design structures that do not collapse under stress but can adapt by redistributing resources. This requires not only technology but also a mindset capable of tolerating uncertainty and valuing structured improvisation. The lesson is clear: the future belongs not to the largest but to the most flexible, to those who can continuously redesign themselves without compromising performance.


In summary, RAGCache is not just a caching system for RAG but a powerful metaphor for rethinking business organization, resource management, and decision-making strategies. Its most stimulating contribution is the invitation to a logic that embraces asymmetry, anticipation, and dynamic distribution, posing the fundamental question: what if success is not about having more resources but about allocating them better and more intelligently?

 

Post recenti

Mostra tutti

Commentaires

Noté 0 étoile sur 5.
Pas encore de note

Ajouter une note
bottom of page