x-elm Experts — Gemma-3-4B
Collection
Per-family expert checkpoints from continual pre-training of Gemma-3-4B. • 16 items • Updated
How to use sanchitahuja205/xelm-gemma-4b-dense with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="sanchitahuja205/xelm-gemma-4b-dense") # Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("sanchitahuja205/xelm-gemma-4b-dense")
model = AutoModelForCausalLM.from_pretrained("sanchitahuja205/xelm-gemma-4b-dense")How to use sanchitahuja205/xelm-gemma-4b-dense with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "sanchitahuja205/xelm-gemma-4b-dense"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "sanchitahuja205/xelm-gemma-4b-dense",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'docker model run hf.co/sanchitahuja205/xelm-gemma-4b-dense
How to use sanchitahuja205/xelm-gemma-4b-dense with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "sanchitahuja205/xelm-gemma-4b-dense" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "sanchitahuja205/xelm-gemma-4b-dense",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'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 "sanchitahuja205/xelm-gemma-4b-dense" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "sanchitahuja205/xelm-gemma-4b-dense",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'How to use sanchitahuja205/xelm-gemma-4b-dense with Docker Model Runner:
docker model run hf.co/sanchitahuja205/xelm-gemma-4b-dense
Dense continual pre-training (CPT) of Gemma-3-4B on a concatenated 25B-token mixture across Slavic, Germanic, Indic, Austronesian, and Romance language families. This is the no-regularization baseline.
densefrom transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("sanchitahuja205/xelm-gemma-4b-dense")
tokenizer = AutoTokenizer.from_pretrained("sanchitahuja205/xelm-gemma-4b-dense")
The exact training recipe lives in configs/yaml/train_gemma_dense.yaml in the code repo. The resolved config used for this specific run is also included in this model repo as training_config.yaml — load it with pyrallis to reproduce the run bit-for-bit:
python train.py --config_path configs/yaml/train_gemma_dense.yaml
python train.py --config_path configs/yaml/revert_gemma_checkpoint.yaml \
--revert.checkpoint_path $(huggingface-cli download sanchitahuja205/xelm-gemma-4b-dense) \
--revert.revert_output_path ./reverted
python model_soup.py \
--experts sanchitahuja205/xelm-gemma-4b-slavic-expert \
sanchitahuja205/xelm-gemma-4b-germanic-expert \
sanchitahuja205/xelm-gemma-4b-indic-expert \
sanchitahuja205/xelm-gemma-4b-austronesian-expert \
sanchitahuja205/xelm-gemma-4b-romance-expert \
--output_dir ./xelm-gemma-4b-expert-soup \
--alpha 1.0
@misc{ahuja2026parameteralignmentmitigatescatastrophic,
title={Parameter Alignment Mitigates Catastrophic Forgetting in Multilingual Expert Language Models},
author={Sanchit Ahuja and Terra Blevins},
year={2026},
eprint={2606.00284},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2606.00284},
}
Base model
google/gemma-3-4b-pt