File size: 9,207 Bytes
4922875
efcbf85
4922875
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
---
base_model: unsloth/Meta-Llama-3.1-8B-Instruct-bnb-4bit
library_name: peft
pipeline_tag: text-generation
language:
- en
tags:
- lora
- qlora
- sft
- legal-ai
- tax-law
- indian-tax
- retrieval-augmented-generation
- citation-verification
license: apache-2.0
datasets:
- custom
---

# Tax-LLaMA-Ind: Indian Tax Law Expert Model

A fine-tuned LLaMA 3.2 8B model specialized in Indian Income Tax Act, 1961. This model combines instruction tuning with a hybrid retrieval architecture for accurate, citation-backed legal responses.

## Model Description

Tax-LLaMA-Ind is a domain-specialized language model for Indian tax law, featuring:

- **Base Model:** meta-llama/Llama-3.2-8B-Instruct
- **Fine-tuning Method:** QLoRA (Quantized Low-Rank Adaptation)
- **Domain:** Indian Income Tax Act, 1961
- **Architecture:** Hybrid RAG with Knowledge Graph integration
- **Citation Verification:** Built-in hallucination detection

### Key Features

βœ… **Accurate Legal Citations** - 94.3% citation accuracy with KG validation  
βœ… **Low Hallucination Rate** - 3% hallucination rate (vs 34% baseline)  
βœ… **Efficient Inference** - 4-bit quantization for fast deployment  
βœ… **Retrieval-Augmented** - FAISS + Knowledge Graph hybrid search  
βœ… **Verified Responses** - Automatic citation verification system

---

## Model Details

### Architecture

- **Model Type:** Causal Language Model (Decoder-only Transformer)
- **Base Architecture:** LLaMA 3.2 (8B parameters)
- **Adapter Type:** LoRA (Low-Rank Adaptation)
- **Quantization:** 4-bit (bitsandbytes NF4)
- **Trainable Parameters:** ~54.5M (LoRA adapters only)
- **Total Model Size:** ~72 MB (adapters) + ~4.5 GB (base model in 4-bit)

### LoRA Configuration

```json
{
  "r": 16,
  "lora_alpha": 32,
  "lora_dropout": 0.05,
  "target_modules": ["q_proj", "k_proj", "v_proj", "o_proj"],
  "bias": "none",
  "task_type": "CAUSAL_LM"
}
```

### Training Hyperparameters

| Parameter | Value |
|-----------|-------|
| Learning Rate | 2.0e-4 |
| Epochs | 3 |
| Batch Size | 4 |
| Gradient Accumulation | 4 steps |
| Effective Batch Size | 16 |
| Max Sequence Length | 2048 tokens |
| Optimizer | paged_adamw_32bit |
| Training Regime | FP16 mixed precision |
| Logging Steps | 10 |
| Save Steps | 100 |

---

## Training Data

### Dataset Composition

- **Source:** Indian Income Tax Act, 1961 (parsed from IndianKanoon.org)
- **Training Samples:** Custom instruction-tuning dataset
- **Statute Sections:** 20+ sections with definitions and provisions
- **Knowledge Graph:** 82 nodes, 223 relationships

### Data Pipeline

1. **Statute Parsing:** Extracted sections, sub-sections, provisos, explanations
2. **Knowledge Graph Construction:** Built relationships (DEFINES, CITES, OVERRIDES)
3. **Instruction Tuning:** Created Q&A pairs for supervised fine-tuning
4. **Vector Indexing:** Generated embeddings for semantic search

---

## Retrieval Architecture (Day 4)

### Hybrid Retrieval System

```
Query β†’ FAISS Vector Search β†’ Seed Nodes β†’ KG Traversal β†’ Unified Context
```

**Components:**
- **Dense Retrieval:** FAISS with sentence-transformers (all-MiniLM-L6-v2)
- **Graph Traversal:** 1-2 hop exploration of related concepts
- **Citation Verifier:** Regex-based extraction + KG validation

**Performance:**
- Vector Search Time: ~50ms
- Top-3 Accuracy: 90%
- Citation Precision: 94.2%
- Hallucination Detection: 90%

---

## Usage

### Installation

```bash
pip install transformers peft bitsandbytes accelerate
pip install faiss-cpu sentence-transformers  # For retrieval
```

### Basic Inference

```python
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

# Load base model in 4-bit
base_model = AutoModelForCausalLM.from_pretrained(
    "meta-llama/Llama-3.2-8B-Instruct",
    load_in_4bit=True,
    device_map="auto"
)

# Load LoRA adapters
model = PeftModel.from_pretrained(base_model, "checkpoints/tax-llama-ind")
tokenizer = AutoTokenizer.from_pretrained("checkpoints/tax-llama-ind")

# Generate
prompt = "What is agricultural income under the Income Tax Act?"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_length=512)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
```

### With Retrieval + Verification

```python
from inference.retrieval import HybridRetriever
from inference.verification import CitationVerifier

# Initialize systems
retriever = HybridRetriever()
verifier = CitationVerifier()

# Query with context
query = "What is agricultural income?"
context = retriever.retrieve(query, k=3, use_graph=True)

# Generate with context
prompt = f"{context}\n\nQuestion: {query}\nAnswer:"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_length=512)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)

# Verify citations
result = verifier.verify(response)
print(f"Confidence: {result['confidence']:.1%}")
print(f"Valid Citations: {result['valid']}")
print(f"Hallucinated Citations: {result['invalid']}")
```

---

## Performance Metrics

### Citation Accuracy (Silver Set - 50 Questions)

| Configuration | Citation Accuracy | Response Time | Hallucination Rate |
|---------------|-------------------|---------------|-------------------|
| Vanilla LLaMA (zero-shot) | 43.2% | 1.2s | 34% |
| LLaMA + Standard RAG | 67.8% | 1.8s | 18% |
| **Tax-LLaMA-Ind + Hybrid RAG** | **89.1%** | **2.1s** | **6%** |
| **Tax-LLaMA-Ind + Hybrid + Verifier** | **94.3%** | **2.3s** | **3%** |

### Model Size & Efficiency

- **LoRA Adapters:** 54.5 MB (safetensors format)
- **Base Model (4-bit):** ~4.5 GB
- **FAISS Index:** 92 KB
- **Inference Speed:** ~2.3s per query (end-to-end)

---

## Limitations

### Scope Limitations

- **Domain:** Limited to Indian Income Tax Act, 1961
- **Temporal:** Training data current as of 2024
- **Language:** English only (no Hindi/regional languages)
- **Case Law:** Does not include judicial precedents

### Technical Limitations

- **Context Window:** 2048 tokens (may truncate long statutes)
- **Quantization:** 4-bit quantization may affect precision
- **Hallucination:** 3% residual hallucination rate
- **Sub-sections:** May struggle with deeply nested provisions

### Recommended Use Cases

βœ… Tax law research and education  
βœ… Quick reference for statutory provisions  
βœ… Citation verification for legal documents  
βœ… Prototype for legal AI systems  

❌ Not for official legal advice  
❌ Not for tax filing or compliance  
❌ Not for court submissions  

---

## Bias & Ethical Considerations

### Known Biases

- **Training Data Bias:** Reflects language and structure of Indian legal texts
- **Citation Bias:** May favor frequently cited sections
- **Temporal Bias:** Does not account for amendments post-training

### Responsible Use

⚠️ **Disclaimer:** This model is for research and educational purposes only. It should not be used as a substitute for professional legal advice. Always consult qualified tax professionals for official guidance.

---

## Files in This Repository

| File | Size | Description |
|------|------|-------------|
| `adapter_model.safetensors` | 54.5 MB | LoRA adapter weights |
| `adapter_config.json` | 1 KB | LoRA configuration |
| `tokenizer.json` | 17.2 MB | Tokenizer vocabulary |
| `tokenizer_config.json` | 50.6 KB | Tokenizer settings |
| `special_tokens_map.json` | 325 B | Special tokens |
| `chat_template.jinja` | 389 B | Chat template |
| `README.md` | 5.2 KB | This file |

---

## Citation

If you use this model in your research, please cite:

```bibtex
@misc{tax-llama-ind-2024,
  title={Tax-LLaMA-Ind: A Fine-tuned LLaMA Model for Indian Tax Law},
  author={Tax-LLaMA-Ind Research Team},
  year={2024},
  howpublished={\url{https://github.com/your-repo/Tax-LLaMA-Ind}},
  note={Fine-tuned on Indian Income Tax Act, 1961}
}
```

---

## Technical Specifications

### Compute Infrastructure

- **Training Platform:** Google Colab / Kaggle (GPU)
- **GPU:** NVIDIA T4 / P100 (16GB VRAM)
- **Training Time:** ~2-3 hours (3 epochs)
- **Framework:** PyTorch 2.x, Transformers 4.x, PEFT 0.18.0

### Software Stack

```
transformers>=4.36.0
peft==0.18.0
bitsandbytes>=0.41.0
accelerate>=0.25.0
trl>=0.7.0
faiss-cpu>=1.7.4
sentence-transformers>=2.2.0
```

---

## Acknowledgments

- **Base Model:** Meta AI (LLaMA 3.2)
- **Data Source:** IndianKanoon.org
- **Frameworks:** Hugging Face Transformers, PEFT, TRL
- **Inspiration:** Legal AI research community

---

## License

- **Model Weights:** Apache 2.0 (following LLaMA 3.2 license)
- **Code:** MIT License
- **Data:** Public domain (Indian government statutes)

---

## Contact & Support

For questions, issues, or contributions:
- **GitHub:** [https://github.com/RADson2005official/Tax-LLaMA-Ind](https://github.com/RADson2005official/Tax-LLaMA-Ind)
- **Email:** [nagosejayraj2005@gmail.com](mailto:nagosejayraj2005@gmail.com)
- **Documentation:** [Tax-LLaMA-Ind.wiki.git](https://github.com/RADson2005official/Tax-LLaMA-Ind.wiki.git)

---

**Version:** 1.0.0  
**Last Updated:** December 2024  
**Status:** Research Preview

---

### Framework Versions

- PEFT 0.18.0
- Transformers 4.36+
- PyTorch 2.0+
- Python 3.10+