Text Generation
Transformers
Safetensors
lfm2
lfm2.5
liquid
int8
w8a8
compressed-tensors
vllm
lora
conversational
8-bit precision
Instructions to use PointGuardAI/LFM2.5-1.2B-Instruct-INT8 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use PointGuardAI/LFM2.5-1.2B-Instruct-INT8 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="PointGuardAI/LFM2.5-1.2B-Instruct-INT8") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("PointGuardAI/LFM2.5-1.2B-Instruct-INT8") model = AutoModelForCausalLM.from_pretrained("PointGuardAI/LFM2.5-1.2B-Instruct-INT8", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use PointGuardAI/LFM2.5-1.2B-Instruct-INT8 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "PointGuardAI/LFM2.5-1.2B-Instruct-INT8" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "PointGuardAI/LFM2.5-1.2B-Instruct-INT8", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/PointGuardAI/LFM2.5-1.2B-Instruct-INT8
- SGLang
How to use PointGuardAI/LFM2.5-1.2B-Instruct-INT8 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 "PointGuardAI/LFM2.5-1.2B-Instruct-INT8" \ --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": "PointGuardAI/LFM2.5-1.2B-Instruct-INT8", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'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 "PointGuardAI/LFM2.5-1.2B-Instruct-INT8" \ --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": "PointGuardAI/LFM2.5-1.2B-Instruct-INT8", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use PointGuardAI/LFM2.5-1.2B-Instruct-INT8 with Docker Model Runner:
docker model run hf.co/PointGuardAI/LFM2.5-1.2B-Instruct-INT8
File size: 3,976 Bytes
f1eb922 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | ---
base_model: LiquidAI/LFM2.5-1.2B-Instruct
library_name: transformers
license: other
license_name: lfm1.0
license_link: https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct/blob/868df74dd56ff8a0c2ac5dbf281690c2dbebe4c9/LICENSE
pipeline_tag: text-generation
tags:
- lfm2
- lfm2.5
- liquid
- int8
- w8a8
- compressed-tensors
- vllm
- lora
---
# LFM2.5-1.2B-Instruct INT8 W8A8
This repository contains a post-training-quantized checkpoint of
[`LiquidAI/LFM2.5-1.2B-Instruct`](https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct),
prepared for efficient vLLM inference and per-request LoRA serving.
## Base model
- Model: `LiquidAI/LFM2.5-1.2B-Instruct`
- Model revision: `868df74dd56ff8a0c2ac5dbf281690c2dbebe4c9`
- Tokenizer revision: `868df74dd56ff8a0c2ac5dbf281690c2dbebe4c9`
- Upstream license: Liquid AI Model License 1.0
## Quantization
- Scheme: W8A8 INT8
- Weight quantization: symmetric, per-channel INT8
- Activation quantization: symmetric, dynamic per-token INT8
- Format: `compressed-tensors`
- Pipeline: data-free dynamic-activation quantization
- Quantized modules: 72 attention and feed-forward projections
- Kept unquantized: embeddings, LM head, normalization layers, and 20 Liquid convolution
projections
This is therefore a mixed-precision checkpoint: the targeted attention and feed-forward
projections use W8A8 INT8, while unsupported Liquid convolution projections remain BF16.
They were intentionally excluded because Transformers names them `conv`, while vLLM 0.24.0
uses `short_conv` and does not remap the compressed scale names.
The full target-module list, exclusions, source revision, and compatibility rationale are
recorded in `recipe.yaml` and `quantization_manifest.json`.
## Integrity
SHA-256 for `model.safetensors`:
```text
1071099fafdda7400ac9624b916ff45c56cb276eb061b22ea6c0ba4343f34edc
```
## vLLM
Verified with vLLM 0.24.0 using the native compressed-tensors W8A8 INT8 kernels.
```bash
vllm serve PointGuardAI/LFM2.5-1.2B-Instruct-INT8 \
--served-model-name lfm25-1.2b-int8 \
--max-model-len 5120 \
--gpu-memory-utilization 0.90 \
--performance-mode throughput \
--max-num-batched-tokens 8192
```
For per-request LoRA serving:
```bash
vllm serve PointGuardAI/LFM2.5-1.2B-Instruct-INT8 \
--enable-lora \
--max-loras 4 \
--max-lora-rank 16 \
--lora-modules application-policy-match=/path/to/adapter
```
Chat-completion example:
```bash
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "lfm25-1.2b-int8",
"messages": [
{"role": "system", "content": "You are a concise assistant."},
{"role": "user", "content": "Explain dynamic INT8 quantization in one sentence."}
],
"max_tokens": 64,
"temperature": 0
}'
```
## Guardrail validation
When paired with the separately trained PointGuard application-policy LoRA
(not included in this repository), this checkpoint achieved the following on a balanced
558-row held-out development-validation set:
- Accuracy: 96.42%
- Macro F1: 96.41%
- AUPRC: 99.44%
- MATCH recall: 98.57%
- False negatives: 4 of 279 MATCH examples
Using vLLM generative scoring with one prompt per HTTP request:
| Concurrency | Median throughput | Median p95 latency |
|---:|---:|---:|
| 16 | 62.4 requests/second | 303 ms |
| 32 | 67.7 requests/second | 543 ms |
These measurements are specific to the evaluated prompt distribution, LoRA adapter, NVIDIA
A10G GPU, and vLLM configuration; they are not general language-model benchmarks.
## Intended use and limitations
This repository contains the quantized general-purpose base checkpoint, not a standalone
guardrail. It does not include a task-specific LoRA adapter, policy engine, calibrated decision
thresholds, or safety guarantees.
Quantization can change model quality and probability calibration. Evaluate the exact production
adapter, prompt format, serving runtime, thresholds, and deployment data before use.
|