samba-1.1B / README.md
lrds-code's picture
Update README.md
faed16b verified
|
raw
history blame
5.08 kB
metadata
language:
  - pt
license: llama2
library_name: transformers
tags:
  - Portuguese
  - Llama
  - Tiny-Llama
  - LLM
  - PEFT
pipeline_tag: text-generation
widget:
  - text: |
      Quem foi Pedro Álvares Cabral?

PT - README


Samba Logo

Samba é um LLM treinado em dados da língua portuguesa. O modelo é baseado no TinyLlama-1.1B, uma versão de 1.1B parâmetros do LLaMA-2.

Countries Logo

Descrição do Modelo

Como usar

Com o transformers pipeline:

import torch
from transformers import pipeline

samba = pipeline('text-generation', model='lrds-code/samba-1.1B', torch_dtype=torch.bfloat16, device_map='auto')

messages = [{'role':'system',
             'content':''},
            {'role':'user',
             'content':'Quantos planetas existem no sistema solar?'}]

prompt = samba.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = samba(prompt, max_new_tokens=256, do_sample=False, temperature=0.1, top_k=50, top_p=0.95, repetition_penalty=1.1, do_sample=False)
print(outputs[0]['generated_text'])

Com o transformers AutoModel

from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig

def GeneratePrompt(input, instruction):
    if input!='' and instruction!=0:
        return f'''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.
### Instrução
{instruction}
### Entrada
{input}'''
    else:
        return f'''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.
### Instrução
{instruction}
### Entrada'''

model_config = GenerationConfig.from_model_config(model.generation_config)
model.generation_config.temperature = 0.1

model = AutoModelForCausalLM.from_pretrained('lrds-code/samba-1.1B')
tokenizer = AutoTokenizer.from_pretrained('lrds-code/samba-1.1B')

instruction = 'Quantos planetas existem no sistema solar?'
text = GeneratePrompt(input='', instruction=instruction)
inputs = tokenizer(text, return_tensors='pt')
outputs = model.generate(input_ids=inputs['input_ids'], attention_mask=inputs['attention_mask'], generation_config=model_config, repetition_penalty=1.1, do_sample=False)
print(outputs[0]['generated_text'])

Prompt para Finetune

Para o finetune do Samba utilizamos o template Alpaca.

'''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.
### Instrução
{instruction}
### Entrada
{input}
### Resposta
{output}'''

Parâmetros importantes


EN - README


Samba-1.1B

Samba Logo

Samba is a LLM trained on portuguese language data. The model is based on TinyLlama-1.1B, a 1.1B parameter version of LLaMA-2.

The LLM Samba project aims to provide more LLM options in Portuguese, while also providing less complex models so that users with less computational power can take advantage of the LLMs.

Countries Logo

Model Description

How to Use

import torch
from transformers import pipeline

samba = pipeline('text-generation', model='lrds-code/samba-1.1B', torch_dtype=torch.bfloat16, device_map='auto')

messages = [{"role": "system",
             "content": ""},
            {"role": "user",
             "content": "Quantos planetas existem no sistema solar?"}]

prompt = samba.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = samba(prompt, max_new_tokens=256, do_sample=False, temperature=0.1, top_k=50, top_p=0.95)
print(outputs[0]['generated_text'])