Instructions to use ProjectAstroAI/Sonke-1.0-350M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ProjectAstroAI/Sonke-1.0-350M with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ProjectAstroAI/Sonke-1.0-350M", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("ProjectAstroAI/Sonke-1.0-350M", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use ProjectAstroAI/Sonke-1.0-350M with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ProjectAstroAI/Sonke-1.0-350M" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ProjectAstroAI/Sonke-1.0-350M", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ProjectAstroAI/Sonke-1.0-350M
- SGLang
How to use ProjectAstroAI/Sonke-1.0-350M 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 "ProjectAstroAI/Sonke-1.0-350M" \ --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": "ProjectAstroAI/Sonke-1.0-350M", "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 "ProjectAstroAI/Sonke-1.0-350M" \ --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": "ProjectAstroAI/Sonke-1.0-350M", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use ProjectAstroAI/Sonke-1.0-350M with Docker Model Runner:
docker model run hf.co/ProjectAstroAI/Sonke-1.0-350M
Sönke-1.0-350M
A 350M model I'm training from scratch on my own GPU. It can chat, do basic math and write small bits of code, and it can think before it answers. This is step 58,666 (22.8B tokens), so it's not done yet. Newer checkpoints will be uploaded as training goes.
How to use it
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "ProjectAstroAI/Sonke-1.0-350M"
tok = AutoTokenizer.from_pretrained(repo, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(repo, trust_remote_code=True, dtype="bfloat16").to("cuda")
messages = [{"role": "user", "content": "Explain photosynthesis in two sentences."}]
inputs = tok.apply_chat_template(messages, add_generation_prompt=True, enable_thinking=False, return_dict=True, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=512, temperature=0.7, top_p=0.9, do_sample=True)
print(tok.decode(out[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))
Remove enable_thinking=False if you want it to think first. It needs trust_remote_code=True because the architecture is my
own. Batches need prompts of the same length for now.
Evals
| Model | MMLU | HellaSwag | ARC-C | GSM8K | HumanEval |
|---|---|---|---|---|---|
| Sönke-1.0-350M | 28.6 | 42.0 | 28.8 | 12.3 | 12.2 |
| SmolLM2-360M | 25.0 | 54.5 | 38.4 | 3.2 | 12.2 |
| Qwen2.5-0.5B | 47.5 | 52.1 | 35.6 | 41.6 | 30.5 |
| Qwen2.5-1.5B | 60.9 | 67.9 | 54.7 | 68.5 | 37.2 |
Sönke: MMLU 5-shot, HellaSwag and ARC-C 0-shot, GSM8K 0-shot without thinking, HumanEval pass@1. SmolLM2's MMLU, ARC-C and HumanEval were run the same way; everything else is from the models' own cards, with different shot counts, so small gaps don't mean much.
Limitations
It's small and still training. It gets facts wrong, loses track in long chats, and sometimes messes up formatting. Don't use it for anything that matters.
License
Apache 2.0. Part of the training data was generated with DeepSeek models, so use of this model is also subject to the use restrictions in LICENSE-DEEPSEEK-MODEL (paragraph 5 and Attachment A). Dataset credits are in NOTICE.
- Downloads last month
- -