60 lines
2.0 KiB
Markdown
60 lines
2.0 KiB
Markdown
|
|
---
|
||
|
|
language:
|
||
|
|
- it
|
||
|
|
license: apache-2.0
|
||
|
|
base_model: Qwen/Qwen2.5-3B-Instruct
|
||
|
|
pipeline_tag: text-generation
|
||
|
|
library_name: transformers
|
||
|
|
tags:
|
||
|
|
- fundraising
|
||
|
|
- non-profit
|
||
|
|
- italian
|
||
|
|
- conversational
|
||
|
|
- sft
|
||
|
|
- lora
|
||
|
|
datasets:
|
||
|
|
- Mic-Fundraiser/fundraising-italian-sft
|
||
|
|
---
|
||
|
|
|
||
|
|
# Fundraising Assistant
|
||
|
|
|
||
|
|
Modello conversazionale in italiano specializzato in fundraising e raccolta fondi per il non profit.
|
||
|
|
|
||
|
|
Fine-tuning (SFT + LoRA, poi merge) di `Qwen/Qwen2.5-3B-Instruct` sul dataset [`Mic-Fundraiser/fundraising-italian-sft`](https://huggingface.co/datasets/Mic-Fundraiser/fundraising-italian-sft).
|
||
|
|
|
||
|
|
## Caratteristiche
|
||
|
|
|
||
|
|
- Stile: competente, diretto, tono da "giovane professore"
|
||
|
|
- Nessuna premessa inutile, nessuna antitesi, niente elenchi infiniti
|
||
|
|
- Ottimizzato per scrivere DEM, lettere, proposte per il non profit
|
||
|
|
|
||
|
|
## Uso
|
||
|
|
|
||
|
|
```python
|
||
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||
|
|
|
||
|
|
model_id = "Mic-Fundraiser/fundraising-assistant"
|
||
|
|
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
||
|
|
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto", device_map="auto")
|
||
|
|
|
||
|
|
messages = [
|
||
|
|
{"role": "system", "content": "Sei un esperto di fundraising per il non profit."},
|
||
|
|
{"role": "user", "content": "Come convinco un donatore occasionale a passare a ricorrente?"},
|
||
|
|
]
|
||
|
|
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
|
||
|
|
out = model.generate(inputs, max_new_tokens=400, do_sample=True, temperature=0.7, top_p=0.9)
|
||
|
|
print(tokenizer.decode(out[0][inputs.shape[1]:], skip_special_tokens=True))
|
||
|
|
```
|
||
|
|
|
||
|
|
## Training
|
||
|
|
|
||
|
|
- Base: Qwen2.5-3B-Instruct (QLoRA 4-bit)
|
||
|
|
- LoRA: r=16, alpha=32, dropout=0.05, target=attn+MLP
|
||
|
|
- Epoche: 3, LR: 2e-4, cosine schedule
|
||
|
|
- Hardware: NVIDIA L4 via HF Jobs
|
||
|
|
- Dataset: 1273 esempi in formato OpenAI messages
|
||
|
|
|
||
|
|
## Limitazioni
|
||
|
|
|
||
|
|
Modello da 3B parametri: rapido e adatto a inferenza CPU/GPU leggera, ma su ragionamenti complessi o contesti molto lunghi resta inferiore a modelli più grandi. Il dataset è piccolo (1273 esempi): il fine-tuning impone uno *stile*, non nuova conoscenza fattuale.
|