Update README.md
Browse files
README.md
CHANGED
|
@@ -18,6 +18,98 @@ tags:
|
|
| 18 |
- peft
|
| 19 |
- portuguese
|
| 20 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
# Boana-7B
|
| 22 |
|
| 23 |
<p align="center">
|
|
@@ -67,7 +159,6 @@ def GeneratePrompt(input, instruction):
|
|
| 67 |
|
| 68 |
model_config = GenerationConfig.from_model_config(model.generation_config)
|
| 69 |
model.generation_config.temperature = 0.9 # You can vary this value between 0 and 1.
|
| 70 |
-
# We observed that, with very low values, the model tends to use English and Portuguese in the response.
|
| 71 |
|
| 72 |
model = AutoModelForCausalLM.from_pretrained('lrds-code/boana-7b')
|
| 73 |
tokenizer = AutoTokenizer.from_pretrained('lrds-code/boana-7b')
|
|
|
|
| 18 |
- peft
|
| 19 |
- portuguese
|
| 20 |
---
|
| 21 |
+
|
| 22 |
+
<hr>
|
| 23 |
+
|
| 24 |
+
# PT - README
|
| 25 |
+
|
| 26 |
+
<hr>
|
| 27 |
+
|
| 28 |
+
# Boana-7B
|
| 29 |
+
|
| 30 |
+
<p align="center">
|
| 31 |
+
<img width="250" alt="Boana Logo" src="https://cdn-uploads.huggingface.co/production/uploads/658c21f4c1229bf113295773/_Dc6z1IAL-zUiy0LMSSqf.png">
|
| 32 |
+
</p>
|
| 33 |
+
|
| 34 |
+
Boana-7B é um LLM treinado em dados da língua portuguesa. O modelo é baseado no [LLaMA2-7B](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf), uma versão de 7B de parâmetros do LLaMA-2. O projeto Boana tem como objetivo oferecer opções de LLM em língua portuguesa, ao mesmo tempo que disponibiliza um modelo menos complexo para que, dessa forma, usuários com menos poder computacional possam usufruir das LLMs.
|
| 35 |
+
|
| 36 |
+
Em apoio aos países de língua portuguesa: Angola, Brasil, Cabo Verde, Guiné Bissau, Guiné Equatorial, Moçambique, Portugal, São Tomé e Príncipe e Timor-Leste.
|
| 37 |
+
|
| 38 |
+
<p align="center">
|
| 39 |
+
<img width="250" alt="Countries Logo" src="https://cdn-uploads.huggingface.co/production/uploads/658c21f4c1229bf113295773/d3twZrXng5eDjg_LbH4pF.png">
|
| 40 |
+
</p>
|
| 41 |
+
|
| 42 |
+
### Descrição do Modelo
|
| 43 |
+
|
| 44 |
+
- **Desenvolvido por:** [Leonardo Souza](https://huggingface.co/lrds-code)
|
| 45 |
+
- **Tipo do modelo:** LLaMA-Based
|
| 46 |
+
- **Licença:** Academic Free License v3.0
|
| 47 |
+
- **Fine-tunado do modelo:** [LLaMA2-7B](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf)
|
| 48 |
+
|
| 49 |
+
## Estilo do Prompt
|
| 50 |
+
|
| 51 |
+
Usamos o mesmo prompt usado no fine-tune do modelo [Cabrita](https://huggingface.co/22h/cabrita-lora-v0-1). Você pode saber mais no repositório oficial no [GitHub](https://github.com/22-hours/cabrita/blob/main/notebooks/train_lora.ipynb).
|
| 52 |
+
|
| 53 |
+
## Como Usar
|
| 54 |
+
|
| 55 |
+
```python
|
| 56 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
|
| 57 |
+
|
| 58 |
+
def GeneratePrompt(input, instruction):
|
| 59 |
+
if input!='' and instruction!=0:
|
| 60 |
+
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.
|
| 61 |
+
### Instrução:
|
| 62 |
+
{instruction}
|
| 63 |
+
### Entrada:
|
| 64 |
+
{input}'''
|
| 65 |
+
else:
|
| 66 |
+
return f'''Abaixo está uma instrução que descreve uma tarefa. Escreva uma resposta que complete adequadamente o pedido.
|
| 67 |
+
### Instrução:
|
| 68 |
+
{instruction}
|
| 69 |
+
### '''
|
| 70 |
+
|
| 71 |
+
model_config = GenerationConfig.from_model_config(model.generation_config)
|
| 72 |
+
model.generation_config.temperature = 0.9 # Você pode variar esse valor entre 0 e 1.
|
| 73 |
+
|
| 74 |
+
model = AutoModelForCausalLM.from_pretrained('lrds-code/boana-7b')
|
| 75 |
+
tokenizer = AutoTokenizer.from_pretrained('lrds-code/boana-7b')
|
| 76 |
+
|
| 77 |
+
instruction = 'Como desenvolver habilidades de programação em python?'
|
| 78 |
+
text = GeneratePrompt(input='', instruction=instruction)
|
| 79 |
+
inputs = tokenizer(text, return_tensors='pt')
|
| 80 |
+
outputs = model.generate(input_ids=inputs['input_ids'], attention_mask=inputs['attention_mask'], generation_config=model_config, repetition_penalty=1.1)
|
| 81 |
+
|
| 82 |
+
# repetition_penalty:
|
| 83 |
+
# Observamos que em alguns casos de entrada o modelo repetiu excessivamente algumas palavras.
|
| 84 |
+
# Esse parâmetro é usado para tentar reduzir esse comportamento.
|
| 85 |
+
# Atribuir um valor muito alto para esse parâmetro pode fazer com que o modelo busque excessivamente por outras palavras e, sendo assim, talvez usar palavras da língua inglesa na saída.
|
| 86 |
+
|
| 87 |
+
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|
| 88 |
+
|
| 89 |
+
## Abaixo está uma instrução que descreve uma tarefa. Escreva uma resposta que complete adequadamente o pedido.
|
| 90 |
+
## ### Instrução:
|
| 91 |
+
## Como desenvolver habilidades de programação em python?
|
| 92 |
+
## ### Resposta:
|
| 93 |
+
## Aqui estão algumas dicas para aprender Python:
|
| 94 |
+
## 1. Comece com os fundamentos. Aprenda as principais palavras-chave e conceitos básicos, como variáveis, tipos de dados, funções, módulos, etc.
|
| 95 |
+
## 2. Pratique com exercícios. Experimentar com diferentes tipos de problemas pode ajudá-lo a entender melhor o idioma.
|
| 96 |
+
## 3. Leia documentação. Aprenda sobre as funcionalidades específicas do Python e como elas são usadas.
|
| 97 |
+
## 4. Use recursos on-line. Há muitos recursos disponíveis online que podem ajudá-lo a aprender Python, como cursos, tutoriales, livros, etc.
|
| 98 |
+
## 5. Participe de comunidades. Encontre um grupo de pessoas que compartilham seus interesses e se conectem com eles.
|
| 99 |
+
## 6. Faça perguntas. Se você tiver alguma dúvida ou precisar de ajuda, não hesite em perguntar.
|
| 100 |
+
## 7. Aprenda com outros. Aprenda com outros programadores e compartilhe suas próprias ideias.
|
| 101 |
+
## 8. Desenvolva projetos. Crie algo que possa ser útil para você ou para outras pessoas.
|
| 102 |
+
## 9. Lembre-se de que aprender é um processo contínuo. Não se esqueça de continuar praticando e aprendendo novas coisas.
|
| 103 |
+
## 10. Certifique-se de ter paciência. Aprender um idioma é um processo lento e exigente, mas valerá a pena.
|
| 104 |
+
```
|
| 105 |
+
|
| 106 |
+
<hr>
|
| 107 |
+
|
| 108 |
+
# EN - README
|
| 109 |
+
|
| 110 |
+
<hr>
|
| 111 |
+
|
| 112 |
+
|
| 113 |
# Boana-7B
|
| 114 |
|
| 115 |
<p align="center">
|
|
|
|
| 159 |
|
| 160 |
model_config = GenerationConfig.from_model_config(model.generation_config)
|
| 161 |
model.generation_config.temperature = 0.9 # You can vary this value between 0 and 1.
|
|
|
|
| 162 |
|
| 163 |
model = AutoModelForCausalLM.from_pretrained('lrds-code/boana-7b')
|
| 164 |
tokenizer = AutoTokenizer.from_pretrained('lrds-code/boana-7b')
|