🚀 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