smallm
Collection
smallm models • 4 items • Updated • 1
How to use Azrail/smallm_70 with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="Azrail/smallm_70", trust_remote_code=True)
messages = [
{"role": "user", "content": "Who are you?"},
]
pipe(messages) # Load model directly
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Azrail/smallm_70", trust_remote_code=True, dtype="auto")How to use Azrail/smallm_70 with vLLM:
# Install vLLM from pip:
pip install vllm
# Start the vLLM server:
vllm serve "Azrail/smallm_70"
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "Azrail/smallm_70",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'docker model run hf.co/Azrail/smallm_70
How to use Azrail/smallm_70 with SGLang:
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
--model-path "Azrail/smallm_70" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "Azrail/smallm_70",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'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 "Azrail/smallm_70" \
--host 0.0.0.0 \
--port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "Azrail/smallm_70",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'How to use Azrail/smallm_70 with Docker Model Runner:
docker model run hf.co/Azrail/smallm_70
SmalLM is a series of small transformer models built from scratch for language modeling. This project is designed to explore innovative approaches to transformer architectures through modular pipelines for pretraining, fine-tuning, and alignment.
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("Azrail/smallm_70")
model = AutoModelForCausalLM.from_pretrained("Azrail/smallm_70", trust_remote_code=True)
inputs = tokenizer("How are you?", return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=100)
print(tokenizer.batch_decode(out))
Key Features:
Grouped Query Attention (GQA).
Mixture-of-Experts with auxiliary loss-free balancing.
ALiBi (Attention with Linear Biases) or Rotary Position Embedding (RoPE).
NTK-by-parts RoPE interpolation for extends context length.
Pre-Training:
| Model | Training Data | Steps | Content Length | Tokens | LR | Batch Size | Precision |
|---|---|---|---|---|---|---|---|
| SmalLM-70M | smollm-corpus | 70k | 1024 | 18B | 1e-3 | 0.25M | bfloat16 |
| SmalLM-150M | smollm-corpus | - | 1024 | - | - | - | bfloat16 |
| SmalLM-350M | smollm-corpus | - | 1024 | - | - | - | bfloat16 |
| SmalLM-500M | smollm-corpus | - | 1024 | - | - | - | bfloat16 |
Evaluation: Evaluation runing with lm-evaluation-harness
| Model | MMLU | ARC easy/hard | PIQA | HellaSwag | OBQA | Winogrande |
|---|---|---|---|---|---|---|
| SmalLM-70M | 25.33 | 51.47/25.68 | 61.75 | 30.31 | 30.8 | 50.83 |
| SmalLM-150M | - | - | - | - | - | - |
| SmalLM-350M | - | - | - | - | - | - |
| SmalLM-500M | - | - | - | - | - | - |
Procedure:
Install from pip and serve model
# Install vLLM from pip: pip install vllm# Start the vLLM server: vllm serve "Azrail/smallm_70"# Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Azrail/smallm_70", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'