m-elio's picture
added Llama2 notice at the end of README
cc40294 verified
metadata
license: llama2
language:
  - it
tags:
  - text-generation-inference

Model Card for LLaMAntino-2-13b-dolly

Last Update: 22/01/2024

Model description

LLaMAntino-2-13b-dolly is a Large Language Model (LLM) that is an instruction-tuned version of LLaMAntino-2-13b (an italian-adapted LLaMA 2). This model aims to provide Italian NLP researchers with a tool to tackle tasks such as information extraction and closed qa.

The model was trained following the methodology used for Alpaca and using as training data dolly-15k-it formatted in an instruction-following style. If you are interested in more details regarding the training procedure, you can find the code we used at the following link:

NOTICE: the code has not been released yet, we apologize for the delay, it will be available asap!

  • Developed by: Pierpaolo Basile, Elio Musacchio, Marco Polignano, Lucia Siciliani, Giuseppe Fiameni, Giovanni Semeraro
  • Funded by: PNRR project FAIR - Future AI Research
  • Compute infrastructure: Leonardo supercomputer
  • Model type: LLaMA 2
  • Language(s) (NLP): Italian
  • License: Llama 2 Community License
  • Finetuned from model: swap-uniba/LLaMAntino-2-13b-hf-ITA

Prompt Format

This prompt format based on the Alpaca model was used for fine-tuning:

"Di seguito è riportata un'istruzione che descrive un'attività, abbinata ad un input che fornisce ulteriore informazione. " \
"Scrivi una risposta che soddisfi adeguatamente la richiesta.\n\n" \
f"### Istruzione:\n{instruction}\n\n### Input:\n{input}\n\n### Risposta:\n{response}"

If no input was present in the instruction, the following prompt was used:

"Di seguito è riportata un'istruzione che descrive un'attività. " \
"Scrivi una risposta che soddisfi adeguatamente la richiesta.\n\n" \
f"### Istruzione:\n{instruction}\n\n### Risposta:\n{response}"

We recommend using the same prompt in inference to obtain the best results!

How to Get Started with the Model

Below you can find an example of model usage:

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "swap-uniba/LLaMAntino-2-13b-hf-dolly-ITA"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

instruction_text = "Estrai i nomi propri di persona dal testo che segue"
input_text = "Marco ha incontrato Matteo per strada e hanno parlato di Mirco"

prompt = "Di seguito è riportata un'istruzione che descrive un'attività, accompagnata da un input che aggiunge ulteriore informazione. " \
        f"Scrivi una risposta che completi adeguatamente la richiesta.\n\n" \
        f"### Istruzione:\n{instruction_text}\n\n" \
        f"### Input:\n{input_text}\n\n" \
        f"### Risposta:\n"

input_ids = tokenizer(prompt, return_tensors="pt").input_ids
outputs = model.generate(input_ids=input_ids)

print(tokenizer.batch_decode(outputs.detach().cpu().numpy()[:, input_ids.shape[1]:], skip_special_tokens=True)[0])

If you are facing issues when loading the model, you can try to load it quantized:

model = AutoModelForCausalLM.from_pretrained(model_id, load_in_8bit=True)

Note: The model loading strategy above requires the bitsandbytes and accelerate libraries

Evaluation

Coming soon!

Citation

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

@misc{basile2023llamantino,
      title={LLaMAntino: LLaMA 2 Models for Effective Text Generation in Italian Language}, 
      author={Pierpaolo Basile and Elio Musacchio and Marco Polignano and Lucia Siciliani and Giuseppe Fiameni and Giovanni Semeraro},
      year={2023},
      eprint={2312.09993},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

Notice: Llama 2 is licensed under the LLAMA 2 Community License, Copyright © Meta Platforms, Inc. All Rights Reserved. License