TextLMDataBunch内存问题语言模型Fastai

问题描述 投票:0回答:1

我有一个包含4500万行数据的数据集。我有三个6gb ram gpu。我正在尝试训练数据的语言模型。

为此,我试图将数据作为fastai数据加载。但是由于内存问题,这部分总是失败。

data_lm = TextLMDataBunch.from_df('./', train_df=df_trn, 
valid_df=df_val, bs=10)

我该如何处理这个问题?

nlp out-of-memory pytorch language-model fast-ai
1个回答
0
投票

使用此功能时,您的Dataframe将加载到内存中。由于您有一个非常大的数据帧,这会导致您的内存错误。 Fastai使用chunksize处理标记化,因此您仍然可以对文本进行标记。

以下是您应该尝试的两件事:

  • 将qunksize参数(默认值为10k)添加到TextLMDataBunch.from_df,以便标记化过程需要更少的内存。
  • 如果这还不够,我建议不要将整个数据帧加载到内存中。不幸的是,即使您使用TextLMDataBunch.from_folder,它只是加载完整的DataFrame并将其传递给TextLMDataBunch.from_df,您可能必须创建自己的DataBunch构造函数。如果您需要帮助,请随时发表评论。
© www.soinside.com 2019 - 2024. All rights reserved.