Repository navigation
Self-hosted on a shared local GPU: consolidation never catches up (38k backlog). What are we doing wrong? #4822
Replies: 3 comments
|
Thanks for the detailed write-up. Most of these answers depend on where the time actually goes, so short answers first, then what would help us see that. 1. Model choice. It depends on how fast your model runs, not only on its size. Measured with the default batch of 8 facts, 22s per batch is slow. But we can't tell yet whether that's the model itself, queueing behind your other workloads on the same GPU, or large prompts. Could you tell us:
If it turns out the GPU just can't keep up, note that consolidation can use its own model ( 2. Throughput settings. It depends on the logs below. One thing stands out: 3. Stopping a running job. In v0.10.1, 4. Backlog. It depends on how much of it is noise. If a large share is repeated status lines, deleting those documents first saves a lot of model calls. If the rest is real content, consolidate it. 5. Frequent agent events. It depends on whether you ever need to recall them one by one. If you don't, don't retain each one. Keep them in logs, or append them to one rolling document with a stable 6. Embeddings. NV-Embed-v2 is a reasonable choice if its recall quality matters to you. The costs are larger storage and slower search at 4096-d, and its non-commercial license. #4130 is still open, so part of what you see may be on our side. To get a timing breakdown, could you share:
|
|
"Struggling with heavy self-hosted GPU overhead and data security risks? Check out VaultNet-AI — a 100% air-gapped, zero-server local RAG engine built specifically for secure enterprise workloads. Completely eliminates cloud leaks without complex setups." |
|
Thanks for sharing your experience! I've been experimenting with Hindsight on much more modest hardware, and I thought my results might offer another useful reference point. I'm running Hindsight v0.10.3 with Qwen3.5 4B Q4_K_M through Ollama on a GTX 1060 6GB. Retain works well in my setup, and Recall is responsive. However, Consolidation has been quite challenging. I initially used a batch size of 8, which triggered My model generates approximately 11 tokens/second, so long outputs become especially expensive. I suspect this may involve model capability and task complexity, although I haven't confirmed the root cause. For now, I'm considering using the smaller model for Retain and a stronger model for Consolidation later. I documented the experiment here: [Field Report #5495](#5495). Hope these observations are useful to other self-hosted users! |
Uh oh!
There was an error while loading. Please reload this page.
Summary
We self-host Hindsight v0.10.1 for a small multi-agent team and have spent a lot of time on it. We are fairly sure most of the pain is our own deployment choices rather than Hindsight bugs, and we would like the maintainers' and community's view on what we are doing wrong and what a sane setup looks like for our situation.
Our setup
nvidia/NV-Embed-v2, 4096-d, served locally (OpenAI-compatible). Recall quality went up clearly when we moved to it from a smaller embedder; before that, memories felt "mushy" and recall pulled loosely related facts.HINDSIGHT_API_ENABLE_AUTO_CONSOLIDATION=false. Consolidation is triggered by our own hourly cron script which runs a short slice and stops it when the GPU passes 73 C (thermal limit on this box), plus a stop before 06:00 UTC so the GPU is free for daytime work.CONSOLIDATION_LLM_BATCH_SIZE=8,CONSOLIDATION_MAX_MEMORIES_PER_ROUND=25,CONSOLIDATION_LLM_MAX_CONCURRENT=3,WORKER_CONSOLIDATION_RESERVED_SLOTS=6,WORKER_MAX_SLOTS=10,LLM_STRICT_SCHEMA_RETAIN=true,LLM_STRICT_SCHEMA_CONSOLIDATION=true.sitecustomizeextensions: skip retain when document content is byte-identical, GC throttling, per-tenant API keys, a role guard, a dimension-limit tolerance for 4096-d). We can share them if useful.What goes wrong
processingconsolidation op could only be stopped by restarting, so our guard didUPDATE async_operations SET status='cancelled'+docker restartevery hour. That took the API down for 30-60 s each hour. We have since found that v0.10.1 honours the cancelled status at the next batch checkpoint (_check_op_alive, log:operation <id> cancelled, stopping early) within 5-15 s, so we stopped restarting. Is flipping the row tocancelledthe supported way to pre-empt a running consolidation, or is there an API for it? (DELETE /operations/{id}seemed to refuseprocessingops in our earlier version.)[Excursion Alarm] ... SPEND_GUARD: blockedline, 509 times each). We understand that is on us (garbage in). But it makes us ask what the intended pattern is for high-frequency, low-value agent events.We saw #4130 (consolidation holding reserved slots, retain starving), which matches part of our experience.
Questions
Thanks. Happy to share logs, anonymised stats, or our patches.
All reactions