Views
No views yet
⚠️ Disclaimer: These models were tested exclusively with HuggingFace Transformers. vLLM, SGLang, llama.cpp, Ollama, and other inference engines are not supported yet — partly because Transformers support for Gemma 4 is still cooking in those projects, and partly because we just threw these checkpoints on the Hub while messing around in the lab. If you get any of these running on other engines, we'd love to hear about it — open a discussion or drop a community post. We didn't set out to build a production-ready model zoo; we just left the oven door open. Use accordingly.
AutoModelForCausalLM interface.AutoModelForCausalLM, no multimodal dependencies| Model | HuggingFace Hub |
|---|---|
| Gemma-4-E2B-it-text-only | principled-intelligence/gemma-4-E2B-it-text-only |
| Gemma-4-E4B-it-text-only | principled-intelligence/gemma-4-E4B-it-text-only |
bfloat16 with device_map="auto", and total parameter count.| Metric | Gemma 4 E4B-it | Text-Only | Reduction |
|---|---|---|---|
| VRAM (GB) | 15.9 | 15.0 | ~6% |
| Parameters (B) | 8.00 | 7.52 | ~6% |
| File size (GB) | 16.00 | 15.00 | ~6% |
Note: The "E" in E4B stands for "effective" parameters. The Gemma 4 E4B architecture uses Per-Layer Embeddings (PLE) to maximize parameter efficiency on-device — the total parameter count is higher than the effective size. The text-only variant removes the vision and audio encoder weights while preserving the full language model, including all PLE parameters.
transformers is required:uv pip install transformers>=5.5.01from transformers import pipeline
2
3pipe = pipeline(
4 "text-generation",
5 model="principled-intelligence/gemma-4-E4B-it-text-only",
6 device_map="auto",
7)
8
9messages = [{"role": "user", "content": "What is the capital of Italy?"}]
10print(pipe(messages, max_new_tokens=512))1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model_name = "principled-intelligence/gemma-4-E4B-it-text-only"
4
5tokenizer = AutoTokenizer.from_pretrained(model_name)
6model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto")
7
8messages = [
9 {"role": "user", "content": "What is the capital of Italy?"},
10]
11
12text = tokenizer.apply_chat_template(
13 messages,
14 tokenize=False,
15 add_generation_prompt=True,
16)
17inputs = tokenizer(text, return_tensors="pt").to(model.device)
18
19output_ids = model.generate(**inputs, max_new_tokens=512)
20response = tokenizer.decode(output_ids[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True)
21print(response)Gemma 4 thinks by default, generating internal reasoning content before the final response. Thinking is enabled by including the<|think|>token at the start of the system prompt. To disable thinking, remove the token. Many libraries like Transformers handle this via the chat template for you.