前文《半个世纪前的大数据时代》讲到,1970年代初,英国的控制论学者斯塔福·比尔应阿连德总统之邀,远赴智利去开发一套用于管理国有经济的大数据IT系统。本文将介绍这套远远超前于时代的系统是如何在当时的技术条件下架构和建设起来的。
生产大战中的控制论
在阿连德执政的第⼀年,智利政府开始将国内最重要的⼀些⼯业收归国有。到1971年底,政府已经把所有主要矿业公司和68家最重要的⼯⼚由私有转为公有。智利正在打⼀场“⽣产⼤战”,提⾼⼯业⽣产⽔平被视为智利社会主义成功的关键。管理已经成为国有化进程的⼀个核⼼问题,政府计划把⼯业管理作为第⼆年的⼯作重⼼。国有经济的⾼速发展创造了⼀个笨重的、智利政府从未⻅过的怪兽,这是问题的根本所在。
在这样的大背景下,斯塔福·⽐尔于1971年11⽉4⽇星期⼆抵达智利,邀请他的是智利国家开发公司(CORFO)的技术主管费尔南多·弗洛雷斯。经过弗洛雷斯的介绍,比尔对智利面临的挑战有了一个大体的理解。控制论思考帮他识别出如何改进智利政府管理经济的⽅式。例如,⽐尔发现政府可以建⽴新的通信渠道,促进数据交换,提升政府决策速度。同时他也认识到⾃⼰⾯临的约束。成⽴新的政府部⻔或是对现有政府机关进⾏根本性重组可能可以极⼤提升管理能⼒,但当前的关键是要快速⻅效,政府没有时间来成⽴新的调控部⻔,也⽆法⼤规模修正和重建现有的机构。
在⽐尔和弗洛雷斯的构想中,控制论科学扮演着双重⾓⾊。控制论的管理视⾓,尤其是可⽣存系统模型,能够指导CORFO所需的组织变⾰、避免实施⻓远来看低效甚⾄有害的权宜之计。同时,控制论中关于反馈与掌控的思想能够指导开发⼀套新的科技系统来改善国有经济的管理,从⻋间直到CORFO办公室。发源于⽐尔的“⾃由机器”思想,这样⼀个系统将会搭建起实时信息交换的网络,其中会⽤到⼤型主机技术。管理者和政府官员将能够基于实时数据来做决策,并能够快速调整⾏动⽽不被政府官僚体系束缚。管理控制论还能改善政府从国营企业获取信息的⽅式。当这些数据流得到改善,弗洛雷斯和⽐尔相信政府能加强对智利⼯业的管控,并最终赢得⽣产⼤战。
基于这一构想,比尔提议建设Cyberstride项目,后来这个项目改名为“Cybersyn”。Cybersyn系统结合了比尔早期著作中的思想,包括他的文章《自由机器》中提到过的控制室。这个系统将依赖于每天从国有产业采集来的数据,用大型主机对未来经济行为进行统计学预测。随着智利的计算机操作员输入更多来自企业的最新数据,系统每天都会对预测做出更新。
只有一台计算机的网络
Cybersyn的骨干是一个支持实时数据交换的通信网络。将国家开发公司(CORFO)与工厂车间连接起来,就能建立“向上滚动”式管理所需的条件,使政府能够快速处理诸如原材料短缺等紧急状况,并及时调整政策。最新的生产数据还让经验丰富的管理者(通常位于行业委员会或更高的级别)能帮助缺乏经验的干预者识别他们工厂里的问题,并在必要时调整生产行为以达到国家的目标。按照比尔的构想,这种信息交换会以很快的速度持续发生,并且总是以指导行动为目标。通信、适应和行动,这些都是管理控制论的核心要素,它们就是比尔在组织与生物有机体之间发现的共性:两者都需要快速适应,才能在变动的环境中生存。弗洛雷斯与比尔一样重视时间,两人都认为:数据如果不能指导行动,那就是被浪费了。
除了通信网络和用于生成经济预测的软件,Cybersyn项目还需要一个计算机程序来模拟智利经济。另外,CORFO成员会把生产数据汇总,并以直观的形式显示在指挥室里,以便政府的决策者理解。这些数据显示会帮助决策者看清国家经济形势,并基于智利工业的现状制定政策。
按照比尔的提议,Cybersyn项目的设计考虑到了智利科技的局限。国家计算机公司(ECOM)的主管雷蒙多·贝卡只给比尔提供了一台大型主机的处理时间,这是一台IBM 360/50,ECOM当时性能最强的主机。鉴于计算机公司只有4台主机,全都非常繁忙,贝卡只能提供一台机器是完全能理解的。但这就意味着比尔的团队必须用一台计算机来建设一个计算机网络。
对这个看似不可能的要求,比尔给出了设计方案:他为Cybersyn项目设计了一个通信网络,整个网络都连接到这一台大型主机。为了实现这个非传统的网络架构,比尔和团队需要找到一种便宜的方式来实时、长距离传输数字数据和文本。他们找到的办法是电传机(电传打字机),这些机器已经通过现有的电话线、卫星或微波通道联网。在1970年代初,电传机已经在全世界广泛使用,不是什么高新科技。每台电传机都有一个身份识别号,就跟电话号码类似,用户拨打这个号码,就可以在两台机器间建立连接。然后用户可以用电传机的键盘输入信息;信息会被翻译成纸带上的打孔,再通过网络把打孔纸带的信息传输出去;另一端的电传机则读取纸带,翻译出原来的信息,从而完成信息的传播。用户往往会预先准备好纸带,以便尽量减少连接网络的成本,不过电传机也允许两端的用户通过打字来回交谈。一旦收到信息,接收方的电传机就会在一串嘈杂的咔嗒声中打出一行行文字,听起来不像是传真机,倒更像是电子打字机。在1970年代初的智利,电话尚属稀缺资源,电话网络也不够可靠。电传机提供了另一种国内乃至国际通信的方式。所以,比尔提议在电传机网络的基础上建设Cybersyn项目,于是整个通信网络就只需要一台IBM大型主机。
比尔提议的系统工作方式如下:干预者用电传机从各自的企业将生产数据发送给国家计算机公司的电传机,计算机专家们再把数据以打孔卡片的形式输入到主机系统中;计算机会运行统计软件,将新的数据与过往采集的数据对比,寻找显著的差异;如果发现重大差异,系统会向计算机操作员告警,后者则通过电传网络把数据发送给CORFO和相关的干预者,随后CORFO会联络这些干预者,以便更好地了解现状并帮助解决问题。
统计软件
在部署电传网络的同时,比尔向安达信请求帮助,希望他们参与到后台软件的开发中。安达信的评估结果是,他们可以在1972年3月中旬之前编写并安装一个“临时套件”。这个临时的软件只能接受限定范围内的输入值,但至少能在原定的期限之前给智利人一套软件先用起来。为了在3月的交付期限前完成这个临时套件,他们需要砍掉很多边角。同时安达信会负责设计功能完备、长期使用的软件套件,但长期套件的开发和实施由智利团队负责。在此过程中,三名安达信咨询师会出差到圣地亚哥提供支持:一人负责安装临时套件,一人帮助智利程序员编写长期套件,另一名高级合伙人会为团队提供指导、并在项目结束时签字代表咨询公司正式签字。
Cybersyn的软件系统是控制论管理领域的新突破。它是比尔的可生存系统模型的第一个软件实现。这个程序还实现了一个新的、从未实验过的贝叶斯统计预测方法,这个名为哈里森-史蒂文斯方法的统计预测方法1971年12月才首次发表在《运筹学季刊》上。安达信的咨询师阿兰·邓斯缪尔在为项目做文献综述时偶然发现了这个新方法。他说服比尔这个方法可以识别生产数据中的显著变量,并根据初始数据点预测未来的趋势:是线性趋势、指数趋势、还是步进函数、或者只是暂时的异常数据。用这个方法,软件就不止能记录和汇总历史数据,还能对未来作出预测。而且一旦计算机操作员输入新的生产数据,软件就能自动调整其预测。
哈里森-史蒂文斯方法的提出者之一杰夫·哈里森是华威大学统计学系的创始人和首任系主任。在大学给他的讣告中说“他远远超前于他的时代”,这话绝非溢美之词。如果你看Wikipedia的“统计学历史”词条,其中有这样一段话:“1965年……林德利把贝叶斯方法介绍给更广泛的听众;1980年代,贝叶斯方法的应用大幅增加。”似乎贝叶斯方法在1970年代没有取得重要的进展。然而哈里森于1971年发表的文章《一种用于短期预测的贝叶斯方法》可能是首次将贝叶斯函数用于统计预测,Cybersyn则可能是第一个实现贝叶斯预测方法的计算机程序。然而在他的年代,因为计算能力的局限,贝叶斯方法不被学界主流认可;等到1980年代计算能力提升、尤其是马尔科夫链蒙特卡洛方法的发现解决了大量计算问题使得贝叶斯方法受到重视,哈里森就直接被历史跳过了。考虑到现在贝叶斯预测方法在机器学习领域的热门程度,哈里森近乎默默无闻的一生不禁令人唏嘘。
【杰夫·哈里森可能仅有的一次出现在学术领域之外的出版物上是在一本叫做《难以置信的巧合》的伪科学著作上。这本书收录了很多奇妙的偶然事件,其中一个故事讲到哈里森在给某一届学生上第一堂概率课的时候抛了一个硬币,本打算借此讲解概率的基本概念例如硬币正反面落地的概率各为1/2,没想到硬币落下以后不偏不倚地立在了桌上。】
经济模拟器
统计软件运行的结果会进入一个经济模拟器,用于模拟智利经济状况并预测未来走势。比尔希望经济模拟器成为“政府的实验室”。一旦完成,这个模拟器能帮助政府决策者跳出日常事务进行全局决策,并实验多种不同的长期经济政策。所以这个模拟器需要反映不断变化的经济行为,尤其考虑到智利经济正处于转型期,这一点就愈发困难:它不仅要接受不断变化的输入值,还要不断调整变量之间的关系,并引入新的考虑因素。在真实世界中,这些变化不断在发生,因此模拟器的模型也需要能处理动态的变化。
比尔决定采用一种不太常见的建模方式。当时大多数经济模拟都采用“输入-输出”方法,用庞大的数据集来计算不同生产过程之间的相关性。这种分析方法可能需要几年时间来采集数据,然后用固定的方程式计算系统行为。比尔批评这种方法“死板得无可救药”。如果“目标是重组经济”,比尔写道,那么这种刻板的方法就是“糟糕的工具”。为了寻找不同的方法,比尔把眼光投向了著名的MIT工程师杰·福瑞斯特的研究。
在计算史上,福瑞斯特最广为人知的成就是发明了磁芯存储器,以及领导了“贤者”陆基防空系统的计算机设计团队。从1950年代后期开始,福瑞斯特的研究重心已经转移到工业管理领域。他对建模随时间变化的复杂系统尤为感兴趣,并把这个这个领域称作“系统动力学”。福瑞斯特鼓励政策制定者借助模型来识别出为数不多的一些关键参数,通过调节这些参数就能获得期望的结果。随后政策制定者就可以集中精力在这些领域。为了编程实现他的动态系统模型,福瑞斯特发明了DYNAMO编程语言,比尔发现这种语言很适合用来编写新的经济模拟器。
比尔找到了罗恩·安德顿,一位系统工程师、运筹学家、以及英国首屈一指的DYNAMO专家,请他投入到经济模拟项目中。到1972年3月,安德顿已经实现了经济模拟器的最初版本,这个软件被命名为CHECO(“智利经济模拟器”的英文缩写)。最终,安德顿写道,这个模拟器将使CORFO“对包含10到100个变量的系统逐步获得动态的理解,作为对比,缺乏系统指导的大脑只能理解5到10个变量。”同时,邓斯缪尔带着完成的临时软件套件从伦敦来到了圣地亚哥。3月中旬,第一批结果数据从工厂车间传到了CORFO。Cybersyn系统的流程走通了。