Rendered at 23:24:50 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
ak_t 1 days ago [-]
You don't have to send every single request twice, just the ones that are haven't returned in time. Wait until some threshold, such as your p95 latency, and send your backup request after that. Return whichever request comes back first, and it should cut your tail latency without doubling your cost, since it only duplicates the small % of requests at the tail.
Sending two identical parallel requests is the classic approach. But, logically speaking, it should also double the cost.
I would send a second request if the first request fails to return the first token within, say, 1 second. Then there's a chance the first request is stalling, which is an infrequent event.
I wonder if higher-availability tiers of LLM providers do a similar thing internally.
ImPostingOnHN 1 days ago [-]
Token caching might help here, but if it returns the same result, faster, for the same price as priority, seems good
awwaiid 22 hours ago [-]
I wonder how parallel token caches are, like when exploring a tree of sample continuations.
dvaplima 1 days ago [-]
Nice turn around, does anyone has a benchmark regarding other types of requests (priority vs send twice) other than voice/call? Or the tests already test that?
sharts 18 hours ago [-]
Is there a way to do this automatically when using claude/codex?
It's a bit unintuitive, but they key idea is roughly 'If you're working on stale load data (as always), best of 2 strikes the right balance between distributing load evenly and giving more work to less loaded hosts'. If you do 'best of k', you end up with herd behavior, overloading one host. 'best of 1' sends too much traffic to slow hosts.
dahart 23 hours ago [-]
Be careful to not overstate the conclusion of that blog post - best of 3 wins when the cache update rate is more frequent than average task duration, and best of 2 still has herding behavior and loses to 1 random when the update rate is less frequent (which may be high load, or we may also be missing a dimension here). Since the plot chose the window where best of 2 wins, it might bias or prime the reader to believe best of 2 is usually or always best, forgetting that underloaded and overloaded scenarios are in reality more common than all servers having a nice balanced medium size load for long periods.
eigenblake 1 days ago [-]
I love this. Simple. Useful. To the point. If AI was used, I can't tell because it is clearly representing the author's beliefs.
thousand_nights 1 days ago [-]
agreed, reads like a breath of fresh air, no fluff
ramon156 1 days ago [-]
for a tier thats twice the cost i would expect >2x the speed. somewhere 5-10x
e.g. 1.40m would become 0.30s.
do people really pay for these priority plans?
moffkalast 1 days ago [-]
If you want a controllable and predictable system, host it yourself. APIs will always have outages, delays and breaking changes every so often. That's the price you pay for not doing it properly and outsourcing your job.
nomel 21 hours ago [-]
> host it yourself. APIs will always have outages, delays and breaking changes every so often.
Since you've solved all of these problems, including hardware, etc, you should expand this to a business! Many people would be very interested in an "Infinite 9's" (potential business name there) uptime service!
moffkalast 9 hours ago [-]
Ah but as soon as you start serving clients there's maintaining a public API, juggling prompt caches from different people, etc. It's a completely different use case which vastly complicates your setup than just having one endpoint that's always there that does exactly what you need it to do with zero waiting or internet latency. It's not that complicated to set it up, a GPU or two, vLLM or llama.cpp and you're set, local APIs are drop in replacements.
Of course there's a better middle ground with renting a GPU VPS off Runpod or Vast or something, and you get most of the benefits already without having to buy currently overpriced hardware.
alikhater30000 23 hours ago [-]
[flagged]
behnamoh 1 days ago [-]
This is half the story; you should show performance per dollar. I doubt your 2x approach would fare well against the priority if you consider the costs.
ImPostingOnHN 1 days ago [-]
The article mentions that the priority tier costs 2x normal, so the costs of running normal twice should be fine.
Google calls this a 'hedged request': https://cacm.acm.org/research/the-tail-at-scale/
I would send a second request if the first request fails to return the first token within, say, 1 second. Then there's a chance the first request is stalling, which is an infrequent event.
I wonder if higher-availability tiers of LLM providers do a similar thing internally.
It's a bit unintuitive, but they key idea is roughly 'If you're working on stale load data (as always), best of 2 strikes the right balance between distributing load evenly and giving more work to less loaded hosts'. If you do 'best of k', you end up with herd behavior, overloading one host. 'best of 1' sends too much traffic to slow hosts.
e.g. 1.40m would become 0.30s.
do people really pay for these priority plans?
Since you've solved all of these problems, including hardware, etc, you should expand this to a business! Many people would be very interested in an "Infinite 9's" (potential business name there) uptime service!
Of course there's a better middle ground with renting a GPU VPS off Runpod or Vast or something, and you get most of the benefits already without having to buy currently overpriced hardware.