gemma-portuguese-tom-cat-2b-it
Model description
updated: 2024-04-10 20:06
The gemma-portuguese-tom-cat-2b-it model is a portuguese model trained with the superset dataset with 250,000 instructions. The model is mainly focused on text generation and instruction. The model was not trained on math and code tasks. The model is generalist with focus on understand portuguese inferences. With this fine tuning for portuguese, you can adjust the model for a specific field.
How to Use
from transformers import AutoTokenizer, pipeline
import torch
model = "rhaymison/gemma-portuguese-tom-cat-2b-it"
tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = pipeline(
"text-generation",
model=model,
model_kwargs={"torch_dtype": torch.bfloat16},
device="cuda",
)
messages = [
{
"role": "system",
"content": "Abaixo está uma instrução que descreve uma tarefa, juntamente com uma entrada que fornece mais contexto. Escreva uma resposta que complete adequadamente o pedido."
},
{"role": "user", "content": "Me conte sobre a ida do homem a Lua."},
]
prompt = pipeline.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipeline(
prompt,
max_new_tokens=256,
do_sample=True,
temperature=0.2,
top_k=50,
top_p=0.95
)
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer2 = AutoTokenizer.from_pretrained("rhaymison/gemma-portuguese-tom-cat-2b-it")
model2 = AutoModelForCausalLM.from_pretrained("rhaymison/gemma-portuguese-tom-cat-2b-it", device_map={"":0})
tokenizer2.pad_token = tokenizer2.eos_token
tokenizer2.add_eos_token = True
tokenizer2.add_bos_token, tokenizer2.add_eos_token
tokenizer2.padding_side = "right"
def format_template( question:str):
system_prompt = "Abaixo está uma instrução que descreve uma tarefa, juntamente com uma entrada que fornece mais contexto. Escreva uma resposta que complete adequadamente o pedido."
text = f"""<bos>system
{system_prompt}<end_of_turn>
<start_of_turn>user
###instrução: {question} <end_of_turn>
<start_of_turn>model"""
return text
question = format_template("Me conte sobre a ida do homem a Lua")
device = "cuda:0"
inputs = tokenizer2(text, return_tensors="pt").to(device)
outputs = model2.generate(**inputs, max_new_tokens=256, do_sample=False)
output = tokenizer2.decode(outputs[0], skip_special_tokens=True, skip_prompt=True)
print(output.replace("model"," "))
Comments
Any idea, help or report will always be welcome.
email: rhaymisoncristian@gmail.com
Open Portuguese LLM Leaderboard Evaluation Results
Detailed results can be found here and on the 🚀 Open Portuguese LLM Leaderboard
| Metric | Value |
|---|---|
| Average | 31.76 |
| ENEM Challenge (No Images) | 27.71 |
| BLUEX (No Images) | 29.07 |
| OAB Exams | 27.97 |
| Assin2 RTE | 46.84 |
| Assin2 STS | 14.06 |
| FaQuAD NLI | 29.39 |
| HateBR Binary | 46.59 |
| PT Hate Speech Binary | 45.36 |
| tweetSentBR | 18.86 |