|
--- |
|
license: mit |
|
datasets: |
|
- HuggingFaceFW/fineweb-2 |
|
language: |
|
- ja |
|
pipeline_tag: fill-mask |
|
--- |
|
# makiart/jp-ModernBert-base-preview |
|
|
|
このモデルは[ABCI 生成AIハッカソン](https://abci.ai/event/2024/12/23/ja_abci_3.0_genai_hackathon.html)にて提供された計算資源によって[Algomatic](https://algomatic.jp/)チームが作成したモデルです。 |
|
|
|
- コンテキスト長:8192 |
|
- 語彙数:50,368 |
|
- 総学習トークン数:約300B Tokens |
|
- パラメータ数:150M |
|
- 埋め込み抜きパラメータ数:110M |
|
- fineweb2 日本語データを利用 |
|
|
|
## How to Use |
|
|
|
```bash |
|
pip install -U transformers>=4.48.0 |
|
``` |
|
|
|
トークナイザーにBertJapaneseTokenizerを利用しているため、下記を追加でインストールする必要があります。 |
|
|
|
```bash |
|
pip install fugashi unidic_lite |
|
``` |
|
|
|
GPUがFlashAttentionに対応しているのであれば下記のインストールをすると効率よく推論できます。 |
|
|
|
```bash |
|
pip install flash-attn --no-build-isolation |
|
``` |
|
|
|
## Example Usage |
|
|
|
```python |
|
import torch |
|
from transformers import AutoModelForMaskedLM, AutoTokenizer, pipeline |
|
|
|
model = AutoModelForMaskedLM.from_pretrained("makiart/jp-ModernBert-base-preview", torch_dtype=torch.bfloat16) |
|
tokenizer = AutoTokenizer.from_pretrained("makiart/jp-ModernBert-base-preview") |
|
fill_mask = pipeline("fill-mask", model=model, tokenizer=tokenizer) |
|
|
|
results = fill_mask("[MASK]という言葉を無限定に使ってはいけない。") |
|
|
|
for result in results: |
|
print(result) |
|
|
|
# {'score': 0.00897216796875, 'token': 13588, 'token_str': '好き', 'sequence': '好き と いう 言葉 を 無 限定 に 使っ て は いけ ない 。'} |
|
# {'score': 0.0074462890625, 'token': 384, 'token_str': '、', 'sequence': '、 と いう 言葉 を 無 限定 に 使っ て は いけ ない 。'} |
|
# {'score': 0.00677490234375, 'token': 2278, 'token_str': '愛', 'sequence': '愛 と いう 言葉 を 無 限定 に 使っ て は いけ ない 。'} |
|
# {'score': 0.006561279296875, 'token': 13875, 'token_str': '安全', 'sequence': '安全 と いう 言葉 を 無 限定 に 使っ て は いけ ない 。'} |
|
# {'score': 0.006378173828125, 'token': 17498, 'token_str': '正義', 'sequence': '正義 と いう 言葉 を 無 限定 に 使っ て は いけ ない 。'} |
|
``` |
|
|
|
## Model Description |
|
|
|
- 2段階形式でMLM学習を行いました。 |
|
- マスキングレートは30% |
|
- 1024のコンテキスト長で約150B Tokens |
|
- 8192のコンテキスト長で約150B Tokens |
|
- トークナイザーはtohoku-nlp/bert-base-japanese-v3をベース |
|
- 語彙数は50,368 |
|
- データセット |
|
- fineweb2の日本語データのみを利用 |
|
- 計算資源 |
|
- ABCIから提供いただいた計算資源のうち1ノード(H200 x 8)を利用し、2日間で学習 |
|
|
|
## Evaluation |
|
|
|
ちゃんとした評価はできていません😭 |
|
|
|
総合学習トークン数的に既存のモデルよりも劣ることが予想されます。 |