Mudanças entre as edições de "Ollama:treinamento"
Ir para navegação
Ir para pesquisar
| Linha 1: | Linha 1: | ||
| + | =Conceitos= | ||
| + | * [[Retrieval Augmented Generation]] (RAG) | ||
| + | |||
=Treinamento= | =Treinamento= | ||
==Instalar Bibliotecas Necessárias == | ==Instalar Bibliotecas Necessárias == | ||
Edição das 13h38min de 16 de julho de 2024
Índice
Conceitos
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()
Avaliar o Modelo
Após o treinamento, avalie o modelo nos dados de validação:
eval_results = trainer.evaluate()
print(f"Perplexity: {math.exp(eval_results['eval_loss']):.2f}")
Salvar o Modelo Treinado
Salve o modelo e o tokenizer ajustados para uso futuro:
model.save_pretrained("./llama3-finetuned")
tokenizer.save_pretrained("./llama3-finetuned")