bert4torch

轻量 PyTorch 实现,让预训练模型定制更顺手

bert4torch 是一个基于 PyTorch 的 transformers 库的优雅实现,旨在提供与 Hugging Face Transformers 类似的功能,但更轻量、更易定制。它解决了研究人员和开发者在使用预训练语言模型(如 BERT、RoBERTa、GPT 等)时面临的依赖过重、代码复杂、难以修改内部结构等问题。核心能力包括:支持多种主流预训练模型的加载与微调,提供简洁的 API 进行文本分类、序列标注、文本生成等任务,并内置了高效的训练循环和数据处理工具。项目代码结构清晰,模块化设计,便于用户深入理解模型原理并进行二次开发。相较于官方 transformers 库,bert4torch 更注重教学和科研场景,强调代码的可读性和灵活性,适合需要深度定制模型的用户。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1326
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队Tongjilibo
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型belle,bert,bert4keras,bert4torch,chatglm,large-language-models,llama,llm,named-entity-recognition,nlp,pytorch,relation-extraction,seq2seq,text-classification,transformers
GitHub 星标★ 1326
30天Star增速
HF 下载量
上线时间2022-03-12 00:00:00
最近更新2026-09-16 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:入门 约 10 分钟 部署方式:本地安装 6 步

环境要求

  • Python 环境(可执行 pip 命令)
  • 已安装 PyTorch,项目原用 torch==1.10 开发,现已切换到 torch2.0,其他版本若不适用可反馈
  • 需要联网以从 pip 源或 GitHub 拉取安装包;加载在线大模型权重同样需要联网
  • 如需跑仓库自带示例,需本地已安装 git 并能访问 GitHub

安装与启动步骤

  1. 1安装稳定版

    直接用 pip 安装已发布到 PyPI 的稳定版 bert4torch,适合只想调用库的用户,是最省事的方式。

    pip install bert4torch
  2. 2安装最新开发版

    如需最新功能可改从 GitHub 安装开发版。注意 pip 包发布慢于 git 上的开发版本,开发版可能不够稳定。

    pip install git+https://github.com/Tongjilibo/bert4torch
  3. 3克隆示例仓库

    想跑通测试用例就先克隆仓库,然后修改 example 中的预训练模型文件路径和数据路径即可启动脚本。

    git clone https://github.com/Tongjilibo/bert4torch
  4. 4联网部署大模型

    用 bert4torch serve 直接指定 HuggingFace 模型名,会自动联网下载全部文件并起服务,无需先手动下权重。

    bert4torch serve Qwen/Qwen2-0.5B-Instruct
  5. 5加载本地大模型

    离线使用时传入本地模型目录;要求该目录下已下载好 bert4torch_config.json 并与其同名放置。

    bert4torch serve /data/pretrain_ckpt/Qwen/Qwen2-0.5B-Instruct
  6. 6切换服务模式

    通过 --mode 参数在命令行、gradio 网页、openai_api 三种交互方式间切换,按需选择其中一种运行。

    bert4torch serve /data/pretrain_ckpt/Qwen/Qwen2-0.5B-Instruct --mode gradio

关键配置

配置项必填说明示例
bert4torch_config.json是本地加载大模型时所需的模型配置文件,需放在模型同名目录下/data/pretrain_ckpt/Qwen/Qwen2-0.5B-Instruct/bert4torch_conf
--mode否指定服务交互方式,可选 cli、gradio、openaigradio

如何确认成功

执行 serve 命令后模型能正常加载并进入交互:命令行模式可直接对话,gradio 模式会打开网页界面。

常见问题

Q:pip 安装的版本和 git 版本有什么区别?

A:pip 包发布慢于 GitHub 上的开发版本,想要最新特性就改用 pip install git+https://github.com/Tongjilibo/bert4torch 安装。

Q:可以完全离线加载本地模型吗?

A:可以。把模型权重放到本地目录,并保证 bert4torch_config.json 已下载且与该目录同名,再用 bert4torch serve 指向该目录即可。

Q:example 里的脚本跑不起来怎么办?

A:README 说明克隆仓库后,需要按自己环境修改 example 中的预训练模型文件路径和数据路径,改完再启动脚本。

Q:换别的 torch 版本报错怎么办?

A:项目原用 torch==1.10 开发,现已切换到 torch2.0;其他版本如遇不适配,建议反馈或先切到 torch2.0。

注意事项

  • git clone 使用时注意引用路径,并留意权重是否需要转换。
  • 针对自己的数据做训练时,需要修改相应的数据处理代码块。
  • 命令行部署大模型时,本地加载要求 bert4torch_config.json 与模型放于同名目录下。

核心亮点

  • 代码结构清晰,模块化设计,便于学习和二次开发
  • 支持 BERT、RoBERTa、GPT 等主流模型,API 简洁易用
  • 内置训练循环和数据处理工具,开箱即用

不足之处

  • 社区规模较小,文档和示例相对有限
  • 部分高级功能(如分布式训练)支持不如官方库完善

适用场景

  • 学术研究:快速实现和验证新的模型结构
  • 教学演示:讲解 Transformer 原理和代码实现
  • 轻量级生产:在资源受限环境中部署预训练模型

替代项目

Hugging Face Transformers、pytorch-transformers、bert-as-service

项目介绍

bert4torch 是开发框架领域的开源项目,由 Tongjilibo 开发,2022 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(1,326)位列前 30%,在开发框架分类中处于中上游。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-16。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:学术研究:快速实现和验证新的模型结构。同类可对比的替代方案包括 Hugging Face Transformers、pytorch-transformers、bert-as-service。

上一篇:compose-for-agents

下一篇:diagram-of-thought

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12