ModernBert简介

模型下载

环境准备

  • 首先把代码仓下载下来https://github.com/AnswerDotAI/ModernBERT

  • 代码中目录结构如下
    在这里插入图片描述

  • 比较重要的包就是transformers, 这边要求的版本比较高, 需要4.48.0,尝试了官网的几种方式,最后通过尝试3成功安装transformers

尝试1(失败)

  • 根据readme中所述,直接用它所述的方法,进入到下载后的代码目录中,直接使用conda env create -r environment.yaml

  • 失败,报如下错
    在这里插入图片描述

尝试2(失败)

  • 到代码中的environmernt.yaml先看下python版本,为3.11.9
    在这里插入图片描述

  • 然后使用命令conda create -n py311 python=3.11 创建镜像

  • 进到requirements-cpu.txt继续查看下必须依赖的包,然后依次手动安装(/JCHeader/v1/oneboxfile/v1/oneboxFile?url=api/v2/files/9406908/456859/url ‘image.png’)

  • 还是失败,按照其官网所述,transformer要求的版本比较高,直接使用pip install transformer不支持

  • 尝试使用官方命令:pip install git+https://github.com/huggingface/transformers.git,还是不行

尝试3(成功)

  • 下载附件的transformers-main.zip压缩包
  • 也可以到https://github.com/huggingface/transformers.git直接下载压缩包
  • 进入到上一步创建的python 3.11conda环境下
  • 解压安装包,进入到your_path\transformers-main\transformers-main
  • 输入命令pip install ./transformers-main --trusted-host mirrors.tools.huawei.com -i http://mirrors.tools.huawei.com/pypi/simple,便可以成功安装

简单调用

pipline

  • 代码如下:
import torch
from transformers import pipeline
from pprint import pprint

pipe = pipeline(
    "fill-mask",
    model=r"D:\models\ModernBERT-base\ModernBERT-base",
    torch_dtype=torch.bfloat16,
)

input_text = "He walked to the [MASK]."
results = pipe(input_text)
pprint(results)
  • 输出结果
    在这里插入图片描述

AutoModelForMaskedLM模型推理

  • 代码如下:
from transformers import AutoTokenizer, AutoModelForMaskedLM

model_id = r"D:\models\ModernBERT-base\ModernBERT-base"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForMaskedLM.from_pretrained(model_id)

text = "The capital of France is [MASK]."
inputs = tokenizer(text, return_tensors="pt")
outputs = model(**inputs)

# To get predictions for the mask:
masked_index = inputs["input_ids"][0].tolist().index(tokenizer.mask_token_id)
predicted_token_id = outputs.logits[0, masked_index].argmax(axis=-1)
predicted_token = tokenizer.decode(predicted_token_id)
print("Predicted token:", predicted_token)
# Predicted token:  Paris
  • 输出结果
    在这里插入图片描述

问题记录

  • 下载安装包后,应该采用尝试3的方式,不可以直接进入安装目录后pip install transformers-main, transformers-main前面需要加上目录比如:pip install ./transformers-main

参考网址

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐