🚀 distilbert-base-nepali
このモデルは、マスク付き言語モデリング(MLM)の目的で、1300万を超えるネパール語のテキストシーケンスからなるnepalitextデータセットで事前学習されています。私たちのアプローチでは、XLM - ROBERTaと同様に、テキストトークン化のためにSentence Piece Model(SPM)を学習し、言語モデリングのためにdistilbertモデルを学習します。詳細はこの論文を参照してください。
このモデルは、評価セットで以下の結果を達成しています。
MLM確率 |
評価損失 |
評価困惑度 |
15% |
2.349 |
10.479 |
20% |
2.605 |
13.351 |
✨ 主な機能
モデルの説明
元のdistilbert - base - uncasedを参照してください。
想定される用途と制限
このバックボーンモデルは、シーケンス分類、トークン分類、質問応答などのネパール語に焦点を当てた下流タスクで微調整することを目的としています。
この言語モデルは、512トークンのブロックサイズにグループ化されたテキストのデータで学習されているため、最大512トークンのテキストシーケンスを処理できますが、短いシーケンスでは十分な性能を発揮できない場合があります。
📦 インストール
このセクションではインストール手順に関する具体的な内容がありません。
💻 使用例
基本的な使用法
このモデルは、マスク付き言語モデリングのパイプラインで直接使用できます。
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='Sakonii/distilbert-base-nepali')
>>> unmasker("मानविय गतिविधिले प्रातृतिक पर्यावरन प्रनालीलाई अपरिमेय क्षति पु्र्याएको छ। परिवर्तनशिल जलवायुले खाध, सुरक्षा, <mask>, जमिन, मौसमलगायतलाई असंख्य तरिकाले प्रभावित छ।")
[{'score': 0.04128897562623024,
'sequence': 'मानविय गतिविधिले प्रातृतिक पर्यावरन प्रनालीलाई अपरिमेय क्षति पु्र्याएको छ। परिवर्तनशिल जलवायुले खाध, सुरक्षा, मौसम, जमिन, मौसमलगायतलाई असंख्य तरिकाले प्रभावित छ।',
'token': 2605,
'token_str': 'मौसम'},
{'score': 0.04100276157259941,
'sequence': 'मानविय गतिविधिले प्रातृतिक पर्यावरन प्रनालीलाई अपरिमेय क्षति पु्र्याएको छ। परिवर्तनशिल जलवायुले खाध, सुरक्षा, प्रकृति, जमिन, मौसमलगायतलाई असंख्य तरिकाले प्रभावित छ।',
'token': 2792,
'token_str': 'प्रकृति'},
{'score': 0.026525357738137245,
'sequence': 'मानविय गतिविधिले प्रातृतिक पर्यावरन प्रनालीलाई अपरिमेय क्षति पु्र्याएको छ। परिवर्तनशिल जलवायुले खाध, सुरक्षा, पानी, जमिन, मौसमलगायतलाई असंख्य तरिकाले प्रभावित छ।',
'token': 387,
'token_str': 'पानी'},
{'score': 0.02340106852352619,
'sequence': 'मानविय गतिविधिले प्रातृतिक पर्यावरन प्रनालीलाई अपरिमेय क्षति पु्र्याएको छ। परिवर्तनशिल जलवायुले खाध, सुरक्षा, जल, जमिन, मौसमलगायतलाई असंख्य तरिकाले प्रभावित छ।',
'token': 1313,
'token_str': 'जल'},
{'score': 0.02055591531097889,
'sequence': 'मानविय गतिविधिले प्रातृतिक पर्यावरन प्रनालीलाई अपरिमेय क्षति पु्र्याएको छ। परिवर्तनशिल जलवायुले खाध, सुरक्षा, वातावरण, जमिन, मौसमलगायतलाई असंख्य तरिकाले प्रभावित छ।',
'token': 790,
'token_str': 'वातावरण'}]
高度な使用法
以下は、PyTorchで与えられたテキストの特徴を取得するためにモデルを使用する方法です。
from transformers import AutoTokenizer, AutoModelForMaskedLM
tokenizer = AutoTokenizer.from_pretrained('Sakonii/distilbert-base-nepali')
model = AutoModelForMaskedLM.from_pretrained('Sakonii/distilbert-base-nepali')
text = "चाहिएको text यता राख्नु होला।"
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
📚 ドキュメント
学習データ
このモデルは、nepalitext言語モデリングデータセットで学習されています。このデータセットは、OSCAR、cc100、およびWikipedia上のスクレイピングされたネパール語記事のセットを組み合わせたものです。
言語モデルの学習に関しては、学習セットのテキストは512トークンのブロックにグループ化されています。
トークン化
テキストトークン化のために、nepalitextデータセットのサブセットでSentence Piece Model(SPM)が学習されています。トークナイザは、語彙サイズ=24576、最小頻度=4、アルファベット制限=1000、モデル最大長=512で学習されています。
学習手順
このモデルは、元のdistilbert - base - uncasedと同じ設定で学習されています。1インスタンスあたり512トークン、バッチあたり28インスタンス、約35.7Kの学習ステップです。
学習ハイパーパラメータ
最終エポックの学習には以下のハイパーパラメータが使用されました。[各エポックのさまざまなハイパーパラメータについては、以下の学習結果表を参照してください]
- learning_rate: 5e - 05
- train_batch_size: 28
- eval_batch_size: 8
- seed: 42
- optimizer: Adam(betas=(0.9,0.999)、epsilon=1e - 08)
- lr_scheduler_type: linear
- num_epochs: 1
- mixed_precision_training: Native AMP
学習結果
このモデルは、さまざまなハイパーパラメータで4エポック学習されています。
学習損失 |
エポック |
MLM確率 |
学習バッチサイズ |
ステップ |
検証損失 |
困惑度 |
3.4477 |
1.0 |
15 |
26 |
38864 |
3.3067 |
27.2949 |
2.9451 |
2.0 |
15 |
28 |
35715 |
2.8238 |
16.8407 |
2.866 |
3.0 |
20 |
28 |
35715 |
2.7431 |
15.5351 |
2.7287 |
4.0 |
20 |
28 |
35715 |
2.6053 |
13.5353 |
2.6412 |
5.0 |
20 |
28 |
35715 |
2.5161 |
12.3802 |
最終モデルは、MLM確率15%で評価されました。
学習損失 |
エポック |
MLM確率 |
学習バッチサイズ |
ステップ |
検証損失 |
困惑度 |
- |
- |
15 |
- |
- |
2.3494 |
10.4791 |
フレームワークバージョン
- Transformers 4.16.2
- Pytorch 1.9.1
- Datasets 1.18.3
- Tokenizers 0.10.3
📄 ライセンス
このモデルはApache - 2.0ライセンスの下で提供されています。