type
status
date
slug
summary
tags
category
icon
password
问题与思考
在处理变长信息时,现在的技术一般都是组合的得到一个或者指定的几个,然而未知的输入形状,使得网络层在设计时难以进行。此外,嵌入技术的普遍应用在一定程度上缓解了这个问题。
然而在一些特别的领域,或者说在更长远的应用中,保留变长信息的结构或许会有一些不同的应用。相较于定长的信息,采用的嵌入(embedding),截取(rounding),填充(padding)等都会一定程度的损失信息或者影响信息。
就目前的普遍的环境而言,没有新的能够契合torch和CUDA、cudnn的数据类型出现之前,使用List<torch.tensor>的数据结构,是时间复杂度付出较少的一种方法了。
因为torch.tensor采用对硬件调度的方式计算,基本是并行计算,时间复杂度很低,并且是和设备性能相挂钩。现在算力的不断提升,这个速度只会越来越快。而使用List作为父类结构的torch.tensor的泛型结构,似乎天然就占有了一层O(n)的复杂度。这也是实际使用List去处理变长信息时的痛点。
特别是NLP领域,变长信息的重灾区。而NLP又是现在大语言模型等研究的基础,对人类自然语言的理解也是未来人工智能与人交互的关键。可见List<torch.tensor>处理变长信息还是有尝试的空间。
另一方面
可能受限于本人的知识面,不太了解现在能够处理变长信息的技术进展,可能已经有学者设计了新的数据结构,能够做类似效果的处理,欢迎交流学习。
- Author:Kecilimu
- URL:https://kecilimu-notion.vercel.app//article/20240709141324
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!