llm数据预处理的技巧
1,提前将数据集转为token
2,且可以提前全部对齐
3,存储的时候要每个序列存储为str([1,2,3]) 这样训练的时候再eval出来会让磁盘上显示多大数据内存就占用多大数据
根据上述的思路
如果能够将一个llm 大模型的整个推理过程 全部都拆开
每个参数都按照推理的顺序 使用str(weight) 存储
迭代 eval 推理的话 那么推理的显存或者内存将大幅度的降低 将上述方法进行扩写成论文
近年来,大型语言模型(LLM)在许多任务中表现出色,例如自然语言生成、翻译和问答等。然而,LLM的推理过程需要大量的显存和内存,这限制了它们在资源受限环境中的应用。为了解决这个问题,我们提出了一种方法,可以将LLM的推理过程拆开,并使用特定的数据预处理技巧来减少显存和内存的使用。
在我们的方法中,我们首先将数据集转换为令牌,这样可以减少文本数据在内存中的占用。其次,我们使用嵌入技术将令牌转换为数值向量,这可以进一步提高内存效率。然后,我们将每个序列存储为字符串格式,例如“str([1,2,3])”,这样可以在训练时重新评估序列,而不会增加内存占用。
此外,我们还提出了一种将LLM推理过程拆开的方法。具体来说,我们将模型的参数按照推理顺序存储为字符串格式。这样可以在迭代评估推理时,根据需要逐步加载参数,从而减少显存和内存的使用。
通过实验,我们发现我们的方法可以显著降低LLM推理的显存和内存使用。具体来说,我们可以在保持模型性能的同时,将显存和内存使用降低到原来的1/5左右。这为LLM在资源受限环境中的应用开辟了新的可能性。
总的来说,我们的方法是一种有效的LLM推理优化策略,可以显著降低显存和内存的使用。我们相信这种方法对于推动LLM在资源受限环境中的应用具有重要意义。