如何解决不使用GPU进行预测即可提高aQuestion应答,BERT和GPT的性能
我下载了一个Python脚本,该脚本使用BERT和GPT进行了问答, 不幸的是,此脚本需要使用GPU进行预测,使用GPU运行时每个问题仅需1秒,但是使用CPU运行时每个问题回答会话需时超过3分钟。
这意味着操作需要使用AWS p3.xlarge机器,该机器运行成本很高(每月700美元以上)。
所以我想知道是否存在一个问题解答系统,它不是AllenNLP的BIDAF,并且在较小的t2.micro AWS实例上仅使用CPU时,可以很好地回答问题。
这存在吗?
当前代码使用Flask。
这是当前代码版本的节选。 如何提高性能?
#import all dependencies
import json
from flask import jsonify,Flask,request #import main Flask class and request object
app = Flask(__name__)
import os
from main import *
# @app.route('/',methods=['GET','POST'])
# def question_generation():
# if request.method != 'POST':
# return "Welcome !"
# # Data to be written
# meta_data = {
# "input_text": "",# "key": "quac_869",# "timestamp": "2019-07-12 11:35:12.201741",# "settings": {
# "top_p": 0.9,# "gen_frac": 0.5,# "spec_frac": 0.8
# }
# }
# # print(request.form.get('passage'))
# #add passage into meta data
# meta_data['input_text']=request.args.get('passage')
# # dump the metadata into json object
# metadata_json = json.dumps(meta_data,indent = 4)
# qna_data=qa_generator(tokenizer_gpt2,model_gpt2,tokenizer_bert_p,model_bert_p,metadata_json)
# qna_data=json.loads(qna_data)
# #return question answer
# return jsonify(qna_data)
@app.route('/','POST'])
def question_generation_1():
if request.method != 'POST':
return "Welcome !"
try:
get_dict = request.get_json()
# Data to be written
meta_data = {
"input_text": "","key": "quac_869","timestamp": "2019-07-12 11:35:12.201741","settings": {
"top_p": 0.9,"gen_frac": 0.5,"spec_frac": 0.8
}
}
#add passage into meta data
meta_data['input_text']=get_dict["passage"]
# dump the metadata into json object
metadata_json = json.dumps(meta_data,indent = 4)
qna_data=qa_generator(tokenizer_gpt2,metadata_json)
qna_data=json.loads(qna_data)
#return question answer
return jsonify(qna_data)
except:
# Data to be written
meta_data = {
"input_text": "","spec_frac": 0.8
}
}
#add passage into meta data
meta_data['input_text']=request.args.get('passage')
# dump the metadata into json object
metadata_json = json.dumps(meta_data,metadata_json)
qna_data=json.loads(qna_data)
#return question answer
return jsonify(qna_data)
#app.run()
#start the server
# if you want to use flask server then enable folowing line
#app.run(host="167.99.108.238",port="")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。