龚为纲
迈向云计算的社会科学研究
作者 | 龚为纲
作者单位 | 武汉大学社会学院
原文 |
拙作《重大疫情下社会情绪的演变机制——基于Twitter和GDELT的分析》有幸在《社会学研究》2023年第3期刊发。除了试图揭示重大疫情下社会情绪的演变规律之外,笔者撰写此文的另一个初衷是试图展示一种基于云计算的大数据处理方法。由于刊物的版面有限,原文有关研究路径和研究方法的讨论篇幅较少,因此笔者希望趁这个写作作者手记的机会,对原文的研究路径和研究方法再做一些简要介绍。
一、云计算驱动的大数据处理方法
这篇论文在研究路径上的最大特点,是展示了一种新的数据采集和数据处理的路径——基于云计算的大数据处理方法。
社会科学研究在过去很长的时间范围内,其实证研究基本上处于小数据的阶段,与小数据处理相对应的是一套相应的数据处理工具和方法。比如说,在社会学领域,比较常用的是CGSS数据集或者人口普查数据集,这些数据在社会学领域发挥了巨大作用。由于数据体量较小,而且是关系型数据库,研究者基于Stata或者SPSS等工具箱,基于描述性统计和各种类型的回归分析方法,就可以开展各种各样的参数估计和假设检验。总体而言,与抽样调查和普查数据相对应的数据采集方法、数据处理方法、数据分析方法的方法论已经很成熟了,教学与科研相关工作围绕这一套方法论原则开展即可,学术论文发表与科学研究形成了比较稳定的范式,研究者则基于这一套比较稳定的方法论对学术论文进行评价。
随着人类社会的数字化转型,尤其是人工智能的崛起,社会科学的研究范式正在出现重大变化:各种数字平台的崛起积累了海量的数据,为认识社会复杂系统和人类行为提供了全新的田野,而人工智能的崛起则为大数据的处理提供了全新的工具箱,人类处理数据的能力正在出现指数级的增长。科学研究的范式正在出现革命性的变化:计算范式与AI范式正在崛起。
在这样的背景下,社会学研究正在面临一种时代性的挑战:面对各种数字平台所生成的TB级甚至PB级的、经常以多模态(如文本、图像、视频等)形式出现的非结构化数据,社会学研究应该以怎样的方法和研究路径对这些数据进行开发,并据此展示社会系统的运行逻辑和人类的行为规律?很显然,面对新挑战,传统的那套处理小数据的路径与方法已经失效:TB级别的数据体量,很难在我们自己的笔记本电脑上被存储下来,遑论如何对这些数据进行处理;传统的回归分析方法和描述性统计分析方法只能处理结构化数据,并不能处理文本和图像、视频等非结构化数据,社会科学研究需要寻找一种新的研究路径和数据处理方法,以自由探索浩瀚的数字世界。
基于这样的时代背景,云计算应运而生,并推动科学研究迈向云平台驱动的新时代。《重大疫情下社会情绪的演变机制——基于Twitter和GDELT的分析》一文主要是基于谷歌云平台和腾讯云平台所提供的云服务而完成:谷歌云主要用于大数据的处理,而腾讯云则主要用于大数据的采集。
(一)谷歌云与数据处理
之所以应用谷歌云开展大数据的处理,是因为谷歌云是一个集大数据存储、算力配置、大数据处理与人工智能应用于一体的综合性平台。
图1 谷歌云是一个集超级计算、超级存储、大数据处理与机器学习于一体的集成平台
(图片来源于谷歌云计算平台)
就数据存储而言,Cloud Storage和Bigquery都可以用于大数据的存储,体量巨大的数据,都可以被方便地存储和分析,其中Cloud Storage提供数据冷存储服务(数据处于保存的状态,不能直接用于分析,需要转到Bigquery中才能被分析,但是存储价格较低,一个月1T大约5美元的费用),而Bigquery提供数据热存储服务(可以直接对数据进行分析、挖掘和建立各种机器学习模型,一个月1TB的数据大约20美元的费用)。《重大疫情下社会情绪的演变机制——基于Twitter和GDELT的分析》一文所用的推特数据和GDELT数据就是被存储在Bigquery平台上,其中GDELT数据体量高达15TB以上,集成了全球30多万个新闻网站上大约14亿张新闻网页的基本信息。
就算力配置方面而言,通过Compute Engine进行算力资源的调配,可以在Datalab和Vertex AI框架下对虚拟机进行算力配置,在短时间内可以为机器学习模型配置大规模的算力,以协助完成巨量数据的运算和大规模机器学习模型的部署。比如说,在本研究的过程中,需要对4亿条推文中的情绪类型进行预测,以识别疫情期间推特用户的情绪表达。在大语言模型崛起的时代,可以运用大语言模型的超强语义识别能力,对推特文本的情绪表达进行识别,本研究在数据实验的过程中,部署chatglm2-6b这一开源大语言模型对文本的情绪表达进行判别。但由于模型的参数体量高达60GB,同时模型的运行需要调用GPU显存服务,这一任务主要是在Vertex AI框架下的虚拟机上来实现的:一方面,通过购买GPU开展大语言模型的部署,使虚拟机支持大模型的运行;另一方面,也需要高性能服务器开展数据的读写操作,在Vertex AI框架下,最高可以配置3844GB的RAM,这已经相当于是一台超级计算机了。
就大数据处理而言,Bigquery提供了非常完整的大数据处理服务,而且支持多种多样的机器学习模型服务于大数据的挖掘和处理。《重大疫情下社会情绪的演变机制——基于Twitter和GDELT的分析》一文的主要数据处理工作是在Bigquery上完成的。Bigquery的另外一大好处是,这个框架下集成了很多公有数据集,为多源大数据的整合提供十分便利的路径。比如,本文的政府行为数据、谷歌全球流动性监测数据以及约翰霍普金斯大学的全球疫情监测数据均来源于Bigquery的公有数据集。除此之外,Goolge books,GDELT,Wikipedia,Reddit以及美国政府各大部门的开放数据(比如NASA的全球卫星遥感数据、气象局的全球气象数据)等几万个数据集都被作为公有数据集成在云平台上,研究者调用这些数据十分方便。可以说,Bigquery就是一个巨大的数据实验室,研究者可以同时坐拥全球几万个数据集开展科学研究。本文的GDELT数据即来源于Bigquery的公有数据集。
在机器学习方面,谷歌云提供了多种类型的机器学习服务,从最底层的TensorFlow等基础架构,到虚拟镜像服务,再到Vertex AI Platform所提供的模型训练服务,以及BQML、Auto Ml和ML APIS等对初学者提供了非常友好的机器学习服务。机器学习服务在很多传统软件(比如SPSS Modeler)上也可以做,但是如果缺乏大规模算力的支撑,机器学习模型就不能对大数据进行处理。谷歌云平台的优势就是将多种类型的机器学习算法与平台算力结合起来。其中最值得推荐的就是Bigquery ML(BQML),一方面,Bigquery具有谷歌云的巨量算力的支撑,另一方面,近年来这一大数据分析引擎集成了越来越多的机器学习算法,比如说Deep Neural Network,Boost Tree,Random Forest,AutoML,K-means,Matrix Factorization,PCA,Autoencoder,Arima_plus,ONNX,XGBoost等多种算法,以及用户基于TensorFlow所训练的自有机器学习模型,这使得Bigquery作为一个大数据处理平台如虎添翼。
图2 谷歌云上的机器学习体系
(图片来源于谷歌云)
(二)腾讯云与数据采集
腾讯云提供了一种类似于“基础设施即服务”的云服务类型,为用户部署虚拟机提供了便利,本研究的数据爬虫程序即部署在腾讯云上。《重大疫情下社会情绪的演变机制——基于Twitter和GDELT的分析》一文的另一个数据来源是Twitter数据集。我们通过设计网络爬虫程序(基于开源性的python爬虫工具twint),从2亿活跃推特用户中随机选取了美国、加拿大、英国、澳大利亚、印度等英语国家的50万用户,从2019年开始对这部分用户的推文信息进行采集,前后采集了27亿条左右的推文。
之所以要在腾讯云上部署爬虫程序,而不是在自己的电脑上部署,是因为爬虫程序要每天24小时在2019年12月至2022年1月这么漫长的时间范围内不间断地持续工作,这样的任务只有在云服务平台上部署的虚拟机才能胜任。为了方便数据的管理,我们将腾讯云平台所采集的推文数据通过谷歌云的数据传输管道输送到Bigquery平台,对数据进行自动存储,也可以随时对已经采集的数据进行分析。
二、展望社会科学研究的平台时代
笔者最早开始了解谷歌云是2014-2015年在新加坡管理大学(SMU)做博士后期间,在当时新加坡国立大学、南洋理工大学等高校的学者与谷歌分公司的工程师已经有不少学术上的合作,笔者也亲眼目睹了很多从未见过的场景:TB级别的巨量数据被存储在云端,短短十几秒之内十几TB数据的运算就可以完成,以及在云端的数据实验室里可以完成多种数据挖掘工作。从那以后,我才开始明白:原来大数据分析,必须要云计算的算力支撑才能加以完成。随着产业界越来越多的业态开始部署到云端,云计算正在成为经济社会运行的一种基础动力,而随着大数据时代的到来,科学研究也必定会进入到云平台驱动的新时代。
从2015年开始投身这一领域的学习,至今已经8年过去,这8年的时间里自己主要在探索大数据与云计算在社会学领域的应用。比较深刻的体会包括三个方面。第一,大数据、云计算等领域的技术变革速度非常迅速,经常给人一种时不我待的感觉。就以谷歌云的生态系统为例,几乎每周都有新的技术和算法出现,云平台的功能在不断完善,平台赋能科学研究的能力也以指数级的态势在增长,如果不抓紧时间认真研究,科学研究领域的数字鸿沟必定会继续加大。第二,大数据、云计算、人工智能+社会科学,会极大地提升社会科学研究的“硬度”,也会极大地提升社会科学研究者的研究能力,使得过去的研究范式下很多难以想象的科学研究计划变得可行。也正是因为这样,社会科学在未来的人才培养和科学研究方面,需要与计算机科学、数据科学有更多的合作。进一步说,对于未来的社会科学研究者而言,所需要掌握的计算技术和人工智能技术,可能并不会比自然科学家少,只有这样,才能更为出色地完成数字时代的科学研究任务。第三,国内的云服务商正在快速崛起,国产大语言模型的效能也在快速提升,这些都为中国计算社会科学的发展提供了很好的计算环境。比如,百度云及其飞桨Paddle框架这些年一直致力于推动人工智能算法在国内高校的应用,目前在自然科学领域的应用已经蔚然成风,社会科学研究者也在开始关注相关动态。除此之外,腾讯云、阿里云都是正在迅速崛起的云服务商,平台的生态环境在不断完善。展望未来,社会科学研究者应该走出传统研究路径的“小小花园”,利用云计算所提供的算力资源和人工智能所提供的算法资源,去开发数字时代的新的田野。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.