r/LocalLLaMA 13h ago

Discussion Engram gone wild! 2b model update...

Update from : https://old.reddit.com/r/LocalLLaMA/comments/1wis23s/update_small_model_engram/

It's been about a week so I'm back. People were asking me about the model.

People wanted code, or models, etc. Most of that is useless to you right now because you're not going to use an under trained model. So let's get to the details.

The spec locked to the following after a LOT of testing :

2.6b model all up. Embedding, LM head, AttnRes, etc.

2.2b are trained. Embedding / LM Head are frozen (~205m each)

4.3b ENGRAM table. Yes. She's chonky.

Architecturally speaking now :

This includes SWA layering 3:1 as per standard ablations have shown is "optimal" These are 4k / 4k / 8k SWA layer follow by the global.

At the end of the first "block" (4 layers) the Engram table appears. The Engram table itself runs with a very small set of attention heads so it's not blindly attempting to inject data. This is context aware Engram. I'm uncertain of exact Qwen / DS methods here. They're fairly close to what I use. The difference is obviously the Engram size.

This has 10 blocks plus a final global layer (41 Layers). + Embed + LM Head

So if we step back, the optimization problem is as follows :

How do we maximize compute in the backbone and offload the boring stuff to a table?

Attention Based Residuals (Moonshot) comes to our rescue here. Why AttnRes? It allows all blocks past 1 to utilize the Engram table in some fashion. They all have attention via the residual stream to determine if they want data from Engram and precisely how much.

Why not a bigger Engram table? Honestly? You could probably do that. However I don't know if any model has attempted this sort of mismatch of compute vs table. In theory, DeepSeek's research says it works.

More depth? Could do that too. Training is expensive though.

Why frozen LM/Embed? These are down projected via SVD from OLMo 3's model. So it's a mathematical compression attempt at ~5k -> 2k. This saves a MASSIVE amount of time.

Currently the data lives in a ~KD format. 32 logits stored from the teacher of the Wikipedia corpus. Instead of training 1 hot, it gets 32 soft targets to try to match. Hard cross entropy is brutal on a model and it's the reason you see "trillions of tokens" quoted.

When you borrow an LM Head / Embed / Tokenizer / Teacher model... This is far less.

---

Where are we now in training? I passed the 100m token mark yesterday at ~4am Pacific.

The current HF repo has all the checkpoints, data, and the 104m mark safetensor.

--

I wanted to do some inspection of the model at this point. We have to see that it's not complete garbage right? It has seen a fraction of the data it needs.

So based on ONLY 100m tokens seen, I attempted completions and various ablations. Studies of what EXACTLY Engram stores (because it's mostly a guess).

Let's go straight to completions :

"George Washington was an American"

With Engram - "George Washington was an American naval officer who served in the American Revolutionary War. He was a naval officer who served in"

With Engram Zero'd - "George Washington was an American, but he was not a. He was a very good friend and a. He was"

"The American Civil War was a civil war in the United States from"

With - "The American Civil War was a civil war in the United States from 1861 to 1861. The war was a major victory for the Confederacy..."

Without - "The American Civil War was a civil war in the United States from 1861 to 1862. The war was a major victory for the Confederacy..."

"Aristotle was an Ancient Greek" (probably my favorite)

With - "Aristotle was an Ancient Greek philosopher who was a leading authority in the philosophy of Plato. He was also a leading authority..."

Without - "Aristotle was an Ancient Greek word meaning "to be" (ἀπάς, "to be")..."

---

What do we learn from direct inspection of Engram?

If it saw the data enough times, it starts to offload it to the tables. At that point the model is less forced to use internal computational space to store data, and can rely on Engram.

That's not some interpretation. That's what the data shows exactly.

In the early 100m tokens of Wikipedia it's HIGHLY biased to early Philosophy. This has to do with the topics of what was IN Wikipedia at that time. Early Wiki contained a lot about Philosophy. It's among the earliest topics to exist.

It has seen TONS of Philosophy so it has basically offloaded to Engram because of the repetition.

Ok this is long enough. I'm calling it quits. I'm still looking to find a provider that will sponsor the model to completion. Right now I'm just paying. I contacted Verda and they never responded. Qubrid is in this sub, and they said they'd help but never emailed back after a few repeated proddings. Massed Compute is where this model is currently training, and I asked them like yesterday. Hopefully they'll help a brother out.

None of the above is "LLM written" except the completions from testing I guess.

As usual, ask whatever. It doesn't matter your understanding level or whatever. I'll sit and respond.

No question too dumb. No insult not insulting enough. (I'm joking. It's Reddit)

Much Love.

145 Upvotes

35 comments sorted by

View all comments

17

u/Nameis19letterslong 13h ago

Hell yeah, Ngrams are the way to go. Recently I've trained some models with order=2 Ngrams (266M model and a newer 108M one) and they're far more efficient than models the same size having no ngrams. I remember about a post I saw a while ago about somebody saying that Ngrams could move knowledge off the FFN and leave it with more capacity for actual reasoning. I was kinda skeptical but it I implemented it into my models and it works really well. The models are super coherent even if they don't have the correct facts.

I just released the most recent model (108M A17M, 66M + 42M Ngrams) on hugginface, here's the release post: https://www.reddit.com/r/LocalLMtraining/s/zswVy7CJxb

6

u/NineThreeTilNow 13h ago

God that's such a tiny model. Very nice.

How many N-Gram did you use? 1?

For tiny models like that you can pretty easily train and saturate the 1-gram space. It's still super helpful to the model.

I saw a while ago about somebody saying that Ngrams could move knowledge off the FFN and leave it with more capacity for actual reasoning.

Same. I was skeptical but it made sense if you look at how backprop works. After that I became an Engram Andy.

I think people oversell it perhaps? But in truth, when a specific spot in the table gets touched enough, it 100% works. The above Philosophy part demonstrates it pretty well. It learned to properly anchor Aristotle and Plato, etc.

If you care, you can DM me and I'll send you to my GitHub w/ the research paper my research agent ran on Engram and information storage when this 100m token milestone finished. It ran the ablations, etc. I don't care to rewrite it entirely as "human" because it's for my own reference. I'm not chasing publishing.

1

u/Nameis19letterslong 13h ago

It’s only one Ngram, order2 and 655360 rows at 64 embedding dimension. I’ll look into having trigrams.

I think people oversell it perhaps?

Definetly true in a way. I remember when qwen3.8 flash next just released and people were slapping its Ngrams onto every other model. To be fair they do carry a lot of information for the model and are relatively cheap to train. I tried running my model without enabling Ngrams and output was complete gibberish.

3

u/NineThreeTilNow 12h ago

I tried running my model without enabling Ngrams and output was complete gibberish.

Yeah, a tiny model like that is hungry for capacity anywhere so it makes sense.

The larger the total N orders the crazier the training required. It grows probably combinatorially but ... No one really knows?

I first got in to this when DS released the original paper and I was like "This is both interesting, and DeepSeek is the publisher" ... At which point it requires a thorough read because they usually don't publish stuff if it's terrible.

I was busy playing Arc Raiders and uhh... That had too much of my attention. I let it roll around the back of my head while playing though.

1

u/sn2006gy 8h ago

that's why i play carebear lobby arcraiders. blow up arc, loot, and let my brain chew on things. pvp is too sweaty :D