phpaiola commited on
Commit
ecfd29d
1 Parent(s): 2cdbdb1

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +62 -19
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
- from transformers import AutoModelForCausalLM, AutoTokenizer
40
-
41
- model_name = "recogna-nlp/bode-7b-alpaca-pt-br"
42
- tokenizer = AutoTokenizer.from_pretrained(model_name)
43
- model = AutoModelForCausalLM.from_pretrained(model_name)
44
-
45
- input_text = "Bode é um modelo de linguagem muito eficiente para o português."
46
- input_ids = tokenizer.encode(input_text, return_tensors="pt")
47
- output = model.generate(input_ids, max_length=50, num_return_sequences=1)
48
-
49
- generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
50
- print(generated_text)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 dataset Alpaca contém X milhões de amostras de texto em português, coletadas de [fontes] e pré-processadas para o treinamento do modelo. O treinamento foi realizado com os seguintes hiperparâmetros: [inserir hiperparâmetros].
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 [recogna-nlp@gmail.com].
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 [recogna-nlp@gmail.com].
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
+ }