OLMo core member here! lmk if you have any questions about the release
We’re hosting a demo of the 13B instruct at [playground.allenai.org](https://playground.allenai.org)
Does it really? Just coincidence then.
The number of layers is determined by the target size we want, and some trade-off between depth and width of the model.
The number of attention heads depends on the hidden size and the size of each attention head we want.
Unfortunately we can't properly experiment at the top of the scale, so we have to use rules of thumb and save our experimental budget for things we think might have a bigger impact.
Ok, thanks.
I'm just interested in what the optimal ratio between hidden size and number of layers would be. In my observations, simply adding additional layers is not optimal without also increasing at least a little bit the number of attention heads.
There's some work studying that at smaller scale, e.g. [Petty et al (2023)](https://arxiv.org/abs/2310.19956) and [Tang et al (2024)](https://www.semanticscholar.org/paper/Rethinking-Optimization-and-Architecture-for-Tiny-Tang-Liu/d0ac639d6ed814eac74b6c39eb5ad46854d8fcc4). We haven't investigated much yet!
My main interest in LLM is grounded RAG as I don't want to rely on over fitting for actual knowledge.
What is the grounded RAG situation for this model? Can I have chunks with IDs in the context and have the model reference the chunks used for various points in the generated result?
(Command R and Nous Hermes have specific prompt formats for that and it would be great to standardized this so that LLM could be easily swapped in a grounded RAG).
Thx!
( Also, I am eager for a larger context size, obviously).
Thank you very much for your gift to the community with this truly Open Source LLM!
we have a couple different RAG projects, like the [OpenScholar](https://allenai.org/blog/openscholar) demo we just released. Definitely curious to finetune OLMo 2 for that use case!
No questions from me, just a huge thank you. You guys are one of the few truly open source model producers, and I can respect that. Also, I really liked the output style of the first OLMo series, very unique compared to anything else I tested at the time.
Thanks to you and team for this. Definitely hope to learn from / use the source code and architecture in future.
From a usage standpoint- can you briefly describe the kind of tasks where this would be on part with state of the art LLMs - I guess there would be some niches where this equals or even exceeds state of the art?
Is it currently supported by Huggingface Transformers? Since I had the latest version installed yet it showed error that it didn't recognize the architecture.
they are just English for now; I tried in my native language, and output is intelligible, but really not usable. We want to improve multilingual performance for OLMo 3 for sure.
For context extension, hopefully we can do that sooner :)
Something is still off with the instruct models, can't convert, tokenizer seems different from the base
I opened a PR but might still be missing something:
https://github.com/ggerganov/llama.cpp/pull/10535
commented on my PR
looks like the pre_tokenizer is missing from the instruct model, but I also don't see any tokens associated with `<|user|>` or `<|system|>` etc, so it's hard to be positive the tokenizer is fine since it'll never tokenize those correctly... but I assume it's working as intended after fixing that?
It was the same in the recent Tulu 3 model, but the model worked just fine. There is a discussion open: [https://huggingface.co/allenai/Llama-3.1-Tulu-3-70B/discussions/2](https://huggingface.co/allenai/Llama-3.1-Tulu-3-70B/discussions/2) about this, but no answers so far.
we found the bug in our conversion scripts—just doing all checks to make sure nothing is out of order before pushing an update.
we are all US-based and tomorrow/friday is a holiday, so it might take till next week to close the loop.
apologies about that!
well two things:
1. we need *bigger* models to quantize, so scaling up would be good
2. there are [limits](https://arxiv.org/pdf/2411.04330) to quantization. At some point, it's better to train smaller, less quantize models than try to run larger models at lower precisions.
obviously. 1 bit quants only produce garbage, 2-3bit quants making mistakes too many times, 4bit quants are starting to be good. This is why i think companies released 3B, 7B, 14B and 30 models so everyone can find an ideal sized quant.
They're one of the bigger known producers of MoE models (Mixture of Experts). The new releases are trained on 3 trillion tokens (for 7B) and 4 trillion tokens (for 14B). Their training set, Dolma (for the token sets) has an overall big mix of overall Internet content, academic publications (Nature, etc), code libraries, books, etc. it is also fully open source (available on HF and GitHub).
A strategy that apparently paid off for these new releases, OLMo-2-7B can perform within \~5 points of Gemma2-9B on the overall average and shrinking down the model by 2B parameters is pretty decent. Not earth-shattering by any means, but unlike Gemma2 (whose *weights* are open source), OLMo-2 is a fully open model, so I think that's pretty significant for the community. We get to see the sausage making and apply the various training and finetune methods for ourselves, along with one of the datasets (Dolma).
Can you explain what's the difference between the 'model' being open source and the weighs being open-source? I thougt the latter allows to re-create the model.
Not quite, but on the right track!
Yes, weights are an important part in determining how the model inferences, but it isn’t the whole picture. It’s like trying to say a car is able to vroom because it has the engine in it. It does, but if you don’t have a way of taking the power the engine produces and transferring it into the wheels, you just gonna vroom vroom and go nowhere.
Same premise here. Except unlike Google, who will let you see the engine (but not the manufacturing process), AllenAI will give you a whole day seminar on a walk through their plant and how they put the suspension and the transmission in and how that connects to the engine and what the engine specs are, and all that, while all of us here are furiously testing the model and taking notes lmao.
It’s not a *perfect* analogy, but I hope that helps enhance your perspective.
AllenAI will give you a whole day seminar on a walk through their plant and how they put the suspension and the transmission in and how that connects to the engine and what the engine specs.
even with the dataset, deep learning will still be confusing.
I mean, yes, technically true, but I feel as if that’s splitting hairs. There’s still very few companies out there who follow AllenAI’s mentality, and releases like this should hopefully spur more development on this front.
> Can you explain what's the difference between the 'model' being open source and the weighs being open-source?
Weights being "open source" is not really open source. It's more like freeware. You get the resulting "product", but not the source code behind it.
No one except Google can make Gemma-2-9B, but everyone who has the money for it can make an OLMo-2.
For leeches like us that means little to nothing, but for people making models from scratch, this "checkpoint" can save them years of time.
Gemma is just open-weights. How Google got the weights is anyone's guess, including the data they used in the training, the splits, the methods they used for training, etc.
Of course in practice it's leaps and bounds better than what ClosedAI is doing since open weights is more than enough for most people running local models, but for the peeps doing the cool shit, the actual models, this kind of work is super duper useful.
That’s not exactly how it works.
It’s *really* complicated. There are burgeoning areas of copyright law where fair use litigation can be approached on a case-by-case basis for those that really want to stake a claim, but that kind of litigation is **expensive** to pursue right now, not to mention licensing, where the license a model is released under (and its accompany training *methods*, though not necessarily *the substance*) for companies who produced certain data if they WANT to make that claim, but it isn’t easy as “it’s a copyright issue”.
The reason it’s so complicated is because words are taken by the model and “tokenized” and “vectorized”, which essentially means they’re broken down into strings of mathematical data and assigned a place on dimensional graph of sorts, and the mathematical probabilities and combinatorials are the ones that get you your info. It’s not that ablated models know how to break into Fort Knox. They just know, based on how you prompt the model, what words are most associated with “robbery” “Fort Knox” and starts to run the math on which terms are most associated with the words of the prompt you submitted.
https://preview.redd.it/ym7lgclr1j3e1.png?width=1251&format=png&auto=webp&s=ade9c21bb88368f4289e52a1ea5375b17e2b156e
Here’s a *very* simplified overview of what all goes into asking a model a question and it gives you back an answer.
The image you gave is how RAG/context extension works. The actual internal AI part is only the green boxes, and how the AI works internally is a big giant question mark beyond the raw math level.
\> AllenAI
\> Ai2, founded by Paul Allen
https://preview.redd.it/q8134qdc0g3e1.jpeg?width=600&format=pjpg&auto=webp&s=0ab4e5d2de8a6b0cc779acc676112c1307bd65a7
We use their vision models (Molmo) for basic CV work. They're quite good IME.
https://huggingface.co/collections/allenai/molmo-66f379e6fe3b8ef090a8ca19
OLMo was the only model, period, that actually meets the Open Source Initiative's definition for Open Source AI. Not sure if that still holds for OLMo2, will have to check it out. I always find it shocking that people call Llama open source when Meta's license agreements explicitly say it is proprietary. Llama's license is also incredibly restrictive, especially for Llama 3.2. Just because it's "free" to "use" (sorta), doesn't make something open source.
They are fully open-source and therefore important for development of better models. The models are just one part of the story they share data and insight.
To be super crystal clear:
This OLMo-mix-1124 was used for Stage 1 training (regular pretraining). This mix is mostly DCLM-Baseline + some other stuff.
For stage 2, we did 3-4 seeds with the [DOLMinos mix](https://huggingface.co/datasets/allenai/dolmino-mix-1124), driving the LR linearly down to near-zero and model-souping before handing it off to post-training.
[source: I uploaded these datasets to HF]
I confirm this, but it's also worse that gemma-2-9b in logical reasoning (checked in farel-bench). It looks like distillation from larger models produces better results than training small models from scratch.
I think they mean it was trained on dataset that had max context at 2048 since the base model is 4096 and the instruct model's config says this: "max\_position\_embeddings": 4096,
Why would that happen? The base model seems to have been trained on 4k context length. Fine-tuning it on instruct datasets that are shorter than the max context length doesn't really make it worse at longer context lengths but it means the max generated responses will be much shorter.
I guess it might not be as bad as if the base was 2k, but it still hasn't seen any example of an instruct conversation longer than that in its entirety so I would imagine there are problems with adherence to the format beyond it?
But I very much don't think it's going to be "severely degraded" just because of shorter instruct examples used. Most datasets have fairly short examples anyways and most models seem fine even on longer context sizes than 2k.
In our testing, it has been performing just fine on longer instructions (IFEval has few >2k).
But we hear the feedback loud and clear, and we will try to prioritize context extension with a point release.
if you guys could document context extension and trying it at different stages of the training cycle, that would be absolutely amazing. like difference between continuing pretrain at 16k ctx before the anneal and annealing at 16k ctx vs just anneal at 16k ctx. (for base model). none of us gpu poors have the resources for that!
Instruct is trained for 4096 tokens. Most of the tokens are in SFT. At DPO we drop the length to 2048, but it doesnt change anything. Preference data is low length.
This is incorrect. The base models were trained on a max of 4096 tokens while different stages of the instruction tuning used different context lengths.
SFT stage shows "Max. Sequence Length: 4096"
DPO stage shows "Max. Sequence Length: 2048"
>"max_position_embeddings": 4096,
The config.json for both 7b and 13b (base, sft, instruct, etc.) shows 4k ctx. The readme for the base models also clearly says the pretrained context length is 4096. This is still not great, but it's much better than only 2k tokens.
I agree, but the models are mainly intended for researchers. They're competing for the most capable *fully open model*, not just the most capable model. 4096 context length is likely plenty for almost all research that these models will be used for.
>Right and totally not for looking good on benchmarks and nothing else
I'm not entirely sure what you are referring to here. If you are referring to AllenAI showing in their blogpost how well their models perform on various benchmarks, I would assume that is because a garbage model would attract little attention and thus no researchers looking at or using it. It seems obvious that AllenAI would want their models to "look good on benchmarks" because of this.
>There's been virtually no open model with less than 8k context for the past year, because it's useless.
There have been zero fully open models released with 8k or more context that have been useful, unless I missed any? Map Neo 7b has 8k context but is almost certainly virtually useless for any practical applications. DCLM 7b and Amber 7b both have 2k context length. K2 65b has 8k context length but is much larger than the Olmo 2 models. OpenCoder 8b has 8k context but is trained mainly on coding and math.
I'm also not sure how less than 8k context makes these models "useless" for performing research involving generalization, contamination, memorization and anything else that requires having full access to the model's training data. (Ideally, they would have followed LLM360's approach and uploaded model and training data checkpoints, but Olmo is still a much more open model than something like Qwen).
Again, these Olmo models are the best *fully open* models, at least for their sizes. If you only care for how well a model can be run as a chatbot or code assistant or whatever, then you might as well ignore the Olmo models. There are obviously much better models to use for almost any use case *except for* ones that require having access to the model's full training data and code.
I would prefer it if Meta, Mistral, Google, and all the other groups who are releasing models could be at least as open as AllenAI, but right now the Olmo models appear to be the best fully open 7b and 13b sized models available.
Well maybe I'm a bit jaded from corporations *coughs in Microsoft especially* releasing models that are designed to look good on paper and useless in practice. Seeing a model from a company set up by a MS founder makes you consider that the mindset is probably similar.
OAI called themselves a non-profit while it suited them. Corporate open source is not open source, it's marketing.
> *fully open* models
In terms of research it's certainly rare to have both the pretraining and fine tuning datasets available. But we do technically have [the pretraining set for llama-3](https://huggingface.co/datasets/HuggingFaceFW/fineweb) which makes at least the base models almost fully open, minus the hyperparameters.
> for performing research involving generalization, contamination, memorization and anything else that requires having full access to the model's training data
Sure for doing last year's research, they're absolutely perfect.
> then you might as well ignore the Olmo models
Exactly. That's why I think it's a bit disingenuous to compare it directly with the likes of Llama, Gemma, Mistral and Qwen in the release when it's not the point.
I tried to list out every fully open model I know of, but I probably missed some. If anyone knows of any I missed, please let me know.
**Fully Open LLMs**
[**OLMo 2** \- a allenai Collection](https://huggingface.co/collections/allenai/olmo-2-674117b93ab84e98afc72edc)
* 7b and 13b with 4k context
* Base, SFT, DPO, Instruct
* Datasets available (\~200 MB files)
[**OLMo** Suite - a allenai Collection](https://huggingface.co/collections/allenai/olmo-suite-65aeaae8fe5b6b2122b46778)
* 7b, 2k and 4k context versions trained
* Olmo v1 models, several different versions
* Dataset urls uploaded to HF, actual data is on [olmo-data.org](http://olmo-data.org)
[**OLMoE** \- a allenai Collection](https://huggingface.co/collections/allenai/olmoe-66cf678c047657a30c8cd3da)
* 7b MoE with 1b active, 4k context
* 1.5B active and 7.2B total parameters
* Datasets available (\~4 GB files)
[**K2** \- a LLM360 Collection](https://huggingface.co/collections/LLM360/k2-6622ae6911e3eb6219690039)
* 65b with 8k context
* Datasets available (\~20-40 GB files)
* 360 model and data checkpoints from training
[**Amber** \- a LLM360 Collection](https://huggingface.co/collections/LLM360/amber-65e7333ff73c7bbb014f2f2f)
* 7b, 2k context
* Datasets available
* 360 model and data checkpoints from training
[**OpenCoder** \- a infly Collection](https://huggingface.co/collections/infly/opencoder-672cec44bbb86c39910fb55e)
* 8b and 1.5b, 8k and 4k context
* Base and Instruct
* Datasets available (300 MB files)
[**DCLM** \- a apple Collection](https://huggingface.co/collections/apple/dclm-66960ebf2400d314ff19018f)
* 7b, 2k context with an extended 8k context version
* Datasets available (\~300 MB files)
[**Neo**\-Models - a m-a-p Collection](https://huggingface.co/collections/m-a-p/neo-models-66395a5c9662bb58d5d70f04)
* 7b, 8k context
* Datasets available: [Neo Datasets - Collection](https://huggingface.co/collections/m-a-p/neo-datasets-66395dc55cbebc0a7767bbd5) (\~40 GB files, separated by category)
[**Zamba2**\-7B by Zyphra - Hugging Face](https://huggingface.co/Zyphra/Zamba2-7B)
* 1.2b, 2.7b, and 7b with 4k context
* Hybrid mamba transformer
* Datasets available: [Zyphra/Zyda-2 · Datasets at Hugging Face](https://huggingface.co/datasets/Zyphra/Zyda-2)
* Combined DCLM and Zyda (\~150 MB files)
Almost all of these are 7b or smaller, except for K2 65 and Olmo 2 13b. Every one of these has 8k or less context length.
[RedPajama-INCITE-7B by togethercomputer - Hugging Face](https://huggingface.co/togethercomputer/RedPajama-INCITE-7B-Base)
* 7b and 3b, 2k context
* Dataset urls uploaded to HF: [togethercomputer/RedPajama-Data-1T · Datasets at Hugging Face](https://huggingface.co/datasets/togethercomputer/RedPajama-Data-1T), actual dataset on [data.together.xyz](http://data.together.xyz)
responded somewhere else, but context extension should be fairly easy to do without retraining from scratch.
Feedback here is important, we will try to prioritize.
True. But we'll get there, eventually. Even Llama wasn't that smart at the beginning of its life, and it took it half a year to get a breakthrough.. and people who created it were actually payed regularly.
Yeah like, you gotta allocate at least 512-1k for generation, maybe a few hundred for the system prompt, so realistically something over 2k for the actual conversation which is like llama-1 tier.
hearing y'all loud and clear! we have plans to explore context extension. with the two stage pretraining we have been using, we can pack all long context in Stage 2, so should be fairly economical.
Thank you. Now LLMs are no longer a novelty, or sexbots. I use them for comprehension, in batch jobs where I cannot and do not want to control the prompt length. There is zero chance I will ever try a model with a small context size since beyond all the headache of setting up the pipeline the last thing I want to see is a model API returning an error or truncated/malformed response due to running out of context
This release is extremely significant. For those that don't know Allen AI are a research institute who are releasing **completely** open models. That means that all of their results can be reproduced (and improved upon) from scratch.
Maybe you knew that, why did I say "extremely significant": This release has a model OLMo 2 13b, which according to benchmarks matches or exceeds Qwen 2.5 7b, LLama 3.1 8b, Gemma2 9b and is only slightly behind Qwen 2.5 14b.
This is with 5T tokens only too...
113 Comments
innominato5090@reddit
HeftyDragonfruit7866@reddit
Significant_Focus134@reddit
marvinalone@reddit
Significant_Focus134@reddit
innominato5090@reddit
Significant_Focus134@reddit
Willing_Landscape_61@reddit
innominato5090@reddit
Billy462@reddit
innominato5090@reddit
diaperrunner@reddit
innominato5090@reddit
Corporate_Drone31@reddit
innominato5090@reddit
jp_digital_2@reddit
innominato5090@reddit
clduab11@reddit
innominato5090@reddit
mpasila@reddit
innominato5090@reddit
Amgadoz@reddit
innominato5090@reddit
zoontechnicon@reddit
Many_SuchCases@reddit (OP)
noneabove1182@reddit
innominato5090@reddit
noneabove1182@reddit
fairydreaming@reddit
noneabove1182@reddit
innominato5090@reddit
DirectorOpen851@reddit
robotphilanthropist@reddit
ab2377@reddit
innominato5090@reddit
mitsu89@reddit
innominato5090@reddit
mitsu89@reddit
Tiny_Thing5607@reddit
AdAppropriate8772@reddit
JacketHistorical2321@reddit
clduab11@reddit
punkpeye@reddit
LinuxSpinach@reddit
JawsOfALion@reddit
marvinalone@reddit
clduab11@reddit
ninjasaid13@reddit
clduab11@reddit
TheTerrasque@reddit
Status_Size_6412@reddit
punkpeye@reddit
Status_Size_6412@reddit
whats-a-monad@reddit
clduab11@reddit
notgreat@reddit
MoffKalast@reddit
innominato5090@reddit
kyleboddy@reddit
innominato5090@reddit
hp1337@reddit
JacketHistorical2321@reddit
TrustGraph@reddit
innominato5090@reddit
Feztopia@reddit
mintyalert@reddit
fairydreaming@reddit
hugo_choss@reddit
innominato5090@reddit
No-Mountain3817@reddit
innominato5090@reddit
townofsalemfangay@reddit
Healthy-Nebula-3603@reddit
robotphilanthropist@reddit
fairydreaming@reddit
innominato5090@reddit
sedition666@reddit
Toby_Wan@reddit
mpasila@reddit
MoffKalast@reddit
mpasila@reddit
MoffKalast@reddit
mpasila@reddit
innominato5090@reddit
llama-impersonator@reddit
innominato5090@reddit
robotphilanthropist@reddit
Small-Fall-6500@reddit
sammcj@reddit
Small-Fall-6500@reddit
MoffKalast@reddit
Small-Fall-6500@reddit
MoffKalast@reddit
Small-Fall-6500@reddit
Small-Fall-6500@reddit
Small-Fall-6500@reddit
innominato5090@reddit
SiEgE-F1@reddit
innominato5090@reddit
extopico@reddit
MoffKalast@reddit
innominato5090@reddit
extopico@reddit
Healthy-Nebula-3603@reddit
TrustGraph@reddit
Billy462@reddit
s101c@reddit
ninjasaid13@reddit
innominato5090@reddit
s101c@reddit
adt@reddit
first2wood@reddit
Many_SuchCases@reddit (OP)