Model
Table | |
|---|
| Parameters | 100,685,568 |
| Architecture | Llama-style decoder (RMSNorm, SwiGLU, RoPE, tied embeddings, grouped-query attention) |
| Layers / hidden / MLP | 14 / 768 / 2048 |
| Attention heads | 12 query heads, 4 key/value heads (head dim 64) |
| Context | 2,048 tokens |
| Vocabulary | 16,384 (byte-level BPE) |
| Language | English |
Files
model.safetensors, config.json, tokenizer files: Hugging Face transformers format (LlamaForCausalLM).
cobalt-1.gguf: GGUF (f16) for Ollama and llama.cpp.
Modelfile: Ollama model file with the chat format, stop tokens and recommended settings.
Usage
Ollama
Download cobalt-1.gguf and Modelfile into one folder, then:
ollama create cobalt-1 -f Modelfileollama run cobalt-1
Use the Modelfile: without it Ollama guesses a wrong chat format and the model produces nonsense. It runs on a Raspberry Pi 5 and on any normal computer; on an RTX 3060 Ti it generates about 600-700 tokens per second.
from transformers import AutoTokenizer, AutoModelForCausalLM tok = AutoTokenizer.from_pretrained("Convergent-ch/Cobalt-1")model = AutoModelForCausalLM.from_pretrained("Convergent-ch/Cobalt-1") ids = tok.apply_chat_template([{"role": "user", "content": "What is the capital of Japan?"}], add_generation_prompt=True, return_tensors="pt")out = model.generate(ids, max_new_tokens=60, do_sample=False)print(tok.decode(out[0, ids.shape[1]:], skip_special_tokens=True))# The capital of Japan is Tokyo.
<|bos|><|user|>Hello!<|end|><|assistant|>
Generation stops at <|end|>. Low temperatures (0 to 0.3) and a light repetition penalty (about 1.15) work best.
Compared with Tavik-1
Same questions, temperature 0, both in Ollama with their own Modelfile:
Table with columns: Question, Tavik-1 (20M), Cobalt-1 (100M)| Question | Tavik-1 (20M) | Cobalt-1 (100M) |
|---|
| What is the capital of Japan? | "...is Joshua, a city located in the northern part of the country." | "The capital of Japan is Tokyo." |
| What is the largest planet in our solar system? | "...is Europa, a small, icy region..." | Rambles with made-up numbers, but names Jupiter. |
| Give me three tips to study better. | Partly sensible list. | Sensible list (practice regularly, take breaks, ...). |
| Who made you? | "Convergent created me." | "Convergent created me. I'm Cobalt." |
| Why do we have seasons on Earth? | Wrong. | Wrong. |
| Write a short haiku about the ocean. | Prose, not a haiku. | Prose, not a haiku. |
| What is 17 times 23? | Nonsense. | Nonsense. |
Cobalt-1 is clearly more fluent and gets more simple facts right, but explanations, poetry forms and arithmetic are still beyond it.
Training
All stages ran on one RTX 3060 Ti (8 GB) with MakeAI, bf16, AdamW, cosine schedule, 262,144 tokens per optimizer step.
- Pretraining from scratch on English educational web pages from FineWeb-Edu (sample-10BT, 4 shards, pages of 150-3,000 words with an educational score of 3 or more): 1.68B training tokens available, 6,100 steps = about 1.6B tokens seen, learning rate 8e-4. About 18,700 tokens/s, roughly 24 hours. Validation loss 3.02.
- Chat training on 703,256 conversations (about 626M tokens), loss only on the assistant's replies: 1,434 steps = about 376M tokens (0.6 epoch), learning rate 2.5e-4. About 5.6 hours. Validation loss 1.651 (perplexity 5.21, next-token accuracy 61.0 %) on held-out chats.
Chat data:
- SmolTalk (Apache 2.0), all nine training shards, only the general subsets (smol-magpie-ultra, smol-summarize, openhermes-100k, smol-rewrite, smol-constraints, systemchats-30k, explore-instruct-rewriting, everyday-conversations); math, code and function-calling subsets, code blocks and LaTeX were removed. Large parts of SmolTalk were generated with Llama 3.1 by the dataset authors.
- TinyDialogues (MIT): only one-on-one conversations, generated with GPT-4 by the dataset authors.
- Everyday Conversations (Apache 2.0), generated with Llama 3.1 70B Instruct by the dataset authors.
- Identity: 811 short chats about Cobalt-1 written locally by Qwen3 8B (an abliterated community variant, Apache 2.0), repeated 8 times, plus 10,000 template chats with its name, maker, size and limits.
The validation losses of different models are not comparable when their tokenizers differ (Tavik-1 uses 8,192 tokens, Cobalt-1 16,384).
Limitations
- Facts are unreliable; numbers are often invented.
- Lists sometimes run longer than asked.
- No math, no code, no multi-step reasoning.
- English only, context of 2,048 tokens.
- No safety tuning. Do not use it in products or for advice of any kind.
License
Apache 2.0.