• Huggingface上有许多不错的大模型,特别是bert类大模型拥有较强的处理中文的能力,但是该网站无法正常访问,特别是在本地私有化和内网环境部署大模型时更是无法连接,造成无法调用bert大模型的问题,还有huggingface.co can’t conect等报错信息。,如下图:
    在这里插入图片描述 - 那么大方法有两个:
    第一,在部署模型的服务器上设置代理,直接解决无法访问的问题。(本文不作讨论)
    第二,将需要的模型,利用代理下载至本地,再拷贝到内网机,直接让脚本从本地调用该大模型。本文主要讨论第二个方法。
    下图就是在无网络环境下的服务器上利用bert模型进行文字语意识别的训练过程。
    在这里插入图片描述
    1.本人环境:
    外网机:cpu,无gpu,70G磁盘空间
    Ubuntu20.04(cpu):miniconda、Python3.8.20,tensorflow2.7.0及其numpy、pandas等各种大模型所需库和包,我的另外一篇文章详细介绍了搭建过程。

  • 内网机:
    cpu,无gpu,70G磁盘空间
    Ubuntu20.04(cpu):miniconda、Python3.8.20,tensorflow2.7.0及其numpy、pandas等各种大模型所需库和包。

    2.登录huggingface.co下载需要的模型到本地
    在这里插入图片描述
    登录网站点1、2、3找到需要的模型,比如我要的bert-base-chinese。
    找到模型后点击files and versions
    在这里插入图片描述对比下图需要的文件进行下载,放入bert-base-chinese目录,将该目录放在home/user名字/的目录下
    Home/username/bert-base-chinese,就这样
    在这里插入图片描述在这里插入图片描述
    下面3-5的代码都写在自己脚本里,不然自己使用bert模型的脚本一旦运行,就又会去访问hugging face了。

3.因为我打算使用CPU,所以屏蔽掉关于cuda的报错
import os
os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘’

4.#解决服务器无法访问hugging face.co
直接强制定义不让transformer访问网络
os.environ[‘TRANSFORMERS_OFFLINE’] = ‘1’

直接定义要用的模型的绝对路径到变量方便调用
local_dir = “/home/jack/bert-base-chinese”

本地保存的目录,定义本地存放大模型的目录,注意该目录内一定要有前面下载的那几个文档。
from transformers import AutoModel, AutoTokenizer
#从本地加载 tokenizer
tokenizer=AutoTokenizer.from_pretrained(local_dir,local_files_only=True)
#从本地加载模型
model = AutoModel.from_pretrained(local_dir,local_files_only=True)
在处理分词器加载和模型训练加载的时候,定义使用本地文件,而且是仅使用本地文件!

5.在模型加载的位置,做好本地路径引导操作,下面有这么几个地方和我外网机GPU跑模型有这么几个不同:
1)local_dir,是前面已经定义的本地模型的路径,而不是直接输入的模型名称bert-base-chainese(GPU外网机直接输入模型名字即可)
2)local_files_only=True,再次定义模型仅使用本地文件
3)use_cuda=False,在普通参数和args字典参数都写了该设置,好像字典里面写这句意义不大,不过写上也没啥。
其他就是模型使用的基本参数,这里不再介绍。

model = TransformerModel(
‘bert’,
local_dir,
num_labels=2,
use_cuda=False,
local_files_only=True,
args={
‘learning_rate’: 1e-5,
‘num_train_epochs’: 2,
‘reprocess_input_data’: True,
‘overwrite_output_dir’: True,
‘fp16’: False,
‘use_cuda’: False,
‘output_dir’: ‘./my_saved_model’})

经过这样设置之后,内网的大模型就可以运行了。

PS:刚开始学习,算是做个笔记吧

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐