Training
LoRA Training Module
Handles training of domain-specific LoRA adapters.
- class ual_adapter.training.trainer.TextDataset(texts: List[str], tokenizer: PreTrainedTokenizer, max_length: int = 512)[source]
Bases:
DatasetSimple text dataset for training.
- class ual_adapter.training.trainer.LoRATrainer(base_model: PreTrainedModel, tokenizer: PreTrainedTokenizer, device: str = 'auto')[source]
Bases:
objectTrainer for LoRA adapters with domain specialization.
- __init__(base_model: PreTrainedModel, tokenizer: PreTrainedTokenizer, device: str = 'auto')[source]
Initialize LoRA trainer.
- Parameters:
base_model – Base model to fine-tune
tokenizer – Tokenizer for the model
device – Device to train on
- train_adapter(adapter_name: str, training_texts: List[str], validation_texts: List[str] | None = None, rank: int = 16, alpha: float = 16.0, dropout: float = 0.1, target_modules: List[str] | None = None, learning_rate: float = 0.0001, num_epochs: int = 3, batch_size: int = 8, warmup_steps: int = 100, logging_steps: int = 10, save_steps: int = 500, output_dir: str | None = None, use_huggingface_trainer: bool = True, **kwargs) Dict[str, Any][source]
Train a LoRA adapter on domain-specific data.
- Parameters:
adapter_name – Name for the adapter
training_texts – List of training texts
validation_texts – Optional validation texts
rank – LoRA rank
alpha – LoRA alpha parameter
dropout – LoRA dropout
target_modules – Target modules for LoRA
learning_rate – Learning rate
num_epochs – Number of training epochs
batch_size – Batch size
warmup_steps – Number of warmup steps
logging_steps – Log every N steps
save_steps – Save checkpoint every N steps
output_dir – Directory to save checkpoints
use_huggingface_trainer – Whether to use HF Trainer
**kwargs – Additional training arguments
- Returns:
Dictionary with training results
LoRATrainer Class
- class ual_adapter.training.trainer.LoRATrainer(base_model: PreTrainedModel, tokenizer: PreTrainedTokenizer, device: str = 'auto')[source]
Trainer for LoRA adapters with domain specialization.
- __init__(base_model: PreTrainedModel, tokenizer: PreTrainedTokenizer, device: str = 'auto')[source]
Initialize LoRA trainer.
- Parameters:
base_model – Base model to fine-tune
tokenizer – Tokenizer for the model
device – Device to train on
- train_adapter(adapter_name: str, training_texts: List[str], validation_texts: List[str] | None = None, rank: int = 16, alpha: float = 16.0, dropout: float = 0.1, target_modules: List[str] | None = None, learning_rate: float = 0.0001, num_epochs: int = 3, batch_size: int = 8, warmup_steps: int = 100, logging_steps: int = 10, save_steps: int = 500, output_dir: str | None = None, use_huggingface_trainer: bool = True, **kwargs) Dict[str, Any][source]
Train a LoRA adapter on domain-specific data.
- Parameters:
adapter_name – Name for the adapter
training_texts – List of training texts
validation_texts – Optional validation texts
rank – LoRA rank
alpha – LoRA alpha parameter
dropout – LoRA dropout
target_modules – Target modules for LoRA
learning_rate – Learning rate
num_epochs – Number of training epochs
batch_size – Batch size
warmup_steps – Number of warmup steps
logging_steps – Log every N steps
save_steps – Save checkpoint every N steps
output_dir – Directory to save checkpoints
use_huggingface_trainer – Whether to use HF Trainer
**kwargs – Additional training arguments
- Returns:
Dictionary with training results