ãDonât Do RAGã巚倧ã³ã³ããã¹ããæŽ»ãããè¶ é«éãªCAGãšããæ°ææ³ãè«æè§£èª¬ã
ãããŸããŠããã§ãšãããããŸãð
幎æ«å¹Žå§ã§ïœ€RAGïŒRetrieval-Augmented GenerationïŒ ã«é¢ããèšäºãè«æãèªãã§ãããšããããšãŠãæçºçãªã¿ã€ãã«ã®è«æã«åºäŒããŸããããããDonât Do RAG: When Cache-Augmented Generation is All You Need for Knowledge Tasksã§ãã
Paper:
GitHub:
èŠããã«ãæ€çŽ¢ãªããŠããã«ãå¿ èŠãªææžã¯å šéšãŸãšããŠããŒããã¡ããããšããçºæ³ã®ããã§ãå®éšã§ã¯ æå€§40åã®é«éå ãéæãããšã®ããšãä»åã¯ããã®è«æãææ¡ãã Cache-Augmented Generation (CAG) ã®èŠç¹ãããã£ãã解説ããŠã¿ãŸãã
1. RAGãšCAGã®éãïŒããããäœãæ°ããã®ïŒ
â RAGïŒåŸæ¥ã®Retrieve + Generateææ³
- Retrieval-Augmented Generation (RAG) ã¯ãå€§èŠæš¡èšèªã¢ãã«ïŒLLMïŒã®ç¥èãè£ãããã«ãå¿ èŠãªææžãæ€çŽ¢ãšã³ãžã³çãããã®éœåºŠååŸããä»çµã¿ã
- ãææžAãèŠã€ããŠâLLMã«èªã¿èŸŒãŸãâåçãçæããšããæµããåºæ¬ã
- é«ãæ±çšæ§ãããäžæ¹ãæ€çŽ¢ã¬ã€ãã³ã·ãææžéžæãã¹ãªã©ã®ãªã¹ã¯ãããã
â CAGïŒCache-Augmented Generation
- äžæ¹ãCache-Augmented Generation (CAG) ã§ã¯ãæåã«ãã¹ãŠã®å¿ èŠææžãLLMã«ããŒãããŠããããªã¢ã«ã¿ã€ã æ€çŽ¢ãããªããšããã¢ãããŒããåãã
- å ·äœçã«ã¯ãLLMã®é·å€§ãªã³ã³ããã¹ããæŽ»ãããŠãé¢é£ææžããŸãšã㊠Key-Valueãã£ãã·ã¥ ãšããŠä¿åãããšã¯æšè«æã«ãŠãŒã¶è³ªåãå ããã ãã
- æ€çŽ¢ããªãåãåŠçãã·ã³ãã«ã§é«éããã€ééã£ãææžãæŸãå¿é ãã»ãŒãªãã
2. RAGã®èª²é¡ãšCAGã®ç»å ŽæçŸ©
RAGã¯äŸ¿å©ãªäžæ¹ã以äžã®ãã¡ãªãããæ±ããŠããŸãã
-
æ€çŽ¢ã¬ã€ãã³ã·
åãåããããšã«ææžæ€çŽ¢ãèµ°ããã¬ã¹ãã³ã¹ãé ããªããã¡ã -
ææžéžæãã¹
ééã£ãææžãæŸã£ãããã©ã³ãã³ã°ã®åé¡ã§åçããºã¬ããªã¹ã¯ã -
è€éå
æ€çŽ¢ã»åã©ã³ãã³ã°ã»çæãçµã¿åããããããéçºã»ä¿å®ã®è² è·ãé«ãã
CAGã¯ãããããåé¡ã®å€§éšåã ãæ€çŽ¢æ®µéãç¡ããã ããšã§è§£æ¶ããããã§ããé·å€§ãªã³ã³ããã¹ããŠã£ã³ããŠãåœããåã«ãªã£ãæšä»ãäºåã«ææžãäžæ°ã«ããŒãã§ãããªããããããæ€çŽ¢ããªããŠãããã®ã§ã¯ïœ€ãšããåççãªåãã«åºã¥ããŠããŸãã
3. è«æããèŠãCAGã®ã¯ãŒã¯ãããŒ
è«æäžã«ã¯ãRAGãšCAGã®æé ã察æ¯ãã Figure 1 ãæ²èŒãããŠããŸãã

Figure 1. (äžæ®µ) RAGã®ãã€ãã©ã€ã³ã§ã¯ãåãåããïŒQ1, Q2ïŒã«å¿ããŠã¢ãã«ãå€éšç¥èãååŸããŠãã
(äžæ®µ) CAGã®ãã€ãã©ã€ã³ã§ã¯ããããããKnowledge Cacheã«ææžããã¹ãŠèªã¿èŸŒãã§ãããæšè«æã¯æ€çŽ¢ãªãã§åç
-
äžæ®µ: RAG
質å(Q1, Q2)ããšã«Retrieval Modelã§å€éšç¥è(K1, K2)ãåã蟌ã¿ãLLMã«äŸçµŠã -
äžæ®µ: CAG
å šç¥èãäºåã«ãã£ãã·ã¥åããæšè«æã¯äžåã®RetrievalãäžèŠã
ããã ãèŠããšãCAGã¯ãããã·ã³ãã«ãªæ§æã«èŠããŸãããè«æå®éšãèŠããšãããéåžžã«å¹æçã§ããããšãããããŸãã
4. å®éšçµæïŒã¹ããŒããšç²ŸåºŠã®äž¡ç«
è«æã§ã¯ãSQuAD ãš HotPotQA ãšããæåãªQAãã³ãããŒã¯ã䜿ããCAGãšRAGïŒSparse/Denseäž¡æ¹ïŒãæ¯èŒããŠããŸãã
4.1 ããŒã¿ã»ããã®æŠèŠ
äžèšã® Table 1 ã¯ãå®éšã§äœ¿çšãããåããŒã¿ã»ããïŒSQuAD & HotPotQAïŒã®èŠæš¡ããŸãšãããã®ã§ãã

Table 1. Small/Medium/Largeãš3çš®é¡ãã€çšæãææžæ°ãããŒã¯ã³æ°ãå¢ããã»ã©RAGã®é£æåºŠãäžããèšå®
4.2 粟床æ¯èŒïŒBERTScoreïŒ
次ã«ç€ºã Table 2 ã§ã¯ãCAG ãå€ãã®èšå®ã§ BERTScore ãæãé«ããSparse RAG / Dense RAG ããè¯ãçµæãåŸãããŠããŸãã

Table 2. äŸãã°HotPotQA (Small) ã§CAGã®BERTScoreã¯0.7759ãšé«ãå€ã瀺ããŠãã
ããã¯ããªã¢ã«ã¿ã€ã æ€çŽ¢æã®ãã¹ããèµ·ãããªãããšããLLMãææžå šäœãæåããå æ¬çã«åŠçããŠããããšã倧ãããšèããããŸãã
4.3 çææéæ¯èŒ
ãããŠæ³šç®ã¯é床é¢ãäžèš Table 3 ã§ãããããã«ãCAGã¯åŸæ¥ã®ããæ¹ããå€§å¹ ã«é«éã倧ããããŒã¿ã»ããã»ã©å·®ãé¡èã§ãæå€§40å以äžãã¹ããŒããéãã±ãŒã¹ãå ±åãããŠããŸãã

Table 3. HotPotQAã®Largeã»ããã§ã¯ãCAG: 2.32667ç§ã察ãw/o CAG: 94.34917ç§ããšããåçãªå·®ãåºãŠãã
5. ã©ããªå Žé¢ã§CAGãæå¹ïŒ
-
å»çæ å ±ã®QA
- 蚺çã¬ã€ãã©ã€ã³ãæç®ãããããããŸãšããŠããŒãããåãåããããšã®æ€çŽ¢é å»¶ããŒãã«ã
- æ€çŽ¢ãã¹ãæžãããªã¢ã«ã¿ã€ã æ§ãåäžã
-
財åããŒã¿åæ
- äŒæ¥ããŒã¿ãåžå Žã¬ããŒããåæããŒãããŠãããç¹°ãè¿ãåãåãããæ¥åãé«éåã
-
äŒæ¥ã®FAQããã¬ããžããŒã¹
- æŽæ°é »åºŠãäœãç€Ÿå ææžãªããäžåºŠãã£ãã·ã¥ããã°é·æé䜿ãåããã
-
å€§èŠæš¡LLMéçºã®äžéš
- ç ç©¶éçºãªã©ã§ãç¹å®ã®åºå®ããŒã¿ãåç §ããã·ããªãªã«ã¯CAGãããªãæå¹ã
ææžã®æŽæ°ãé »ç¹ãªå Žåããèšå€§ãªææžããã¹ãŠäºåèªã¿èŸŒã¿ããã®ãé£ããå Žåã«ã¯RAGçã¢ãããŒããšã®äœµçšãèããããŸãããããããæŽæ°é »åºŠãäœãããææžéãéãããŠãããç°å¢ã§ã¯ãCAGãéåžžã«æåãªéžæè¢ã«ãªãåŸããšèããããŸã
6. CAGã®åŒ±ç¹ãšãã€ããªããææ¡
CAGã«ã¯ãåœç¶ãªãã匱ç¹ãããã€ãæããããŸãã
- ææžãèšå€§ããããšãäºåããŒããããããé£ããã
- é »ç¹ã«æŽæ°ãããé åã ãšããã£ãã·ã¥ãäœãçŽãã³ã¹ããå¢ããã
- ãŸã£ããæ°ããææžãåŸããåã蟌ãã«ã¯ãå¥éRAGçãªã¹ããããå¿ èŠã
è«æã§ããããããå¶çŽãããããšãèªãã€ã€ãCAG + éžæçã«RAGã®ãã€ããªããææ³ã瀺åããŠããŸããã€ãŸãããåºæ¬ã¯CAGã§é«éåãã€ã€ãç¹æ®ãªè³ªåãæŽæ°åã ãRetrievalã䜿ãããªã©ãšãã£ãéçšãèãããããã§ã
7. å人çèå¯ïŒãã³ã°ã³ã³ããã¹ãæä»£ã®å°æ¥
æšä»ãGPT-4oãªã©ã®ã¢ãã«ã¯æ°äžããŒã¯ã³åäœã®ã³ã³ããã¹ããŠã£ã³ããŠãæ±ããŸããä»åŸããã«æ¡åŒµãããŠããã°ãå¿ èŠãªææžãäžžããšå ¥ããã¹ã¿ã€ã«ãåºç¯å²ã§å¯èœã«ãªãã¯ãã§ãã
- å€§èŠæš¡ããŒã¿ã§ããèŠçŽãåå²ãªã©ã®å·¥å€«ãããã°CAGã«èŒããããå Žåãå¢ãããã
- ãªã¢ã«ã¿ã€ã æ€çŽ¢ã®è€éããçç¥ããåçŽãªãã€ãã©ã€ã³ã«ã§ããã®ã¯é åçã
- ãã¡ãããããŒã¿é®®åºŠãèŠæ±ãããå Žåã¯RAGãæ¬ ãããªãããã䜿ãåããéèŠã
ãŸãè¿é ã¯ãRAG à ãšãŒãžã§ã³ããã®ãããªè€éãªã·ã¹ãã ãèå ãæµŽã³ãŠããŸãããCAGã®ã¢ãããŒãã¯ãããéæ¹åãšãããããããŠã·ã³ãã«ã«äœãããšã§ãéããééãã«ããããšããå©ç¹ãåŸãŠããŸãã
ããšãè«æã¿ã€ãã«ããDonât Do RAGããšæçºçã§ããå®éã¯âRAGäžèŠâã®äžçããã¹ãŠã«æãç«ã€ããã§ã¯ãããŸãããå€§èŠæš¡ããŒã¿ã鮮床ãå¿ èŠãªãŠãŒã¹ã±ãŒã¹ã§ã¯ãäŸç¶ãšããŠRAGã匷ãã¯ãã
ãšã¯ããããææžéããããããæŽæ°é »åºŠå°ãªãããé«éåéèŠããªå Žé¢ãªãããã®CAGã¯æ¡å€ãã¹ããœãªã¥ãŒã·ã§ã³ãªã®ãããããŸããã
ãããŠãããããæ€çŽ¢ã£ãŠæ¬åœã«å¿ èŠããšäžåºŠç«ã¡æ¢ãŸã£ãŠèããããã§ãCAGã¯éåžžã«è峿·±ãéžæè¢ãæç€ºããŠãããŠãããã«æããŸãã
8. ãŸãšã
-
CAGïŒCache-Augmented GenerationïŒ ãšã¯ïŒ
- å¿ èŠãªç¥èããã¹ãŠLLMã«äžæ¬ããŒãããæ€çŽ¢ããã«åçãçæããææ³ã
- 倧ããªã³ã³ããã¹ããŠã£ã³ããŠãæã€ææ°LLMããã«æŽ»çšããããšã§ãæå€§40åã®é«éåãå®çŸã
-
ã¡ãªãã
- æ€çŽ¢ã¬ã€ãã³ã·ãææžéžæãã¹ãã»ãŒãŒã
- ã¢ãŒããã¯ãã£ãåçŽå
- ã¹ã³ã¢é¢ã§ãRAGãšåçããã以äž
-
ãã¡ãªãã & ãã€ããªããæ¡
- ææžãæ¥µç«¯ã«å€ãããŸãã¯é »ç¹ã«å€ããç°å¢ã§ã¯å®å šãªCAGã¯é£ãã
- å¿ èŠã«å¿ããŠãRAGã§è£ãããã€ããªããéçšãæšå¥šãããå Žåã
ãDonât Do RAGããšãã倧èãªã¿ã€ãã«ã§ãããããã ãLLMã®ã³ã³ããã¹ãæ¡åŒµã®åã匷調ããŠãããšæããŸããããããããŸããŸãã³ã³ããã¹ãã倧ãããªããšãCAGã®é©çšé åã¯åºãããå®çšã·ãŒã³ãå¢ããŠããã§ãããã
èå³ãæã£ãæ¹ã¯ããã²è«æãã芧ãã ããã
æ°ãã芳ç¹ã§LLMãRAGã®å¯èœæ§ãæãçŽãè¯ããã³ãã«ãªãã¯ãã§ãã
â åèãªã³ã¯
次ã«ãããããªèšäº
ãå
責äºé
ã
æ¬èšäºã®æ
å ±ã¯å·çæç¹ïŒ2025幎1æ6æ¥ïŒã®ãã®ã§ããæ¬èšäºã¯ãå
¬éãããŠããæ
å ±ã«åºã¥ããŠäœæãããŠããŸããã誀ããå«ãŸããŠããå¯èœæ§ããããŸããå
å®¹ã®æ£ç¢ºæ§ã«ã€ããŠã¯ãèªè
ãèªèº«ã®è²¬ä»»ã§å€æããé¡ãããããŸããAIæè¡ã¯æ¥éã«é²åããŠããã補åã®ä»æ§ãäŸ¡æ Œãå¯çšæ§ãªã©ãäºåãªã倿Žãããå¯èœæ§ããããŸãããŸããæ¬èšäºã®å
容ã¯äžè¬çãªæ
å ±æäŸãç®çãšããŠãããå°éçãªã¢ããã€ã¹ãšããŠã¯æå³ããŠããŸãããé©åãªå°éå®¶ã«ãçžè«ãã ããã
Discussion