Instructions to use openeurollm/Prelude-SFT-Excellent-Instructions with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use openeurollm/Prelude-SFT-Excellent-Instructions with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="openeurollm/Prelude-SFT-Excellent-Instructions")# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("openeurollm/Prelude-SFT-Excellent-Instructions", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use openeurollm/Prelude-SFT-Excellent-Instructions with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "openeurollm/Prelude-SFT-Excellent-Instructions" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "openeurollm/Prelude-SFT-Excellent-Instructions", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/openeurollm/Prelude-SFT-Excellent-Instructions
- SGLang
How to use openeurollm/Prelude-SFT-Excellent-Instructions with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "openeurollm/Prelude-SFT-Excellent-Instructions" \ --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": "openeurollm/Prelude-SFT-Excellent-Instructions", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
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 "openeurollm/Prelude-SFT-Excellent-Instructions" \ --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": "openeurollm/Prelude-SFT-Excellent-Instructions", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use openeurollm/Prelude-SFT-Excellent-Instructions with Docker Model Runner:
docker model run hf.co/openeurollm/Prelude-SFT-Excellent-Instructions
Prelude SFT β Excellent Instructions
Prelude fine-tuned on Excellent-SFT for two epochs with explicit thinking-mode conditioning. Reasoning examples receive /think or no instruction in equal proportions before filtering; direct-answer examples receive /no_think. The implementation is described in post-training PR #68.
Reproduction details
| Item | Value |
|---|---|
| Training repository | OpenEuroLLM/post-training |
| Training code reference | PR #68; use main after merge |
| Thinking-conditioning implementation | PR #68: condition Qwen training targets on thinking mode |
| Experiment and evaluation discussion | Taskboard #442 |
| Base model | openeurollm/prelude-anneal300b-256k-rope20m-cont |
| Base revision | 47a42eb598c0417691b8054e03dac172241bca6b |
| Training data | openeurollm/OpenEuroLLM-Excellent-SFT |
| Data revision | c4ee55804f256c5f8cc4a6ef3fdecbe4a4ea95e0 |
| Tokenizer | openeurollm/tokenizer-256k |
| Tokenizer revision | 94bae05cf351c4feb435d6a73c2aa8edfd88ae04 |
| Chat template | Thinking-conditioned Qwen-style template bundled with this checkpoint |
| Thinking instructions | thinking_instruction_probability: 0.5; half of reasoning examples receive /think, the remainder none; direct-answer examples receive /no_think |
| Training duration | 2 epochs; 55,892 steps |
| Maximum sequence length | 32,768 tokens; packing enabled |
| Supervision | Assistant-only loss |
| Partially truncated supervised responses | Dropped (truncated_span_action: drop) |
| Optimizer | AdamW; Ξ²β=0.9, Ξ²β=0.95, Ξ΅=1e-8; weight decay=0 |
| Learning rate | 8e-5; linear decay; 3% warmup |
| Effective batch size | 32 packed sequences; per-device batch size 1 |
| Gradient clipping | 1.0 |
| Precision and kernels | BF16; FlashAttention 3; Liger enabled |
| Distributed training | DeepSpeed ZeRO-2; communication overlap disabled |
| Hardware | 32 NVIDIA H100 GPUs across 8 nodes on MareNostrum 5 (MN5) |
| Gradient checkpointing | Enabled, non-reentrant |
| Seeds | Training and data: 42 |
| Processed input tokens | 58,365,718,851, across both epochs |
| Processed supervised targets | 54,730,454,404, across both epochs |
Use the bundled tokenizer and chat template for inference. enable_thinking controls the generation prefix; the separate, optional thinking_instruction argument accepts "think", "no_think", or None.
This repository contains inference weights and tokenizer files, not optimizer or resumable training state. Final token counters are included in token_counts.json. Consult the base-model and dataset cards for applicable licenses; no separate checkpoint release license has been assigned.