当 GIS 遇上 AI 大模型

今年整个 IT 界、甚至科技界最火爆的技术就是 AI 大模型了,没有之一。

以 OpenAI 的 GPT 为代表、国内外一众大模型跟进,形成了百模齐奔的态势。围绕着大模型,各项周边的应用也在快速发展。在 2023 年年底的云栖大会上,论坛标题带有“大模型”的搜索一下,有三十个之多。搞技术的同学朋友一聊天,不提大模型,都没得可聊了。

笔者从事 GIS 开发多年,现在在阿里云-政企事业部-解决方案研发部,从事“空间数据中台”的研发。原本对 AI 技术尤其是 NLP 自然语言处理领域了解有限,但机缘巧合,也了解和学习了一些与大模型相关的知识和应用。在 AI 大模型时代已经来临的当下,对 GIS 与大模型可能能碰撞出的火花,做一点自己的分享。

首先还是阐述我对大模型重要性的认识。无论是从 IT 角度、还是从科技发展角度、甚至从人类演化角度,大模型的出现都是划时代的。

从 IT 角度,有人把大模型类比为带动移动互联网的智能手机;也有人把大模型类比为互联网,甚至能和发明计算机的意义比肩。

从科技发展角度,大模型已经具备了能替代人的部分脑力劳动,那么它的重要性甚至就可以与蒸汽机、或者与电动机的重要性比肩了。

从人类演化角度来说,在语言出现之前,物种对环境的适应只能通过基因突变和自然选择来演化,时间是以十万年为起点的;有了语言,知识和经验可以面对面的交流和传递,物种代际之间就能传递知识和经验;有了文字和纸张,知识和经验可以记录下来,传播到远方和未来;有了互联网和搜索引擎,知识和经验可以即时、廉价的传播到全世界,人人都可以从知识的海洋中通过关键词挖掘自己想要的信息。

现在有了大模型,能把全球浩瀚的知识海洋转化为模型的亿万个参数,人人就有了一个无所不知、不知疲倦的超级老师在身边,可随时随地的获取知识,解疑答惑。这时,人的时间精力就可以放到知识的联系和创新突破上,而不用再受限于未知的知识领域,整体的效率提升不是一星半点。从这个意义上讲,未来人类会分为两种:用大模型的,和不用大模型的。而到具体的行业和应用系统层面,也是如此,没有运用到大模型能力就注定会被淘汰。所有行业与产品,都值得且必须用AI大模型再做一遍。

那么,在 GIS(地理信息系统)领域,如何能发挥 AI 大模型的威力呢?我综合这几个月的所学、所思、所见和所做,总结为以下几个方面。

一.遥感影像的识别和提取

图片

首先想到的就是对遥感影像数据的识别和提取。这个能力很早就广泛的运用了卷积神经网络(CNN),并取得了不错的效果。

在以“Transformer”网络架构为核心的大模型技术出现后,已经有不少基于(或者叠加)Transformer结构来优化遥感影像的识别和提取。典型的代表有:视觉Transformer(Vision Transformer, ViT) 和 Swin Transformer 等。

图片

图片来源:https://arxiv.org/pdf/2010.11929.pdf

比较多的研究表明:在训练数据和算力足够的情况下,采用了 Transformer 的遥感影像识别和提取的效果,能优于只基于 CNN 的效果。

这部分工作,现在已经支持的厂商包括:商汤、航天宏图、达摩院 AIEarth 和超图软件等。

这个领域另一个很惊艳的技术是以 SAM 和 SEEM 为代表图片切割,以 CLIP 和 BLIP 为代表的图片和文字关联的多模态技术。SAM 和 SEEM 是无需再训练,或者只提供一个或少量样本,实现对图片的万物分割。CLIP 和 BLIP 则是在统一框架内实现对文字和图片的编码,这样就能以文索图,做到对图片的语义检索。这两者背后都是以 Transformer 为核心的大模型技术。

图片

图片来源:https://github.com/facebookresearch/segment-anything

图片切割技术也已经得到了较多广泛的应用,典型的如达摩院 AIEarth 的 AIE-SEG 万物提取,通过一个样本,就可识别和分割其他遥感影像中同类型的物体。

当然,基于 Transformer,也有研究在做基于 3D 点云的识别和切割,不再累述。

二.生成式大模型

图片

对文字生成图片这样的生成式大模型,背后的技术是扩散模型。由于扩散模型并非采用 Transformer 结构,参数量往往也没有达到大语言模型动辄以“十亿”为起点的规模。因此从狭义上,扩散模型算不上“大模型”的范畴。由于扩散模型和 GPT 一样,是生成式模型,和传统的 GAN(对抗神经网络)不同,从广义上讲,也可归属到当前这股 AI 大模型的浪潮。

对生成式大模型而言,已经看到有城市规划单位在生成建筑设计和城市规划效果图,不过这个属于规划行业应用,和典型的 GIS 关联并不紧密。

图片

图片来源:https://yunqi.aliyun.com/2023/subforum/YQ-C-761332

在地图配图上,超图桌面几年前就实现选择某个图片来给地图做配图风格。但这个其实是图片的主颜色分析,而非 AI 生成地图。这个领域与生成式大模型的结合,可以探索的方向是:GIS 软件生成的地图到打印前图片的转换,即输入地图配置,自动生成美化后的、面向不同领域和风格的图片。

还有一个和三维 GIS 关联很密切的 AI 技术进展,就是神经辐射场(NeuralRadiance Fields,简称 NeRF)。NeRF 是一种计算机视觉技术,用于生成高质量的三维重建模型。对比与传统的 SFM+MVS 技术来构建倾斜摄影三维模型,NeRF 技术能直接输出各个视角的图片,真实感好,且不会出现空洞,对于设定飞行路线后的视频制作效果很好;但本身不能直接输出三维模型,虽然可以通过后续算法得到三维模型,但几何精度的提升,较大依赖采集图像的高重叠率,要达到 GIS 应用的要求还任重而道远。谷歌和阿里达摩院都在开展 NeRF 技术的研究。

视频为云谷园区的 NeRF 重建

对于最火热的大语言模型的应用,对于任何软件和应用系统,都会有一个使用助手的需要。把该软件的专业知识和使用文档等,输入到大语言模型中。用户在使用过程中,在需要一个不知道如何操作的功能时,自然就会有这个需求,不再累述。

三.基于大模型的空间计算自动编排

图片

还有一个和 GIS 紧密相关,也是笔者最近在尝试的,就是空间计算的 AI 自动编排。

GIS 面临的空间数据类型多样,基于不同类型的空间数据又有各种各样的空间计算。为了让不会写代码的人更好的运用 GIS 能力解决业务问题,ArcGIS、超图等 GIS 软件,都有一个空间算子的编排工具。ArcGIS 中叫做 Model Builder,超图中为地理处理建模。阿里云的 DataQ 空间数据中台也有类似的能力。

举例而言,GIS 软件都会有:buffer(求缓冲区)、overlay(叠加分析)和 area(求面积)等空间分析的算子,输入数据,就能得到对应的结果。当有用户需要做一个业务分析,如在要规划一条铁路,需要计算规划中的铁路所占用的耕地面积,那么用户可以在空间算子的界面中拖入需要的上述三个算子,用线连接起来,再设定好铁路数据、缓冲区半径和耕地数据,执行之后就能得到需要的结果。

图片

对于这类较为简单的任务,熟悉 GIS 中的空间算子和业务要求的人员,可以在很短的时间内完成上述工作。后续还可以设定的不同数据作为输入,就能重复使用。

但若业务更加复杂,且 GIS 算子库往往有几十乃至几百个个的情况下,对于不够熟悉 GIS 算子能力的业务而非技术人员而言,即便拖拖拽拽,也会耗费大量时间精力,且还有可能由于找不到相应的算子而犯愁。

举个例子,任务指令为“修一条铁路,宽度为 50 米,需要分组统计所占用周边坡度小于 10 度、海拔小于 100 米、所属地区的耕地面积,并汇总到所属地区,从大到小的顺序进行排序”。若不仔细琢磨,要在几分钟内完成下面的计算编排,对人来说确实要求就非常高了。

在这里插入图片描述

由于 GIS 的领域知识都是通用的“世界知识”,对于训练良好的大语言模型而言,在业务人员把业务要求转换为 GIS 的任务指令后,大语言模型是能够理解其要求,并把任务指令转换为对算子的调用逻辑。

这里需要指出的是,由于不同 GIS 引擎所支持的算子不同,我们还应把当前系统可以调用的空间算子描述和任务指令同时提供给大语言模型,这样大语言模型就能根据任务指令,返回对空间算子调用的 JSON 描述。最后系统再根据这个 JSON 描述,来实现对空间算子的实际执行。这样,业务人员只需要给出任务指令,在极短时间内就能得到自己需要的算子编排结果,可以大大提升工作效率。整个逻辑图如下。

图片

当然,这是一个简单的过程描述,深入下去还有不少需要解决的问题。

如:当算子较多时,如果不加选择,一股脑把所有算子的描述都输给大语言模型,则很容易出现 token 超量的问题。这就需要先把所有算子的名字和最简单的描述随同任务指令给大语言模型,让大语言模型做一次初筛,然后再把筛选出来的算子给大语言模型进行算子编排。

再如:对于较为复杂的任务,大语言模型不一定能完全准确的领会任务指令的意图,从而给出存在瑕疵的结果。这时,就需要程序能自动识别出典型错误,或者提供多轮对话的方式,由人来指出问题,从而提示大语言模型可以根据用户反馈修正结果。

对于防止大语言模型“不够聪明”的最后办法就是系统只给出算子编排的结果,但不立即执行,由使用者检查编排的结果,对存在的问题进行手动调整。这样对使用者的要求就提高了,但也有实际的价值,因为人能通过大语言模型返回的结果直观了解到基本的思路,加速从任务到算子调用编排的过程。

还有就是大语言模型能编排的并非只有空间算子,同时也能实现对非空间算子的编排,用户也能自行扩展算子及其描述,系统会一并纳入并提供给大语言模型进行编排。

有了这个初步想法,心动不如行动。笔者按照上述思路做了一个初步的 demo,欢迎感兴趣的同学联系交流。

demo 的核心在于构造提示词给大语言模型,并检查大语言模型返回的 json 结果,以及把 json 结果转换为算子 DAG 编排进行执行。可运行的算子目前只提供了少量空间算子和统计排序等非空间算子,但具备算子的可扩展能力。同时还提供了对大语言模型的扩展,目前提供了 GPT4、ChatGPT、通义千问、文心一言、清华智谱和code llama 等。

从目前来看,GPT4 的表现最优,可一次性或最多一到两次纠错的情况下,就能完成上面十余个算子编排的复杂任务;更复杂的任务编排还有待进一步验证。ChatGPT和升级到 2.0 的通义千问也能在若干次纠错的情况下完成上述复杂任务的编排。

当然,目前所做的仅仅只是一个简单的 demo,要在一个产品中提供成熟稳定的能力,还有大量的工作需要后续开展。我们也会继续努力,争取早日在后续正式产品中输出。

另外,既然大模型能做算子的自动编排,那自然也能直接输出 SQL,包括带“ST_”的空间 SQL。阿里云 DataQV5 版本的“数据洞察”模块中即将提供自然语言生成通用SQL 能力,敬请期待。

以上总总,仅是笔者的有限认知,随着 AI 大模型技术的发展,大模型和 GIS、和数据智能的结合一定会爆发出更多的应用点。让我们拭目以待,一起拥抱 AI 大模型!

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个基于预训练的DenseNet121模型的人脸年龄分类系统

这篇文章采用预训练的DenseNet121模型并使用自定义的数据集类和自定义的类似正态分布的标签平滑策略来训练了一个人脸年龄分类模型,最后基于这个模型用tk实现了一个娱乐向的小系统。 数据集展示: 两个文件夹,分别是训练集和测试集&#xff0…

Bootstrap 3.x 版本基础引入指南

Bootstrap 是一款广受欢迎的前端框架,它简化了网页设计与开发流程,帮助开发者快速创建响应式布局和美观的网页界面。本文将向您介绍如何在项目中引入 Bootstrap 3.x 版本的基本步骤,包括 CSS 和 JavaScript 文件的引用,以及必要的…

Java跨Docker容器备份数据库数据

Java跨Docker容器备份数据库数据 前置背景思路整理编写备份脚本容器启动检验效果Java容器MySQL容器 Java代码执行备份 我的个人博客:Lichg,欢迎大家访问。 前置背景 在我们的开发部署场景中,通常多数使用Docker进行部署。当你的数据库和项目…

【吊打面试官系列】Java高并发篇 - 什么是乐观锁和悲观锁?

大家好,我是锋哥。今天分享关于 【什么是乐观锁和悲观锁?】面试题,希望对大家有帮助; 什么是乐观锁和悲观锁? 1、乐观锁: 就像它的名字一样,对于并发间操作产生的线程安全问题持乐观状态, 乐观锁认为竞争…

ICML 2024 多视角融合驱动的通用具身操作算法SAM-E,为机器人学习复杂操作给出了可行解决方案

当我们拿起一个机械手表时,从正面会看到表盘和指针,从侧面会看到表冠和表链,打开手表背面会看到复杂的齿轮和机芯。每个视角都提供了不同的信息,将这些信息综合起来才能理解操作对象的整体三维。 想让机器人在现实生活中学会执行…

【stm32】江科协听课笔记

[3-1] GPIO输出_哔哩哔哩_bilibili 5.GPIO输出 这里,寄存器就是一段特殊的存储器,内核可以通过APB2总线队寄存器进行读写,这样就可以完成输出/读取电平的功能。寄存器的每一位对应一个引脚,stm32是32位的,这里的寄存器…

【工具】珍藏免费宝藏工具,不好用你来捶我

前言 🍊缘由 藏在我硬盘里的好东西,必须跟小伙伴们分享 东西很好,必须分享。良辰吉日,跟大家分享几款神仙级小工具,实际亲测,不好来锤。 正文 一.影刀 影刀可以使任何操作系统、桌面软件、Web程序的自动…

怎么搭建微信留言板功能

在信息爆炸的时代,微信已经成为了我们日常生活中不可或缺的一部分。它不仅仅是一个简单的聊天工具,更是一个充满无限可能的营销平台。今天,我要向大家介绍的是如何在你的微信平台上搭建一个独具特色的留言板功能,让用户能够自由发…

PyTorch的数据处理

💥今天看一下 PyTorch数据通常的处理方法~ 一般我们会将dataset用来封装自己的数据集,dataloader用于读取数据 Dataset格式说明 💬dataset定义了这个数据集的总长度,以及会返回哪些参数,模板: from tor…

51-54 Sora能制作动作大片还需要一段时间 | DrivingGaussian:周围动态自动驾驶场景的复合高斯飞溅

24年3月,北大、谷歌和加州大学共同发布了DrivingGaussian: Composite Gaussian Splatting for Surrounding Dynamic Autonomous Driving Scenes。视图合成和可控模拟可以生成自动驾驶的极端场景Corner Case,这些安全关键情况有助于以更低成本验证和增强自…

《最新出炉》系列入门篇-Python+Playwright自动化测试-42-强大的可视化追踪利器Trace Viewer

宏哥微信粉丝群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 1.简介 在我们日常执行自动化测试工作的过程中,经常会遇到一些偶发性的bug,但是因为bug是偶发性的,我们不一定每次执行都能复现,所以我…

ComfyUI 高级实战:极速稳定视频风格转绘

大家好,我是每天分享AI应用的萤火君! 重绘视频一直是短视频平台上的热点内容,流量不错。重绘视频一般是将真实视频重绘为动漫风格,或者是使用新的人物形象重放视频中的人物动作,再或者只是重绘视频中的部分内容&#…

什么样的展馆场馆才是科技满满?就差一张智慧场馆大屏

随着科技的飞速发展,传统的场馆展示方式已经无法满足现代人对信息获取和体验的需求。智慧场馆大屏作为一种新型的展示方式,应运而生。它将高清大屏显示技术、智能交互技术、数据分析技术等融为一体,为观众带来更加丰富、生动的展示体验。 一…

Hadoop3:HDFS中NameNode和SecondaryNameNode的工作机制(较复杂)

一、HDFS存储数据的机制简介 HDFS存储元数据(meta data)的时候 结果,记录在fsImage文件里 过程,记录在Edits文件里 同时fsImageEdits最终结果,这个最终结果(fsImageEdits)会保存一份在内存中,为了提升性能…

【算法】排序——加更

补充1个排序:希尔排序 思路:首先定义一个gap,从第0个数开始,每隔一个gap取出一个数,将取出来的数进行比较,方法类似插入排序。第二轮从第二个数开始,每隔一个gap取出一个数再进行插入排序。四轮就可以取完…

Vue的应届毕业生财务管理系统-计算机毕业设计源码82886

摘 要 随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由于现在网络的发达,应届毕业生财务…

面试官:讲讲为什么SpringBoot的 jar 可以直接运行?

Spring Boot 是一个用于简化 Spring 应用程序开发的框架,它通过约定优于配置和大量的自动化配置,使得开发者可以更轻松地创建和部署 Spring 应用程序。一个特别引人注目的特性是 Spring Boot 应用可以打包成一个可执行的 JAR 文件,并且可以直…

力扣:236.二叉树的最近公共祖先(C++)

文章目录 1. 题目描述2. 题目解析2.1 思路一2.1 思路二 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 题目来源: 力扣…二叉树的最近公共祖先 1. 题目描述 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表…

Execel 数据分析-如何使用筛选-图表-透视图-处理多变量数据集

如果你的数据有很多个变量,比如横轴X有a,b,c,d等几个变量,Y轴也有个变量,那么这时候就用得到。 比如下面的例子,测试GPU的kernel吞吐量,其中stream cnt,grid dim,block dim 产生后面几个变量&am…

Java对象不再使用时,为什么要赋值为 null ?

在Java中,将不再使用的对象赋值为null的目的主要是为了帮助垃圾收集器(更快地释放内存。我这里有一套编程入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习编程,不妨点个关注,给个评论222&…