我正在使用一个经过训练的拥抱脸模型在我的推特数据集上做情绪分析,我的推特数据集有150万条推特。我使用
model = AutoModelForSequenceClassification.from_pretrained("savasy/bert-base-turkish-sentiment-cased")
tokenizer = AutoTokenizer.from_pretrained("savasy/bert-base-turkish-sentiment-cased")
sa= pipeline("sentiment-analysis", tokenizer=tokenizer, model=model, device=0)所以我使用我的gpu (rtx 2060)。我做了一些测试,估计在150万条推特上进行推理所需的时间,大约需要5个小时。我通过观察给定尺寸所花费的时间来估计这一点。看起来它是线性增长的。
size: 10 , 0.2910006046295166 seconds
size: 100 , 1.1989195346832275 seconds
size: 1000 , 12.097795724868774 seconds
size: 10000 , 123.63561415672302 seconds还有其他减少推理时间的方法吗?还是我应该只运行5个小时的代码?
编辑:
我还观察到gpu的利用率是最大的30%。
我使用的模型是https://huggingface.co/savasy/bert-base-turkish-sentiment-cased
发布于 2022-02-24 15:26:58
如果您尝试使用的数据集确实很大,如果您想在加载后减少加载时间,则可能会减少数据准备和培训阶段之间的时间,但问题是您只是将数据集加载到项目中,可能尝试使用缓存内存中的dataset来减少推断时间。
https://stackoverflow.com/questions/71254222
复制相似问题