🚀 斯洛伐克BERT(基礎大小模型)
斯洛伐克BERT是一個預訓練模型,它使用掩碼語言建模(MLM)目標對斯洛伐克語進行訓練。該模型區分大小寫,例如會區分“slovensko”和“Slovensko”。
🚀 快速開始
你可以使用此模型直接進行掩碼語言建模:
from transformers import pipeline
unmasker = pipeline('fill-mask', model='gerulata/slovakbert')
unmasker("Deti sa <mask> na ihrisku.")
[{'sequence': 'Deti sa hrali na ihrisku.',
'score': 0.6355380415916443,
'token': 5949,
'token_str': ' hrali'},
{'sequence': 'Deti sa hrajú na ihrisku.',
'score': 0.14731724560260773,
'token': 9081,
'token_str': ' hrajú'},
{'sequence': 'Deti sa zahrali na ihrisku.',
'score': 0.05016357824206352,
'token': 32553,
'token_str': ' zahrali'},
{'sequence': 'Deti sa stretli na ihrisku.',
'score': 0.041727423667907715,
'token': 5964,
'token_str': ' stretli'},
{'sequence': 'Deti sa učia na ihrisku.',
'score': 0.01886524073779583,
'token': 18099,
'token_str': ' učia'}]
以下是在PyTorch中使用此模型獲取給定文本特徵的方法:
from transformers import RobertaTokenizer, RobertaModel
tokenizer = RobertaTokenizer.from_pretrained('gerulata/slovakbert')
model = RobertaModel.from_pretrained('gerulata/slovakbert')
text = "Text ktorý sa má embedovať."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
在TensorFlow中的使用方法:
from transformers import RobertaTokenizer, TFRobertaModel
tokenizer = RobertaTokenizer.from_pretrained('gerulata/slovakbert')
model = TFRobertaModel.from_pretrained('gerulata/slovakbert')
text = "Text ktorý sa má embedovať."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
或者像這樣從模型中提取信息:
from transformers import pipeline
unmasker = pipeline('fill-mask', model='gerulata/slovakbert')
unmasker("Slovenské národne povstanie sa uskutočnilo v roku <mask>.")
[{'sequence': 'Slovenske narodne povstanie sa uskutočnilo v roku 1944.',
'score': 0.7383289933204651,
'token': 16621,
'token_str': ' 1944'},...]
✨ 主要特性
- 基於掩碼語言建模(MLM)目標對斯洛伐克語進行預訓練。
- 區分大小寫,能夠區分不同大小寫形式的詞彙。
📚 詳細文檔
預期用途和限制
你可以使用原始模型進行掩碼語言建模,但它主要用於在下游任務上進行微調。
⚠️ 重要提示
該模型未對 “ 和 ”(直接引號)字符進行訓練,因此在對文本進行分詞之前,建議將所有 “ 和 ”(直接引號)替換為單個 "(雙引號)。
訓練數據
斯洛伐克BERT模型在以下數據集上進行了預訓練:
- 維基百科(326MB文本)
- OpenSubtitles(415MB文本)
- Oscar(4.6GB文本)
- Gerulata WebCrawl(12.7GB文本)
- Gerulata Monitoring(214MB文本)
- blbec.online(4.5GB文本)
文本經過以下步驟處理:
- 將URL和電子郵件地址替換為特殊標記(“url”,“email”)。
- 簡化拉長的標點符號(例如將 -- 簡化為 -)。
- 刪除Markdown語法。
- 消除括號內的所有文本內容,以減少標記和編程語言文本的數量。
我們將得到的語料庫分割成句子並去除重複項,得到1.816億個唯一句子。最終語料庫總共有19.35GB的文本。
預訓練
該模型在fairseq中使用4塊Nvidia A100 GPU進行了300K步的訓練,批次大小為512,序列長度為512。使用的優化器是Adam,學習率為5e - 4,\(\beta_{1} = 0.9\),\(\beta_{2} = 0.98\),\(\epsilon = 1e - 6\),權重衰減為0.01,丟棄率為0.1,學習率在10K步內進行預熱,之後線性衰減。我們使用了16位浮點精度。
🔧 技術細節
模型訓練的技術細節如下:
屬性 |
詳情 |
模型類型 |
基於掩碼語言建模(MLM)目標的預訓練模型 |
訓練數據 |
維基百科、OpenSubtitles、Oscar、Gerulata WebCrawl、Gerulata Monitoring、blbec.online |
訓練設備 |
4 x Nvidia A100 GPUs |
訓練步數 |
300K |
批次大小 |
512 |
序列長度 |
512 |
優化器 |
Adam |
學習率 |
5e - 4 |
\(\beta_{1}\) |
0.9 |
\(\beta_{2}\) |
0.98 |
\(\epsilon\) |
1e - 6 |
權重衰減 |
0.01 |
丟棄率 |
0.1 |
學習率預熱步數 |
10K |
學習率衰減方式 |
線性衰減 |
浮點精度 |
16位 |
📄 許可證
本項目採用MIT許可證。
關於我們
Gerulata Technologies是一家科技公司,致力於提供對抗虛假信息和惡意宣傳的工具。
在Gerulata,我們專注於提供最先進的人工智能工具,這些工具可以賦能人類分析師,使他們能夠做出明智的決策。
我們的工具可以對在線活動進行監測和分析,以及檢測和跟蹤虛假信息和惡意宣傳活動。通過我們的產品,我們的客戶能夠更好地即時識別和應對威脅。
BibTeX引用和引用信息
如果您發現我們的資源或論文有用,請考慮在您的論文中包含以下引用。
- https://arxiv.org/abs/2109.15254
@misc{pikuliak2021slovakbert,
title={SlovakBERT: Slovak Masked Language Model},
author={Matúš Pikuliak and Štefan Grivalský and Martin Konôpka and Miroslav Blšták and Martin Tamajka and Viktor Bachratý and Marián Šimko and Pavol Balážik and Michal Trnka and Filip Uhlárik},
year={2021},
eprint={2109.15254},
archivePrefix={arXiv},
primaryClass={cs.CL}
}