Instructions to use BLANK/slm-rl-freeway with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use BLANK/slm-rl-freeway with PEFT:
Task type is invalid.
- Transformers
How to use BLANK/slm-rl-freeway with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="BLANK/slm-rl-freeway")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("BLANK/slm-rl-freeway", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use BLANK/slm-rl-freeway with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "BLANK/slm-rl-freeway" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "BLANK/slm-rl-freeway", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/BLANK/slm-rl-freeway
- SGLang
How to use BLANK/slm-rl-freeway 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 "BLANK/slm-rl-freeway" \ --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": "BLANK/slm-rl-freeway", "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 "BLANK/slm-rl-freeway" \ --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": "BLANK/slm-rl-freeway", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use BLANK/slm-rl-freeway with Docker Model Runner:
docker model run hf.co/BLANK/slm-rl-freeway
| library_name: peft | |
| base_model: LiquidAI/LFM2.5-350M | |
| pipeline_tag: text-generation | |
| tags: | |
| - lora | |
| - peft | |
| - transformers | |
| - reinforcement-learning | |
| - atari | |
| - slm-rl | |
| - freeway | |
| license: apache-2.0 | |
| # BLANK/slm-rl-freeway | |
| PEFT LoRA adapter that warm-starts **Freeway** play for | |
| [LiquidAI/LFM2.5-350M](https://huggingface.co/LiquidAI/LFM2.5-350M) | |
| in the [SLM-RL](https://github.com/CraftsMan-Labs/SLM-RL) workshop. | |
| | | | | |
| |---|---| | |
| | **Game** | `freeway` | | |
| | **Base model** | `LiquidAI/LFM2.5-350M` | | |
| | **Adapter layout** | `adapter/` (PEFT `adapter_config.json` + weights) | | |
| | **Training** | `reject_sft` on DQN teacher demos | | |
| | **Champion generation** | 1 | | |
| | **Promoted** | True (baked pack / SFT adopted as RL initialization) | | |
| | **Dataset pack** | [BLANK/slm-rl-freeway](https://huggingface.co/datasets/BLANK/slm-rl-freeway) | | |
| | **DQN teacher** | [BLANK/slm-rl-freeway-dqn](https://huggingface.co/BLANK/slm-rl-freeway-dqn) | | |
| Paste `BLANK/slm-rl-freeway` as the playground **adapter URL** (and usually the same id | |
| as the **dataset URL**). | |
| ## Install | |
| ```bash | |
| pip install "transformers>=4.46" peft accelerate torch | |
| ``` | |
| ## Load with transformers + PEFT | |
| Weights live under the `adapter/` subfolder — pass `subfolder="adapter"`. | |
| ```python | |
| import torch | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| from peft import PeftModel | |
| BASE = "LiquidAI/LFM2.5-350M" | |
| ADAPTER = "BLANK/slm-rl-freeway" # this repo | |
| device = ( | |
| "cuda" if torch.cuda.is_available() | |
| else "mps" if torch.backends.mps.is_available() | |
| else "cpu" | |
| ) | |
| dtype = torch.bfloat16 if device != "cpu" else torch.float32 | |
| tokenizer = AutoTokenizer.from_pretrained(BASE) | |
| if tokenizer.pad_token is None: | |
| tokenizer.pad_token = tokenizer.eos_token | |
| model = AutoModelForCausalLM.from_pretrained(BASE, torch_dtype=dtype) | |
| model = PeftModel.from_pretrained(model, ADAPTER, subfolder="adapter") | |
| model.to(device).eval() | |
| messages = [ | |
| {"role": "system", "content": "You play Freeway. Reply with ACTION: <id>."}, | |
| {"role": "user", "content": "Legal actions: 1) NOOP 2) UP\nChoose."}, | |
| ] | |
| prompt = tokenizer.apply_chat_template( | |
| messages, add_generation_prompt=True, tokenize=False, | |
| ) | |
| inputs = tokenizer(prompt, return_tensors="pt").to(device) | |
| with torch.inference_mode(): | |
| out = model.generate(**inputs, max_new_tokens=24, do_sample=False) | |
| print(tokenizer.decode(out[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True)) | |
| ``` | |
| ### Download only the adapter files | |
| ```python | |
| from huggingface_hub import snapshot_download | |
| path = snapshot_download("BLANK/slm-rl-freeway", allow_patterns="adapter/*") | |
| # then: PeftModel.from_pretrained(base_model, f"{path}/adapter") | |
| ``` | |
| ## Workshop / SLM-RL CLI | |
| ```bash | |
| slm-rl evolve --game freeway \ | |
| --dataset-url BLANK/slm-rl-freeway \ | |
| --adapter-url BLANK/slm-rl-freeway \ | |
| --dqn-url BLANK/slm-rl-freeway-dqn \ | |
| --generations 2 | |
| ``` | |
| ## Train metrics (if recorded) | |
| ```json | |
| { | |
| "eval": { | |
| "skipped": true | |
| }, | |
| "gate": { | |
| "promoted": true, | |
| "reason": "baked pack / SFT adopted as RL initialization" | |
| }, | |
| "train": { | |
| "loss": 0.093, | |
| "mean_token_accuracy": 1.0, | |
| "num_pairs": 20357 | |
| } | |
| } | |
| ``` | |
| Trained with [SLM-RL](https://github.com/CraftsMan-Labs/SLM-RL). | |