书名:人工智能工程设计
ISBN:978-7-115-57584-5
本书由人民邮电出版社发行数字版。版权所有,侵权必究。
您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
编 著 陈 统 黄永健 冯元勇 陈清亮 彭凌西 李媛婷 张 英
责任编辑 谢晓芳
人民邮电出版社出版发行 北京市丰台区成寿寺路11号
邮编 100164 电子邮件 315@ptpress.com.cn
网址 http://www.ptpress.com.cn
读者服务热线:(010)81055410
反盗版热线:(010)81055315
本书结合人工智能的技术实践,特别是当前热门的大语言模型,讲解智能系统规划,智能系统需求分析,智能系统架构设计,智能系统算力平台设计,智能系统数据平台设计,智能系统算法设计,智能系统开发、部署和运维,智能系统伦理、安全和隐私保护策略,行业应用,总结人工智能在应用中面临的挑战,探讨人工智能未来发展的趋势及其对软件开发的影响。
本书适合有志从事人工智能系统开发、部署、运维、训练、优化的工程技术人员阅读,也可供高等院校相关专业的师生参考。
随着人工智能技术的发展,特别是AIGC(Artificial Intelligence Generated Content,人工智能生成内容)带来的冲击,人工智能在各行各业的应用已经日渐普及。人脸识别、智能客服、智能导航、无人工厂、无人巡检等已逐渐深入人们的生活。然而,这些应用还处于初级阶段,系统设计也相对简单,只能解决一些局部的问题。随着大语言模型(Large Language Model,LLM)的普及,智能系统将变得越来越复杂。当我们用人工智能技术解决一些行业应用中的大型问题时,所面对的系统设计就变得复杂起来,不能再用传统软件工程中软件开发的框架和方法来解决。因此,“人工智能”时代的系统开发迫切需要一套全新的思维、框架和方法。
经过多年的发展,人工智能技术已经取得了长足的进步。我们拥有各种强大的工具和框架,如TensorFlow、Keras和PyTorch。但实践证明,许多有效的方法(如生成对抗网络和深度强化学习)使用起来很困难,往往需要丰富的经验和一定程度的调试才能让这些方法在一个新领域发挥作用。在工程设计方面,人工智能的应用也缺少一套系统、完整的工程应用体系。为了解决一个复杂问题,我们通常会用到工程设计的方法,这些方法会涉及工程论、系统论和控制论的思想和方法。
在总结作者的人工智能教学和应用开发实践经验的基础上,参考和运用工程设计的一般原则、框架和方法,结合人工智能系统的特点,本书探讨人工智能工程设计的模式。通过对智能系统在需求分析、架构设计、算力平台设计和算法设计等方面的阐述,综合统筹算力、数据和算法资源,实现一个投资回报率更高的智能应用系统。
对于一个复杂的智能系统来说,总体设计很重要。系统规划设计要从总体设计出发,然后进行系统架构设计和具体的功能设计。概括来说,一个智能系统的总体设计包括顶层设计、系统设计、架构设计、功能设计、性能设计、运营设计、安全可信设计、优化设计和经济性设计等方面的工作。
本书共11章。
第1章概述人工智能。
第2章介绍智能系统规划。
第3章介绍智能系统需求分析。
第4章重点介绍智能系统架构设计。
第5~7章分别介绍智能系统算力平台设计、数据平台设计和算法设计。
第8章讲述智能系统开发、部署和运维。
第9章讨论智能系统伦理、安全和隐私保护策略。
第10章介绍行业应用。
第11章总结人工智能在应用中面临的挑战,探讨人工智能未来发展的趋势及其对软件开发的影响。
本书得到了国家自然科学基金(编号:12171114)、广东省重点领域研发计划项目(编号:2022B0101010005)和广东省自然科学基金(编号:2024A1515011976)的资助。另外,本书得到了广东轩辕网络科技股份有限公司、广东医通软件有限公司和广东景惠医疗管理服务有限公司的协助,在此表示衷心的感谢。
在学习人工智能的理论和技术之后,还要掌握人工智能工程设计的方法和框架,这样才能更好地实现智能系统的开发和应用。由于人工智能技术的发展非常迅速,新的技术不断涌现,因此人工智能工程设计的方法也不会一成不变,需要不断与时俱进。作为新的尝试,本书旨在展示智能系统开发的新视角和方法论,希望能给广大读者一定的启发和指导。
作者
科学、技术和工程三者既密不可分,又各有不同。科学阐释了宇宙万物和人类社会各领域的客观规律,技术验证客观规律的存在,工程则是利用科学、技术解决应用问题的路径和方法。根据技术领域和应用范围,工程有各种各样的类型,如土木工程、水利工程、核电工程、探月工程、信息工程等。尽管不同类型的工程应用的技术和实现的过程各不相同,但是它们都遵循共同的原则,即工程设计的一般原则。在一般原则的指导下,根据自身特点,不同类型的工程有不同的范式、实施过程、方法。
智能工程是随着人工智能技术的普及和应用而产生的一种新的工程范式,它与信息工程有内在联系,又有很大的不同。它们的内在联系是智能工程是以信息工程为技术基础发展起来的,不同之处在于智能工程相较于信息工程更复杂。传统意义上,各领域工程设计的边界和条件是明确的,工程设计要实现的目标也是具体的,甚至是单一的。智能系统[例如,战胜国际象棋大师加里·卡斯帕罗夫(Garry Kasparov)的“深蓝”计算机和战胜世界围棋冠军李世石的AlphaGo程序]在早期发展阶段也具有这样的特点。但随着大模型技术的发展,智能工程设计的范式将发生颠覆性的变化,开放性、泛在连接、涌现性成为其重要特征。本章将对人工智能发展历程和相关的技术等进行简要描述。
人工智能(Artificial Intelligence,AI)是一门涉及计算机科学、统计学、数学、物理学、化学、生物医学、心理学、社会科学、伦理学和哲学等领域的交叉学科。其目的在于研究和开发智能代理,使之能够模拟、实现乃至超越人类的智能行为。
人工智能的发展历程可以简要分为4个阶段。其起源可追溯到20世纪50年代,在那时,计算机刚刚问世,人们开始尝试将计算机应用于智能领域。1956年,在美国举办的达特茅斯会议上,约翰·麦卡锡(John McCarthy,图灵奖获得者)、马文·明斯基(Marvin Minsky,图灵奖获得者)、克劳德·香农(Claude Shannon,信息论创始人)、艾伦·纽厄尔(Allen Newell,计算机科学家)、赫伯特·西蒙(Herbert Simon,诺贝尔经济学奖得主)等科学家聚在一起,讨论用机器来模仿人类在学习方面及其他方面的智能,首次提出了人工智能的概念。在这个时期,人们主要研究的是逻辑推理、自然语言处理和专家系统等技术。
从20世纪60年代到80年代,人工智能经历了快速发展的第二个阶段。在这个时期,人们开始研究机器学习、神经网络等技术,使人工智能的应用范围不断扩大。20世纪80年代,机器学习领域的神经网络算法被发明,这一算法在语音识别、图像识别等领域得到广泛应用。
从20世纪90年代初期开始,人工智能进入第三个阶段。在此之前,计算机的计算能力较弱,加之数据集和算法方面的限制,导致人工智能的应用受到限制。随着互联网技术的迅速发展,人工智能得到了快速发展,人工智能技术进一步走向实用化,与人工智能相关的各个领域都取得长足的进步。在这个时期,人们开始研究支持向量机、随机森林等新的机器学习算法,并且计算机的计算能力不断提升,这些因素为人工智能的复兴奠定了基础。
2011 年后,随着大数据、云计算、互联网、物联网等信息技术的发展,图形处理单元(Graphics Processing Unit,GPU)等计算平台推动以深度神经网络为代表的人工智能技术飞速发展,大幅跨越了科学与应用之间的技术鸿沟,诸如图像分类、语音识别、知识问答、人机对弈、无人驾驶等人工智能技术实现了重大的突破,迎来爆发式增长的新高潮,人工智能进入第四个阶段。目前,人工智能已经应用于众多领域,并且在未来还有很大的发展空间。
一般认为,人工智能具有3个要素——数据、算法、算力,如图1-1所示。数据是知识原料(类似于粮食),算法(类似于大脑)及算力(类似于身体)提供“计算智能”以学习知识并实现特定目标。如同流量是互联网的护城河,有核心数据,人工智能应用才有关键的人工智能能力。算法是人工智能程序与非人工智能程序的核心区别,算法就是对数据和算力等资源进行有效利用的手段。而算力是实现人工智能的另一个重要因素,算力在一定程度上体现了人工智能的速度和效率。一般来说,算力越强,则实现更高级的人工智能的可能性越大。目前,算力的增长速度远远大于数据量的增长速度,为数据爆发时代的人工智能带来了强大的硬件基础。
▲ 图1-1 人工智能的3个要素
与国外人工智能的研究相比,国内人工智能的研究起步较晚,20世纪50年代中期,我国才开始对人工智能的探索。起初,研究集中在数学、计算机科学等领域,后来逐步扩展到自然语言处理、机器学习等领域。虽然当时的研究基础较薄弱,但是这一阶段奠定了我国人工智能发展的基础。进入20世纪80年代,随着改革开放的深入,我国开始引进国外先进的技术,这也加速了人工智能领域的技术积累,在机器翻译、知识表示、专家系统等领域取得了一系列重要成果。进入20世纪90年代,随着计算机技术的普及和互联网的发展,人工智能技术开始在实际应用中得到实践。智能控制、智能机器人、智能家居等领域开始出现,人工智能技术在交通、医疗、教育等领域也得到了初步应用。
从21世纪开始,我国政府加大对人工智能的投入,并制定一系列政策与措施,以促进人工智能技术的快速发展。深度学习、神经网络等关键技术取得了重要突破,我国在语音识别、图像识别、自然语言处理等领域跻身世界前列。此外,我国的大数据和云计算基础设施建设也为人工智能技术的发展提供了良好的支撑。
近年来,我国人工智能的发展进入全面融合创新阶段。随着人工智能技术的不断发展和普及,智能经济形态在我国初显。智能经济以人工智能技术为引擎,以数据为资源,以互联网为平台,推动经济转型升级。智能经济将重塑生产方式、生活方式和社会治理方式,成为我国经济发展的新动力。
人工智能工程设计指设计和构建能够模拟人类智能行为的计算机信息系统,这些系统通过学习和适应来处理与解决复杂的问题从而达到或超越人类的智能水平。在人工智能工程中,为了有效地解决问题并实现业务目标,需要遵循一系列设计方法。详细的人工智能工程设计思路包括以下 7 个步骤。
(1)需求分析:在开始人工智能工程设计之前,明确要解决的问题。
(2)系统设计:设计整个系统架构。这包括确定人工智能工程的输入、输出、数据流、组件和接口等方面。在设计中,需要考虑可扩展性、可维护性、可重用性、可测试性、可靠性和安全性等要求,并制定相应的措施来满足这些要求。
(3)数据处理:在人工智能项目中,数据处理是至关重要的一步,需要确定合适的数据源,并使用合适的方法和技术进行数据清洗、转换和归一化等操作。在数据处理过程中,需要保证数据的准确性、完整性和一致性,同时注意数据的隐私和安全性问题。
(4)模型选择:根据问题的性质和数据的类型,选择合适的人工智能模型。在选择时,需要了解各种模型的原理和应用场景,并根据实际情况进行选择。例如,对于分类问题,可以选择决策树、支持向量机、神经网络等模型;对于回归问题,可以选择线性回归、岭回归(Ridge Regression,一种改良的最小二乘估计法)、LASSO(Least Absolute Shrinkage and Selection Operator,最小绝对收缩和选择算子)回归等模型。在提高模型性能方面,还可以使用集成学习方法,如随机森林、梯度提升等。此外,还需要考虑模型的复杂度和参数设置,以避免过拟合或欠拟合等问题。
(5)训练与优化:在模型选择之后,需要对模型进行训练与优化。使用训练数据集对模型进行训练,并提高模型的性能。
(6)部署与测试:在模型的训练与优化完成后,需要将模型部署到生产环境中。在部署过程中,需要考虑如何将模型集成到现有的系统中,以及如何处理模型的更新和维护等问题。同时,在测试过程中,需要评估模型的准确性和稳定性等,以确保模型能够满足业务需求。
(7)维护与更新:在模型部署与测试完成后,需要对其进行维护与更新。
自人工智能诞生以来,在不同的阶段产生了对应的代表性研究成果。下面简述部分成果。
人工智能的发展始于20世纪50年代。1956年,计算机专家提出“人工智能”一词,这被人们看作人工智能正式诞生的标志。科学家们开始研究人工智能的基本原理和实现方法,这个时期的主要目标是让计算机能够像人类一样思考和解决问题。在这个时期,人工智能系统的应用范围相对较小,主要集中在一些特定的领域,如自然语言处理、计算机视觉等。
在这些系统中,专家系统是具有代表性的系统。它是一种利用计算机技术和人工智能理论来模拟专家推理过程、解决特定领域难题的智能系统。1997年5月11日,美国IBM(International Business Machines,国际商业机器)公司研发的深蓝计算机在一场6局的对决中,以3.5 : 2.5的总分战胜了国际象棋大师加里·卡斯帕罗夫,这场对决成为人工智能发展历程中的一个重要时刻。深蓝就是专注于国际象棋的、以暴力穷举为基础的特定用途人工智能专家系统。
早期专家系统的特点是边界条件和规则都是确定的。这一阶段的系统是封闭系统。随着人工智能技术的不断发展,专家系统的应用前景也更加广阔。未来专家系统将实现智能化、自主化和协同化,为人类的生产和生活带来更多的便利。
神经网络是一种具有学习和自组织能力的逻辑及数学模型,它由大量简单的处理单元(称为神经元)互相连接而形成。神经网络可以用于解决各种问题,如预测建模、自适应控制、图像处理、语音识别等,还可以从复杂的数据集中学习并得出结论。
深度神经网络(Deep Neural Network,DNN)可被理解为有多个隐藏层的神经网络,其示例如图1-2所示。
▲ 图1-2 深度神经网络的示例
深度学习架构是指神经网络独特的层次结构和连接方式。常见的深度学习架构包括卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)、变换器(Transformer)等。这些架构各有特点,适用于不同的场景。例如,CNN适用于图像处理和计算机视觉任务,RNN适用于自然语言处理和语音识别任务,Transformer适用于大规模的自然语言处理任务。目前,深度学习已成功广泛应用于图像处理、自然语言处理、语音识别、推荐系统等领域。2016年3月,Google公司研发的AlphaGo使用了深度强化学习和蒙特卡洛树搜索,学习并优化策略,最终战胜了世界围棋冠军李世石。
人工智能生成内容(Artificial Intelligence Generated Content,AIGC)是指使用生成式人工智能(Generative Artificial Intelligence,GAI)技术生成的内容,而不是由人类自己创作的内容。大模型是指具有庞大的参数规模和复杂结构的机器学习模型,是与AIGC相关的重要概念。通过对亿级的语料或者图像进行知识抽取、学习进而产生了拥有亿级参数的大模型。随着人工智能技术的快速发展,AIGC和大模型已经成为许多应用领域的重要支柱。
生成式预训练变换器(Generative Pre-trained Transformer,GPT)是一种生成式模型,它能够生成高质量的文本。ChatGPT(Chat Generative Pre-trained Transformer,聊天生成式预训练变换器)是由美国人工智能研究公司OpenAI研发的一种人工智能技术驱动的自然语言处理工具。它采用Transformer架构,专门用于处理序列数据。ChatGPT不仅可以被视为聊天机器人,还能承担撰写邮件、编写视频脚本、生成代码等任务,其应用范围非常广泛,可以满足不同领域的需求。ChatGPT中文界面如图1-3所示。
▲ 图1-3 ChatGPT中文界面
人工智能自诞生以来,其理论和技术日益成熟,应用领域也不断扩大。未来基于人工智能的科技产品将会是人类智慧的“容器”。人工智能不是人的智能,但能像人那样思考,未来也可能超过人的智能,其社会影响日益凸显,成为新一轮科技革命和产业变革的核心力量。人工智能正在推动传统产业升级换代,驱动“无人经济”快速发展。人工智能工程的应用也将不断拓展和完善,为人类的工作和生活带来更多的便利。
涌现指(人或事物)大量出现。ChatGPT诞生以后,在智能工程应用领域,也涌现出了各种各样的应用。如今,窄人工智能(人工智能主要为特定任务而设计)已经深入生活的各个方面,而通用人工智能(Artificial General Intelligence,AGI)仍处在探索和发展的阶段。AGI是一种可以执行复杂任务的人工智能,能够模仿很多人类智能行为,能够执行很多人类智能活动。AGI可以被视为人工智能的更高层次,它可以实现自我学习、自我改进、自我调整,进而在不需要人为干预的情况下解决问题。
神经网络的大规模连接和复杂的算法使智能系统能够学习并模拟人类的思维和行为。随着人工智能技术的不断发展和应用,AGI不断涌现。例如,在自然语言处理领域,智能系统可以通过学习大量的文本数据来理解语法、语义和上下文,从而能够进行更准确的翻译和更自然的对话。
智能系统面临的挑战主要包括以下5个方面。
● 随着智能系统的广泛应用,数据隐私和安全问题变得越来越突出。智能系统需要大量的数据来训练模型,但这些数据可能包含个人隐私信息,因此需要采取措施来保护数据的隐私和安全。
● 智能系统的算法可能存在偏见和歧视,这可能导致不公平的结果。例如,如果算法对某些人群的识别率较低,那么这些人群可能会受到不公平的对待。因此,需要采取措施来确保算法的公正性和公平性。
● 智能系统的应用涉及伦理问题。例如,人工智能是否应该拥有权利和责任?如何处理人工智能可能带来的道德和伦理问题?
● 智能系统的应用需要遵守法律法规,因此需要有关部门制定和完善相关法律法规,以确保智能系统的合法使用。
● 智能系统的技术难度较高,需要解决许多技术难题,例如,提高算法的准确性和效率,处理大规模数据集,以及确保智能系统的稳定性和可靠性等。
总之,智能系统面临的挑战是多方面的,需要采取多种措施来应对这些挑战。
我们必须通过明确需求、收集和处理数据、设计并训练算法、集成与测试系统以及部署和运维管理,才能成功地开发出高效、稳定的智能系统,为各种应用场景提供强大的支持。
智能系统首先需要能够进行数据收集,包括从各种来源获取相关数据。这些数据可能来自传感器、数据库、日志文件、社交媒体等。收集数据后,还需要进行数据预处理,以便为后续的模型提供准确、一致的数据集。
在数据预处理之后,智能系统需要进行特征提取和选择。特征提取是指从原始数据中提取出有用的信息,例如,从图像中提取边缘、纹理等特征。特征选择则是为了选择出对模型训练更有用的一些特征,以提高模型的准确性和效率。
在特征提取和选择之后,智能系统开始模型训练。模型训练通常使用机器学习算法,如线性回归、决策树、神经网络等。在模型训练过程中,系统会不断调整模型的参数,以提高模型的准确性和泛化能力。
模型训练完成后,智能系统可以对新的数据进行预测和分析。预测是指根据数据和模型,对未来的趋势进行预测。分析则是对数据进行深入挖掘,发现其中的规律和模式。
智能系统具有自我学习和更新的能力。随着数据的不断变化和技术的不断进步,系统可以通过持续学习来更新自己的知识和能力。通过自我学习和更新,智能系统可以不断提高自身的性能和适应性。
智能系统还具有知识表示和推理的能力。知识表示是将现实世界中的知识以计算机可理解的方式(如规则、框架、图等)表示出来。推理则是根据知识进行逻辑推理,得出新的结论或知识。这种能力使智能系统可以更好地理解和处理复杂的任务与问题。
总之,智能系统的工作模式包括上述各方面,这些方面相互关联、相互促进,共同构成了智能系统的完整工作流程。
智能系统的生命周期模型主要由7个过程组成,如图1-4所示。
▲ 图1-4 智能系统的生命周期模型
值得注意的是,除废弃回收之外,其他过程可迭代进行。也就是说,有些过程可反复进行。下面将一一介绍这些过程。
需求分析是人工智能系统的生命周期的起始阶段,主要目的是明确系统的目标、功能、性能要求以及用户群体。通过对需求的全面理解,可以确保系统开发过程中正确的方向和决策。
在需求分析的基础上,进行系统设计。系统设计包括整体架构设计、模块设计、算法设计等方面。整体架构设计需要考虑系统的可扩展性、可维护性、可重用性等因素;模块设计需要明确各个模块的功能和接口;算法设计包括选择合适的算法,并进行优化和调整。
根据系统设计,进行开发实现。开发实现包括代码编写、算法训练、模型优化等方面。在开发过程中,需要遵循一定的编码规范和标准,确保代码的可读性和可维护性。同时,要对算法进行训练和优化,提高模型的准确性和效率。
在开发实现完成后,需要进行测试评估。测试评估包括功能测试、性能测试、安全测试等方面。通过测试评估,可以发现系统存在的问题和缺陷,并进行修复和改进。同时,可以对系统的性能进行评估,确保系统能够满足用户的需求。
经过测试评估后,可以将系统部署到生产环境中。在部署过程中,需要考虑系统的安全性、稳定性和可扩展性等因素。同时,需要对系统进行监控和管理,确保系统的正常运行,且性能满足要求。
在系统运行过程中,还需要持续地维护升级。维护升级包括修复故障、优化性能、增加新功能等方面。通过维护升级,可以确保系统的稳定性和可用性,满足用户不断变化的需求。
当系统不再使用或者需要进行技术更新时,可进行废弃回收。在废弃回收过程中,要确保数据的安全性和隐私性,避免数据泄露和损失。同时,要对系统进行清理和回收,避免造成资源的浪费和环境的污染。
总之,人工智能应用系统生命周期模型包括上述各个过程。通过对这些过程的全面考虑和管理,可以确保人工智能应用系统的成功开发和运行,为各种应用场景提供强大的支持。
在智能系统的具体实现过程中,数据收集和预处理是较基础的环节。数据是训练和优化模型的基础,因此必须进行充分的数据收集和预处理。数据收集包括从各种来源(如公开数据集、内部数据库、传感器等)获取所需的数据。数据收集后,要进行数据预处理,主要包括数据清洗、数据转换、数据归一化等,以确保数据的质量和可用性。
模型训练和优化则是智能系统实现过程中的核心环节。通过选择适当的算法和模型,采用数据进行训练,以识别模式、趋势和关联。模型训练通常需要大量的计算资源和时间,因此需要使用高效的计算平台和算法。模型优化则是通过调整模型参数或改进模型结构,提高模型的性能。
预测和决策是智能系统的重要应用之一,也是智能系统实现的重要环节。通过训练好的模型,可以对市场趋势等进行预测。同时,智能系统可以用于辅助决策,如智能推荐系统、智能客服等。在预测和决策过程中,需要使用合适的评估指标来评估模型的性能。
用户交互和体验是智能系统的重要组成部分。良好的用户交互和体验可以提高用户满意度和使用率。因此,在设计和实现智能系统时,需要考虑用户的需求和使用习惯,提供易用的用户界面和交互方式。同时,需要对用户反馈进行及时响应和处理,不断改进和优化系统。
部署和维护是实现智能系统的重要环节。在部署阶段,需要将训练好的模型部署到生产环境中,并进行性能测试和评估。在维护阶段,需要对系统进行定期更新和维护,以确保系统的稳定性和安全性。同时,需要对系统进行监控和故障排除,及时发现并解决问题。
总而言之,一个智能系统的实现需要综合考虑多个方面。只有全面考虑这些方面,才能实现高效、稳定、安全的智能系统。
目前,人工智能技术迎来了新一轮的快速发展。本章不仅概述了人工智能工程设计思路与人工智能代表性研究成果、新趋势、新特点,还介绍了智能系统的工作模式、智能系统的生命周期模型,以及智能系统的具体实现。