Instructions to use 0arch-io/kisoku-1.6b-preview with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use 0arch-io/kisoku-1.6b-preview with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="0arch-io/kisoku-1.6b-preview") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("0arch-io/kisoku-1.6b-preview") model = AutoModelForCausalLM.from_pretrained("0arch-io/kisoku-1.6b-preview", 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=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use 0arch-io/kisoku-1.6b-preview with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "0arch-io/kisoku-1.6b-preview" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "0arch-io/kisoku-1.6b-preview", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/0arch-io/kisoku-1.6b-preview
- SGLang
How to use 0arch-io/kisoku-1.6b-preview 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 "0arch-io/kisoku-1.6b-preview" \ --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": "0arch-io/kisoku-1.6b-preview", "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 "0arch-io/kisoku-1.6b-preview" \ --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": "0arch-io/kisoku-1.6b-preview", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use 0arch-io/kisoku-1.6b-preview with Docker Model Runner:
docker model run hf.co/0arch-io/kisoku-1.6b-preview
Kisoku 1.6B Preview
Kisoku is a 1.6 billion parameter language model trained from scratch by 0ARCH. It is not a fine-tune of another company's model: the weights were initialized randomly and pretrained on Google TPUs, then chat-tuned.
This is a preview. The base model has finished stage 1 of a planned 3-stage pretraining run (about 417B of the planned ~510B tokens). Stages 2 and 3 add more math and code and the learning-rate cool-down; the full release will follow when they finish. The preview already holds a conversation, follows instructions, and stops cleanly at the end of its turn.
Ollama and llama.cpp builds (GGUF) are at 0arch-io/kisoku-1.6b-preview-GGUF.
Quick start
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("0arch-io/kisoku-1.6b-preview")
model = AutoModelForCausalLM.from_pretrained("0arch-io/kisoku-1.6b-preview", torch_dtype="auto")
messages = [{"role": "user", "content": "Explain why the sky is blue in two sentences."}]
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt", return_dict=True)
out = model.generate(**inputs, max_new_tokens=256)
print(tok.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))
For Ollama and llama.cpp, see 0arch-io/kisoku-1.6b-preview-GGUF, which has ready-made GGUF files and a Modelfile.
Model
| Parameters | 1.601B |
| Architecture | Qwen3-style dense decoder (loads as Qwen3ForCausalLM): QK-norm, grouped-query attention, SwiGLU, tied input/output embeddings |
| Layers | 22 |
| Hidden size | 2048 |
| Attention heads | 16 query, 4 key/value, head dim 128 |
| MLP size | 8192 |
| Vocabulary | 128,256 (Llama 3.2 tokenizer) |
| Context length | 4096 tokens |
| RoPE theta | 5,000,000 |
Training
Pretraining (stage 1 of 3). 199,000 steps of 2.1M tokens, about 417B tokens in total, on a TPU v4-32 with MaxText. Data mix: Nemotron-CC 35%, Ultra-FineWeb 35%, StarCoder 16%, FineMath 6%, OpenWebMath 4%, MegaMath-Web-Pro 4%. Muon optimizer for matrices and AdamW for embeddings and norms, peak learning rate 3e-4, weight decay 0.1.
Chat tuning. 432,702 conversations (303M tokens), two passes, learning rate 5e-5 with cosine decay, loss on assistant replies only:
| Source | Conversations |
|---|---|
| SmolTalk2 (no-think SFT subsets: Magpie-Ultra, OpenHermes 2.5, system chats, rewriting, summarizing, Tulu 3 persona instruction following, OpenThoughts3, Mixture of Thoughts science, everyday conversations) | 323,226 |
| Hermes-3 | 99,541 |
| no_robots | 9,436 |
| Kisoku identity examples | 499 |
Before training, every conversation was filtered: any assistant turn containing a refusal or an "as an AI language model" disclaimer was dropped, as were answers where the assistant claimed to be another model.
Uncensored
Kisoku is trained to answer directly rather than refuse or moralize. It has no safety tuning. You are responsible for how you use it and for what you build with it.
Example outputs
Greedy decoding, no system prompt:
Who are you? I'm Kisoku, an open-source language model made by 0ARCH. I was trained from scratch, not fine-tuned from another company's model.
Explain why the sky is blue in two sentences. The sky is blue because the Earth's atmosphere scatters shorter wavelengths of light, such as blue and violet, more than longer wavelengths like red and orange. This scattering effect, known as Rayleigh scattering, is responsible for the blue appearance of the sky during the day.
Write a Python function that checks whether a number is prime.
def is_prime(n): if n < 2: return False for i in range(2, int(n**0.5) + 1): if n % i == 0: return False return True
Limitations
- Math and multi-step reasoning are weak. Asked "3 apples, buy 5 more, eat 2", it answered 11 instead of 6. Stages 2 and 3 of pretraining target this.
- Specialized knowledge is thin and it will confidently make things up, as any 1.6B model does. Check facts that matter.
- English only. 4096-token context.
- No safety tuning (see above).
License
The Kisoku weights are released under the MIT license. The tokenizer is Meta's Llama 3.2 tokenizer, which is covered by the Llama 3.2 Community License. The chat-tuning data includes no_robots, which is licensed CC BY-NC 4.0, and SmolTalk2 and Hermes-3, which are Apache 2.0; check the dataset licenses if you plan commercial use.
Acknowledgements
Trained with Cloud TPUs from Google's TPU Research Cloud.
- Downloads last month
- 179