Downloads · 30 days
73
19% of all-time downloads
mkurman/ConvGPT-0.2B-SYNTH-250B-EC
ConvGPT-0.2B-SYNTH-250B-EC is a text generation model from mkurman. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
<div align="center" <img src="convgpt.png" width="500px" alt="ConvGPT"/ </div <div align="center" <strong⚠️ EXPERIMENTAL EARLY CHECKPOINT ⚠️</strong </div
Downloads · 30 days
73
19% of all-time downloads
All-time downloads
377
Public
Parameters
249M
503 MB on disk
Likes
10
Public
Click a slice to open those files.
.safetensors498 MB · 98%
From the Hugging Face model README
This is an Early Checkpoint (EC) of the ConvGPT architecture, a novel model designed for maximal hidden size compression.
ConvGPT introduces a novel approach to Large Language Model compression by integrating 2D convolutional networks directly into the pre-training architecture, rather than relying on post-training quantization or pruning. Designed specifically for Mobile/Edge (SLM) use cases, it achieves significant parameter reduction while maintaining high reasoning capabilities.
Current Model: 164M parameters (comparable performance to a standard 722M parameter architecture) - a ~4.4x size reduction.
Scaling Potential: The architecture scales efficiently; a configuration with hidden_size=2048 results in just 266M parameters compared to a 1.7B parameter baseline (a 6.5x reduction).
Performance-to-Size Ratio: Trained on 250B tokens (PleIAs/SYNTH), this 164M model achieves >30% on GPQA-Diamond, a significant outlier for its size class, demonstrating that logic and reasoning capabilities can be preserved even with aggressive vector compression.
Normalization Stability: Includes post-convolution normalization to manage vector value scaling, ensuring training stability and consistent generation output.
This model is currently being trained using the Google TPU Research Cloud (TRC).
Note: You must use trust_remote_code=True as this model utilizes custom modeling code (modeling_convgpt.py).
import torch
from transformers import AutoTokenizer, TextStreamer, AutoModelForCausalLM
model_id = "mkurman/ConvGPT-SYNTH-250B-EC"
# Load the tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_id)
# Load the model with custom code trust
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map='cuda',
trust_remote_code=True
).eval()
streamer = TextStreamer(
tokenizer, skip_prompt=False, decode_kwargs={"skip_special_tokens": False}
)
# Prepare input
input_ids = tokenizer.apply_chat_template(
[{"role": "user", "content": "what is hypertension?"}],
tokenize=True,
return_tensors="pt",
add_generation_prompt=True
)
print(f"Input IDs: {input_ids}")
# Generate
with torch.no_grad():
outputs = model.generate(
input_ids=input_ids.to(model.device),
max_new_tokens=128,
streamer=streamer,
use_cache=True,
# Important: Keep repetition_penalty at 1.0 for this early checkpoint
repetition_penalty=1.0,
)
You can also find support for vLLM and SGLang in my GitHub repository.
This model was trained using Cloud TPUs provided by Google's TPU Research Cloud (TRC) program.
Special thanks to Pierre-Carl Langlais and the PleIAs team for the high-quality SYNTH dataset.