rhaymison's picture
Update README.md
337c553 verified
metadata
language:
  - pt
license: apache-2.0
library_name: transformers
tags:
  - portuguese
  - brasil
  - gemma
  - portugues
  - instrucao
base_model: google/gemma-2b-it
datasets:
  - rhaymison/superset
pipeline_tag: text-generation
model-index:
  - name: gemma-portuguese-tom-cat-2b-it
    results:
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: ENEM Challenge (No Images)
          type: eduagarcia/enem_challenge
          split: train
          args:
            num_few_shot: 3
        metrics:
          - type: acc
            value: 27.71
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=rhaymison/gemma-portuguese-tom-cat-2b-it
          name: Open Portuguese LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: BLUEX (No Images)
          type: eduagarcia-temp/BLUEX_without_images
          split: train
          args:
            num_few_shot: 3
        metrics:
          - type: acc
            value: 29.07
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=rhaymison/gemma-portuguese-tom-cat-2b-it
          name: Open Portuguese LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: OAB Exams
          type: eduagarcia/oab_exams
          split: train
          args:
            num_few_shot: 3
        metrics:
          - type: acc
            value: 27.97
            name: accuracy
        source:
          url: >-
            https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=rhaymison/gemma-portuguese-tom-cat-2b-it
          name: Open Portuguese LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: Assin2 RTE
          type: assin2
          split: test
          args:
            num_few_shot: 15
        metrics:
          - type: f1_macro
            value: 46.84
            name: f1-macro
        source:
          url: >-
            https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=rhaymison/gemma-portuguese-tom-cat-2b-it
          name: Open Portuguese LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: Assin2 STS
          type: eduagarcia/portuguese_benchmark
          split: test
          args:
            num_few_shot: 15
        metrics:
          - type: pearson
            value: 14.06
            name: pearson
        source:
          url: >-
            https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=rhaymison/gemma-portuguese-tom-cat-2b-it
          name: Open Portuguese LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: FaQuAD NLI
          type: ruanchaves/faquad-nli
          split: test
          args:
            num_few_shot: 15
        metrics:
          - type: f1_macro
            value: 29.39
            name: f1-macro
        source:
          url: >-
            https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=rhaymison/gemma-portuguese-tom-cat-2b-it
          name: Open Portuguese LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: HateBR Binary
          type: ruanchaves/hatebr
          split: test
          args:
            num_few_shot: 25
        metrics:
          - type: f1_macro
            value: 46.59
            name: f1-macro
        source:
          url: >-
            https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=rhaymison/gemma-portuguese-tom-cat-2b-it
          name: Open Portuguese LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: PT Hate Speech Binary
          type: hate_speech_portuguese
          split: test
          args:
            num_few_shot: 25
        metrics:
          - type: f1_macro
            value: 45.36
            name: f1-macro
        source:
          url: >-
            https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=rhaymison/gemma-portuguese-tom-cat-2b-it
          name: Open Portuguese LLM Leaderboard
      - task:
          type: text-generation
          name: Text Generation
        dataset:
          name: tweetSentBR
          type: eduagarcia/tweetsentbr_fewshot
          split: test
          args:
            num_few_shot: 25
        metrics:
          - type: f1_macro
            value: 18.86
            name: f1-macro
        source:
          url: >-
            https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=rhaymison/gemma-portuguese-tom-cat-2b-it
          name: Open Portuguese LLM Leaderboard

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