mamba_790_hf_qa / README.md
DeepMount00's picture
Upload MambaForCausalLM
cd504e0 verified
|
raw
history blame
2.8 kB
metadata
language:
  - it
license: apache-2.0
datasets:
  - DeepMount00/gquad_it
pipeline_tag: question-answering

SQuAD-it Evaluation

The Stanford Question Answering Dataset (SQuAD) in Italian (SQuAD-it) is used to evaluate the model's reading comprehension and question-answering capabilities. The following table presents the F1 score and Exact Match (EM) metrics, including the percentage improvements:

Model F1 Score Exact Match (EM)
DeepMount00/Gemma_QA_ITA_v3 77.24% 64.60%
DeepMount00/Gemma_QA_ITA_v2 77.17% 63.82%
DeepMount00/mamba_790_hf_qa 71.25% 60.64%
DeepMount00/Gemma_QA_ITA 59.59% 40.68%

How to Use

How to use mamba q&a

from transformers import MambaConfig, MambaForCausalLM, AutoTokenizer
import torch

model_name = "DeepMount00/mamba_790_hf_qa"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = MambaForCausalLM.from_pretrained(model_name, device_map={"": 0}).eval()


def predict(contesto, domanda):
    device = "cuda:0"
    prefix_text = 'Di seguito ti verrà fornito un contesto e poi una domanda. il tuo compito è quello di rispondere alla domanda basandoti esclusivamente sul contesto\n\n'

    prompt = f"""{prefix_text}##CONTESTO: {contesto}\n##DOMANDA: {domanda}\n"""

    input_ids = tokenizer([prompt], return_tensors="pt").to(device)

    generate_ids = model.generate(**input_ids, max_new_tokens=150, eos_token_id=8112)

    answer = tokenizer.batch_decode(generate_ids)
    try:
        final_answer = answer[0].split("##RISPOSTA: ")[1].split("##END")[0].strip("\n")
    except IndexError:
        final_answer = ""
    return final_answer


contesto = """La torre degli Asinelli è una delle cosiddette due torri di Bologna, simbolo della città, situate in piazza di porta Ravegnana, all'incrocio tra le antiche strade San Donato (ora via Zamboni), San Vitale, Maggiore e Castiglione. Eretta, secondo la tradizione, fra il 1109 e il 1119 dal nobile Gherardo Asinelli, la torre è alta 97,20 metri, pende verso ovest per 2,23 metri e presenta all'interno una scalinata composta da 498 gradini. Ancora non si può dire con certezza quando e da chi fu costruita la torre degli Asinelli. Si presume che la torre debba il proprio nome a Gherardo Asinelli, il nobile cavaliere di fazione ghibellina al quale se ne attribuisce la costruzione, iniziata secondo una consolidata tradizione l'11 ottobre 1109 e terminata dieci anni dopo, nel 1119."""
domanda = "Dove si trova precisamente la torre degli Asinelli?"

print(predict(contesto, domanda))