CityGPT: Empowering Urban Spatial Cognition of Large Language Models
作者: Jie Feng, Tianhui Liu, Yuwei Du, Siqi Guo, Yuming Lin, Yong Li
分类: cs.AI, cs.CL, cs.LG
发布日期: 2024-06-20 (更新: 2025-05-31)
备注: Accepted by KDD 2025 Research Track, https://github.com/tsinghua-fib-lab/CityGPT
💡 一句话要点
CityGPT:通过城市级世界模型增强大语言模型的城市空间认知能力
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型 城市空间认知 指令调优 自加权微调 城市世界模型 地理空间任务 城市智能
📋 核心要点
- 现有大语言模型在城市地理空间任务中表现不足,主要原因是缺乏相关的物理世界知识和数据。
- CityGPT通过构建城市尺度的“世界模型”,并结合指令调优数据集CityInstruction,增强LLMs对城市空间的理解。
- 实验结果表明,使用CityInstruction和SWFT训练的小型LLMs在CityEval基准测试中表现优异,甚至超越了专有LLMs。
📝 摘要(中文)
大语言模型(LLMs)在数学和代码生成等领域取得了显著成功,但处理城市环境中的实际地理空间任务时常常表现不足。这种局限性源于训练过程中缺乏物理世界知识和相关数据。为了解决这个问题,我们提出了CityGPT,一个系统框架,旨在通过将城市尺度的“世界模型”集成到模型中,增强LLMs对城市空间的理解,并提高它们解决相关城市任务的能力。首先,我们构建了一个多样化的指令调优数据集CityInstruction,用于将城市知识注入LLMs,并有效提升其空间推理能力。结合CityInstruction和开源通用指令数据,我们引入了一种新颖且易于使用的自加权微调方法(SWFT),以训练各种LLMs(包括ChatGLM3-6B、Llama3-8B和Qwen2.5-7B),从而增强其城市空间能力,同时不损害甚至提高其通用能力。最后,为了验证我们提出的框架的有效性,我们开发了一个全面的基于文本的空间基准CityEval,用于评估LLMs在各种城市场景和地理空间任务中的性能。广泛的评估结果表明,通过SWFT方法使用CityInstruction训练的较小LLMs可以达到与专有LLMs相当甚至优越的性能(使用CityEval评估时)。
🔬 方法详解
问题定义:现有的大语言模型在处理城市环境中的地理空间任务时,由于缺乏足够的城市物理世界知识和相关数据,表现不佳。这限制了它们在城市规划、导航、智能交通等领域的应用。现有方法难以有效地将城市空间知识融入到LLM中,并且在提升空间推理能力的同时,容易损害模型的通用能力。
核心思路:CityGPT的核心思路是将城市尺度的“世界模型”集成到LLM中,从而赋予模型更强的城市空间认知能力。通过构建专门的城市知识指令调优数据集CityInstruction,并采用自加权微调方法SWFT,可以有效地将城市知识注入LLM,同时保持或提升其通用能力。这种方法旨在弥合LLM在抽象语言理解和具体城市空间理解之间的差距。
技术框架:CityGPT框架主要包含三个关键组成部分:1) 构建城市知识指令调优数据集CityInstruction,该数据集包含各种城市场景和地理空间任务的指令数据。2) 提出自加权微调方法SWFT,用于在CityInstruction和通用指令数据上微调LLM,以增强其城市空间能力。3) 开发基于文本的空间基准CityEval,用于全面评估LLM在各种城市场景和地理空间任务中的性能。整个流程是先构建数据集,然后使用SWFT方法微调LLM,最后使用CityEval进行评估。
关键创新:CityGPT的关键创新在于:1) 提出了一个系统性的框架,将城市尺度的“世界模型”集成到LLM中,从而增强其城市空间认知能力。2) 构建了专门的城市知识指令调优数据集CityInstruction,用于有效地将城市知识注入LLM。3) 提出了自加权微调方法SWFT,可以在提升LLM城市空间能力的同时,保持或提升其通用能力。与现有方法相比,CityGPT更注重城市空间知识的集成和模型的通用性。
关键设计:CityInstruction数据集的设计考虑了多样性和覆盖性,包含了各种城市场景和地理空间任务的指令数据。SWFT方法的关键在于自加权机制,它可以根据不同数据的特性,自动调整其在微调过程中的权重,从而平衡城市空间能力和通用能力。CityEval基准测试的设计考虑了全面性和挑战性,包含了各种城市场景和地理空间任务,可以有效地评估LLM的城市空间认知能力。
🖼️ 关键图片
📊 实验亮点
实验结果表明,使用CityInstruction和SWFT方法训练的ChatGLM3-6B、Llama3-8B和Qwen2.5-7B等小型LLMs,在CityEval基准测试中表现优异,甚至在某些任务上超越了专有LLMs。这表明CityGPT框架可以有效地提升LLM的城市空间认知能力,并且可以在资源有限的情况下,训练出高性能的城市空间智能模型。
🎯 应用场景
CityGPT的研究成果可应用于城市规划、智能交通、导航、位置服务、城市搜索、灾害管理等领域。通过增强LLM的城市空间认知能力,可以开发更智能、更高效的城市服务,提升城市居民的生活质量,并为城市的可持续发展提供支持。未来,CityGPT有望成为构建智慧城市的重要基石。
📄 摘要(原文)
Large language models(LLMs), with their powerful language generation and reasoning capabilities, have already achieved notable success in many domains, e.g., math and code generation. However, they often fall short when tackling real-life geospatial tasks within urban environments. This limitation stems from a lack of physical world knowledge and relevant data during training. To address this gap, we propose \textit{CityGPT}, a systematic framework designed to enhance LLMs' understanding of urban space and improve their ability to solve the related urban tasks by integrating a city-scale `world model' into the model. Firstly, we construct a diverse instruction tuning dataset, \textit{CityInstruction}, for injecting urban knowledge into LLMs and effectively boosting their spatial reasoning capabilities. Using a combination of \textit{CityInstruction} and open source general instruction data, we introduce a novel and easy-to-use self-weighted fine-tuning method (\textit{SWFT}) to train various LLMs (including ChatGLM3-6B, Llama3-8B, and Qwen2.5-7B) to enhance their urban spatial capabilities without compromising, or even improving, their general abilities. Finally, to validate the effectiveness of our proposed framework, we develop a comprehensive text-based spatial benchmark \textit{CityEval} for evaluating the performance of LLMs across a wide range of urban scenarios and geospatial tasks. Extensive evaluation results demonstrate that smaller LLMs trained with \textit{CityInstruction} by \textit{SWFT} method can achieve performance that is competitive with, and in some cases superior to, proprietary LLMs when assessed using \textit{CityEval}.