| | --- |
| | license: apache-2.0 |
| | language: |
| | - en |
| | pipeline_tag: fill-mask |
| | inference: false |
| | --- |
| | |
| | # Monarch Mixer-BERT |
| |
|
| | The 80M checkpoint for M2-BERT-base from the paper [Monarch Mixer: A Simple Sub-Quadratic GEMM-Based Architecture](https://arxiv.org/abs/2310.12109). |
| |
|
| | Check out our [GitHub](https://github.com/HazyResearch/m2/tree/main) for instructions on how to download and fine-tune it! |
| |
|
| | ## How to use |
| |
|
| | You can load this model using Hugging Face `AutoModel`: |
| | ```python |
| | from transformers import AutoModelForMaskedLM |
| | mlm = AutoModelForMaskedLM.from_pretrained('alycialee/m2-bert-80M', trust_remote_code=True) |
| | ``` |
| |
|
| | This model uses the Hugging Face `bert-base-uncased tokenizer`: |
| | ``` |
| | from transformers import BertTokenizer |
| | tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') |
| | ``` |
| |
|
| | You can use this model with a pipeline for masked language modeling: |
| | ```python |
| | from transformers import AutoModelForMaskedLM, BertTokenizer, pipeline |
| | |
| | tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') |
| | mlm = AutoModelForMaskedLM.from_pretrained('alycialee/m2-bert-80M', trust_remote_code=True) |
| | |
| | unmasker = pipeline('fill-mask', model=mlm, tokenizer=tokenizer) |
| | unmasker('Every morning, I enjoy a cup of [MASK] to start my day.') |
| | ``` |
| |
|
| | ### Remote Code |
| |
|
| | This model requires `trust_remote_code=True` to be passed to the `from_pretrained` method. This is because we use custom PyTorch code (see our GitHub). You should consider passing a `revision` argument that specifies the exact git commit of the code, for example: |
| |
|
| | ```python |
| | mlm = AutoModelForMaskedLM.from_pretrained( |
| | 'alycialee/m2-bert-80M', |
| | trust_remote_code=True, |
| | revision='d8a0938', |
| | ) |
| | ``` |
| |
|
| | ### Configuration |
| | Note `use_flash_mm` is false by default. Using FlashMM is currently not supported. |