|
|
--- |
|
|
base_model: Equall/Saul-7B-Base |
|
|
library_name: peft |
|
|
license: mit |
|
|
datasets: |
|
|
- LawInformedAI/claudette_tos |
|
|
language: |
|
|
- en |
|
|
pipeline_tag: text-classification |
|
|
--- |
|
|
|
|
|
|
|
|
# SaulLM-7B-AnomalyDetector |
|
|
|
|
|
LoRA fine-tuned adapter for [Equall/Saul-7B-Base](https://huggingface.co/Equall/Saul-7B-Base) on **anomaly detection in Terms of Service clauses**. |
|
|
The model predicts whether a clause is **anomalous/unfair** or **standard**, with Yes/No style answers and explanations. |
|
|
|
|
|
--- |
|
|
|
|
|
## Model Details |
|
|
|
|
|
### Model Description |
|
|
- **Developed by:** Noshitha Juttu (University of Massachusetts Amherst, MS CS) |
|
|
- **Model type:** Causal Language Model + LoRA adapter |
|
|
- **Language(s):** English |
|
|
- **License:** MIT (Same as base model) |
|
|
- **Finetuned from:** `Equall/Saul-7B-Base` |
|
|
|
|
|
### Model Sources |
|
|
- **Repository:** [Hugging Face Repo](https://huggingface.co/Noshitha98/SaulLM-7B-AnomalyDetector) |
|
|
--- |
|
|
|
|
|
## Uses |
|
|
|
|
|
### Direct Use |
|
|
- Detecting **unfair or anomalous clauses** in consumer Terms of Service. |
|
|
- Outputs Yes/No + brief justification. |
|
|
|
|
|
### Downstream Use |
|
|
- Integrating into **compliance tools** for legal transparency. |
|
|
- Supporting consumer advocacy research. |
|
|
|
|
|
### Out-of-Scope Use |
|
|
- Not a substitute for legal advice. |
|
|
- Not tested on contracts outside consumer ToS. |
|
|
- Should not be used as the **sole basis** for regulatory or compliance decisions. |
|
|
|
|
|
--- |
|
|
|
|
|
## Bias, Risks, and Limitations |
|
|
- Trained only on Claudette ToS dataset; may not generalize. |
|
|
- Can overpredict “standard” clauses as fair (false negatives). |
|
|
- Explanations are generated text, **not guaranteed legally rigorous**. |
|
|
|
|
|
### Recommendations |
|
|
Use alongside human review and legal expertise. |
|
|
|
|
|
--- |
|
|
|
|
|
## How to Get Started with the Model |
|
|
|
|
|
```python |
|
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
|
from peft import PeftModel |
|
|
|
|
|
base = "Equall/Saul-7B-Base" |
|
|
adapter = "Noshitha98/SaulLM-7B-AnomalyDetector" |
|
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained(base) |
|
|
model = AutoModelForCausalLM.from_pretrained(base, device_map="auto") |
|
|
model = PeftModel.from_pretrained(model, adapter) |
|
|
|
|
|
text = "The company reserves the right to terminate your account at any time without notice." |
|
|
inputs = tokenizer(text, return_tensors="pt").to("cuda") |
|
|
outputs = model.generate(**inputs, max_new_tokens=100) |
|
|
print(tokenizer.decode(outputs[0])) |
|
|
```` |
|
|
--- |
|
|
- **Repository:** https://github.com/Stimils02/UnfairTOSAgreementsDetection/tree/main/SaulLM7B |
|
|
|
|
|
--- |
|
|
## Training Details |
|
|
### Training Data |
|
|
- Dataset: Claudette ToS |
|
|
- Balanced: 1000 anomalous, 1000 normal clauses |
|
|
- Splits: 70% train (1400), 20% validation (400), 10% test (200) |
|
|
|
|
|
### Training Procedure |
|
|
- Quantization: 4-bit (NF4, bitsandbytes) |
|
|
- Fine-tuning: LoRA adapters applied to q_proj, k_proj, v_proj, o_proj |
|
|
- Max sequence length: 128 tokens |
|
|
|
|
|
#### Training Hyperparameters |
|
|
|
|
|
- Epochs: 3 |
|
|
- Batch size: 1 |
|
|
- Learning rate: 3e-5 |
|
|
- Optimizer: paged_adamw_32bit |
|
|
- Gradient checkpointing: enabled |
|
|
|
|
|
#### Speeds, Sizes, Times |
|
|
|
|
|
- Train runtime: ~4.3 hours (3 epochs) |
|
|
- GPU: NVIDIA Titan X (12 GB, Gypsum cluster) |
|
|
- Checkpoints: saved per epoch |
|
|
- Final adapter size: ~55 MB |
|
|
|
|
|
|
|
|
## Environmental Impact |
|
|
|
|
|
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly --> |
|
|
|
|
|
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). |
|
|
|
|
|
- **Hardware Type:** NVIDIA Titan X (12 GB) |
|
|
- **Hours used:** ~4 |
|
|
- **Provider:** UMass Gypsum HPC |
|
|
- **Carbon Estimate:** <1 kg CO₂ (low academic footprint) |
|
|
|
|
|
## Technical Specifications: |
|
|
|
|
|
### Model Architecture and Objective |
|
|
|
|
|
- Base: Saul-7B (LLaMA-style causal LM) |
|
|
- LoRA params: around 13M trainable (approx. 0.18% of total) |
|
|
|
|
|
### Compute Infrastructure |
|
|
|
|
|
- Hardware: 1x NVIDIA Titan X |
|
|
- Software: PyTorch 2.2, Transformers 4.51, PEFT 0.15.2, bitsandbytes |
|
|
|
|
|
## Glossary |
|
|
|
|
|
- **LoRA (Low-Rank Adaptation):** A parameter-efficient fine-tuning method where only small adapter matrices are trained, while the large base model remains frozen. This drastically reduces compute and storage costs. |
|
|
- **4-bit Quantization:** A compression technique that reduces model weights from 16/32-bit floating-point numbers to 4-bit representations. This allows large models (like Saul-7B) to fit and run on smaller GPUs with minimal accuracy loss. |
|
|
- **ToS (Terms of Service) Anomaly Detection:** The task of identifying clauses in service agreements that are potentially unfair, unusual, or restrictive for consumers (e.g., sudden account termination, hidden fees). |
|
|
- **PEFT (Parameter-Efficient Fine-Tuning):** A family of methods (like LoRA) that fine-tune large models by updating only a small subset of parameters instead of the entire model. |
|
|
- **Epoch:** One full pass through the training dataset during model fine-tuning. |
|
|
- **Checkpoint:** A saved state of the model during training, used for resuming training or restoring the best-performing version. |
|
|
|
|
|
## Model Card Authors |
|
|
|
|
|
- **Noshitha Juttu** – M.S. in Computer Science, University of Massachusetts Amherst |
|
|
- Research focus: NLP, model compression, On device NLP and Parameter-Efficient Fine-Tuning (PEFT). |
|
|
|
|
|
## 📚 Citation |
|
|
|
|
|
If you use this model in your research or work, please cite the following paper: |
|
|
|
|
|
> Juttu, Noshitha Padma Pratyusha. *Text to Trust: Evaluating Fine-Tuning and LoRA Trade-Offs in Language Models for Unfair Terms of Service Detection*. arXiv preprint arXiv:2510.22531, 2025. |
|
|
https://arxiv.org/abs/2510.22531 |
|
|
|
|
|
## Model Card Contact |
|
|
For questions, feedback, or collaborations, please reach out: |
|
|
- Email: noshithajuttu@gmail.com |
|
|
- LinkedIn: [Noshitha Juttu](https://www.linkedin.com/in/noshitha-juttu-0264a0167/) |
|
|
- GitHub: [Noshitha](https://github.com/Noshitha) |
|
|
- Hugging Face: [Noshitha98](https://huggingface.co/Noshitha98) |
|
|
|
|
|
|
|
|
### Framework Versions |
|
|
- **Transformers:** 4.51.3 |
|
|
- **PEFT:** 0.15.2 |
|
|
- **PyTorch:** 2.2.2 |
|
|
- **Datasets:** 2.21.0 |
|
|
|
|
|
### Framework versions |
|
|
|
|
|
- PEFT 0.15.2 |