时空预测技术致力于深入分析和预测动态的城市环境,它不仅关注时间的变化,也考虑空间的布局。这项技术的目标是揭示城市生活中交通、人口迁移和犯罪率等各个方面的未来趋势和模式。尽管许多研究集中于利用神经网络来提高时空数据预测的准确性,但这些方法通常需要大量的训练数据来生成可靠的时空特征。
然而,在实际的城市监测场景中,数据往往不足,特别是在某些情况下,收集有标记的数据变得非常困难,这进一步加剧了挑战。因此,开发一个能够适应不同时空背景并具备强大泛化能力的模型显得尤为关键。
受到大型语言模型(LLMs)在多个领域的显著进展的启发,香港大学、华南理工大学等机构的研究人员发布了一个全新的时空大语言模型UrbanGPGT,将时空依赖的编码器和指令微调技术相结合,其目标是开发一个能够广泛适用于城市任务的时空大型语言模型。
项目链接:https://urban-gpt.github.io/
代码链接:https://github.com/HKUDS/UrbanGPT
论文链接:https://arxiv.org/abs/2403.00813
视频展示:https://www.bilibili.com/video/BV18K421v7ut
这种结合使得模型能够深入理解时间和空间的复杂关系,并在数据有限的情况下提供更全面和精确的预测。
为了测试这一方法的有效性,我们在多个公共数据集上进行了广泛的实验,这些实验涉及多种时空预测任务。实验结果一致显示,UrbanGPT 在性能上始终超越了现有的顶尖模型。这些成果证明了在数据标记较少的情况下,利用大型语言模型进行时空学习的巨大潜力。
C1. 标签数据的稀缺性与重新训练成本高昂:尽管现有的时空神经网络在预测准确性方面表现出色,但它们对大量标注数据的依赖性极大。
在实际的城市监测环境中,数据的稀缺性是一个显著的障碍。例如,考虑到成本问题,在整个城市范围内部署传感器来监测交通流量或空气质量是不现实的。此外,现有的模型在面对新的地区或城市预测任务时,往往缺乏足够的泛化能力,需要重新训练才能生成有效的时空特征。
C2. 大型语言模型和现有时空模型在零样本场景下的泛化能力不足:如图2所示,大型语言模型LLaMA能够根据输入文本推断流量模式。然而,它在处理具有复杂时空依赖性的数字时间序列数据时,有时会出现预测失误。
与此同时,虽然预训练的基线模型在编码时空依赖关系方面表现良好,但它们可能会因为过度适应源数据集而在零样本场景中表现不佳。
C3. 将大型语言模型的推理能力扩展到时空预测领域:时空数据的独特性质与大型语言模型中编码的知识之间存在显著差异。如何缩小这种差异,进而构建一个在广泛的城市任务中具有卓越泛化能力的时空大型语言模型,是一个亟待解决的重要问题。
图1:与LLM和时空图神经网络相比,UrbanGPT 在零样本场景下有着更好的预测性能
(1)据我们了解,这是首次尝试创建一个能够跨多个数据集预测各种城市现象的时空大型语言模型,特别是在训练数据有限的情况下。
(2)本文介绍了一个名为UrbanGPT的时空预测框架,它允许大型语言模型深入理解时间和空间之间的复杂联系。通过将时空依赖编码器与指令微调技术紧密结合,有效地将时空信息融入语言模型中。
(3)在真实世界数据集上进行的广泛实验验证了UrbanGPT在零样本时空学习环境中的卓越泛化能力。这些结果不仅展示了模型在预测和理解时空模式方面的高效性,还证明了其在缺乏样本的情况下依然能够提供准确的预测。
图2:UrbanGPT 整体框架
尽管大型语言模型在处理语言文本方面取得了显著成就,但它们在解析时空数据中的时序变化和动态模式时仍存在挑战。
为了应对这一问题,本研究提出了一种创新的方法,即整合时空依赖编码器,以提升大型语言模型在捕捉时空上下文中的时间序列依赖性的能力。
具体来说,我们设计的时空编码器由两个核心组件构成:一个是门控扩散卷积层,另一个是多层次关联注入层。
上式 为初始化时空嵌入,从原始时空数据中获取。Er'是Er的切片,用于进行残差操作以缓解梯度消失。
我们使用一维扩散卷积来编码时间关联。
Sigmoid 激活函数δ 用于控制多层卷积运算的信息保留程度。
经过门控时间扩展卷积层的处理,我们能够精确地捕捉到连续多个时间步长内的时间序列依赖性,进而生成丰富的时间特征表示。这些表示涵盖了多层次的时间依赖关系,揭示了不同粒度级别的时间演变模式。
为了完整地保留这些时间信息,我们引入了一种多层次关联注入层,该层特别设计用于捕捉并整合不同层次之间的相互联系:
其中是形如的卷积核,在通过L层的编码处理之后,我们利用一个简单的线性层将门控扩散卷积层和多层次关联注入层的输出进行整合,最终生成的时空依赖性特征表示为
为应对可能在各种城市场景中出现的复杂情况,本文设计的时空编码器在处理空间相关性时不依赖于特定的图结构。这是因为在零样本预测环境中,实体间的空间联系往往是未知的或难以预测的。这样的设计使得UrbanGPT能够在广泛的城市应用场景中保持其适用性和灵活性。
为了使语言模型能够深入理解时空动态,确保文本内容与时空数据的一致性是关键。这种一致性使得模型能够整合多种数据类型,生成更加丰富的数据表示。通过将文本内容与时空领域的上下文特征相结合,模型不仅能够捕捉到补充性的信息,还能够提炼出更高层次的、具有更强表现力的语义特征。
为了实现这一点,本文采用轻量对齐模块来投影时空依赖性表示。
投影操作采用线性层参数进行,其中dL表示大语言模型常用的隐藏维度。所得到的投影 ,在指令中使用特殊的标记表示为:<ST_start>,<ST_HIS>,...,<ST_HIS>,<ST_end>。在这里,<ST_start> 和 <ST_end> 是用来标记时空信息起始和终止的特殊符号,它们可以通过扩展词汇库的方式被纳入到大型语言模型中。
占位符 <ST_HIS> 代表时空标记,它对应于隐藏层中的向量 H。利用这种技术,模型能够识别时空依赖关系,这显著增强了其在城市环境中进行时空预测任务的能力。
在进行时空预测时,时间和空间数据都蕴含着关键的语义信息,这些信息对于模型捕捉特定情境下的时空规律至关重要。
比如,交通流量在早晨和高峰时段会有显著变化,商业区与住宅区的交通模式也各有不同。因此,将时间与空间信息作为提示文本引入时空预测任务,可以显著提升模型的预测效果。我们利用大型语言模型在文本理解方面的专长来处理这些信息。
在UrbanGPT的架构中,我们整合了不同粒度的时间数据和空间细节,作为大型语言模型的指令输入。时间信息涵盖了一周中的日期和具体时间点,而空间信息则包括城市区域、行政区划以及周边的兴趣点(POI)等,如图3所示。
通过整合这些多样化的元素,UrbanGPT能够深入识别并理解在复杂时空背景下,不同区域和时间段的时空动态,进而提升其在零样本情况下的推理能力。
图3: 编码时间和位置感知信息的时空提示指令
在利用指令微调大型语言模型(LLMs)生成时空预测的文本描述时,面临两大挑战。一方面,时空预测通常基于数值型数据,这些数据的结构和模式与自然语言处理中的语言模型所擅长的语义和句法关系不同。
另一方面,LLMs在预训练阶段通常采用多分类损失函数来预测词汇,这导致其生成的是词汇的概率分布,而时空预测任务则需要连续值的输出。
为了克服这些问题,UrbanGPT采取了一种创新的方法。它不是直接预测未来的时空值,而是生成辅助性的预测标记。这些标记随后通过一个回归层处理,将模型的隐藏层表示转换为更精确的预测值。这种方法使得UrbanGPT能够更有效地进行时空预测。
上式中预测标记的隐藏表征用表示,其中预测标记可通过扩充LLMs词表的方式引入。W1,W2,W3为回归层的权重矩阵,[⋅,⋅]为拼接操作。
在跨区域预测中,我们利用同一城市中某些区域的数据来预测模型未接触过的其他区域的未来状况。通过深入分析模型在此类跨区域预测任务中的表现,我们注意到:
(1)卓越的零样本预测能力。表1中的数据展示了所提出模型在不同数据集上的回归和分类任务中超越基线模型的优异表现。UrbanGPT的出色表现主要归功于两个核心要素。
i)时空数据-文本对齐。将时空上下文信号与语言模型的文本理解能力对齐,对模型的成功至关重要。这种整合使得模型能够充分利用编码自时空信号的城市动态信息,同时结合大语言模型对文本上下文的深入理解,从而扩展了模型在零样本场景下的预测能力。
ii)时空指令的微调。通过自适应调整,LLMs能够更有效地吸收指令中的关键信息,提升其对空间和时间因素复杂关系的理解。UrbanGPT通过将时空指令微调和时空依赖编码器相结合,成功地保留了通用且可转移的时空知识,实现了在零样本场景中的准确预测。
(2)对城市语义的深入理解。城市语义提供了对空间和时间特性的深刻洞察。通过在多种数据集上训练模型,增强了其对不同时间段和地理位置的时空动态的理解。
相比之下,传统的基准模型通常更注重编码时空依赖关系,而忽略了区域、时段和数据类型之间的语义差异。通过将丰富的语义信息融入UrbanGPT,我们显著提升了其在未见过的区域中进行精确零样本预测的能力。
(3)在稀疏数据环境中,提升预测性能。在数据点稀疏的环境中预测时空模式是一项挑战,主要因为模型在这种情况下容易过拟合。例如,在预测犯罪等场景中,数据往往较为稀疏,这使得基线模型在跨区域预测任务中表现不佳,召回率低,暗示可能存在过拟合的问题。
为解决这一挑战,我们的模型采用了一种创新的策略,将时空学习与大型语言模型相结合,并通过有效的时空指令微调方法进行优化。这种方法通过整合丰富的语义信息,增强了模型对时空数据的理解和表示能力,使其能够更有效地处理稀疏数据,并显著提高了预测的准确性。
表1:跨区域零样本预测场景性能比较
为了检验模型在不同城市间的预测能力,我们选择了芝加哥的出租车数据集进行实验验证。(注意,此数据集并未在训练阶段使用)。如图4所示,测试结果表明,模型在所有时间点上均展现出优于对比方法的性能,这证明了UrbanGPT在跨城市知识迁移方面的有效性。
通过将时空编码器与时空指令微调技术相结合,模型能够捕捉到普遍性和特殊性并存的时空规律,从而进行更准确的预测。此外,模型通过综合考虑不同的地理位置、时间因素以及学习到的知识迁移,能够将不同功能区域和历史时期的时空模式联系起来。这种全面的时空理解为在跨城市场景中进行精确的零样本预测提供了关键的洞察。
图4:跨城市零样本预测场景性能比较
本章节重点研究UrbanGPT在完全监督的预测环境中的表现,具体来说,我们通过使用时间跨度较大的测试数据集来评估模型在长期时空预测任务中的效果。例如,模型使用2017年的数据进行训练,并用2021年的数据进行测试。
测试结果显示,UrbanGPT在长期时间跨度的预测任务中明显优于基线模型,这突出了其在处理长期预测时的卓越泛化能力。这一特性减少了对频繁重新训练或增量更新的需求,使得模型更加适合实际应用场景。此外,实验结果还证实,引入额外的文本信息不仅不会影响模型的性能,也不会引入噪声,这进一步证明了利用大型语言模型来增强时空预测任务的有效性。
表2:端到端有监督设置下的预测性能评估
(1)时空上下文的重要性:STC。 当从指示文本中移除时空信息后,模型的性能出现了下降。这可能是因为缺少时间信息,使得模型只能依赖时空编码器来处理与时间相关的特征并执行预测任务。同时,空间信息的缺失也限制了模型捕捉空间相关性的能力,使得分析不同区域的时空模式变得更加困难。
(2)多数据集指令微调的效果:Multi。 我们仅在NYC-taxi数据集上对模型进行训练。由于缺乏其他城市指标的信息,这限制了模型揭示城市时空动态的能力。因此,模型的表现欠佳。通过整合来自不同城市的不同时空数据,模型能够更有效地捕捉不同地理位置的独特特征和时空模式的演变。
(3)时空编码器的作用:STE。 当从模型中移除时空编码器时,结果表明,这种缺失显著降低了大语言模型在时空预测任务中的预测能力。这突出了时空编码器在提升模型预测性能中的关键作用。
(4)指令微调中的回归层:T2P。 我们指导UrbanGPT直接以文本格式输出其预测结果。模型的性能表现不佳,主要是因为在训练过程中依赖于多类损失函数进行优化,这导致了模型输出的概率分布与时空预测任务所需的连续值分布不匹配。为了解决这个问题,我们在模型中引入了一个回归预测器,显著提升了模型在回归任务中生成更准确数值预测的能力。
图5:UrbanGPT消融实验
在本节中,我们对UrbanGPT在处理不同时空模式场景时的稳定性进行了评估。我们根据特定时间段内数值变化的幅度(如出租车流量)对区域进行区分。较小的方差通常意味着区域具有稳定的时间模式,而较大的方差则暗示着区域的时空模式更为多样化,常见于商业活跃区或人口密集区。
如图6所示,多数模型在方差较低的区域表现出色,因为这些区域的时空模式较为一致和可预测。然而,基线模型在方差较高的区域表现不佳,尤其是在方差处于(0.75, 1.0]区间的区域,这可能是因为基线模型在零样本场景下难以准确推断出这些区域复杂的时空模式。在城市管理中,如交通信号控制和安全调度等,对人口密集或繁华区域的准确预测至关重要。UrbanGPT在(0.75, 1.0]区间内显示出显著的性能提升,这证明了其在零样本预测场景中的强大能力。
图6:模型鲁棒性研究
案例研究对不同大型语言模型在零样本时空预测场景中的有效性进行了评估,结果如表3所示。研究结果表明,各类LLMs能够根据提供的指令生成预测,这验证了提示设计的有效性。
具体来看,ChatGPT在预测时主要依赖于历史平均值,而没有明确地将时间或空间数据纳入其预测模型中。Llama-2-70b虽然能够分析特定时间段和区域,但在处理数值时间序列的依赖性时遇到了挑战,这影响了其预测的准确性。
相比之下,Claude-2.1能够更有效地总结和分析历史数据,利用高峰时段的模式和兴趣点来实现更准确的流量趋势预测。
而我们提出的UrbanGPT通过时空指令微调的方式,将时空上下文信号与大型语言模型的推理能力紧密结合,显著提升了预测数值和时空趋势的准确性。这些发现突出了UrbanGPT在捕捉普遍时空模式方面的潜力和有效性,使得零样本时空预测成为可能。
表3:不同的LLMs对纽约市自行车流量的零样本预测案例
本研究提出了UrbanGPT,这是一种具备在多样城市环境中良好泛化能力的时空大型语言模型。为了实现时空上下文信号与大型语言模型(LLMs)的无缝整合,本文提出了一种创新的时空指令微调方法。这种方法赋予了UrbanGPT在各种城市数据中学习普遍和可迁移的时空模式的能力。通过广泛的实验分析,证明了UrbanGPT架构及其核心组件的高效性和有效性。
尽管当前的成果令人振奋,但未来研究中仍有一些挑战需要克服。首先,我们将积极收集更多类型的城市数据,以增强UrbanGPT在更广泛城市计算领域的应用能力。其次,理解UrbanGPT的决策机制同样重要。尽管该模型在性能上表现出色,但提供模型预测的可解释性也是未来研究的关键方向。未来的工作将致力于使UrbanGPT能够解释其预测结果,从而增加其透明度和用户信任。
文章来源于“新智元”,作者“新智元”
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner