Instructions to use asinha08/slm-125m-base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use asinha08/slm-125m-base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="asinha08/slm-125m-base")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("asinha08/slm-125m-base") model = AutoModelForCausalLM.from_pretrained("asinha08/slm-125m-base") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use asinha08/slm-125m-base with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "asinha08/slm-125m-base" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "asinha08/slm-125m-base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/asinha08/slm-125m-base
- SGLang
How to use asinha08/slm-125m-base 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 "asinha08/slm-125m-base" \ --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": "asinha08/slm-125m-base", "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 "asinha08/slm-125m-base" \ --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": "asinha08/slm-125m-base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use asinha08/slm-125m-base with Docker Model Runner:
docker model run hf.co/asinha08/slm-125m-base
slm-125m-base
asinha08/slm-125m-base is a 125M parameter, Llama-compatible, decoder-only causal language model trained from scratch on a legal-first English corpus. It is a base language model, not an instruction-tuned or chat-aligned assistant.
Model Details
| Field | Value |
|---|---|
| Repository | asinha08/slm-125m-base |
| Project / Modal app | slm125mLIVE |
| Model type | Decoder-only causal LM, Llama-compatible |
| Parameters | 125,848,320 |
| Context length | 1,024 tokens |
| Vocabulary size | 16,384 |
| Tokenizer | Byte-level BPE trained from the final corpus |
| Hidden size | 768 |
| Layers | 12 |
| Attention heads | 12 |
| KV heads | 12 |
| Intermediate size | 3,072 |
| Activation | silu / SwiGLU |
| Positional encoding | RoPE, theta 10,000 |
| Norm | RMSNorm, eps 1e-5 |
| Embeddings | Tied input/output embeddings |
| Attention bias | false |
| Saved format | safetensors |
| Weight dtype | bfloat16 |
Special tokens:
| Token role | Token |
|---|---|
| BOS | <|bos|> |
| EOS | <|eos|> |
| PAD | <|pad|> |
| UNK | <|unk|> |
| Extra | <|user|>, <|assistant|>, <|system|> |
The extra chat-style tokens are present in the tokenizer, but the model was not instruction tuned.
Intended Use
This model is intended for:
- Research on small language model pretraining.
- Legal-domain language modeling experiments.
- Continued pretraining, supervised fine-tuning, or evaluation pipelines.
- Text continuation/completion tests.
This model is not intended for:
- Legal advice or compliance decisions.
- Production legal automation without task-specific evaluation and guardrails.
- Chatbot use without instruction tuning and safety tuning.
- Factual question answering where accuracy is required.
Training Data
The corpus was built from three public Hugging Face datasets with a legal-first mix:
| Source | HF dataset | Kept docs | Proxy corpus tokens | Tokenized train tokens | Tokenized val tokens | Tokenized mix |
|---|---|---|---|---|---|---|
| Case law | HFforLegal/case-law |
206,684 |
806,244,775 |
714,858,496 |
7,223,296 |
35.06% |
| SEC filings | PleIAs/SEC |
45,035 |
1,091,148,638 |
860,025,856 |
8,688,640 |
42.18% |
| Web/education | HuggingFaceFW/fineweb-edu / sample-10BT |
418,405 |
499,936,147 |
464,188,416 |
4,689,920 |
22.76% |
| Total | 670,124 |
2,397,329,560 |
2,039,072,768 |
20,601,856 |
100.00% |
Data processing included:
- Basic line/document cleaning.
- OCR/noise filtering for case-law data.
- Exact duplicate removal.
- MinHash near-duplicate removal.
- Decontamination against held-out evaluation sources:
coastalcph/lex_glueandcasehold/casehold. - Byte-level BPE tokenizer training on the cleaned corpus.
- Packed fixed-length token windows with sequence length
1,024. - Validation routing of every 100th packed window, giving an approximately 99/1 train/validation split.
Deduplication and decontamination summary:
| Source | Exact duplicates removed | Near duplicates removed | Contaminated docs removed |
|---|---|---|---|
| Case law | 0 |
1,606 |
24,002 |
| SEC filings | 1,989 |
0 |
175 |
| FineWeb-Edu | 62 |
0 |
0 |
Training Procedure
Training ran on Modal using 8x H100 GPUs.
| Field | Value |
|---|---|
| GPUs | 8 x H100 |
| Precision | bfloat16 autocast |
| Optimizer | AdamW |
| Learning rate | 6e-4 |
| Minimum LR | 6e-5 |
| Warmup tokens | 200,000,000 |
| Weight decay | 0.1 |
| Betas | (0.9, 0.95) |
| Gradient clipping | 1.0 |
| Micro batch size | 64 windows per GPU |
| World size | 8 |
| Gradient accumulation | 1 |
| Global batch tokens | 524,288 |
| Steps per full epoch | 3,889 |
| Train windows available | 1,991,282 |
| Train windows consumed per epoch | 1,991,168 |
| Tokens consumed per epoch | 2,038,956,032 |
| Checkpoint interval | Every 500 steps |
| Evaluation interval | Every 1,000 steps and at epoch end |
| Seed | 1337 |
The model has completed 4 full training epochs over the packed train split.
Evaluation
Perplexity is computed as exp(validation_loss).
The reported validation metrics use 4,096 validation windows, or about 4.19M validation tokens, sampled from the internal packed validation split. The full validation split contains 20,119 windows, or 20,601,856 tokens.
| Epoch | Status | Epoch tokens | Total tokens seen | Steps | Validation loss | Validation perplexity |
|---|---|---|---|---|---|---|
| 1 | Completed | 2.039B |
2.039B |
3,889 |
3.3730 |
29.17 |
| 2 | Completed | 2.039B |
4.078B |
3,889 |
2.9986 |
20.06 |
| 3 | Completed | 2.039B |
6.117B |
3,889 |
2.8545 |
17.37 |
| 4 | Completed | 2.039B |
8.156B |
3,889 |
2.7765 |
16.06 |
The latest completed evaluation is:
| Metric | Value |
|---|---|
| Validation loss | 2.7765 |
| Validation perplexity | 16.06 |
| Total tokens seen | 8,155,824,128 |
No downstream task benchmark results are reported yet.
Approximate Training Cost
Known pretraining cost by epoch:
| Epoch | H100 | CPU | Memory | Total |
|---|---|---|---|---|
| 1 | ~$7.18 |
Not recorded | Not recorded | ~$7.18+ |
| 2 | ~$9.60 |
Not recorded | Not recorded | ~$9.60+ |
| 3 | $10.18 |
$0.25 |
$0.33 |
$10.76 |
| 4 | $11.02 |
$0.27 |
$0.36 |
$11.65 |
Approximate known pretraining total: ~$39.19+. This excludes any unrecorded dataset preparation, storage, network, or earlier CPU-only costs.
Usage
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "asinha08/slm-125m-base"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
prompt = "<|bos|>The plaintiff alleged that"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
output_ids = model.generate(
**inputs,
max_new_tokens=80,
do_sample=True,
temperature=0.8,
top_p=0.95,
eos_token_id=tokenizer.eos_token_id,
)
print(tokenizer.decode(output_ids[0], skip_special_tokens=False))
Because this is a base model, prompts should be treated as text-completion prefixes. The tokenizer contains <|user|>, <|assistant|>, and <|system|> tokens, but the model has not been trained to follow chat instructions.
Limitations and Risks
- The model is small and undertrained relative to modern production LLMs.
- The model can hallucinate, fabricate citations, and produce legally incorrect text.
- The model is not safe for legal advice, compliance review, contract review, court filings, or any high-stakes use without extensive validation.
- The model was not instruction tuned, RLHF tuned, preference tuned, or safety aligned.
- The training corpus is mostly legal/financial English text plus a smaller web-education slice; performance outside that distribution may be poor.
- The model may reproduce biases, sensitive patterns, or memorized fragments from public data.
- Evaluation currently reports only internal validation perplexity, not downstream legal-task accuracy.
- Source datasets have their own licenses and use constraints; users should verify dataset licenses before commercial or redistributed use.
Reproducibility Notes
Main artifacts were stored on the Modal volume slm125mLIVE:
| Artifact | Path |
|---|---|
| Cleaned data | /data/clean |
| Deduplicated corpus | /data/corpus |
| Tokenizer | /data/tokenizer |
| Tokenized train/val windows | /data/tokens |
| Checkpoints | /data/checkpoints |
| Final base checkpoint | /data/checkpoints/base |
Latest training summary:
| Field | Value |
|---|---|
| Status | completed |
| Steps | 3,889 / 3,889 |
| Epoch base tokens | 6,116,868,096 |
| Epoch tokens | 2,038,956,032 |
| Total tokens seen | 8,155,824,128 |
| World size | 8 |
| Gradient accumulation | 1 |
| Final checkpoint | /data/checkpoints/ckpt.pt |
| Final model directory | /data/checkpoints/base |
Citation
No formal citation is available. If you use this model, cite the Hugging Face repository:
asinha08/slm-125m-base
- Downloads last month
- 369
Datasets used to train asinha08/slm-125m-base
HFforLegal/case-law
PleIAs/SEC
Evaluation results
- Validation perplexity on Internal held-out validation split from legal-first corpusself-reported16.060
- Validation loss on Internal held-out validation split from legal-first corpusself-reported2.776