Expand description
§Multi-Task Learning Framework
This module provides a comprehensive framework for multi-task learning, enabling models to learn multiple related tasks simultaneously to improve generalization and efficiency.
§Features
- Multiple MTL Architectures: Hard parameter sharing, soft parameter sharing, task-specific layers
- Loss Balancing: Various strategies for balancing losses across tasks
- Task Weighting: Dynamic and static task weight adjustment
- Auxiliary Tasks: Support for auxiliary tasks to improve main task performance
- Task Clustering: Grouping related tasks for better sharing
- Evaluation Metrics: Specialized metrics for multi-task scenarios
§Usage
use trustformers_models::multi_task_learning::{
MultiTaskLearningTrainer, MTLConfig, MTLArchitecture
};
let config = MTLConfig {
architecture: MTLArchitecture::HardParameterSharing {
shared_layers: 8,
task_specific_layers: 2,
},
loss_balancing: LossBalancingStrategy::DynamicWeightAverage,
tasks: vec![
TaskConfig::new("classification", TaskType::Classification { num_classes: 10 }),
TaskConfig::new("regression", TaskType::Regression { output_dim: 1 }),
],
..Default::default()
};
let mut trainer = MultiTaskLearningTrainer::new(config)?;
trainer.train_multi_task(task_data)?;Modules§
- utils
- Utilities for multi-task learning
Structs§
- Auxiliary
Task Config - Auxiliary task configuration
- Gradient
Stats - Gradient statistics for task balancing
- MTLAnalysis
- Analysis of multi-task learning effectiveness
- MTLConfig
- Configuration for multi-task learning
- MTLStats
- Multi-task learning statistics
- Multi
Task Evaluation - Multi-task evaluation results
- Multi
Task Learning Trainer - Multi-task learning trainer
- Multi
Task Output - Output from multi-task training step
- Task
Batch - Training data batch for a specific task
- Task
Clustering Config - Task clustering configuration
- Task
Config - Task configuration
- Task
Evaluation - Task evaluation results
- Task
Head - Task-specific neural network head
- Task
Scheduler State - Task scheduler state
Enums§
- Auxiliary
Task Frequency - Frequency of auxiliary task training
- Auxiliary
Type - Auxiliary task types
- Clustering
Method - Clustering methods for tasks
- Loss
Balancing Strategy - Strategies for balancing losses across tasks
- MTLArchitecture
- Multi-task learning architectures
- Ranking
Type - Ranking task types
- Regression
Loss Type - Regression loss types
- Regularization
Type - Regularization types for soft parameter sharing
- Task
Priority - Task priorities
- Task
Scheduling Strategy - Task scheduling strategies
- Task
Type - Task types and their specific parameters