🚀 bert-base-kor-v1
bert-base-kor-v1 是一個基於Bert-base架構的韓語模型,它基於ai_hub的網絡數據韓語語料庫進行訓練,可用於掩碼填充等自然語言處理任務。
🚀 快速開始
安裝
本模型基於HuggingFace Transformers庫,你可以使用以下命令安裝依賴庫:
pip install transformers torch
✨ 主要特性
📦 安裝指南
使用HuggingFace Transformers庫加載模型和分詞器:
from transformers import AutoTokenizer, BertForMaskedLM
tokenizer = AutoTokenizer.from_pretrained('bongsoo/bert-small-kor-v1', do_lower_case=False)
model = BertForMaskedLM.from_pretrained('bongsoo/bert-small-kor-v1')
💻 使用示例
基礎用法
from transformers import AutoTokenizer, AutoModel, BertForMaskedLM
import torch
import torch.nn.functional as F
tokenizer = AutoTokenizer.from_pretrained('bongsoo/bert-small-kor-v1', do_lower_case=False)
model = BertForMaskedLM.from_pretrained('bongsoo/bert-small-kor-v1')
text = ['한국 수도는 [MASK] 이다', '프랑스 수도는 [MASK]이다', '충무공 이순신은 [MASK]에 최고의 장수였다']
tokenized_input = tokenizer(text, max_length=128, truncation=True, padding='max_length', return_tensors='pt')
outputs = model(**tokenized_input)
logits = outputs.logits
mask_idx_list = []
for tokens in tokenized_input['input_ids'].tolist():
token_str = [tokenizer.convert_ids_to_tokens(s) for s in tokens]
mask_idx = token_str.index('[MASK]')
mask_idx_list.append(mask_idx)
for idx, mask_idx in enumerate(mask_idx_list):
logits_pred=torch.argmax(F.softmax(logits[idx]), dim=1)
mask_logits_idx = int(logits_pred[mask_idx])
mask_logits_token = tokenizer.convert_ids_to_tokens(mask_logits_idx)
print('\n')
print('*Input: {}'.format(text[idx]))
print('*[MASK] : {} ({})'.format(mask_logits_token, mask_logits_idx))
輸出示例
*Input: 한국 수도는 [MASK] 이다
*[MASK] : 일본 (2128)
*Input: 프랑스 수도는 [MASK]이다
*[MASK] : ' (10)
*Input: 충무공 이순신은 [MASK]에 최고의 장수였다
*[MASK] : ' (10)
🔧 技術細節
訓練信息
屬性 |
詳情 |
模型類型 |
Bert-base |
訓練數據 |
ai_hub 웹데이터 기반 한국어 말뭉치 데이터(約52M文本) |
超參數 |
lr = 1e-4, weigth_decay=0.0, batch_size = 256, token_max_len = 160, epoch = 8, do_lower_case=True |
詞彙表大小 |
10,022個(BertTokenizer) |
訓練時間 |
171h/1GPU(24GB/18.5GB use) |
訓練代碼 |
點擊查看 |
模型配置
{
"architectures": [
"BertForPreTraining"
],
"attention_probs_dropout_prob": 0.1,
"classifier_dropout": null,
"hidden_act": "gelu",
"hidden_dropout_prob": 0.1,
"hidden_size": 512,
"initializer_range": 0.02,
"intermediate_size": 2048,
"layer_norm_eps": 1e-12,
"max_position_embeddings": 512,
"model_type": "bert",
"num_attention_heads": 8,
"num_hidden_layers": 4,
"pad_token_id": 0,
"position_embedding_type": "absolute",
"torch_dtype": "float32",
"transformers_version": "4.21.2",
"type_vocab_size": 2,
"use_cache": true,
"vocab_size": 10022
}
📄 許可證
本項目採用Apache-2.0許可證。
📚 引用與作者
作者:bongsoo