Downloads Β· 30 days
22
3% of all-time downloads
my0919175/Sovythos-303M-Base
Sovythos-303M-Base is a text generation model from my0919175. Use it when you need the model to write or continue text. The card lists the license as apache-2.0.
<p align="center" <img src="https://huggingface.co/my0919175/Sovythos-303M-Base/resolve/main/sovythos.png" width="320" alt="SOVYTHOS-V2" </p
Downloads Β· 30 days
22
3% of all-time downloads
All-time downloads
655
Public
Parameters
336M
5.1 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors1.3 GB Β· 100%
From the Hugging Face model README
β οΈ Training Status: Early-Stage Checkpoint
This checkpoint is an early snapshot from an ongoing training run β it is NOT the final SOVYTHOS-V2 release. The model is uploaded at this stage for architecture testing, integration testing (
transformers/GGUF compatibility), and community feedback purposes only.Expect at this stage:
- Weak or incoherent generations on many prompts
- Little to no instruction-following ability (this is a Base, non-instruction-tuned model on top of being early-stage)
- Validation loss still actively decreasing β quality will improve substantially with further training
Training is actively continuing. Follow this repository for updates as later checkpoints are released.
SOVYTHOS-V2 is the second-generation foundation model of the Sovythos AI Project β a fully open-source, decoder-only Transformer trained from randomly initialized weights on a multilingual corpus spanning Modern Standard Arabic, Egyptian Arabic, English, and programming languages.
This release represents a significant architectural leap from the original 66M Base model, scaling to ~300 million parameters while adopting a Llama-compatible design (RMSNorm, RoPE, GQA, SwiGLU) to ensure seamless deployment across the modern inference ecosystem, including llama.cpp, llama-cpp-python, and Hugging Face transformers.
SOVYTHOS-V2 is released as a Base (Pretrained) model. It has not undergone instruction tuning or RLHF and is intended for researchers, developers, and educators who require a sovythos, transparent foundation for downstream training.
Key Design Principle: Every component β from the tokenizer to the tensor naming convention β is engineered for direct compatibility with the Llama/GGUF toolchain. No conversion hacks required.
| Property | Value |
|---|---|
| Model | SOVYTHOS-V2 |
| Parameters | ~300 Million |
| Architecture | Decoder-only Transformer (Llama-style) |
| Hidden Size | 1,024 |
| Layers | 24 |
| Attention Heads | 16 (Query) / 4 (Key-Value) |
| Head Dimension | 64 |
| Context Length | 2,048 tokens |
| RoPE Theta | 1,000,000 |
| Vocabulary Size | 32,000 |
| Framework | PyTorch 2.x |
| Weight Format | Safetensors + GGUF (F16 / F32) |
| Training | From Scratch |
| Release | Base |
SOVYTHOS-V2 implements a modern, efficient decoder stack aligned with the Llama architecture specification for frictionless ecosystem integration.
scaled_dot_product_attention)gate_proj, up_proj, down_proj naming matches Llama/GGUF conventions exactly1/β(2Γlayers) to stabilize deep trainingfp16 forward passSOVYTHOS-V2 ships with a custom-trained Byte-Pair Encoding (BPE) tokenizer optimized for Arabic morphology, English, and code syntax.
| Feature | Implementation |
|---|---|
| Pre-tokenization | GPT-4 / cl100k-style regex split (Unicode-aware) |
| Numerical Splitting | Digits grouped by 3 (e.g., 1,234,567 β 1 234 567) |
| Fallback | ByteLevel encoding for lossless coverage of any Unicode symbol |
| Normalization | NFC Unicode normalization (unifies Arabic hamza & diacritic forms) |
| Special Tokens | <|endoftext|>, <|pad|>, <|user|>, <|assistant|>, <|system|>, <|code|>, <|/code|>, <|think|>, <|/think|> |
| Vocab Size | 32,000 |
| Min Frequency | 2 |
Lower is better. Measured on a held-out sample of the training corpus:
| Domain | Tokens / Char | Notes |
|---|---|---|
| Arabic (MSA + Egyptian) | ~0.35 | Efficient subword decomposition for Semitic morphology |
| English | ~0.28 | Competitive with modern English-centric tokenizers |
| Code | ~0.42 | Strong performance on Python / JavaScript identifiers |
The tokenizer is saved as a standard
tokenizer.json(Hugging Facetokenizersformat) and its merges/vocab are directly compatible with GGUFgpt2tokenizer model type.
SOVYTHOS-V2 was trained entirely from scratch. No pretrained weights from Llama, GPT, or any other foundation model were used as initialization.
np.uint16 encoding| Hyperparameter | Value |
|---|---|
| Optimizer | AdamW (Ξ²β=0.9, Ξ²β=0.95, Ξ΅=1e-8) |
| Peak Learning Rate | 3e-4 |
| Minimum Learning Rate | 3e-5 |
| Warmup Steps | 1,000 |
| LR Schedule | Cosine decay |
| Weight Decay | 0.1 (2D+ tensors only) |
| Max Gradient Norm | 1.0 |
| Precision | FP16 (AMP) with FP32 master weights |
| Batch Size | 4 (per device) |
| Gradient Accumulation | 8 steps |
| Effective Batch Size | 32 |
| Block Size | 512 tokens |
ckpt_dir/best/ including step count and best validation loss--export_gguf_only)F32, F16 (post-hoc Q4/Q8 via llama.cpp tools)blk.{i}.attn_q.weight, blk.{i}.ffn_gate.weight, etc.)The fastest way to test SOVYTHOS-V2 is directly through π€ transformers, using the custom model code shipped in this repository (trust_remote_code=True). No manual setup, no cloning β just run the cell below in a fresh Colab notebook.
# ============================================================
# π± SOVYTHOS-V2 (303M-Base) β Colab Quickstart
# ============================================================
!pip install -q -U transformers accelerate safetensors
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
MODEL_ID = "my0919175/Sovythos-303M-Base"
print("π Loading tokenizer...")
tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, trust_remote_code=True)
print("π Loading model...")
model = AutoModelForCausalLM.from_pretrained(
MODEL_ID,
dtype=torch.float32,
trust_remote_code=True,
).to("cuda" if torch.cuda.is_available() else "cpu")
model.eval()
# Chat-style prompt using the built-in special tokens
prompt = "<|user|>\nΩ
Ψ±ΨΨ¨Ψ§, Ψ§ΨΩΩΩΩ ΨΉΩ ΩΩΨ³Ω\n<|assistant|>\n"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(model.device)
with torch.no_grad():
output = model.generate(
input_ids,
max_new_tokens=150,
do_sample=True,
temperature=0.8,
top_k=40,
top_p=0.9,
repetition_penalty=1.15,
pad_token_id=tokenizer.pad_token_id,
eos_token_id=tokenizer.eos_token_id,
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
Note: This is an early-stage training checkpoint of a Base (non-instruction-tuned) model β not the final release. Outputs may be short, repetitive, incoherent, or diverge from the prompt entirely; this is expected at this stage of training and is not a loading error. Quality will improve as training progresses and with the upcoming Instruct release.
When prompted
Do you wish to run the custom code? [y/N], type y β this loadsconfiguration_sovythos.pyandmodeling_sovythos.pyfrom this repo, which implement the GQA + RoPE + SwiGLU architecture described above.
This repository ships with trust_remote_code-compatible files (configuration_sovythos.py, modeling_sovythos.py), so it works directly with the standard AutoModelForCausalLM / AutoTokenizer API β no need to clone the original training repo:
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "my0919175/Sovythos-303M-Base"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id, dtype=torch.float32, trust_remote_code=True
).to("cuda" if torch.cuda.is_available() else "cpu")
prompt = "<|user|>\nThe capital of Egypt is\n<|assistant|>\n"
input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(model.device)
output = model.generate(
input_ids,
max_new_tokens=50,
temperature=0.8,
top_k=40,
top_p=0.9,
eos_token_id=tokenizer.eos_token_id,
)
print(tokenizer.decode(output[0], skip_special_tokens=True))
If you have the original training repository (model.py, train.py) available locally, you can also load the checkpoint directly through the native Model class, which supports the custom KV-cache and generation loop used during training/research:
from model import Model
model = Model.from_pretrained("sovythos_ckpt/best", device="cuda")
text = "The capital of Egypt is"
ids = tokenizer.encode(text).ids
input_ids = torch.tensor([ids], device="cuda")
output = model.generate(
input_ids,
max_new_tokens=50,
temperature=0.8,
top_k=40,
top_p=0.9,
eos_token_id=tokenizer.token_to_id("<|endoftext|>")
)
print(tokenizer.decode(output[0].tolist()))
from tokenizers import Tokenizer
tok = Tokenizer.from_file("tokenizer.json")
encoded = tok.encode("Ψ₯Ψ²ΩΩ ΩΨ§ ΩΨ¨ΩΨ±Ψ")
print(encoded.ids) # [ ... ]
print(tok.decode(encoded.ids)) # "Ψ₯Ψ²ΩΩ ΩΨ§ ΩΨ¨ΩΨ±Ψ"
Because SOVYTHOS-V2 uses Llama-compatible tensor naming and a GPT-2-format tokenizer, the exported GGUF file runs out-of-the-box with llama.cpp and llama-cpp-python.
from llama_cpp import Llama
llm = Llama(
model_path="sovythos-v2.f16.gguf",
n_ctx=2048,
n_gpu_layers=-1, # Offload all layers to GPU
verbose=False
)
output = llm(
"The capital of Egypt is",
max_tokens=50,
temperature=0.8,
top_k=40,
top_p=0.9,
stop=["<|endoftext|>"]
)
print(output["choices"][0]["text"])
./main -m sovythos-v2.f16.gguf -n 50 --temp 0.8 --top-k 40 --top-p 0.9 -p "The capital of Egypt is"
No conversion scripts required. The GGUF file is produced directly by the training framework with correct
llamaarch metadata.
SOVYTHOS-V2 is designed as a research and development foundation for:
Not intended for: Direct deployment as a production chatbot without additional safety fine-tuning and evaluation.
As a Base (pretrained) model, SOVYTHOS-V2 exhibits expected limitations:
These limitations are standard for base models of this scale and will be addressed in future Instruct/Chat releases.
| Milestone | Status |
|---|---|
| π‘ SOVYTHOS-V2 Base | In Training (early checkpoint published) |
| β¬ SOVYTHOS-V2 Base (final) | Planned |
| β¬ SOVYTHOS-V2-Instruct | Planned |
| β¬ SOVYTHOS Chat | Planned |
| β¬ Larger Parameter Models (1B+) | Planned |
| β¬ Long Context Extension (8K+) | Planned |
| β¬ Advanced Reasoning Tuning | Planned |
| β¬ Improved Egyptian Dialect Understanding | Planned |
SOVYTHOS-V2 is the flagship foundation model of the Sovythos AI Project, an open ecosystem dedicated to building transparent, multilingual language models with native Arabic support and modern reasoning capabilities.
The project prioritizes:
If you use SOVYTHOS-V2 in your research, please cite:
@misc{sovythosv2,
title={SOVYTHOS-V2: Sovythos Egyptian Reasoning and Code Base Model},
author={Mahmoud Yasser},
year={2026},
publisher={Hugging Face},
howpublished={\url{https://huggingface.co/my0919175/Sovythos-303M-Base}}
}
Mahmoud Yasser
Founder of the Sovythos AI Project
Apache License 2.0
This is an early, actively-training checkpoint shared in the spirit of open, transparent development β not a finished product. Researchers, developers, and builders who believe in open, sovereign AI are welcome to follow along as training progresses.
Future checkpoints will bring lower loss, better coherence, instruction tuning, and long-context support.
β If you find this project useful, please consider following the repository and sharing your experiments.
</p>