Ollama:treinamento

De BrapciWiki
Revisão de 14h45min de 13 de julho de 2024 por Renefgj (discussão | contribs) (Criou página com '=Treinamento= ==Instalar Bibliotecas Necessárias == pip install transformers torch datasets ==Preparar os Dados== Estruture seus dados para que estejam em um formato que po...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Treinamento

Instalar Bibliotecas Necessárias

pip install transformers torch datasets

Preparar os Dados

Estruture seus dados para que estejam em um formato que possa ser facilmente carregado. Um exemplo de formato JSON:

[
 {"input": "texto de entrada 1", "output": "resposta 1"},
 {"input": "texto de entrada 2", "output": "resposta 2"}
]

Carregar os Dados

Utilize a biblioteca datasets para carregar e preparar seus dados:

from datasets import load_dataset
dataset = load_dataset('json', data_files={'train': 'path_to_train_data.json', 'validation': 'path_to_val_data.json'})

Configurando o modelo

from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "facebook/llama-3"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

Pré-processar os Dados

Tokenize os dados para que possam ser processados pelo modelo:

def tokenize_function(examples):
   return tokenizer(examples["input"], padding="max_length", truncation=True)
tokenized_datasets = dataset.map(tokenize_function, batched=True)

Treinar o Modelo

from transformers import Trainer, TrainingArguments

training_args = TrainingArguments(
   output_dir="./results",
   evaluation_strategy="epoch",
   learning_rate=2e-5,
   per_device_train_batch_size=8,
   per_device_eval_batch_size=8,
   num_train_epochs=3,
   weight_decay=0.01,
)

trainer = Trainer(

   model=model,
   args=training_args,
   train_dataset=tokenized_datasets["train"],
   eval_dataset=tokenized_datasets["validation"],

)

trainer.train()