--- 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 ちゃんとした評価はできていません😭 総合学習トークン数的に既存のモデルよりも劣ることが予想されます。