bert4torch

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 167 🐛 待处理 1 👀 关注 12
GitHub ↗
GitHub 星标 ★ 1324
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,可自行部署使用。

项目预览

bert4torch 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队Tongjilibo
定价模式🏷️完全免费
价格说明开源项目,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 星标★ 1324
上线时间2022-03-12 00:00:00
代码更新2026-05-16
仓库体积13.7 MB
本站数据更新2026-11-10
维护状态低维护
收录时间2026-08-09
浏览次数5

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1324

使用教程

难度:入门 约 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

上一篇:compose-for-agents

下一篇:diagram-of-thought

同类项目推荐

nlp.js 开源

用 JavaScript 快速构建能理解意图的聊天机器人

An NLP library for building bots, with entity extraction, sentiment analysis, automa···

★ 6580 2026-08-09
building-with-typesafe-jev 开源

让编码智能体一次写对 Jev 类型化决策代码

Unofficial skill that teaches coding agents to build with TypeSafe AI's Jev: typed d···

★ 155 2026-10-03
tree-of-thought-llm 开源

让大模型像人类一样反复推敲,多路径思考找最优解

[NeurIPS 2023] Tree of Thoughts: Deliberate Problem Solving with Large Language Mode···

★ 6089 2026-08-09
ai-microcore 开源

轻松调用大模型,快速搭建 AI 应用

A handy lib for smooth interaction with large language models (LLMs) and crafting AI···

★ 108 2026-08-09
dspy-go 开源

用 Go 声明式编排 LLM 工作流,自动优化提示词

DSPy Go implementation

★ 203 2026-08-09
langgraph-trip-planner 开源

输入目的地和偏好,AI 自动生成完整旅行行程

Model-agnostic AI trip planner built with LangChain, LangGraph, FastAPI and Vue

★ 107 2026-09-25
ccproxy 开源

给 Claude Code 加钩子,自定义模型和路由,让 AI 调用随你掌控。

Build mods for Claude Code: Hook any request, modify any response, /model "with-your···

★ 359 2026-08-09
bottender 开源

一套代码,搞定所有聊天平台,快速构建对话机器人。

⚡️ A framework for building conversational user interfaces.

★ 4283 2026-08-09
flyte-sdk 开源

用 Python 异步语法,类型安全地编排 ML 流水线和智能体

Type-safe, distributed orchestration of agents, ML pipelines, and real-time inferenc···

★ 129 2026-08-09