1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3model = AutoModelForCausalLM.from_pretrained("PaletLabs/Circe-1.5B", torch_dtype="bfloat16")
4tok = AutoTokenizer.from_pretrained("PaletLabs/Circe-1.5B")
5
6prompt = "<|user|>¿Cómo se dice “tiny model” en español?<|assistant|>"
7out = model.generate(**tok(prompt, return_tensors="pt").to(model.device), max_new_tokens=64)
8print(tok.decode(out[0], skip_special_tokens=True))
1git clone https://github.com/palet-global/circe
2cd circe
3python -m venv venv && source venv/bin/activate
4pip install .
1accelerate config default # one-time
2accelerate launch train/sft.py \
3 --data_dir data/processed \
4 --output_dir checkpoints/sft
1accelerate launch train/rl_grpo.py \
2 --data_dir data/processed \
3 --output_dir checkpoints/grpo \
4 --init_ckpt checkpoints/sft/checkpoint-13000 \
5 --num_steps 3000 --save_steps 500 --group 4
1python train/merge_lora.py \
2 --ckpt_dir checkpoints/grpo \
3 --base deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
1python eval/quick_squad_eval.py --model ./merged --dataset squad
2python eval/quick_squad_eval.py --model ./merged --dataset squad_es
1python train/upload_to_hub.py \
2 --model_dir merged \
3 --repo PaletLabs/Circe-1.5B \
4 --token $HF_TOKEN
This project is licensed under the
MIT License. Attribution appreciated but not required.