File size: 2,964 Bytes
861cf63
 
362f03c
 
 
 
 
 
d607db4
e6f9f75
 
 
 
 
 
861cf63
8e4e5a3
a8b54ad
8e4e5a3
4869988
8e4e5a3
a8b54ad
8e4e5a3
 
3ec1139
8ef885d
3ec1139
 
db6cb1f
3ec1139
ba72360
 
 
3ec1139
ff18ec2
3ec1139
 
 
 
 
 
 
 
 
ba72360
 
3ec1139
ba72360
3ec1139
ff18ec2
 
 
 
3ec1139
ba72360
ff18ec2
 
 
 
4869988
ff18ec2
4869988
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
---
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?
---

<hr>

# README

<hr>


<p align="center">
  <img width="250" alt="Samba Logo" src="https://cdn-uploads.huggingface.co/production/uploads/658c21f4c1229bf113295773/xH3K8H4qu2ps_IzAl9cgz.png">
</p>

Samba é um LLM treinado em dados da língua portuguesa. O modelo é baseado no [TinyLlama-1.1B](https://huggingface.co/TinyLlama/TinyLlama-1.1B-Chat-v1.0), uma versão de 1.1B parâmetros do LLaMA-2.

<p align="center">
  <img width="250" alt="Countries Logo" src="https://cdn-uploads.huggingface.co/production/uploads/658c21f4c1229bf113295773/d3twZrXng5eDjg_LbH4pF.png">
</p>

## Descrição do Modelo

- **Desenvolvido por:** [Leonardo Souza](https://huggingface.co/lrds-code)
- **Tipo do Modelo:** LLaMA-Based
- **Licença:** Academic Free License v3.0
- **Fine-tunado do modelo:** [TinyLlama-1.1B](https://huggingface.co/TinyLlama/TinyLlama-1.1B-Chat-v1.0)

## Como usar

```python
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.