I always found it weird that we don't have glacial type input for llms or any kind of active-working memory.
There's no reason why we shouldn't be able to expose active relevant information that is only relevant for the next request: current agents running, time, etc.
There's also no reason why we shouldn't have a cheaper lossy input which uses way less bytes per token - see deepseek flash 4.1.
I really like this approach! I sort of think of the vision encoder here as an expensive high fidelity RAG encoder.
The thing I’d love to do with a system like this is train it to be KV cache ordering independent (ie permutation invariant at the page level). Basically each page’s KV cache should be understandable by the model in any ordering - which would allow you to go one step further and treat the KV cache of the vision encoded page as the chunk for the model to reason over.
Then all these zoom in for more detail tricks will extend naturally.
I remember reading a paper entitled "A Picture is Worth a Thousand Tokens" or something similar like 2-3 years ago. The reality is that no one really wants/needs contexts that big, anyway. It's hard enough making LLMs truly useful even with a small/medium context.
I always found it weird that we don't have glacial type input for llms or any kind of active-working memory.
There's no reason why we shouldn't be able to expose active relevant information that is only relevant for the next request: current agents running, time, etc.
There's also no reason why we shouldn't have a cheaper lossy input which uses way less bytes per token - see deepseek flash 4.1.
I really like this approach! I sort of think of the vision encoder here as an expensive high fidelity RAG encoder.
The thing I’d love to do with a system like this is train it to be KV cache ordering independent (ie permutation invariant at the page level). Basically each page’s KV cache should be understandable by the model in any ordering - which would allow you to go one step further and treat the KV cache of the vision encoded page as the chunk for the model to reason over.
Then all these zoom in for more detail tricks will extend naturally.
Oh My Pi has done this for a while now, they call it Snap compact.
I remember reading a paper entitled "A Picture is Worth a Thousand Tokens" or something similar like 2-3 years ago. The reality is that no one really wants/needs contexts that big, anyway. It's hard enough making LLMs truly useful even with a small/medium context.
yep, deepseek
Ha! Didn’t realize that’s what it was doing, I’d compact and it would say snap compact with a little icon of a camera, so this all makes sense now.
Interesting approach. thanks