Multi-task learning is training a single model on multiple tasks simultaneously, sharing representations across tasks so that learning one task can improve performance on others. This approach encourages the model to learn more general features and can be more data-efficient than training separate models for each task.