HuggingFace镜像/indonesian-roberta-large-openmind
模型介绍文件和版本分析
下载使用量0

印尼语 RoBERTa Large

印尼语 RoBERTa Large 是一个基于 RoBERTa 模型的掩码语言模型。它在 OSCAR 数据集上进行训练,具体为 unshuffled_deduplicated_id 子集。该模型从零开始训练,最终评估损失为 4.801,评估准确率为 29.8%。

本模型使用 HuggingFace 的 Flax 框架进行训练,是由 HuggingFace 组织的 JAX/Flax 社区周 的一部分。所有训练均在 TPUv3-8 虚拟机上完成,由谷歌云团队赞助。

所有用于训练的必要脚本可在 文件和版本 选项卡中找到,同时还有通过 Tensorboard 记录的 训练指标。

模型

模型参数数量架构训练/验证数据(文本)
indonesian-roberta-large355MRoBERTaOSCAR unshuffled_deduplicated_id 数据集

评估结果

模型训练了 10 个 epoch,以下是训练结束时的最终结果。

训练损失验证损失验证准确率总时间
5.194.8010.2982:8:32:28

如何使用

在 Openmind 中使用

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.")

PyTorch 中的特征提取

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)

团队成员

  • Wilson Wongso(@w11wo)
  • Steven Limcorn(@stevenlimcorn)
  • Samsul Rahmadani(@munggok)
  • Chew Kok Wah(@chewkokwah)