Update README.md
Browse files
README.md
CHANGED
@@ -47,17 +47,27 @@ 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.
|
|
|
51 |
|
52 |
```python
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
|
54 |
from peft import PeftModel, PeftConfig
|
55 |
|
56 |
llm_model = 'recogna-nlp/bode-13b-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
|
@@ -84,7 +94,8 @@ def generate_prompt(instruction, input=None):
|
|
84 |
generation_config = GenerationConfig(
|
85 |
temperature=0.2,
|
86 |
top_p=0.75,
|
87 |
-
num_beams=
|
|
|
88 |
)
|
89 |
|
90 |
def evaluate(instruction, input=None):
|
@@ -96,7 +107,7 @@ def evaluate(instruction, input=None):
|
|
96 |
generation_config=generation_config,
|
97 |
return_dict_in_generate=True,
|
98 |
output_scores=True,
|
99 |
-
|
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.
|
51 |
+
Abaixo, colocamos um exemplo simples de como carregar o modelo e gerar texto:
|
52 |
|
53 |
```python
|
54 |
+
|
55 |
+
# Downloads necessários
|
56 |
+
!pip install transformers
|
57 |
+
!pip install einops accelerate bitsandbytes
|
58 |
+
!pip install sentence_transformers
|
59 |
+
!pip install git+https://github.com/huggingface/peft.git
|
60 |
+
|
61 |
+
|
62 |
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
|
63 |
from peft import PeftModel, PeftConfig
|
64 |
|
65 |
llm_model = 'recogna-nlp/bode-13b-alpaca-pt-br'
|
66 |
+
hf_auth = 'HF_ACCESS_KEY'
|
67 |
config = PeftConfig.from_pretrained(llm_model)
|
68 |
+
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)
|
69 |
+
tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path, token=hf_auth)
|
70 |
+
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".
|
71 |
model.eval()
|
72 |
|
73 |
#Testando geração de texto
|
|
|
94 |
generation_config = GenerationConfig(
|
95 |
temperature=0.2,
|
96 |
top_p=0.75,
|
97 |
+
num_beams=2,
|
98 |
+
do_sample=True
|
99 |
)
|
100 |
|
101 |
def evaluate(instruction, input=None):
|
|
|
107 |
generation_config=generation_config,
|
108 |
return_dict_in_generate=True,
|
109 |
output_scores=True,
|
110 |
+
max_length=300
|
111 |
)
|
112 |
for s in generation_output.sequences:
|
113 |
output = tokenizer.decode(s)
|