HuggingFace镜像/alephbert-base-openmind
模型介绍文件和版本分析

AlephBERT

希伯来语语言模型

最先进的希伯来语语言模型。 基于 Google 的 BERT 架构 (Devlin et al. 2018)。

在 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/alephbert-base-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("Hello I'm a {} model.".format(MASK_TOKEN))
    print(result)
    
    end_time = time.time()
    print(f"硬件环境:{device},推理执行时间:{end_time - start_time}秒")
    
if __name__ == "__main__":
    main()

如何使用

from transformers import BertModel, BertTokenizerFast


alephbert_tokenizer = BertTokenizerFast.from_pretrained('onlplab/alephbert-base')
alephbert = BertModel.from_pretrained('onlplab/alephbert-base')

# if not finetuning - disable dropout
alephbert.eval()

训练数据

  1. OSCAR (Ortiz, 2019) 希伯来语部分(10 GB 文本,2000 万句)。
  2. 维基百科 希伯来语数据 dump(650 MB 文本,300 万句)。
  3. 从 Twitter 样本流收集的希伯来语推文(7 GB 文本,7000 万句)。

训练过程

在 DGX 机器(8 块 V100 GPU)上使用标准的 Hugging Face 训练流程进行训练。

由于我们的大部分训练数据基于推文,因此决定首先仅使用掩码语言模型(Masked Language Model)损失进行优化。

为了优化训练时间,我们根据最大 token 数量将数据分为 4 个部分:

  1. token 数量 < 32(7000 万句)
  2. 32 ≤ token 数量 < 64(1200 万句)
  3. 64 ≤ token 数量 < 128(1000 万句)
  4. 128 ≤ token 数量 < 512(150 万句)

每个部分首先以初始学习率 1e-4 训练 5 个 epoch。然后,每个部分再以初始学习率 1e-5 训练 5 个 epoch,总训练轮次为 10 个 epoch。

总训练时间为 8 天。

下载使用量0