S-ABISHEAK's picture
Update README.md
0babcf9 verified
|
Raw
History Blame Contribute Delete
3.93 kB
---
base_model: TinyLlama/TinyLlama-1.1B-Chat-v1.0
library_name: peft
pipeline_tag: text-generation
tags:
- base_model:adapter:TinyLlama/TinyLlama-1.1B-Chat-v1.0
- lora
- sft
- transformers
- trl
---
# Model Card for tinyllama-structured-output-lora
This model is a LoRA fine-tuned version of TinyLlama designed to generate structured JSON outputs from natural language instructions.
---
## Model Details
### Model Description
This model was fine-tuned using QLoRA on the Databricks Dolly 15K dataset transformed into a structured instruction-to-JSON generation task. The goal of the project is to improve schema consistency and structured response formatting in LLM outputs.
The model learns to generate responses in a predefined JSON structure instead of plain conversational text.
- **Developed by:** ABI
- **Funded by [optional]:** Self-funded
- **Shared by [optional]:** ABI
- **Model type:** Causal Language Model with LoRA adapters
- **Language(s) (NLP):** English
- **License:** Apache 2.0 (inherits base model license compatibility)
- **Finetuned from model [optional]:** TinyLlama/TinyLlama-1.1B-Chat-v1.0
---
## Model Sources [optional]
- **Repository:** https://huggingface.co/your-username/tinyllama-structured-output-lora
- **Paper [optional]:** https://arxiv.org/abs/2106.09685 (LoRA Paper)
- **Demo [optional]:** Not available
---
## Uses
This model is intended for experimentation and educational purposes related to:
- structured output generation
- instruction fine-tuning
- LoRA adaptation
- JSON schema enforcement
---
### Direct Use
The model can be used for:
- converting instructions into structured JSON responses
- schema-constrained text generation
- learning and experimentation with QLoRA pipelines
- educational demonstrations of instruction tuning
Example task:
```json
{
"question": "Explain recursion",
"context_summary": "",
"answer": "Recursion is a programming concept...",
"category": "education",
"difficulty": "easy"
}
```
---
### Downstream Use [optional]
Possible downstream applications include:
- structured chatbot systems
- API response generation
- educational assistants
- JSON formatting pipelines
- schema-aware LLM systems
---
## Training Details
### Training Dataset
- Databricks Dolly 15K
- Dataset transformed into structured JSON generation format
### Training Procedure
The model was fine-tuned using:
- QLoRA
- 4-bit quantization
- PEFT (Parameter Efficient Fine-Tuning)
### Hardware
- Google Colab T4 GPU (16GB VRAM)
### Main Libraries Used
- transformers
- peft
- trl
- datasets
- bitsandbytes
---
## Limitations
- Small model size limits reasoning capability
- May produce incomplete JSON occasionally
- Responses may repeat under long generation settings
- Optimized for structure rather than factual accuracy
---
## Example Inference Code
```python
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import PeftModel
import torch
model_name = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.float16,
bnb_4bit_quant_type="nf4"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
base_model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config=bnb_config,
device_map="auto"
)
model = PeftModel.from_pretrained(
base_model,
"your-username/tinyllama-structured-output-lora"
)
prompt = """
### Instruction:
Explain recursion
### Response:
"""
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(
**inputs,
max_new_tokens=120,
temperature=0.1,
do_sample=False
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```
---
## Citation
```bibtex
@misc{tinyllama_structured_output_lora,
title={TinyLlama Structured Output LoRA},
author={ABI},
year={2026},
publisher={Hugging Face}
}
```