印尼语 RoBERTa Large 是一个基于 RoBERTa 模型的掩码语言模型。它在 OSCAR 数据集上进行训练,具体为 unshuffled_deduplicated_id 子集。该模型从零开始训练,最终评估损失为 4.801,评估准确率为 29.8%。
本模型使用 HuggingFace 的 Flax 框架进行训练,是由 HuggingFace 组织的 JAX/Flax 社区周 的一部分。所有训练均在 TPUv3-8 虚拟机上完成,由谷歌云团队赞助。
所有用于训练的必要脚本可在 文件和版本 选项卡中找到,同时还有通过 Tensorboard 记录的 训练指标。
| 模型 | 参数数量 | 架构 | 训练/验证数据(文本) |
|---|---|---|---|
indonesian-roberta-large | 355M | RoBERTa | OSCAR unshuffled_deduplicated_id 数据集 |
模型训练了 10 个 epoch,以下是训练结束时的最终结果。
| 训练损失 | 验证损失 | 验证准确率 | 总时间 |
|---|---|---|---|
| 5.19 | 4.801 | 0.298 | 2:8:32:28 |
from openmind import pipeline, AutoTokenizer, is_torch_npu_available
from openmind_hub import snapshot_download
import torch.nn.functional as F
from torch import Tensor
import openmind
import torch
import argparse
import time
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--model_name_or_path",
type=str,
help="Path to model",
default="jeffding/indonesian-roberta-large-openmind",
)
args = parser.parse_args()
return args
def main():
args = parse_args()
model_path = args.model_name_or_path
if is_torch_npu_available():
device = "npu:0"
else:
device = "cpu"
start_time = time.time()
tokenizer = AutoTokenizer.from_pretrained(model_path, use_fast=True)
pipe = pipeline('fill-mask', model=model_path, torch_dtype=torch.bfloat16, device_map=device)
MASK_TOKEN = tokenizer.mask_token
result = pipe("Budi sedang {} di sekolah.".format(MASK_TOKEN))
print(result)
end_time = time.time()
print(f"硬件环境:{device},推理执行时间:{end_time - start_time}秒")
if __name__ == "__main__":
main()from transformers import pipeline
pretrained_name = "flax-community/indonesian-roberta-large"
fill_mask = pipeline(
"fill-mask",
model=pretrained_name,
tokenizer=pretrained_name
)
fill_mask("Budi sedang <mask> di sekolah.")from transformers import RobertaModel, RobertaTokenizerFast
pretrained_name = "flax-community/indonesian-roberta-large"
model = RobertaModel.from_pretrained(pretrained_name)
tokenizer = RobertaTokenizerFast.from_pretrained(pretrained_name)
prompt = "Budi sedang berada di sekolah."
encoded_input = tokenizer(prompt, return_tensors='pt')
output = model(**encoded_input)