{"version":2,"relationshipURLBase":"https://codingai-lec03.pages.dev/course/notebook-blocks/5d25311e26c2487a838e6e92dcd3946a.html","relationshipResolution":"Resolve relative relationship URLs against relationshipURLBase; complete records and absolute URLs are in blocks.","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/5d25311e26c2487a838e6e92dcd3946a.html","markdown":"https://codingai-lec03.pages.dev/course/notebook-blocks/5d25311e26c2487a838e6e92dcd3946a.md","pages":[{"id":"reading-opening","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码","unit":"4 · 缓存节约什么，不能节约什么？ · 实现代码","unitId":"notebook-blocks/5d25311e26c2487a838e6e92dcd3946a","chapter":"course","number":1}],"aliases":[{"oldId":"b-9847aafd2b0a93f2ba4da166","targetId":"b-9847aafd2b0a93f2ba4da166","page":"reading-opening","operation":"move","beforeSHA256":"1a4de4df51c1a8787dc96ec401888dfe89d250842519319b9af7a931ca765eee","afterSHA256":"1a4de4df51c1a8787dc96ec401888dfe89d250842519319b9af7a931ca765eee","reason":"Same source body in authored semantic page"},{"oldId":"b-2b89c873ebf7348ebdddc39e","targetId":"b-2b89c873ebf7348ebdddc39e","page":"reading-opening","operation":"move","beforeSHA256":"1d82ef9384ed67a2a4a878a6e7cc2e10bac72f41d329828349d138606aede12b","afterSHA256":"1d82ef9384ed67a2a4a878a6e7cc2e10bac72f41d329828349d138606aede12b","reason":"Same source body in authored semantic page"},{"oldId":"b-c1d737952491acf9fbdeda6f","targetId":"b-c1d737952491acf9fbdeda6f","page":"reading-opening","operation":"move","beforeSHA256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","afterSHA256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","reason":"Same source body in authored semantic page"},{"oldId":"b-9e8e89077523b92a34383ac8","targetId":"b-9e8e89077523b92a34383ac8","page":"reading-opening","operation":"move","beforeSHA256":"8021c18afc52ba7b6612f43ecfb0fdd4789efe91cc9cd656984357d81a8514de","afterSHA256":"8021c18afc52ba7b6612f43ecfb0fdd4789efe91cc9cd656984357d81a8514de","reason":"Same source body in authored semantic page"},{"oldId":"b-02e5e27f0db457851dd822ba","targetId":"b-02e5e27f0db457851dd822ba","page":"reading-opening","operation":"move","beforeSHA256":"1f446813e339d77894338425dfd088564fcaa921bd9d6fcdb446e1a9523375fd","afterSHA256":"1f446813e339d77894338425dfd088564fcaa921bd9d6fcdb446e1a9523375fd","reason":"Same source body in authored semantic page"}],"blocks":[{"id":"b-9847aafd2b0a93f2ba4da166","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/5d25311e26c2487a838e6e92dcd3946a.html#b-9847aafd2b0a93f2ba4da166","content":"[LAB 12 · CLIP延伸：缓存与检索（近似索引选读）](/course/notebooks/921eeaf784284ce19568c6ca7619b55a.html)","sha256":"1a4de4df51c1a8787dc96ec401888dfe89d250842519319b9af7a931ca765eee","chapter":{"id":"course","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码"},"unit":{"id":"notebook-blocks/5d25311e26c2487a838e6e92dcd3946a","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码"},"page":{"id":"reading-opening","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码","number":1},"sectionTitle":"4 · 缓存节约什么，不能节约什么？ · 实现代码","currentQuestion":"4 · 缓存节约什么，不能节约什么？ · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":null,"nextBlock":"b-2b89c873ebf7348ebdddc39e","prerequisites":[],"relatedBlocks":[]},{"id":"b-2b89c873ebf7348ebdddc39e","type":"h1","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/5d25311e26c2487a838e6e92dcd3946a.html#b-2b89c873ebf7348ebdddc39e","content":"# 4 · 缓存节约什么，不能节约什么？ · 实现代码","sha256":"1d82ef9384ed67a2a4a878a6e7cc2e10bac72f41d329828349d138606aede12b","chapter":{"id":"course","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码"},"unit":{"id":"notebook-blocks/5d25311e26c2487a838e6e92dcd3946a","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码"},"page":{"id":"reading-opening","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码","number":1},"sectionTitle":"4 · 缓存节约什么，不能节约什么？ · 实现代码","currentQuestion":"4 · 缓存节约什么，不能节约什么？ · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-9847aafd2b0a93f2ba4da166","nextBlock":"b-c1d737952491acf9fbdeda6f","prerequisites":[{"id":"b-9847aafd2b0a93f2ba4da166","url":"#b-9847aafd2b0a93f2ba4da166","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-c1d737952491acf9fbdeda6f","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/5d25311e26c2487a838e6e92dcd3946a.html#b-c1d737952491acf9fbdeda6f","content":"并入相关学习路径","sha256":"dc06c1e728a4b5740ba634b145bc9a1da6323031626734cb4555db5a744df806","chapter":{"id":"course","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码"},"unit":{"id":"notebook-blocks/5d25311e26c2487a838e6e92dcd3946a","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码"},"page":{"id":"reading-opening","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码","number":1},"sectionTitle":"4 · 缓存节约什么，不能节约什么？ · 实现代码","currentQuestion":"4 · 缓存节约什么，不能节约什么？ · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-2b89c873ebf7348ebdddc39e","nextBlock":"b-9e8e89077523b92a34383ac8","prerequisites":[{"id":"b-2b89c873ebf7348ebdddc39e","url":"#b-2b89c873ebf7348ebdddc39e","role":"section-title"},{"id":"b-9847aafd2b0a93f2ba4da166","url":"#b-9847aafd2b0a93f2ba4da166","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-9e8e89077523b92a34383ac8","type":"p","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/5d25311e26c2487a838e6e92dcd3946a.html#b-9e8e89077523b92a34383ac8","content":"同一CLIP缓存、exact/IVF搜索、延迟/扫描量、区域交互基线","sha256":"8021c18afc52ba7b6612f43ecfb0fdd4789efe91cc9cd656984357d81a8514de","chapter":{"id":"course","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码"},"unit":{"id":"notebook-blocks/5d25311e26c2487a838e6e92dcd3946a","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码"},"page":{"id":"reading-opening","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码","number":1},"sectionTitle":"4 · 缓存节约什么，不能节约什么？ · 实现代码","currentQuestion":"4 · 缓存节约什么，不能节约什么？ · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-c1d737952491acf9fbdeda6f","nextBlock":"b-02e5e27f0db457851dd822ba","prerequisites":[{"id":"b-2b89c873ebf7348ebdddc39e","url":"#b-2b89c873ebf7348ebdddc39e","role":"section-title"},{"id":"b-9847aafd2b0a93f2ba4da166","url":"#b-9847aafd2b0a93f2ba4da166","role":"problem-context"}],"relatedBlocks":[]},{"id":"b-02e5e27f0db457851dd822ba","type":"pre","scope":"document","url":"https://codingai-lec03.pages.dev/course/notebook-blocks/5d25311e26c2487a838e6e92dcd3946a.html#b-02e5e27f0db457851dd822ba","content":"```\nN,d=X.shape;Qn=len(Q)\nprint('解析样本编码次数：每对重算',N*Qn,N*Qn,'；缓存',N,Qn)\nprint('矩阵字节：',X.nbytes,'；中心字节：',centers.nbytes,'；ID字节：',sum(l.nbytes for l in lists))\nprint('真实缓存生成记录：',p['image_count'],p['text_count'],'样本；',p['image_batch_calls'],p['text_batch_calls'],'批次')\nprint('另两对逐对重算与缓存的最大差：',p['pairwise_validation_max_abs_delta'])\n\n```","sha256":"1f446813e339d77894338425dfd088564fcaa921bd9d6fcdb446e1a9523375fd","chapter":{"id":"course","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码"},"unit":{"id":"notebook-blocks/5d25311e26c2487a838e6e92dcd3946a","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码"},"page":{"id":"reading-opening","title":"4 · 缓存节约什么，不能节约什么？ · 实现代码","number":1},"sectionTitle":"4 · 缓存节约什么，不能节约什么？ · 实现代码","currentQuestion":"4 · 缓存节约什么，不能节约什么？ · 实现代码","sourceSlides":[],"knowledgeBlock":null,"formulas":[],"previousBlock":"b-9e8e89077523b92a34383ac8","nextBlock":null,"prerequisites":[{"id":"b-2b89c873ebf7348ebdddc39e","url":"#b-2b89c873ebf7348ebdddc39e","role":"section-title"},{"id":"b-9847aafd2b0a93f2ba4da166","url":"#b-9847aafd2b0a93f2ba4da166","role":"problem-context"}],"relatedBlocks":[]}]}
