我是靠谱客的博主 潇洒蜜粉,最近开发中收集的这篇文章主要介绍bert简介_Bert-Encode-Server,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

94312597d660dc016d7c41b84b91476e.png

项目地址

Bert-Encode-Server​github.com

引用项目

壮哉我贾诩文和:Keras-Bert-Ner-Light​zhuanlan.zhihu.com
bebd87bc138e8d5eff4a8e35a451f5a4.png

简介

项目在肖涵老师的bert-as-service上添加了ALBERT模型,总体使用与bert-as-service保持一致。

直接通过Bert Encode Server服务端获取输入特征(可以是字特征,也可以是句特征),此时的预训练语言模型仅作为通用的特征提取器,不参与下游模型的训练,可以显著降低任务的计算资源占用;从Bert Encode Server服务端提取特征需要一定的耗时,该耗时取决于服务端的计算性能

更新日志

  • 2020.03.03 新增样例。
  • 2020-01-11 加载roberta系列模型时,不需要添加-albert参数,其网络结构与bert模型一致。
  • 2020-01-11 修复BERT模型加载出现AttributeError: 'BertConfig' object has no attribute 'embedding_size'的错误,原因是对开启server的参数-albert进行处理时出现错误;现在,-albert参数被设置为store_true的动作参数,默认为False

未来工作

  • 提高稳定性和并发性。
  • 新增BERT系列改进模型,如Distill Bert,Tiny Bert。

依赖项

  • flask == 1.1.1
  • GPUtil == 1.4.0
  • termcolor == 1.1.0
  • flask_cors == 3.0.8
  • flask_json == 0.3.4
  • tensorflow == 1.15.2
  • flask_compress == 1.4.0

字特征提取(服务端)

cd char_server
bash char_server.sh

注意修改.char_server.sh中文件的相关内容:

  • 如果使用ALBERT模型,应添加参数-albert
  • model_dirckpt_nameconfig_name根据预训练语言模型的位置进行相应调整。
  • 如使用cpu,添加-cpu参数;如使用gpu,添加-device_map "0",其中"0"为0号GPU。

句特征提取(服务端)

cd sent_server
bash sent_server.sh

参数与字特征提取(服务端) 所示参数一致,但需注意:

  • -pooling_strategy参数应删除或设置该参数为REDUCE_MEAN

使用客户端

import requests

r = requests.post(
    "http://your_ip:your_port/encode",
    json={
        "id": 123,
        "texts": ["啊","啥意思"],
        "is_tokenized": False
    }
)

其中,json中的相关参数设置如下:

  • texts字段为句子list时,is_tokenized字段为False
  • texts字段为字符list时,is_tokenized字段为True

一些常用的中文预训练模型

BERT Google_bert HIT_bert_wwm_ext ALBERT Google_albert_base Google_albert_large Google_albert_xlarge Google_albert_xxlarge Xuliang_albert_xlarge Xuliang_albert_large Xuliang_albert_base Xuliang_albert_base_ext Xuliang_albert_small Xuliang_albert_tiny Roberta roberta roberta_wwm_ext * roberta_wwm_ext_large

参考

  • 项目参考了Han Xiao的工作:bert_as_service。我们仅仅在这基础上添加了ALBERT模型框架。

最后

以上就是潇洒蜜粉为你收集整理的bert简介_Bert-Encode-Server的全部内容,希望文章能够帮你解决bert简介_Bert-Encode-Server所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部