Instructions to use Convergent-ch/Cobalt-1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Convergent-ch/Cobalt-1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Convergent-ch/Cobalt-1") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Convergent-ch/Cobalt-1") model = AutoModelForCausalLM.from_pretrained("Convergent-ch/Cobalt-1", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Convergent-ch/Cobalt-1 with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf Convergent-ch/Cobalt-1 # Run inference directly in the terminal: llama cli -hf Convergent-ch/Cobalt-1
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Convergent-ch/Cobalt-1 # Run inference directly in the terminal: llama cli -hf Convergent-ch/Cobalt-1
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf Convergent-ch/Cobalt-1 # Run inference directly in the terminal: ./llama-cli -hf Convergent-ch/Cobalt-1
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf Convergent-ch/Cobalt-1 # Run inference directly in the terminal: ./build/bin/llama-cli -hf Convergent-ch/Cobalt-1
Use Docker
docker model run hf.co/Convergent-ch/Cobalt-1
- LM Studio
- Jan
- vLLM
How to use Convergent-ch/Cobalt-1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Convergent-ch/Cobalt-1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Convergent-ch/Cobalt-1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Convergent-ch/Cobalt-1
- SGLang
How to use Convergent-ch/Cobalt-1 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Convergent-ch/Cobalt-1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Convergent-ch/Cobalt-1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Convergent-ch/Cobalt-1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Convergent-ch/Cobalt-1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use Convergent-ch/Cobalt-1 with Ollama:
ollama run hf.co/Convergent-ch/Cobalt-1
- Unsloth Desktop
- Docker Model Runner
How to use Convergent-ch/Cobalt-1 with Docker Model Runner:
docker model run hf.co/Convergent-ch/Cobalt-1
- Lemonade
How to use Convergent-ch/Cobalt-1 with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Convergent-ch/Cobalt-1
Run and chat with the model
lemonade run user.Cobalt-1-{{QUANT_TAG}}List all available models
lemonade list
- Atomic Chat
Cobalt-1
Cobalt-1 is a small English chat language model with 100.7 million parameters (202 MB in f16), made by Convergent. It is the largest model of the Convergent family so far, after Pico 1 (254K) and Tavik-1 (20.4M). It was trained from scratch on a single consumer GPU (RTX 3060 Ti, 8 GB).
It writes fluent English, holds simple conversations, answers some basic factual questions correctly and writes short lists. It knows that it is Cobalt, made by Convergent. It is still a small model: many facts are wrong, explanations often sound right but are not, and it cannot do math or write useful code. Use it for experiments and fun, not for anything that matters.
Model
| 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 Facetransformersformat (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 Modelfile
ollama 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.
transformers
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.
Chat format
<|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:
| 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.
- Downloads last month
- -