论文《QAFactEval: Improved QA-Based Factual Consistency Evaluation for Summarization》(NAACL 2022)代码https://github.com/salesforce/QAFactEval
本人的服务器:学校实验室服务器,不支持正常访问huggingface
因为本论文的时间是2021年,当时使用的transformers库为3.0.2版本的,并且按照代码的框架逻辑,不能高于3.1.0版本,否则要大改特改。
而transformers库最恶心的地方就在于,更新换代的速度非常之快,并且新版本的修改可谓是大刀阔斧的修改,很多旧有的方法不再支持。
对于本代码而言,困难之处在于:
- 在封装好的库
qafacteval中写死了必须远程加载facebook/bart-large模型和tokenizer,并且加载facebook/bart-large的那几行代码无法找到。并且是基于3.0.2版本的加载,加载的逻辑已经不同于现在的transformers库。
总结复现流程如下:
-
在服务器上conda创建虚拟环境qafacteval。(亲测,python版本不能超过3.8,作者的readme里没说qwq)
conda create -n questeval python=3.8 -
git clone下载项目代码于本地,用pycharm打开并远程连接到服务器的该环境中。
-
服务器上进入该项目目录,安裝本项目需要的库。
pip install -e . -
还需要再安装库
gdown,不然待会儿没法下载模型。(这个作者没在setup.py中实现,也没另外说qwq)pip install gdown -
执行
download_models.sh,下载本框架所依赖的所有子模型。(其实还依赖了bert-large作为生成模型,被隐藏在库里面了,这是最搞人的地方)

本文介绍了如何在2021年NAACL会议上提出的QAFactEval代码在3.0.2版本的transformers库环境下运行的困难,特别是处理facebook/bart-large模型加载问题,以及作者提供的解决方法,包括创建虚拟环境、安装依赖库、修改源代码等。
最低0.47元/天 解锁文章
9864

被折叠的 条评论
为什么被折叠?



