97 lines
3.5 KiB
Markdown
97 lines
3.5 KiB
Markdown
---
|
|
license: mit
|
|
language:
|
|
- it
|
|
- en
|
|
library_name: transformers
|
|
tags:
|
|
- sft
|
|
- it
|
|
- mistral
|
|
- chatml
|
|
---
|
|
|
|
# Model Information
|
|
|
|
Azzurro is an updated version of [Mistral-7B-v0.2](https://huggingface.co/alpindale/Mistral-7B-v0.2-hf), specifically fine-tuned with SFT and LoRA adjustments.
|
|
|
|
- It's trained on publicly available datasets, like [SQUAD-it](https://huggingface.co/datasets/squad_it), and datasets we've created in-house.
|
|
- it's designed to understand and maintain context, making it ideal for Retrieval Augmented Generation (RAG) tasks and applications requiring contextual awareness.
|
|
|
|
# Evaluation
|
|
|
|
We evaluated the model using the same test sets as used for the [Open Ita LLM Leaderboard](https://huggingface.co/spaces/FinancialSupport/open_ita_llm_leaderboard)
|
|
|
|
| hellaswag_it acc_norm | arc_it acc_norm | m_mmlu_it 5-shot acc | Average |
|
|
|:----------------------| :--------------- | :-------------------- | :------- |
|
|
| 0.6067 | 0.4405 | 0.5112 | 0,52 |
|
|
|
|
|
|
## Usage
|
|
|
|
Be sure to install these dependencies before running the program
|
|
|
|
```python
|
|
!pip install transformers torch sentencepiece
|
|
```
|
|
|
|
```python
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
|
|
device = "cpu" # if you want to use the gpu make sure to have cuda toolkit installed and change this to "cuda"
|
|
|
|
model = AutoModelForCausalLM.from_pretrained("MoxoffSpA/Azzurro")
|
|
tokenizer = AutoTokenizer.from_pretrained("MoxoffSpA/Azzurro")
|
|
|
|
question = """Quanto è alta la torre di Pisa?"""
|
|
context = """
|
|
La Torre di Pisa è un campanile del XII secolo, famoso per la sua inclinazione. Alta circa 56 metri.
|
|
"""
|
|
|
|
prompt = f"Domanda: {question}, contesto: {context}"
|
|
|
|
messages = [
|
|
{"role": "user", "content": prompt}
|
|
]
|
|
|
|
encodeds = tokenizer.apply_chat_template(messages, return_tensors="pt")
|
|
|
|
model_inputs = encodeds.to(device)
|
|
model.to(device)
|
|
|
|
generated_ids = model.generate(
|
|
model_inputs, # The input to the model
|
|
max_new_tokens=128, # Limiting the maximum number of new tokens generated
|
|
do_sample=True, # Enabling sampling to introduce randomness in the generation
|
|
temperature=0.1, # Setting temperature to control the randomness, lower values make it more deterministic
|
|
top_p=0.95, # Using nucleus sampling with top-p filtering for more coherent generation
|
|
eos_token_id=tokenizer.eos_token_id # Specifying the token that indicates the end of a sequence
|
|
)
|
|
|
|
decoded_output = tokenizer.decode(generated_ids[0], skip_special_tokens=True)
|
|
trimmed_output = decoded_output.strip()
|
|
print(trimmed_output)
|
|
```
|
|
|
|
## Bias, Risks and Limitations
|
|
|
|
Azzurro has not been aligned to human preferences for safety within the RLHF phase or deployed with in-the-loop filtering of
|
|
responses like ChatGPT, so the model can produce problematic outputs (especially when prompted to do so). It is also unknown what the size and composition
|
|
of the corpus was used to train the base model (mistralai/Mistral-7B-v0.2), however it is likely to have included a mix of Web data and technical sources
|
|
like books and code.
|
|
|
|
## Links to resources
|
|
|
|
- SQUAD-it dataset: https://huggingface.co/datasets/squad_it
|
|
- Mistral_7B_v0.2 original weights: https://models.mistralcdn.com/mistral-7b-v0-2/mistral-7B-v0.2.tar
|
|
- Mistral_7B_v0.2 model: https://huggingface.co/alpindale/Mistral-7B-v0.2-hf
|
|
- Open Ita LLM Leaderbord: https://huggingface.co/spaces/FinancialSupport/open_ita_llm_leaderboard
|
|
|
|
## Quantized versions
|
|
|
|
We have published as well the 4 bit and 8 bit versions of this model:
|
|
https://huggingface.co/MoxoffSpA/AzzurroQuantized
|
|
|
|
## The Moxoff Team
|
|
|
|
Jacopo Abate, Marco D'Ambra, Luigi Simeone, Gianpaolo Francesco Trotta |