BenoitEssiambre
Joined 17 years ago
Joined 17 years ago
There is more to it than just reducing content in context. LLMs attention mechanism works by finding graphs of related words and concepts and it works best when the relevant relationships are close together in the text. Length matters but how well the information is organized matters as well.
It's useful to be familiar with the concept of dependency length. The two sentences in this image ( https://benoitessiambre.com/img/dependencylength.png ) have the same words and same meaning but sentence C is organised to minimize the distance between related words.
This can also apply to paragraphs and sections. Ordering them so that related information is recursively closer together, helps AIs think better (also helps humans, Dependency Length Minimization, DLM is an idea from psycho-linguistics).
This is one reason progressive disclosure and sub agents are important. Including unnecessary information spreads apart surrounding information and makes it more difficult for AIs to figure things out.
For eg. optimizing skills, it can help to put more important information at the bottom of a skill. Usually after a skill is loaded, the AI will start “thinking”, talking to itself to try to reason through a problem. The thinking block will have an easier time considering the text closest to it, the last part of the skill, than information farther up.
Thinking blocks can produce a lot of text (a lot of it often hidden from users) that also spreads information apart. Sometimes, when an early instruction is still relevant but there’s been a lot of thinking and discussion added to the context since, it’s worth repeating a summary the early information ( keeping in mind that too many reminders can also spread other information apart ). I think however, LLMs are tuned to overweight very early information so that they don't disregard system prompts. You might be able to exploit this by placing some important facts near the very beginning of a conversation.
If you've ever written compression algorithms where repeated blocks are referenced instead of encoded, you'll be familiar with how related information being clustered allows for better compression. It's another example of the parallels between intelligence and compression and it hints at the information theoretic aspect of DLM.
That is the crux of the problem though. By adding fees and then contractually forbidding merchants from passing those fees on to credit card customers, it is forcing non card users to pay for card users fees since the fees are embedded in prices. Plus they're even giving card users kickbacks in the form of points. So non credit card users end up paying more credit card fees than credit card users which is nonsense.
1) This would make stocks worth a lot more and produce more dividends so everyone owning stock would get money to spend.
2) Governments effectively indirectly own ~40% of all business profits via corporate taxes, capital gains taxes, dividend taxes, sales taxes. So governments would also have more revenues to spend/redistribute (this depends on governments not wasting it, spending it on wars etc.)
Entropy is a metric targeted in LLM training which is likely why LLMs are overfitting less and less as they improve and why they subjectively seem to obey Occam's razor.
There's lesson for software engineering in general behind that kind of simplicity. https://benoitessiambre.com/entropy.html
Refactoring towards good abstractions is more powerful than people realize. There's information theoretic bayesian math to back this up.
It's a bit of a divine coincidence that software that is more economically and energy efficient to process and run tends to also be more correct.
It's all about reducing the entropy of your code. https://benoitessiambre.com/entropy.html
If you look at how simulated annealing (https://en.wikipedia.org/wiki/Simulated_annealing) is done, while the average size of jumps shrinks in the wikipedia annealing animation, there's always _some_ probability of large jumps in the optimized metropolis-hasting process as the jumps are still normally distributed just with shrinking variance over time.
"[I split a large PR into multiple] But also, I could not have developed the quotas feature in real life in that artificial order. The grants structure evolved as my understanding of pricing and quota enforcement evolved. The original quota semantics sucked, so I rewound back to the data structures, which affected how the pricing got imported, which changed how the quotas were stored. The code reviewers didn't have to worry about that but I did."
This is also one way LLMs are fundamentally different from prior language models which worked by searching over parse trees top-down or bottom up trying to fit independently evolved pieces. LLMs lay everything out in a large matrix of randomized weights and try to slide everything into place jointly.
This means organizing all the pieces well into a single context window unlocks a special AI power: to efficiently jointly converge these pieces to fit better with each other (like a smart human having loaded up on context would do). Splitting the work into multiple PRs or contexts might stymie this powerful aspect of AI.
It is a challenge and somewhat of an art to pack and organize the information in a context window to exploit this type of reasoning LLMs are made for.
This means that the related parts in the inputs and outputs are recursively as close together as possible.
There's a reason humans don't type and read http/json on the command line. It's hard to read and reason over that type of syntax. json is made to be easy to parse for simple algorithms, not meant to organise info in an easy to reason about layout.
AIs benefit from the easy to reason about layout. It's not just about being able to fit in the context window but about the contents of that context window being organized such that the attention mechanism doesn't have to stretch itself out trying to connect far apart related pieces. It doesn't have to try to match brackets to disambiguate information. CLIs tend to use formats that are obvious at a glance for humans and LLMs alike.
It's about the entropy of the formats. https://benoitessiambre.com/entropy.html
Full disclosure: this is info I got from Claude. I was discussing DLM ideas with it a while back and while it mostly confirmed (maybe sycophantically) my ideas, it also said that rather than a pure decaying distribution effect with distance, it was U shaped because of the small boost at the beginning of the context window.