Skip to main content

M3TL

Multi-Modal Multi-Task Learning

Install

MASKED

What is it

This is a project that uses transformers(based on huggingface transformers) as base model to do multi-modal multi-task learning.

Why do I need this

Multi-task learning(MTL) is gaining more and more attention, especially in deep learning era. It is widely used in NLP, CV, recommendation, etc. However, MTL usually involves complicated data preprocessing, task managing and task interaction. Other open-source projects, like TencentNLP and PyText, supports MTL but in a naive way and it's not straightforward to implement complicated MTL algorithm. In this project, we try to make writing MTL model as easy as single task learning model and further extend MTL to multi-modal multi-task learning. To do so, we expose following MTL related programable module to user:

  • problem sampling strategy
  • loss combination strategy
  • gradient surgery
  • model after base model(transformers)

Apart from programable modules, we also provide various built-in SOTA MTL algorithms.

In a word, you can use this project to:

  • implement complicated MTL algorithm
  • do SOTA MTL without diving into details
  • do multi-modal learning

And since we use transformers as base model, you get all the benefits that you can get from transformers!

What type of problems are supported?

params = Params()
for problem_type in params.list_available_problem_types():
    print('`{problem_type}`: {desc}'.format(
        desc=params.problem_type_desc[problem_type], problem_type=problem_type))

`cls`: Classification
`multi_cls`: Multi-Label Classification
`seq_tag`: Sequence Labeling
`masklm`: Masked Language Model
`pretrain`: NSP+MLM(Deprecated)
`regression`: Regression
`vector_fit`: Vector Fitting
`premask_mlm`: Pre-masked Masked Language Model
`contrastive_learning`: Contrastive Learning

Get Started

Please see tutorials.

Metadata

Release files for m3tl 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for m3tl 0.7.0
File Interpreter ABI Platform
m3tl-0.7.0-py3-none-any.whl Python 3 none any Details

Release files / m3tl-0.7.0-py3-none-any.whl

Download URL m3tl-0.7.0-py3-none-any.whl
Size 87.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fedc08924fefebaac735ef1b288220ed9ca092b823a8d6a125689f4caee86011
BLAKE2b-256 checksum
How to use checksums
3917b9adc1c1b5de54e86f7d721c86187d46275f60ff68682af80e38ab966671
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6

Release history Release notifications | RSS feed

This release

0.7.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page