Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-task learning #7

Open
wants to merge 61 commits into
base: main
Choose a base branch
from
Open

Multi-task learning #7

wants to merge 61 commits into from

Conversation

okyksl
Copy link
Contributor

@okyksl okyksl commented Feb 21, 2022

Provides an easy-to-use and customizable tree-like multi-task learning model and related training, evaluation processes.

okyksl added 30 commits December 3, 2021 11:41
* Model artifact for inference or deployment
* Eval artifact logging all the metrics
* Label artifact logging labels in order of the predictions
* Forces use of padding = "max_length"
* `add_special_tokens` and `return_token_type_ids` are set to True
* Use context to load inference hyperparameters
Notes:
* Fix argparse batch_size arguments
* Add sanity check for iterative models
* Log labels and groups separately
* Log inference params altogether inside a json file
* Fix MLFlow import related issues
Also fix `python_model` parameter of log_model
* Do not manually setting `add_special_tokens` and `return_token_type_ids`
okyksl added 30 commits December 3, 2021 11:41
Two types of weighting are applied together:
* Across-class balancing: each sigmoidal unit loss is multiplied by inverse frequency
* In-class balancing: positive loss is weighted by the in-class frequency w.r.t. negatives
Note the model returns pre-sigmoid logits rather than probabilites.
Two types of weighting are applied together:
* Across-class balancing: each sigmoidal unit loss is multiplied by inverse frequency
* In-class balancing: positive loss is weighted by the in-class frequency w.r.t. negatives
* self-explanatory outputs
* two different output formats: flatten vs nested
* adjust output style through infer config file
* text dataset only deals with data source and tokenization
* target dataset only deals with encoding/decoding of targets and groups
Usage:
* pass a list of targets to denote target columns
* pass a list of lists as group_names to denote hierarchy groups for each target
* pass a list for each group_name instance to denote targets belonging to that group_name
  i.e. a list of lists of lists
* for one-task learning, either provide lists with length-one or provide data without list
Computes stats per-task basis.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant