Update README.md
Browse files
README.md
CHANGED
@@ -16,6 +16,7 @@ tags:
|
|
16 |
- Alpaca
|
17 |
- Llama 2
|
18 |
- Q&A
|
|
|
19 |
---
|
20 |
|
21 |
![Logo Bode LLM](https://huggingface.co/recogna-nlp/bode-7b-alpaca-pt-br/blob/main/Logo_Bode_LLM.jpg)
|
@@ -23,7 +24,7 @@ tags:
|
|
23 |
|
24 |
# BODE
|
25 |
|
26 |
-
Bode é um modelo de linguagem (LLM) para o português desenvolvido a partir do modelo Llama 2 por meio de fine-tuning no dataset Alpaca. Este modelo é projetado para tarefas de processamento de linguagem natural em português, como geração de texto, tradução automática, resumo de texto e muito mais.
|
27 |
|
28 |
## Detalhes do Modelo
|
29 |
|
@@ -36,36 +37,78 @@ Bode é um modelo de linguagem (LLM) para o português desenvolvido a partir do
|
|
36 |
Você pode usar o Bode facilmente com a biblioteca Transformers do HuggingFace. Aqui está um exemplo simples de como carregar o modelo e gerar texto:
|
37 |
|
38 |
```python
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
model
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
```
|
52 |
|
53 |
## Treinamento e Dados
|
54 |
|
55 |
-
O modelo Bode foi treinado por fine-tuning a partir do modelo Llama 2 usando o dataset Alpaca em português. O
|
56 |
|
57 |
## Contribuições
|
58 |
|
59 |
Contribuições para a melhoria deste modelo são bem-vindas. Sinta-se à vontade para abrir problemas e solicitações pull.
|
60 |
|
61 |
-
## Agradecimentos e Considerações
|
62 |
-
|
63 |
-
Agracimentos aqui...
|
64 |
-
|
65 |
## Contato
|
66 |
|
67 |
Para perguntas, sugestões ou colaborações, entre em contato com [[email protected]].
|
68 |
|
69 |
## Citação
|
70 |
|
71 |
-
Se você usar o modelo de linguagem Bode em sua pesquisa ou projeto, por favor, cite-o da seguinte maneira:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
- Alpaca
|
17 |
- Llama 2
|
18 |
- Q&A
|
19 |
+
library_name: peft
|
20 |
---
|
21 |
|
22 |
![Logo Bode LLM](https://huggingface.co/recogna-nlp/bode-7b-alpaca-pt-br/blob/main/Logo_Bode_LLM.jpg)
|
|
|
24 |
|
25 |
# BODE
|
26 |
|
27 |
+
Bode é um modelo de linguagem (LLM) para o português desenvolvido a partir do modelo Llama 2 por meio de fine-tuning no dataset Alpaca, traduzido para o português pelos autores do [Cabrita](https://huggingface.co/22h/cabrita-lora-v0-1). Este modelo é projetado para tarefas de processamento de linguagem natural em português, como geração de texto, tradução automática, resumo de texto e muito mais.
|
28 |
|
29 |
## Detalhes do Modelo
|
30 |
|
|
|
37 |
Você pode usar o Bode facilmente com a biblioteca Transformers do HuggingFace. Aqui está um exemplo simples de como carregar o modelo e gerar texto:
|
38 |
|
39 |
```python
|
40 |
+
config = PeftConfig.from_pretrained(llm_model)
|
41 |
+
model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path, trust_remote_code=True, return_dict=True, load_in_8bit=True, device_map='auto')
|
42 |
+
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
|
43 |
+
model = PeftModel.from_pretrained(model, llm_model)
|
44 |
+
model.eval()
|
45 |
+
|
46 |
+
#Testando geração de texto
|
47 |
+
|
48 |
+
def generate_prompt(instruction, input=None):
|
49 |
+
if input:
|
50 |
+
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.
|
51 |
+
|
52 |
+
### Instrução:
|
53 |
+
{instruction}
|
54 |
+
|
55 |
+
### Entrada:
|
56 |
+
{input}
|
57 |
+
|
58 |
+
### Resposta:"""
|
59 |
+
else:
|
60 |
+
return f"""Abaixo está uma instrução que descreve uma tarefa. Escreva uma resposta que complete adequadamente o pedido.
|
61 |
+
|
62 |
+
### Instrução:
|
63 |
+
{instruction}
|
64 |
+
|
65 |
+
### Resposta:"""
|
66 |
+
|
67 |
+
generation_config = GenerationConfig(
|
68 |
+
temperature=0.2,
|
69 |
+
top_p=0.75,
|
70 |
+
num_beams=4,
|
71 |
+
)
|
72 |
+
|
73 |
+
def evaluate(instruction, input=None):
|
74 |
+
prompt = generate_prompt(instruction, input)
|
75 |
+
inputs = tokenizer(prompt, return_tensors="pt")
|
76 |
+
input_ids = inputs["input_ids"].cuda()
|
77 |
+
generation_output = model.generate(
|
78 |
+
input_ids=input_ids,
|
79 |
+
generation_config=generation_config,
|
80 |
+
return_dict_in_generate=True,
|
81 |
+
output_scores=True,
|
82 |
+
max_new_tokens=256
|
83 |
+
)
|
84 |
+
for s in generation_output.sequences:
|
85 |
+
output = tokenizer.decode(s)
|
86 |
+
print("Resposta:", output.split("### Resposta:")[1].strip())
|
87 |
+
|
88 |
+
evaluate("O que é um bode?")
|
89 |
```
|
90 |
|
91 |
## Treinamento e Dados
|
92 |
|
93 |
+
O modelo Bode foi treinado por fine-tuning a partir do modelo Llama 2 usando o dataset Alpaca em português. O treinamento foi realizado no Supercomputador Santos Dumont do LNCC, através do projeto da Fundunesp em parceria com a Petrobras: 2019/00697-8 - ProtoRADIAR: Métodos de Captura e Disseminação do Conhecimento, através de Processamento de Linguagem Natural na Área de Poços.
|
94 |
|
95 |
## Contribuições
|
96 |
|
97 |
Contribuições para a melhoria deste modelo são bem-vindas. Sinta-se à vontade para abrir problemas e solicitações pull.
|
98 |
|
|
|
|
|
|
|
|
|
99 |
## Contato
|
100 |
|
101 |
Para perguntas, sugestões ou colaborações, entre em contato com [[email protected]].
|
102 |
|
103 |
## Citação
|
104 |
|
105 |
+
Se você usar o modelo de linguagem Bode em sua pesquisa ou projeto, por favor, cite-o da seguinte maneira:
|
106 |
+
|
107 |
+
@misc{bode_2023,
|
108 |
+
author = { GARCIA, Gabriel Lino and PAIOLA, Pedro Henrique and MORELLI, Luis Henrique and CANDIDO, Giovani and CANDIDO JUNIOR, Arnaldo and GUILHERME, Ivan Rizzo and PAPA, João Paulo and PENTEADO, Bruno Elias},
|
109 |
+
title = { {BODE} },
|
110 |
+
year = 2023,
|
111 |
+
url = { https://huggingface.co/recogna-nlp/bode-7b-alpaca-pt-br },
|
112 |
+
doi = { xxx },
|
113 |
+
publisher = { Hugging Face }
|
114 |
+
}
|