File size: 3,193 Bytes
71b765c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
---
license: mit
datasets:
- HuggingFaceFW/fineweb-2
language:
- ja
pipeline_tag: fill-mask
---
# makiart/jp-modernbert-large-preview

このモデルは[ABCI 生成AIハッカソン](https://abci.ai/event/2024/12/23/ja_abci_3.0_genai_hackathon.html)にて提供された計算資源によって[Algomatic](https://algomatic.jp/)チームが作成したモデルです。

- コンテキスト長:8192
- 語彙数:50,368
- 総学習トークン数:約100B Tokens(Baseから重み継承後)
- パラメータ数:396M
- 埋め込み抜きパラメータ数:343M
- 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-large-preview", torch_dtype=torch.bfloat16)
tokenizer = AutoTokenizer.from_pretrained("makiart/jp-ModernBERT-large-preview")
fill_mask = pipeline("fill-mask", model=model, tokenizer=tokenizer)

results = fill_mask("我々の大方の苦悩は、あり得べき別の[MASK]を夢想することから始まる。")

for result in results:
    print(result)

# {'score': 0.16015625, 'token': 12489, 'token_str': 'こと', 'sequence': '我々 の 大方 の 苦悩 は 、 あり 得 べき 別 の こと を 夢想 する こと から 始まる 。'}
# {'score': 0.09716796875, 'token': 12518, 'token_str': 'もの', 'sequence': '我々 の 大方 の 苦悩 は 、 あり 得 べき 別 の もの を 夢想 する こと から 始まる 。'}
# {'score': 0.043212890625, 'token': 12575, 'token_str': '世界', 'sequence': '我々 の 大方 の 苦悩 は 、 あり 得 べき 別 の 世界 を 夢想 する こと から 始まる 。'}
# {'score': 0.03369140625, 'token': 29991, 'token_str': '事柄', 'sequence': '我々 の 大方 の 苦悩 は 、 あり 得 べき 別 の 事柄 を 夢想 する こと から 始まる 。'}
# {'score': 0.0296630859375, 'token': 655, 'token_str': '事', 'sequence': '我々 の 大方 の 苦悩 は 、 あり 得 べき 別 の 事 を 夢想 する こと から 始まる 。'}
```

## Model Description

- baseモデルの重みをtile weights from middleする
- 8192のコンテキスト長で約100B Tokens
- トークナイザーはtohoku-nlp/bert-base-japanese-v3をベースとしています
    - 語彙数は50,368です
- データセット
    - fineweb2の日本語データのみを利用
- 計算資源
    - ABCIから提供いただいた計算資源のうち1ノード(H200 x 8)を利用し、約2日間の間で学習

## Evaluation

ちゃんとした評価はできていません😭

総合学習トークン数的に既存のモデルよりも劣ることが予想されます。