Files
rcrc-chat-v5-gemma-1b-cpt-sft/README.md
ModelHub XC b55d3bb9fd 初始化项目,由ModelHub XC社区提供模型
Model: perfectPresentation/rcrc-chat-v5-gemma-1b-cpt-sft
Source: Original Platform
2026-08-09 04:57:16 +08:00

182 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
license: gemma
base_model: perfectPresentation/rcrc-gemma-1b-cpt
datasets:
- perfectPresentation/rcrc-qa-v5
language:
- ar
- en
tags:
- chat
- rcrc
- arabic
- gemma
- gemma3
- closed-book
library_name: transformers
---
# rcrc-chat-v5-gemma-1b-cpt-sft — Closed-Book RCRC Chatbot
A 1B closed-book chatbot for the Royal Commission for Riyadh City (RCRC).
Trained as **Path B** of the v5 comparison: continued pre-training on raw KB
text, then chat SFT on Qwen3-235B-synthesized QA pairs.
Closed-book here means the model answers from baked-in knowledge — there is
no retrieval at inference.
## Pipeline
```
google/gemma-3-1b-pt
↓ CPT: 3 epochs on cleaned RCRC + Hanifa raw text
perfectPresentation/rcrc-gemma-1b-cpt
↓ SFT: 3 epochs on rcrc-qa-v5 (16,761 Qwen-synthesized QA pairs)
perfectPresentation/rcrc-chat-v5-gemma-1b-cpt-sft ← this repo
```
## Training data
[`perfectPresentation/rcrc-qa-v5`](https://huggingface.co/datasets/perfectPresentation/rcrc-qa-v5):
16,426 train + 335 validation single-turn (system, user, assistant) pairs
synthesized by `Qwen/Qwen3-235B-A22B-Instruct-2507` from the cleaned RCRC
website + Hanifa Urban Code chunks.
## Training recipe
| | |
|---|---|
| Base | `perfectPresentation/rcrc-gemma-1b-cpt` |
| Epochs | 3 |
| LR | 2e-5, cosine, 5% warmup |
| Effective batch | 16 (per_device 4 × grad_accum 4) |
| Max seq length | 1024, packing enabled |
| Final eval loss | 0.71 |
| Final eval token-accuracy | 83.5% |
| Hardware | HF Jobs · 1× L4 (~1.6 h) |
## Use
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tok = AutoTokenizer.from_pretrained("perfectPresentation/rcrc-chat-v5-gemma-1b-cpt-sft")
model = AutoModelForCausalLM.from_pretrained(
"perfectPresentation/rcrc-chat-v5-gemma-1b-cpt-sft",
dtype=torch.bfloat16,
)
messages = [
{"role": "system", "content":
"أنت مساعد للهيئة الملكية لمدينة الرياض. تجيب على استفسارات المستخدمين "
"عن خدمات وبرامج ومشاريع وأنظمة الهيئة بدقة وأدب."},
{"role": "user", "content": "ما هو الكود العمراني لوادي حنيفة؟"},
]
prompt = tok.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tok(prompt, return_tensors="pt").to(model.device)
out = model.generate(
**inputs, max_new_tokens=400, do_sample=True, temperature=0.5, top_p=0.9,
repetition_penalty=1.15, no_repeat_ngram_size=6,
)
print(tok.decode(out[0][inputs.input_ids.shape[-1]:], skip_special_tokens=True))
```
## Honest evaluation: closed-book vs RAG
On a 50-question internal eval set (RCRC + Hanifa + edge cases), this
closed-book model was compared to a sibling RAG pipeline (the v3-rag
checkpoint reading retrieved chunks from `rcrc-rag-index-v2`):
| | accuracy | relevance | clarity | wins |
|---|---:|---:|---:|---:|
| RAG (v3-rag + index v2) | 3.92 | 4.08 | 4.42 | 34/50 |
| **This model (closed-book)** | **2.64** | **3.36** | **3.56** | **13/50** |
| Ties | | | | 3/50 |
**Where closed-book is competitive**: dialect responses (Najdi/Hijazi),
free-form opinion-style queries.
**Where RAG dominates**: factual specifics from the Hanifa Urban Code,
project details, organizational facts, numerical specs.
For accuracy-sensitive deployments on the RCRC + Hanifa corpus, a RAG
pipeline at the same parameter count outperforms this closed-book model
by ~1.3 points on average. This model is provided for completeness of the
v5 study and for offline / no-retrieval scenarios.
## Limitations
- 1B-scale closed-book recall is brittle on specifics (numbers,
exact procedure steps). Verify against rcrc.gov.sa.
- Training data was Qwen-synthesized; some questions may carry the
synthesizer's biases.
- No multi-turn conversational SFT — single-turn QA only.
<!-- GGUF-BUILDS -->
## GGUF builds (llama.cpp / Ollama)
Quantized GGUF files live at the repo root.
| File | Quant | Approx size |
|---|---|---|
| `rcrc-v5-gemma-1b-cpt-sft-F16.gguf` | F16 | ~2.0 GB |
| `rcrc-v5-gemma-1b-cpt-sft-Q8_0.gguf` | Q8_0 | ~1.0 GB |
| `rcrc-v5-gemma-1b-cpt-sft-Q5_K_M.gguf` | Q5_K_M | ~720 MB |
| `rcrc-v5-gemma-1b-cpt-sft-Q4_K_M.gguf` | Q4_K_M | ~620 MB |
### Ollama (one-liner)
```bash
ollama run huggingface.co/perfectPresentation/rcrc-chat-v5-gemma-1b-cpt-sft:Q4_K_M
# or :Q8_0, :Q5_K_M, :F16
```
If you hit a host-redirect error (`hf.co` → `huggingface.co`), upgrade
Ollama to a recent version, or use the `huggingface.co/...` URL above.
### Manual Modelfile route
```bash
hf download perfectPresentation/rcrc-chat-v5-gemma-1b-cpt-sft rcrc-v5-gemma-1b-cpt-sft-Q4_K_M.gguf Modelfile --local-dir ./model
cd model
ollama create rcrc-v5-gemma-1b-cpt-sft -f Modelfile
ollama run rcrc-v5-gemma-1b-cpt-sft
```
### llama.cpp
```bash
hf download perfectPresentation/rcrc-chat-v5-gemma-1b-cpt-sft rcrc-v5-gemma-1b-cpt-sft-Q4_K_M.gguf --local-dir .
./llama-cli -m rcrc-v5-gemma-1b-cpt-sft-Q4_K_M.gguf -cnv
```
## GGUF builds (llama.cpp / Ollama)
Quantized GGUF files live under `gguf/`. They are built directly from
the safetensors above with `llama.cpp convert_hf_to_gguf.py` followed by
`llama-quantize`.
| File | Quant | Approx size |
|---|---|---|
| `gguf/rcrc-v5-gemma-1b-cpt-sft-F16.gguf` | F16 | ~2.0 GB |
| `gguf/rcrc-v5-gemma-1b-cpt-sft-Q8_0.gguf` | Q8_0 | ~1.0 GB |
| `gguf/rcrc-v5-gemma-1b-cpt-sft-Q5_K_M.gguf` | Q5_K_M | ~720 MB |
| `gguf/rcrc-v5-gemma-1b-cpt-sft-Q4_K_M.gguf` | Q4_K_M | ~620 MB |
### llama.cpp
```bash
hf download perfectPresentation/rcrc-chat-v5-gemma-1b-cpt-sft gguf/rcrc-v5-gemma-1b-cpt-sft-Q4_K_M.gguf --local-dir .
./llama-cli -m gguf/rcrc-v5-gemma-1b-cpt-sft-Q4_K_M.gguf -cnv
```
### Ollama
```bash
hf download perfectPresentation/rcrc-chat-v5-gemma-1b-cpt-sft gguf/rcrc-v5-gemma-1b-cpt-sft-Q4_K_M.gguf gguf/Modelfile --local-dir ./model
cd model/gguf
ollama create rcrc-v5-gemma-1b-cpt-sft -f Modelfile
ollama run rcrc-v5-gemma-1b-cpt-sft
```