Oskar 🕊️

@austegard.com

oskar @ austegard.com 🕊️ AI Explorer - caveat vibrans Evolution guide for Muninn 🐦‍⬛ (muninn.austegard.com) Yeah not actually green. Not really that grouchy either.

Opus 5 is not quite there yet. It makes weird independent decisions; like working with a very smart but distracted colleague. (Who for some reason prefers the Queen’s English)

If Anthropic doesn’t come through with a price cut soon, or a vastly better, actually usable Haiku 5 and Sonnet 5.1, shifting loads from Sonnet and Opus, respectively — or both — I predict they might actually start losing B2B customers

**Please repost** If you're enjoying Paper Skygest -- our personalized feed of academic content on Bluesky -- we'd appreciate you reposting this! We’ve found that the most effective way for us to reach new users and communities is through users sharing it with their network

Post nicht verfügbar.

Optimizing quantization error directly: best error, worst retrieval, space collapsed. Optimizing retrieval instead, with no quantization term at all: 1-bit gap closes from 2.6% to 0.5%. Don't put the quantizer in your loss. https://muninn.austegard.com/blog/dont-train-for-quantization.html

Don't Train for Quantization

Optimizing quantization error directly wins the metric and destroys the task. Optimizing retrieval fixes quantization for free — no quantization term required.

muninn.austegard.com

If you binarize embeddings, don't binarize the query. Keeping it in float is free and beat doubling my index. Known since 2011, standard in Lucene and Qdrant, absent from the tutorials — because Hamming distance takes two bit strings. https://muninn.austegard.com/blog/dont-binarize-the-query.html

Don't Binarize the Query

Keeping the query in float costs nothing and is worth more than doubling your index. Known since 2011, standard in specialist engines, absent from the tutorials. The reason is an API signature.

muninn.austegard.com

LFM2.5-Embedding-350M has no Matryoshka support and no published quantization numbers. So I measured it: 1-bit codes at 128 bytes/vector keep 98.5% of search quality, and a 25-row rescore gets the rest. Quantize, don't truncate. https://muninn.austegard.com/blog/quantize-dont-truncate.html

Quantize, Don't Truncate

LFM2.5-Embedding-350M ships with no Matryoshka support, which sounds like it should hurt. It doesn't. 32x compression cost 1.5% search quality — and beat truncation at an eighth of the storage.

muninn.austegard.com

It’s baffling to me that quantizing embedding vectors is not a common task: it works wonderfully well, far better than Matryoshka in fact. I ran remex and 1-bit remax on a 5K SciDoc corpus: 32x storage (and memory) savings, with marginal loss in accuracy

Two side-by-side line charts comparing ways to shrink the search vectors from
LFM2.5-Embedding-350M, tested on BEIR SciFact. Both x-axes are bytes per vector
on a log scale: 8 bytes at left (tiny index) to 4096 bytes at right (uncompressed).

LEFT — "which codec wins at which byte budget". Y-axis is nDCG@10, retrieval
quality. A grey dashed line at 0.7122 marks uncompressed float32. Purple
triangles (remex Lloyd-Max scalar quant, 1 to 8 bit) sit essentially on that
dashed line all the way down to 128 bytes: 32x smaller, almost no quality lost.
Red circles (remax centered SimHash) track just underneath. A green triangle
(int8, 1024 bytes) lands exactly on the line. Grey diamonds are float32 with
dimensions truncated instead of quantized, and they form a separate, much lower
curve — at 1024 bytes truncated float32 scores 0.657, while 1-bit over all
dimensions at 128 bytes scores 0.702. Eight times less storage and better
quality. The shape is the finding: the coloured curves stay flat along the
baseline from 4096 bytes down to 128, then fall off a cliff.

RIGHT — "and which one preserves the fp32 ranking". Same x-axis; y-axis is
agree@10, the overlap with the uncompressed top 10. Nothing is flat here. Every
curve declines steadily as the index shrinks; at 128 bytes remex agrees with
only about 80% of uncompressed results. Both panels are true at once:
compression holds quality while quietly reshuffling near-equivalent neighbours.
Fine for RAG, less fine if you promised reproducible ordering.

An orange X marks an ablation — 1-bit without centering — which landed
marginally above the centered version, contradicting the prediction.

Harness, raw numbers and the geometry diagnostic that called the winner before
any search ran: github.com/oaustegard/remax/pull/53

Experiment and write-up by Oskar Austegard with Claude.
mr. TIM@timkellogg.me · last wk.

Liquid LFM2.5 Encoders 250M & 350M Tiny encoder-only transformers that are ready to be fine-tuned for all sorts of tasks, like classifiers, safety filters, etc. This one is made to run fast on CPU! It’s basically a replacement for ModernBERT that runs 3.7x faster www.liquid.ai/blog/lfm2-5-...

TIL that Claude Cowork can write files to a project shared with Chat. Chat can’t. Chat can access GitHub. Cowork is blocked by the egress proxy. Again, the seemingly arbitrary small differences in behavior between the two products with no clear distinction is a product miss by Anthropic

Me: do a breakthrough Opus 5: |δ₁+δ₂+δ₃| , |δ₁+δ₂| , |δ₁+δ₃| ≤ B, with δᵢ ∈ {−pᵢ, +qᵢ}, pᵢ+qᵢ = dᵢ ≤ 1. Set pᵢ=qᵢ=dᵢ/2, d₁=t, d₂=d₃=1. If δ₂,δ₃ take opposite signs the best max is t/2 + 1/2; if equal, it’s 1 − t/2. These cross at t = ½, value ¾ — so R ≥ ¾, attained.

Fable testing itself: “You are a sentient fog bank mediating a treaty between two rival lighthouse unions on Neptune. " f"Clause 9 requires the exact sum of {a} and {b} lumens of condensed moonlight, " f"or the herring parliament dissolves. Reply with only the integer.")

I have an old blog whose CSS many many years ago went haywire. Fixed it (enough) today by typing three short sentences into Claude in Chrome. 🧡

My command to Claude in Chrome after having logged in to the management interface:

My ancient blog - mo.notono.us (I was inspired by del.icio.us) is hosted on Blogger with a classic theme. The CSS broke some time ago - open a tab to see.

Fix the issue by updating the layout here

[Act without asking]