metadata
language:
- pt
license: llama2
tags:
- Portuguese
- Tiny-Llama
- PEFT
widget:
- example_title: Pedro Álvares Cabral
messages:
- role: system
content: Você é um historiador que é especialista em história do Brasil.
- role: user
content: Quem foi Pedro Álvares Cabral?
README
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.
Descrição do Modelo
- Desenvolvido por: Leonardo Souza
- Tipo do Modelo: LLaMA-Based
- Licença: Academic Free License v3.0
- Fine-tunado do modelo: TinyLlama-1.1B
Como usar
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'])
Parâmetros Importantes
- repetition_penalty: é utilizado para evitar a repetição de palavras ou frases. Quando esse valor é ajustado para ser maior que 1, o modelo tenta diminuir a probabilidade de gerar palavras que já apareceram anteriormente. Basicamente, quanto maior o valor, mais o modelo tenta evitar repetições.
- do_sample: determina se o modelo deve ou não amostrar aleatoriamente a próxima palavra com base nas probabilidades calculadas. Portanto, do_sample=True introduz variação e imprevisibilidade no texto gerado, enquanto que se do_sample=False o modelo escolherá sempre a palavra mais provável como próxima palavra, o que pode levar a saídas mais determinísticas e, possivelmente, mais repetitivas.
- temperature: afeta a aleatoriedade na escolha da próxima palavra. Um valor baixo (próximo de 0) faz com que o modelo seja mais "confiante" nas suas escolhas, favorecendo palavras com alta probabilidade e levando a saídas mais previsíveis. Por outro lado, um valor alto aumenta a aleatoriedade, permitindo que o modelo escolha palavras menos prováveis, o que pode tornar o texto gerado mais variado e criativo.