recogna commited on
Commit
a830351
·
1 Parent(s): 38de2c3

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +15 -7
README.md CHANGED
@@ -47,21 +47,28 @@ O objetivo do desenvolvimento do BODE é suprir a escassez de LLMs para a língu
47
 
48
  ## Uso
49
 
50
- 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:
51
 
52
  ```python
 
 
 
 
 
 
 
53
  from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
54
  from peft import PeftModel, PeftConfig
55
 
56
  llm_model = 'recogna-nlp/bode-7b-alpaca-pt-br'
 
57
  config = PeftConfig.from_pretrained(llm_model)
58
- model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path, trust_remote_code=True, return_dict=True, load_in_8bit=True, device_map='auto')
59
- tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
60
- model = PeftModel.from_pretrained(model, llm_model)
61
  model.eval()
62
 
63
  #Testando geração de texto
64
-
65
  def generate_prompt(instruction, input=None):
66
  if input:
67
  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.
@@ -84,7 +91,8 @@ def generate_prompt(instruction, input=None):
84
  generation_config = GenerationConfig(
85
  temperature=0.2,
86
  top_p=0.75,
87
- num_beams=4,
 
88
  )
89
 
90
  def evaluate(instruction, input=None):
@@ -96,7 +104,7 @@ def evaluate(instruction, input=None):
96
  generation_config=generation_config,
97
  return_dict_in_generate=True,
98
  output_scores=True,
99
- max_new_tokens=256
100
  )
101
  for s in generation_output.sequences:
102
  output = tokenizer.decode(s)
 
47
 
48
  ## Uso
49
 
50
+ Recomendamos fortemente que utilizem o Kaggle com GPU. Você pode usar o Bode facilmente com a biblioteca Transformers do HuggingFace. Entretanto, é necessário ter a autorização de acesso ao LLaMa 2. Abaixo, colocamos um exemplo simples de como carregar o modelo e gerar texto:
51
 
52
  ```python
53
+
54
+ # Downloads necessários
55
+ !pip install transformers
56
+ !pip install einops accelerate bitsandbytes
57
+ !pip install sentence_transformers
58
+ !pip install git+https://github.com/huggingface/peft.git
59
+
60
  from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
61
  from peft import PeftModel, PeftConfig
62
 
63
  llm_model = 'recogna-nlp/bode-7b-alpaca-pt-br'
64
+ hf_auth = 'HF_ACCESS_KEY'
65
  config = PeftConfig.from_pretrained(llm_model)
66
+ model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path, trust_remote_code=True, return_dict=True, load_in_8bit=True, device_map='auto', token=hf_auth)
67
+ tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path, token=hf_auth)
68
+ model = PeftModel.from_pretrained(model, llm_model) # Caso ocorra o seguinte erro: "ValueError: We need an `offload_dir`... Você deve acrescentar o parâmetro: offload_folder="./offload_dir".
69
  model.eval()
70
 
71
  #Testando geração de texto
 
72
  def generate_prompt(instruction, input=None):
73
  if input:
74
  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.
 
91
  generation_config = GenerationConfig(
92
  temperature=0.2,
93
  top_p=0.75,
94
+ num_beams=2,
95
+ do_sample=True
96
  )
97
 
98
  def evaluate(instruction, input=None):
 
104
  generation_config=generation_config,
105
  return_dict_in_generate=True,
106
  output_scores=True,
107
+ max_length=300
108
  )
109
  for s in generation_output.sequences:
110
  output = tokenizer.decode(s)