CN115193053A - 在云平台配置游戏的推理服务的方法、装置及相关设备 - Google Patents
在云平台配置游戏的推理服务的方法、装置及相关设备 Download PDFInfo
- Publication number
- CN115193053A CN115193053A CN202110742189.1A CN202110742189A CN115193053A CN 115193053 A CN115193053 A CN 115193053A CN 202110742189 A CN202110742189 A CN 202110742189A CN 115193053 A CN115193053 A CN 115193053A
- Authority
- CN
- China
- Prior art keywords
- game
- model
- training
- inference
- cloud platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 178
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 115
- 238000013473 artificial intelligence Methods 0.000 claims description 326
- 238000012549 training Methods 0.000 claims description 250
- 230000008569 process Effects 0.000 claims description 130
- 238000004891 communication Methods 0.000 claims description 71
- 230000009471 action Effects 0.000 claims description 69
- 230000006870 function Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 10
- 238000013461 design Methods 0.000 abstract description 5
- 239000008280 blood Substances 0.000 description 12
- 210000004369 blood Anatomy 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000007123 defense Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008451 emotion Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000009975 flexible effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 208000015041 syndromic microphthalmia 10 Diseases 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/58—Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种在云平台配置游戏的推理服务的方法,当在云平台为游戏开发者配置游戏的推理服务时,获取包括针对第一游戏的配置信息的第一配置文件,从而基于云平台的游戏算法框架以及获取的第一配置文件,在云平台配置第一游戏的推理服务。进一步的,还可以基于云平台的游戏算法框架以及第二游戏对应的第二配置文件,在云平台配置第二游戏的推理服务。如此,针对不同游戏,均可以在云平台配置出满足游戏开发者所需的针对一种或者多种游戏的推理服务,从而无需云服务提供商进行推理服务的专项化设计,并且,也有效降低中小型游戏厂商应用AI技术获得游戏推理结果的难度。此外,还提供了相应的装置及相关设备。
Description
本申请要求于2021年04月09日提交中国国家知识产权局、申请号为202110379975.X、申请名称为“一种基于人工智能的游戏开发方法和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及人工智能技术领域,尤其涉及一种在云平台配置游戏的推理服务的方法、装置及相关设备。
背景技术
目前,人工智能(artificial intelligence,AI)技术广泛应用于多种领域。例如,在游戏领域中,游戏开发者(如游戏厂商等)可以利用AI技术实现游戏场景中的非玩家角色(non-player character,NPC)训练、玩家行为预测、角色对战策略等功能,具体可以是通过AI技术推理出非玩家角色等对象在游戏对战过程中的对战动作或者对战状态。
游戏开发者在进行游戏开发过程中,若要获取基于AI技术的游戏推理能力,需要根据特定需求自主构建整个基于特定游戏的推理服务,或者,向服务提供商(例如云服务提供商)提出针对该游戏的推理服务需求,服务提供商基于该需求为游戏开发者定制针对该游戏的特定推理服务。但是,上述两种获得游戏的推理服务的方式,都使得获得基于AI的游戏的推理服务的成本较高、难度较大。
发明内容
有鉴于此,本申请实施例提供了一种在云平台配置游戏的推理服务的方法,以降低云服务提供商提供游戏的推理服务的成本以及难度。本申请还提供了对应的装置、计算设备集群、计算机可读存储介质以及计算机程序产品。
第一方面,本申请实施例提供了一种在云平台配置游戏的推理服务的方法,具体的,当在云平台上为游戏开发者配置针对第一游戏的推理服务时,可以获取包括针对第一游戏的配置信息的第一配置文件,从而基于云平台的游戏算法框架以及获取的第一配置文件,在云平台配置第一游戏的推理服务。
如此,针对游戏开发者所开发的游戏,可以利用通用的游戏算法框架以及相应的配置文件在云平台上自动配置出满足该游戏开发者所需的针对特定游戏的推理服务,以便利用配置出的推理服务对该游戏进行相应的推理,如推理该游戏中任意一个角色的动作和/或状态等。这样,云服务提供商无需针对该游戏进行推理服务的专项化设计,从而可以有效降低提供和使用游戏的推理服务的难度以及成本,并且,提供和使用推理服务的效率也能得到有效提升。
而且,实际应用中,AI技术的应用离不开以强化学习(reinforcement learning,RL)为代表的训练算法以及支持训练算法运行所需的计算资源,但是,对于中小型游戏厂商等游戏开发者而言,可能难以具备高质量的AI模型以及足够的计算资源来实现游戏推理,通过在云平台上配置出用于推理游戏中角色的动作和/或状态的推理服务,可以有效降低游戏开发者应用AI技术获得游戏推理结果的难度。
在一种可能的实施方式中,在云平台上不仅可以配置出第一游戏对应的推理服务,还可以配置出第二游戏对应的推理服务。具体的,可以获取包括针对第二游戏的配置信息的第二配置文件,从而基于云平台的游戏算法框架以及获取的第二配置文件,在云平台上配置第二游戏的推理服务。如此,可以实现在云平台上针对多款不同的游戏,利用通用的游戏算法框架分别配置出该游戏对应的推理服务,从而可以提高方案实施的普适性。
在一种可能的实施方式中,在配置出第一游戏的推理服务后,可以利用该第一游戏的推理服务对游戏端发送的推理请求进行响应,其中,该游戏端可以是运行第一游戏的游戏应用实例的设备,如终端和/或服务器等,并且,该推理请求包括针对第一游戏的游戏应用实例中的目标对象的待处理数据,如包括目标对象的信息图片等,而推理服务所做出的响应可以包括针对该目标对象的动作和/或状态的指示信息,该指示信息例如可以指示目标对象在未来时刻所执行的动作(如攻击、跳远等),和/或,可以指示目标对象在未来时刻所具有的状态(如情绪、攻击速度等)。如此,游戏开发者可以通过在云平台上配置的推理服务实现对于目标对象的动作和/或状态的推理,从而可以有效降低游戏开发者应用AI技术获得游戏推理结果的难度。
在一种可能的实施方式中,第一配置文件包括以下配置信息中的一种或多种:第一游戏的游戏应用实例中的目标对象的动作空间、第一游戏的游戏应用实例中的目标对象的状态空间、目标训练算法的第一类型、人工智能AI模型的第二类型、奖励函数、AI模型的训练方式、AI模型的推理方式、AI模型的保存地址、用于AI模型的训练和推理的计算资源的规格,以便在云平台上利用这些配置信息实现推理服务的配置。其中,第二配置文件与第一配置文件的实现方式类似,可参照理解,在此不做赘述。
在一种可能的实施方式中,在配置第一游戏的推理服务时,具体可以是根据第一配置文件以及云平台的游戏算法框架,对至少一个AI模型训练,从而可以根据完成训练的至少一个AI模型配置得到第一游戏的推理服务。相应的,在利用该推理服务对第一游戏的游戏应用实例中的目标对象进行动作和/或状态进行推理时,具体可以是通过完成训练的该AI模型进行推理。
在一种可能的实施方式中,在训练至少一个AI模型时,具体可以是接收游戏端的多个训练请求,该多个训练请求来自于第一游戏的多个游戏应用实例,并且,不同训练请求包括针对该多个游戏应用示例中的同一目标对象的不同训练数据,从而可以利用多个训练请求中的训练数据对至少一个AI模型进行训练。如此,通过在游戏端同时运行多个游戏应用实例,可以并行产生多份训练数据,从而可以有效提高生成训练数据的效率,也即可以提高训练AI模型的效率。
可选地,游戏端也可以是在同一时间段内仅运行一个游戏应用实例,从而利用单个游戏应用实例所产生的训练数据训练得到一个或者多个AI模型。
在一种可能的实施方式中,所训练的至少一个AI模型中包括第一AI模型以及第二AI模型,此时,该第一AI模型与第二AI模型的超参数不同,和/或,第一AI模型和第二AI模型对应的奖励函数不同。如此,通过训练具有不同超参数的AI模型,可以从中确定出能够使得AI模型的推理效果较高的超参数,进而基于该超参数的AI模型的质量较高,也即基于该AI模型所配置的推理服务的质量较高。并且,通过利用不同奖励函数对不同的AI模型进行训练,可以训练得到不同推理类型的AI模型,如可以利用多个奖励函数训练得到多种推理风格的AI模型等,实现推理的多样化。
在一种可能的实施方式中,当训练的AI模型中包括第一AI模型以及第二AI模型时,可以在云平台上运行有多个进程,此处以第一进程和第二进程为例。在对第一AI模型以及第二AI模型进行训练时,具体可以是根据第一进程的端口号和/或IP地址,将多个训练请求中的训练数据发送至第一进程以及第二进程,其中,第一进程以及第二进程所接收到的训练数据可以不同。然后,利用第一进程以及第一进程接收到的训练数据训练第一AI模型,并且,利用第二进程以及第二进程接收到的训练数据训练第二AI模型。如此,可以实现在云平台上并行训练多个AI模型,从而可以提高AI模型的训练效率,也即可以提高配置第一游戏的推理服务的效率。
在一种可能的实施方式中,云平台的游戏算法框架中,可以预先定义有一种或者多种不同类型的训练算法以及AI模型,从而在配置第一游戏的推理服务时,可以根据第一配置文件中的目标训练算法的第一类型以及AI模型的第二类型,从游戏算法框架中调用第一类型的目标训练算法以及第二类型的至少一个AI模型。
示例性地,目标训练算法例如可以是深度强化学习算法、近端策略优化算法、柔性动作评价算法、深度确定性策略梯度算法、双延迟深度确定性策略梯度算法、彩虹算法中的任意一种,或者也可以是其它可适用的算法。AI模型,例如可以是深度神经网络模型、循环神经网络模型、卷积神经网络模型中的任意一种神经网络模型,或者也可以是其它可适用的模型。
在一种可能的实施方式中,当游戏端和云平台的数据格式不同时,在利用第一游戏的推理服务对游戏端发送的推理请求进行响应之前,可以先对游戏端发送的推理请求中数据的格式进行处理,得到云平台能够识别的数据格式的数据。如此,可以避免游戏端与云平台因为部署环境的差异而导致云平台难以识别游戏端发送的推理请求。
在一种可能的实施方式中,云平台与游戏端之间可以保持长连接,并且,该云平台可以通过该长连接接收以及响应游戏端发送的推理请求。如此,云平台与游戏端之间在建立一次长连接后,相互之间可以进行多次通信,而可以不用每次进行数据通信时均需要重新建立连接,从而可以有效降低云平台与游戏端之间的通信时延。
在一种可能的实施方式中,在获取第一配置文件时,具体可以是基于游戏开发者选择的配置信息向,获取第一配置文件。比如,云平台可以向游戏开发者提供相应的配置界面,并且在该配置界面上呈现有多个可供游戏开发者选择的配置信息项,从而游戏开发者可以从多个配置信息项中进行选择,以便云平台基于游戏开发者的针对配置信息项的选择而自动生成相应的第一配置文件。如此,可以有效提供游戏开发者的配置效率,提高配置体验。
第二方面,本申请提供一种在云平台配置游戏的推理服务的装置,该装置包括通信模块,用于获取第一配置文件,第一配置文件包括针对第一游戏的配置信息;配置模块,用于基于云平台的游戏算法框架和第一配置文件,在云平台上配置第一游戏的推理服务。
在一种可能的实施方式中,通信模块,还用于获取第二配置文件,第二配置文件包括针对第二游戏的配置信息;配置模块,还用于基于云平台的游戏算法框架和第二配置文件,在云平台配置第二游戏的推理服务。
在一种可能的实施方式中,装置还包括:推理模块,用于利用第一游戏的推理服务对游戏端发送的推理请求进行响应,其中,游戏端包括运行第一游戏的游戏应用实例的设备,推理请求包括针对第一游戏的游戏应用实例中的目标对象的待处理数据,响应包括针对目标对象的动作和/或状态的指示信息。
在一种可能的实施方式中,第一配置文件包括以下配置信息中的一种或多种:第一游戏的游戏应用实例中的目标对象的动作空间、第一游戏的游戏应用实例中的目标对象的状态空间、目标训练算法的第一类型、人工智能AI模型的第二类型、奖励函数、AI模型的训练方式、AI模型的推理方式、AI模型的保存地址、用于AI模型的训练和推理的计算资源的规格。
在一种可能的实施方式中,配置模块,具体用于:基于第一配置文件和游戏算法框架,对至少一个AI模型进行训练;根据训练完成的至少一个AI模型配置第一游戏的推理服务。
在一种可能的实施方式中,配置模块,具体用于:接收来自游戏端的多个训练请求,多个训练请求来自于第一游戏的多个游戏应用实例,不同训练请求包括针对多个游戏应用实例中的同一目标对象的不同训练数据;根据多个训练请求中的训练数据对至少一个AI模型进行训练。
在一种可能的实施方式中,当至少一个AI模型包括第一AI模型和第二AI模型时,第一AI模型和第二AI模型的超参数不同,和/或,第一AI模型和第二AI模型对应的奖励函数不同。
在一种可能的实施方式中,当至少一个AI模型包括第一AI模型和第二AI模型时,云平台运行有第一进程和第二进程,配置模块,具体用于:根据第一进程的端口号和/或IP地址和第二进程的端口号和/或IP地址,将多个训练请求中的训练数据发送至第一进程和第二进程;利用第一进程和第一进程接收到的训练数据训练第一AI模型,利用第二进程和第二进程接收到的训练数据训练第二AI模型。
在一种可能的实施方式中,配置模块,具体用于:根据第一配置文件中的目标训练算法的第一类型以及AI模型的第二类型,在游戏算法框架中调用第一类型的目标训练算法以及第二类型的至少一个AI模型;基于调用的第一类型的目标训练算法,对第二类型的至少一个AI模型进行训练。
在一种可能的实施方式中,当游戏端和云平台的数据格式不同时,在利用第一游戏的推理服务对游戏端发送的推理请求进行响应之前,方法还包括:对游戏端发送的推理请求中数据的格式进行处理,得到云平台能够识别的数据格式的数据。
在一种可能的实施方式中,云平台与游戏端之间保持长连接,并且,云平台通过长连接接收和响应游戏端发送的推理请求。
在一种可能的实施方式中,通信模块,具体用于基于游戏开发者选择的配置信息项,获取第一配置文件。
第三方面,本申请提供一种计算设备集群,所述计算设备集群包括至少一个计算设备,其中,每个计算设备包括处理器、存储器。所述处理器用于执行存储器中存储的指令,以使得所述至少一个计算设备执行如第一方面或第一方面的任一种实现方式中的在云平台配置游戏的推理服务的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算设备上运行时,使得计算设备执行上述第一方面或第一方面的任一种实现方式所述的在云平台配置游戏的推理服务的方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算设备上运行时,使得计算设备执行上述第一方面或第一方面的任一种实现方式所述的在云平台配置游戏的推理服务的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一示例性应用场景示意图;
图2为本申请实施例提供的一种游戏推理装置的结构示意图;
图3为本申请实施例提供的一种在云平台配置游戏的推理服务的方法的流程示意图;
图4为本申请实施例提供的一种配置界面的示意图;
图5为本申请实施例提供的训练数据从游戏端200传输至游戏推理装置300的示意图;
图6为本申请实施例提供的一种结合具体场景的在云平台配置游戏的推理服务的方法的流程示意图;
图7为本申请实施例提供的又一种游戏推理装置的结构示意图;
图8为本申请实施例提供的角色A与角色B对战结束时的血量示意图;
图9为本申请实施例提供的角色A与角色B对战胜率示意图;
图10为本申请实施例提供的三种不同战斗风格的角色A对战胜率示意图;
图11为本申请实施例提供的一种计算设备集群的硬件结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请提供的实施例中的方案进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。
如图1所示,为一示例性应用场景示意图。在图1所示的应用场景中,游戏开发者101可以通过游戏端200进行游戏开发,例如,游戏开发者101可以在游戏端200上开发游戏环境、设计游戏地图以及游戏中各个角色的动作、状态等。游戏开发者101在游戏端200上所开发的游戏,可以为游戏玩家102提供游戏体验,例如可以在游戏端200上运行开发完成的游戏,以使得游戏玩家102触发游戏操作以进行游戏体验等。应理解,本申请中的游戏开发者101表示对游戏进行开发设计或者进行游戏推理能力开发的主体。应理解,图1所述的游戏端200可以包括用于进行游戏开发的设备,也包括部署游戏的设备。例如:游戏端200可以包括用于进行游戏开发的服务器、也可以包括运行游戏的设备(如:游戏开发者101的后台服务器,和/或,游戏玩家102的安装游戏的终端设备)。应理解,图1是以包括一个游戏端200为例进行示例性说明,实际应用时,游戏端200的数量也可以是多个。
在游戏运行过程中,游戏端200可以向云平台发送推理请求,以请求针对该游戏的推理服务。比如,游戏端200上的游戏可以支持“人机对战”模式,即游戏玩家102操控的玩家角色与由机器控制的非玩家角色进行游戏竞技时,游戏端200可以向云平台请求非玩家角色的对战动作(如攻击、跳跃等)和/或对战状态(如攻击速度增加、移动速度降低等)等信息,从而游戏端200可以根据云平台提供的对战信息控制非玩家角色与游戏玩家102操控的玩家角色进行对抗。如图1所示,云平台可以包括游戏推理装置300,该游戏推理装置300中包括有针对该游戏的推理服务。此时,游戏端200具体可以是向云平台上的游戏推理装置300请求推理服务,并由游戏推理装置300为该游戏端200进行相应的游戏推理。
示例性地,游戏端200具体可以包括图2所示的客户端201以及服务器202,其中,客户端201用于与游戏玩家102交互,服务器202中部署有所开发的游戏的核心内容。此时,客户端201在接收游戏玩家102的游戏操作的同时,向服务器202发送推理请求。当服务器202响应推理请求的过程中,需要一些非玩家角色的对战动作和/或对战状态等信息时,可以向游戏推理装置300请求游戏的推理服务。然后,服务器202可以将游戏推理装置300反馈的非玩家角色的对战动作和/或对战状态转发给客户端201,以便客户端201控制非玩家角色与游戏玩家102进行游戏交互。实际应用场景中,服务器202可以同时为多个客户端201请求游戏的推理服务。
在另一种实施例中,游戏端200可以仅包括客户端201。如图2所示,此时,客户端201中部署有完整的游戏,该客户端201可以向游戏推理装置300发送推理请求。然后,游戏推理装置300将响应的推理信息反馈给客户端201,以便客户端201基于该推理信息与游戏玩家102进行游戏交互。
游戏推理装置300中可以包括如图2所示的通信模块301以及推理模块302。在游戏推理装置300提供推理服务的过程中,通信模块301可以通过开放式系统互联模型(OpenSystem Interconnection Model,OSI)中的第七层协议(即应用层,Application Layer)与游戏端200进行通信,即通信模块301可以接收游戏端200基于该协议发送的推理请求,并将该推理请求或者推理请求中所携带的待处理数据发送给推理模块302。推理模块302可以采用相应的AI模型为游戏端200执行相应的推理过程,并将推理得到的结果通过通信模块301发送给游戏端200。
游戏推理装置300可以部署于云中心的服务器,或者,游戏推理装置300也可以是部署于边缘中心中的服务器。在又一种可能的实施方式中,游戏推理装置300上的通信模块301以及推理模块302可以分开部署,比如,通信模块301可以部署于边缘中心中的服务器,而推理模块302可以部署于云中心的服务器等。本实施例中,对于游戏推理装置300的部署方式并不进行限定。应理解,本申请中的云中心表示云服务提供商设立的,用于为一个区域(region)(例如:华东区域)的云租户提供服务的设备集合。云中心通常包括大量的资源,可以为区域中各地区的云租户提供基础资源服务和/或软件应用服务。云中心包括多台计算设备(如服务器),各计算设备中的硬件资源以及基于硬件资源抽象而成的虚拟资源(硬件资源和虚拟资源也可以称为计算节点,例如计算节点具体可以是容器或者虚拟机)可以被用于部署前述游戏推理装置300。
然而,对于一些时延要求较高的应用场景,利用云中心为一些云租户提供服务可能存在时延不满足要求的情况,因此云服务提供商还设立有边缘中心。
本申请中的边缘中心表示云服务提供商设立在一个区域中的至少一个特定地区的设备集合,边缘中心也包括多个计算设备,可以用于为一个区域中的特定地区的租户提供服务。由于边缘中心相比于云中心在地理上部署在距离特定地区的云租户更近的地方,边缘中心可以更快速地提供服务响应。
云服务提供商可以通过云平台提供云服务,云平台包括云服务提供商拥有的软件资源和硬件资源,具体地,云平台包括与云租户交互的进行云服务的销售、配置、运行的软件系统,以及云服务提供商的云中心或者边缘中心。云平台可以向用户展示至少一种云服务,进而云租户在云平台购买和配置云服务后,当云租户使用云服务的过程中,云平台可以调用云中心或者边缘中心中的节点中部署的对应云服务的装置进行服务的响应,例如:本申请中,当用户在云平台的图形用户界面配置游戏的推理服务后,部署在云中心或者边缘中心的游戏推理装置300可以处理来自游戏端200的推理请求,并返回响应。
游戏端200在请求游戏的推理服务之前,可以预先在云平台完成该推理服务的配置,此时,游戏推理装置300可以是在云平台上配置游戏的推理服务的装置。具体实现时,如图2所示,游戏推理装置300中还可以包括配置模块303。在配置推理服务的过程中,游戏开发者101可以向云平台提供针对特定游戏的配置文件。这样,游戏推理装置300中的配置模块303可以基于云平台的游戏算法框架以及游戏开发者101提供的配置文件,在云平台上为该游戏开发者101配置该游戏的推理服务,以便于推理模块302可以利用配置成功的推理服务为游戏端200进行游戏推理。其中,游戏算法框架中可以预先定义有多种训练算法以及多种AI模型等,从而配置模块303可以根据该配置文件从该游戏算法框架中选择实现针对游戏的推理服务所需的训练算法、AI模型等内容来配置推理服务。
如此,针对不同游戏开发者101所开发的各款游戏,游戏推理装置300均可以利用通用的游戏算法框架以及根据游戏开发者101提供的配置文件在云平台上自动配置出满足游戏开发者101所需的推理服务。比如,当游戏推理装置300获取到包括第一游戏的配置信息的第一配置文件时,可以基于云平台上的游戏算法框架以及该第一配置文件,在云平台上配置得到第一游戏的推理服务;并且,当游戏推理装置获取到包括第二游戏的配置信息的第一配置文件时,可以基于该游戏算法框架以及该第二配置文件,在云平台上配置得到第二游戏的推理服务。其中,第一游戏与第二游戏为不同的游戏。这样,后续游戏推理装置300可以进一步利用配置出的推理服务为游戏端200进行游戏推理,这使得云服务提供商无需针对该游戏进行推理服务的专项化设计,从而可以有效降低云服务提供商提供推理服务的难度以及成本,并且,云服务提供商提供推理服务的效率也能得到有效提升。
而且,实际应用中,AI技术的应用离不开以强化学习(reinforcement learning,RL)为代表的训练算法以及支持训练算法运行所需的计算资源,但是,对于中小型游戏厂商等游戏开发者而言,可能难以具备高质量的AI模型以及足够的计算资源来实现游戏推理,因此,游戏端200利用云平台上的推理服务实现游戏推理,可以有效降低游戏开发者101应用AI技术获得游戏推理结果的难度。
应理解,图2所示的游戏推理装置300的结构仅作为一种示例性说明,实际应用时,游戏推理装置300的结构也可以采用其它可能的实施方式。比如,在一种可能的实施方式中,游戏推理装置300也可以拆分为配置装置以及推理装置,其中,配置装置用于实现在云平台上配置游戏的推理服务,而推理装置用于通过完成配置的推理服务为游戏端200进行相应的游戏推理。或者,游戏推理装置300还可以包括在线服务模块,可以用于在配置模块303完成游戏的推理服务的配置后,在云平台上将该推理服务发布成在线云服务。或者,在其它游戏推理装置300中,配置模块303与推理模块302可以集成为一个模块等。本实施例对于游戏推理装置300的具体实现方式并不进行限定。
接下来,对在云平台配置游戏的推理服务的方法的各种非限定性的具体实施方式进行详细描述。
参阅图3,为本申请实施例中一种在云平台配置游戏的推理服务的方法的流程示意图。该方法可以应用于上述图2所示的游戏推理装置300。本实施例中,游戏推理装置300可以根据多种游戏的配置文件,在云平台上分别配置出相应的多种游戏的推理服务,为便于理解与描述,下面以游戏推理装置300根据第一游戏对应的第一配置文件,在云平台上配置出该第一游戏的推理服务为例进行示例性说明。对于游戏推理装置300根据第二游戏(以及其它游戏)对应的第二配置文件配置第二游戏(以及其它游戏)的推理服务的实现过程,可参照下述实施例的具体实现进行理解,本实施例对此并不进行限定。图3所示的在云平台配置游戏的推理服务的方法具体可以包括:
S301:游戏推理装置300获取第一配置文件,该第一配置文件包括针对第一游戏的配置信息。
通常情况下,游戏端200的数据处理能力以及其所具有的AI模型质量有限,难以实时对目标对象进行动作和/或状态等方面的信息推理,为此,本实施例中,游戏开发者101在开发第一游戏的过程中,可以请求游戏推理装置300为第一游戏配置推理服务,以便利用云平台所具有的更强的数据处理能力以及质量更高的AI模型对第一游戏的游戏应用实例中的目标对象(如游戏应用实例中的游戏角色等)进行推理,该推理服务可以用于推理该游戏中一个或者多个游戏角色所执行的动作和/或状态等。
作为一种实现示例,游戏开发者101可以向游戏推理装置300提供第一配置文件,以便游戏推理装置300根据该第一配置文件在云平台上配置第一游戏的推理服务。应理解,游戏开发者101可以基于游戏端200向游戏推理装置300发送第一配置文件,如图3所示。在其它实施例中,游戏开发者101也可以利用任何其他设备向游戏推理装置300提供第一配置文件,例如:游戏开发者101可以利用任何终端设备通过网页的方式登录云平台的网页,在网页界面上进行配置操作,以提供第一配置文件至游戏推理装置300。
作为一种示例,第一配置文件中可以包括第一游戏的游戏应用实例中的目标对象的动作空间、第一游戏的游戏应用实例中的目标对象的状态空间、奖励函数、AI模型的类型、用于训练AI模型的目标训练算法的类型、AI模型的训练方式、AI模型的推理方式、AI模型的保存地址以及用于AI模型训练和推理的计算资源规格等信息中的一种或者多种。可选地,当第一配置文件中包括上述信息中的部分信息时,其余部分信息可以由游戏推理装置300自行确定,如其余部分信息可以在云平台上被预先设定等。
其中,目标对象的动作空间,包括目标对象的至少一种动作,如目标对象在第一游戏中向前移动、向后移动、向左移动、向右移动、跳跃、攻击、闪避等动作。相应的,游戏推理装置300为该目标对象所推理出的动作即为该动作空间中的一种动作。本实施例中,目标对象,可以是游戏端200上正在运行的第一游戏的游戏应用实例中的非玩家角色,如多人在线竞技游戏(multiplayer online battle arena,MOBA)中由游戏端200控制与玩家对战的“人机”或者“野怪”。或者,目标对象,也可以是需要被预测在未来时间段内(或者其它时间段)所进行的动作或者状态的对象,如游戏玩家A可以通过第一游戏的推理服务预测游戏玩家B在未来多个时刻的行为等,此时,游戏玩家A在体验对游戏玩家B的行为和/或状态进行预测的过程,可以视为游戏玩家A体验游戏的过程。
目标对象的状态空间,包括目标对象的至少一种状态,如游戏场景中非玩家角色的血量、魔法量、攻击力、防御力、技能冷却时长、情绪等状态。相应的,游戏推理装置300为该目标对象所推理出的状态即为该状态空间中的一种状态。
目标训练算法的类型,是指对用于推理目标对象的动作和/或状态的AI模型进行训练时所采用的算法的类型,该目标训练算法的类型例如可以在配置推理服务之前,由游戏开发者101进行指定,当然,也可以是由游戏推理装置300确定等。示例性地,目标训练算法,例如可以是深度强化学习(deep reinforcement learning,DQN)算法、近端策略优化(proximal policy optimization,PPO)算法、柔性动作评价(soft actor-critic,SAC)算法、深度确定性策略梯度(deep deterministic policy gradient,DDPG)算法、双延迟深度确定性策略梯度(twin delayed deep deterministic policy gradient algorithm,TD3)算法、彩虹(rainbow)算法中的任意一种强化学习算法,或者也可以是其它可适用的算法。
AI模型的类型,是指实现推理目标对象的动作和/或状态时所采用的AI模型的类型。示例性地,AI模型,可以是深度神经网络(deep neural network,DNN)模型、循环神经网络(recurrent neural network,RNN)模型、卷积神经网络(convolutional neuralnetwork,CNN)模型中的任意一种神经网络模型,或者也可以是其它可适用的模型。
目标训练算法在运行过程中,可以将训练数据输入至AI模型中,并根据AI模型输出的结果与训练数据中的实际结果之间的差异,调整AI模型中的参数和/或网络结构,以此实现对AI模型的训练。
奖励函数,是指在训练AI模型的过程中用于控制AI模型中参数的调整方向的函数。具体的,在模型训练过程中,游戏推理装置300针对该AI模型输出的结果,可以通过该奖励函数计算出相应的奖励值,从而可以根据该奖励值与预设阈值之间的大小,确定AI模型中参数的调整方向,以此通过多次的迭代调整最终完成模型训练。
AI模型的训练方式,例如可以是自我博弈的训练方式。其中,自我博弈,是指模型本身与虚拟对手进行博弈,该虚拟对手可以是拥有过去经验的模型本身,也可以是其它模型训练出的智能体等。具体地,游戏推理装置300可以获取一个或者多个游戏应用实例所产生的针对对象A的训练数据,并将该对象A的训练数据输入至AI模型中,由AI模型根据该对象A的训练数据输出对象A的推理动作,并利用该推理动作与对象B进行博弈,从而可以根据对象A与对象B之间的博弈结果对AI模型中的参数进行调整。
推理方式,例如可以是为目标对象推理一种风格的动作和/或状态的方式,或并行推理多种风格的动作和/或状态的方式。
AI模型的保存地址,用于指示在完成对于AI模型的训练后,该AI模型在云平台上的保存位置。
用于AI模型训练和推理的计算资源规格,是指服务推理装置300在训练AI模型或者利用AI模型进行推理时所依赖的计算资源的规格,其规格大小例如可以由游戏开发者101通过第一配置文件进行定义。
实际应用时,第一配置文件中还可以包括其它信息,如还包括启发式算法等,该启发式算法可以用于对目标训练算法利用AI模型推理得到的动作和/或状态进行合理性约束等。本实施例中,对于第一配置文件的具体实现并不进行限定。
在一种可能的实施方式中,游戏端200可以向用户呈现如图4所示的配置界面,该配置界面可以呈现有提示游戏开发者101输入相关配置的信息,从而游戏开发者101可以在该配置界面对目标对象的动作空间、状态空间、奖励函数、目标训练算法、AI模型等进行配置(其余内容的配置未示出)。其中,游戏端200可以在该配置界面上呈现有可供游戏开发者101选择的配置信息项,如呈现有如图4所示的针对目标训练算法以及AI模型的不同类型的候选项,该配置信息项可以由游戏推理装置300预先提供给游戏端200,以便于游戏开发者101可以直接在该配置界面上对训练算法以及AI模型进行选择,而可以不用输入具体的训练算法文件以及AI模型文件,从而可以进一步方便游戏开发者101的配置。然后,游戏端200可以根据游戏开发者101所选择的配置信息项,自动生成相应的第一配置文件并将其发送给游戏推理装置300。实际应用时,游戏开发者101也可以是采用其它方式向游戏推理装置300提供第一配置文件,此处仅作为一种示例性说明,其具体实现方式并不限定。
S302:游戏推理装置300基于云平台的游戏算法框架以及获取的第一配置文件,在云平台上配置第一游戏的推理服务。
游戏算法框架,可以是预先定义有一种或者多种不同类型的训练算法以及AI模型的算法库,该游戏算法框架中的各种训练算法和AI模型可以预先构建。其中,在预先构建游戏算法框架中的AI模型时,可以选择基于强化学习通用的全连接网络结构或者卷积神经网络结构构建AI模型,并且,还可以在该AI模型的网络架构中添加L2正则化项和/或Dropout层,以便通过该L2正则化项和/或Dropout层提高AI模型的泛化性能,尽可能避免训练得到的AI模型所输出的推理动作的普适性较低。实际应用场景中,还可以根据实际应用需求对AI模型中网络层数和/或神经元数量进行适应性调整等。在配置第一游戏的推理服务时,游戏推理装置300可以通过应用程序接口(Application Programming Interface,API)调用游戏算法框架中的训练算法和AI模型。实际应用时,游戏开发者101可以在云平台上订阅该游戏算法框架,以便游戏推理装置300基于其订阅的游戏算法框架配置第一游戏的推理服务。
作为一种配置推理服务的实现示例,游戏推理装置300可以包括如图2所示的通信模块301以及配置模块303。通信模块301在获得游戏开发者101提供的第一配置文件后,可以将第一配置文件发送给配置模块303。配置模块303可以根据第一配置文件中定义的目标训练算法的类型,在游戏算法框架中调用相应类型的目标训练算法,并根据第一配置文件中所定义的AI模型的类型,在游戏算法框架中调用相应类型的一个或者多个AI模型。由于游戏算法框架中的AI模型在进行模型训练之前推理效果通常较差,因此,配置模块303可以利用调用的目标训练算法对AI模型进行训练,以便配置模块303根据完成训练的AI模型进一步配置出游戏开发者101所需的推理服务。其中,配置模块303实现AI模型训练以及后续推理模块302利用该AI模型进行游戏推理所需计算资源的规格,可以根据游戏开发者101提供的第一配置文件进行确定。
示例性地,配置模块303可以通过超参数搜索的方式对AI模型进行训练。其中,AI模型中的超参数是指AI模型在进行模型训练之前预先设定的参数,而AI模型中剩余的其它参数,可以通过后续的模型训练过程进行确定。实际应用时,预先设定的超参数,可能并不一定能够使得AI模型的对于目标对象的推理效果达到较高或者最高的水平,因此,本实施例中,游戏推理装置300可以通过超参数搜索的方式对AI模型进行训练,以确定出能够使得训练得到的AI模型达到较高推理效果的超参数。
具体实现时,配置模块303可以预先确定超参数的多组可能的取值,从而基于超参数的不同取值,构建多个AI模型,以构建第一AI模型以及第二AI模型为例(实际应用时,还可以基于超参数取值的多种可能,构建出更多数量的AI模型)。其中,第一AI模型以及第二AI模型具有不同的超参数,但第一AI模型以及第二AI模型均属于第一配置文件中定义的AI模型的类型。这样,配置模块303可以利用预先获取的训练数据,分别对第一AI模型以及第二AI模型进行训练。通常情况下,超参数的多组可能的取值中存在至少一组取值,能够使得基于该组取值所训练得到的AI模型的推理效果较高,如该AI模型推理出的动作和/或状态的适用性较高等。本实施例中,AI模型的推理效果可以通过奖励值进行衡量。具体的,配置模块303在训练第一AI模型以及第二AI模型时,可以利用第一配置文件中定义的奖励函数,分别计算出第一AI模型对应的奖励值以及第二AI模型对应的奖励值。此时,若第一AI模型对应的奖励值大于第二AI模型对应的奖励值,则配置模块303将第一AI模型所具有的超参数作为所要搜索出的超参数,并将第一AI模型作为训练效果相对较高的AI模型。其中,AI模型对应的奖励值,可以通过游戏开发者101预先配置的奖励函数进行计算得到。实际应用时,当构建出的AI模型的数量多于两个时,配置模块303可以将多个AI模型中奖励值最大的AI模型所具有的超参数作为所要搜索出的超参数,相应的,具有该超参数的AI模型即为训练效果最高的AI模型。应理解,此处是以根据奖励值完成超参数搜索为例进行示例性说明,实际应用时,也可以是通过其它可能的方式完成超参数搜索,本实施例对此并不进行限定。
在进行超参数搜索过程中,配置模块303可以在云平台上创建一个进程,从而利用该进程可以串行训练各个具有不同超参数的AI模型,其中,训练每个具有不同超参数的AI模型时采用的奖励函数相同。
或者,配置模块303可以在云平台上创建多个进程,每个进程可以负责至少一个AI模型的训练,并且不同进程所训练的AI模型之间具有不同的超参数。举例来说,当配置模块303构建出第一AI模型以及第二AI模型时,配置模块303可以在云平台上创建第一进程以及第二进程,其中,第一进程用于训练第一AI模型,并且第二进程用于训练第二AI模型。示例性地,配置模块303所创建的进程可以表现为执行器(worker),每个执行器可以通过进程等方式实现。如此,配置模块303可以同时利用多个进程并行训练多个AI模型,从而可以有效提高超参数搜索的效率。实际应用场景中,当进程的数量与AI模型的数量相同时,进程与AI模型之间可以一一对应,从而配置模块303可以通过各个进程,并行训练每个进程分别对应的AI模型。而当进程的数量少于AI模型的数量(不同AI模型的超参数不同)时,一个进程可以对应于多个AI模型,则,配置模块303可以利用多个进程先对部分AI模型进行并行训练,并在完成对于该部分AI模型的训练后,配置模块303可以利用该多个进程继续对剩余部分的AI模型进行训练。可选地,在完成对于部分AI模型的训练后,多个进程之间可以交互超参数数据,这样,进程之间可复用表现良好的AI模型的超参数,并从剩余的超参数中随机探索新的超参数,以此可以降低训练多个AI模型所需的计算开销。
上述实施方式中,配置模块303通过超参数搜索的方式所训练出的一个最优的AI模型可以用于推理一种风格的动作/状态。而在进一步的实施方式中,配置模块303还可以通过种群演化(population based training,PBT)等方式,得到能够推理出多种不同动作/状态的风格的AI模型,其中,配置模块303在训练不同风格的AI模型时,所使用的奖励函数不同。比如,配置模块303可以在云平台上构建第一AI模型以及第二AI模型,其中,第一AI模型可以对应于奖励函数1,并且配置模块303可以利用奖励函数1训练出用于推理第一风格的动作/状态;同时,第二AI模型可以对应于奖励函数2,并且配置模块303可以利用奖励函数2训练出用于推理第二风格的动作/状态。种群演化,是并行化搜索和序列优化相结合的一种异步自动超参调节优化方法。在种群演化过程中,配置模块303可以通过预先定义的不同奖励函数,训练得到用于推理出不同风格的AI模型,即每个奖励函数可以对应于一种推理风格的AI模型。举例来说,在对战游戏场景中,针对于对战游戏中的非玩家角色A,配置模块303可以通过种群演化过程,为该非玩家角色A分别训练得到“激进型”、“保守型”以及“平衡型”三种战斗风格的AI模型,这三种战斗风格的AI模型可以各自对应于三个不同的奖励函数,即“激进型”战斗风格的AI模型可以对应于奖励函数1、“保守型”战斗风格的AI模型可以对应于奖励函数2、“平衡型”战斗风格的AI模型可以对应于奖励函数3。针对于每种战斗风格,配置模块303可以通过上述超参数搜索的方式训练出属于该战斗风格并且具有较高推理效果的AI模型(如奖励值最大的AI模型)。其中,种群演化过程中所使用的不同奖励函数,可以由配置模块303根据第一配置文件进行确定,或者可以由配置模块303自行进行设置等。
在种群演化过程中,基于一个AI模型可能会因为迭代训练而演化得到新的AI模型,此时,若为每个AI模型(包括新的AI模型以及旧的AI模型)均分配一个端口,则因为产生的AI模型数量较多而导致进程占用的端口数量过大。为此,配置模块303在利用进程迭代训练AI模型时,可以利用新的AI模型替换旧的AI模型,这样,进程可以复用旧的AI模型对应的端口来接收训练数据,并利用该训练数据对新的AI模型进行训练,从而可以有效避免种群演化前后所得到的AI模型数量过多而导致对于游戏推理装置300中进程占用的端口数量过大。
其中,配置模块303在通过超参数搜索和/或种群演化的方式迭代训练AI模型时,可以基于第一配置文件中定义的自我博弈的训练方式完成对该AI模型的训练。
本实施例中,对AI模型进行训练所需的训练数据,可以由游戏端200提供给游戏推理装置300。游戏推理装置300中的通信模块301在接收到训练数据后,可以将该训练数据发送给配置模块303。示例性地,训练数据具体可以由游戏端200上运行的第一游戏的游戏应用实例生成,例如可以是第一游戏的游戏应用实例中非玩家角色与玩家角色在不同对战时刻所对应的攻击力、防御力、血量等游戏数据。
作为一种实现示例,游戏端200可以向通信模块301发送多个训练请求,不同训练请求包括目标对象的不同训练数据。如图5所示,该多个训练请求来自于游戏端200上运行的第一游戏的多个游戏应用实例。针对相同目标对象,多个游戏应用实例在运行时可以生成多个关于该目标对象的数据。如此,游戏端200上的多个游戏应用实例可以在单位时间内生成更多的训练数据,从而可以加快游戏推理装置300对于AI模型的训练过程。当然,本实施例中是以游戏端200上多个游戏应用实例并行产生训练数据为例,在其它实施例中,游戏端200上也可以是仅运行第一游戏的一个游戏应用实例并产生训练数据。
进一步的,游戏端200上运行的游戏应用实例所生成的针对目标对象的训练数据中,可能包含部分无效数据,如用于标记数据产生时间、数据量大小的数据等,这部分数据对于配置模块303训练AI模型而言没有指导意义,因此,游戏端200可以将这部分数据作为无效数据进行过滤。如此,游戏端200向游戏推理装置300发送的训练数据的数据量可以得到减少,从而可以减少游戏端200与游戏推理装置300之间的数据通信所导致的时延,提高模型训练效率。
在利用多个进程并行训练多个AI模型的过程中,以第一进程负责训练第一AI模型、第二进程负责训练第二AI模型为例,通信模块301在接收到多个推理请求后,可以根据第一进程的端口号和/或IP地址以及第二进程的端口号和/或IP地址,将多个训练请求中的训练数据发送给第一进程以及第二进程。这样,配置模块303在利用多个进程并行训练多个AI模型时,可以利用第一进程以及第一进程所接收到的训练数据训练第一AI模型,利用第二进程以及第二进程所接收到的训练数据训练第二AI模型。类似的,当一个进程负责训练多个AI模型时(如进程数量少于AI模型数量),单个进程训练多个AI模型中的任意一个AI模型的过程,可以与上述过程类似,在此不做赘述。
可选地,不同进程在训练其对应的AI模型时所使用的训练数据,可以来源于第一游戏的一个或者多个游戏应用实例。这样,通信模块301在获得第一游戏的不同游戏应用实例产生的训练数据后,可以根据预先的配置,向一个或者多个进程发送该训练数据。举例来说,如图5所示,游戏推理装置300上可以创建有进程1以及进程2,并且,游戏端200上可以运行有第一游戏的游戏应用实例1、游戏应用实例2以及游戏应用实例n。当通信模块301接收到这三个游戏应用实例所产生的训练数据后,通信模块301可以将游戏应用实例1的训练数据1以及游戏应用实例2的训练数据2发送给进程1,将游戏应用实例n的训练数据n发送给进程2。其中,通信模块301中可以预先配置有进程与游戏应用实例的对应关系,这样,通信模块301可以根据该对应关系将游戏应用实例产生的训练数据发送给对应的进程。当然,在其它可能的示例中,通信模块301也可以是将游戏应用实例1的训练数据1同时发送给进程1以及进程2等,本实施例对于通信模块301分配训练数据的具体实现方式并不进行限定。如此,游戏推理装置300可以利用游戏端200上不同游戏应用实例所产生的训练数据,同时训练出多个AI模型。并且,对于游戏端200而言,其可以通过一个输出端口向通信模块301提供训练数据,而可以不用通过多个输出端口分别为不同推理风格的AI模型提供训练数据,从而可以降低对于游戏端200端口的要求。
当游戏推理装置300完成第一游戏的推理服务的成功配置后,游戏推理装置300还可以生成通知消息,并将该通知消息通过通信模块301发送给游戏端200,以通知该游戏端200训练过程。实际应用中,游戏推理装置300还可以将每次训练过程中针对目标对象的训练结果(如包括博弈结果等)通过通信模块301反馈给游戏端200等。这样,游戏开发者101可以在游戏端200上通过相应的界面或者窗口查看到模型训练过程中的相关数据。
本实施例中,是以游戏推理装置300创建新的AI模型并加以训练为例进行示例性说明,实际应用的其他方式中,也可以是复用已有的AI模型,并通过“surgery(手术)”方式对已有AI模型进行训练,即可以是在已有的AI模型中的网络结构添加新的网络层,从而在训练AI模型时,主要对新添加的网络层中的超参数进行搜索以及该网络层中的参数进行训练,以此可以提高模型训练的效率、降低模型训练所需的计算量。
本实施例中,在云平台上完成针对第一游戏的推理服务的配置后,游戏推理装置300可以利用该推理服务为游戏端200发送的针对第一游戏的推理请求进行响应,以实现为游戏端200进行相应的游戏推理。基于此,本实施例中还可以进一步包括:
S303:游戏端200在运行游戏应用实例时,向游戏推理装置300发送推理请求,该推理请求包括第一游戏的游戏应用实例中的目标对象的待处理数据。
示例性地,在游戏对战场景中,推理请求中携带的待处理数据,例如可以是指示非玩家角色(即目标对象)以及对方玩家角色在第一游戏中状态的数据,如非玩家角色以及对方玩家角色的游戏画面,该游戏画面中的内容可以包括非玩家角色以及对方玩家角色的血量、魔法量、攻击力、防御力、技能状态等信息,或者,可以是描述非玩家角色以及对方玩家角色的对战状态的文字信息等。而在用户行为预测场景中,待处理数据例如可以是包括用户过往动作的视频或者图片数据等。本实施例中,对于待处理数据的具体实现方式并不进行限定。
实际应用时,游戏推理装置300可以向游戏端200提供API接口,从而游戏端200可以通过该API接口向游戏推理装置300中的通信模块301发送多个推理请求,该多个推理请求分别用于请求目标对象在未来多个时刻的推理动作和/或状态。
由于游戏端200与通信模块301之间成功建立通信连接(如基于三次握手建立的TCP连接等),通常需要一定的耗时,从而游戏端200每次请求动作推理服务的时延,可能会因为游戏端200与通信模块301之间的连接建立过程而被增加。基于此,在一种可能的实施方式中,游戏端200可以与通信模块301之间建立长连接,如游戏端200采用超文本传输协议版本1.1(Hypertext Transfer Protocol Version 1.1,HTTP1.1)与通信模块301之间建立长连接等。如此,游戏端200在与通信模块301成功建立一次连接后,后续每次向游戏推理装置300请求推理服务时,均可以不用执行建立连接的过程,而可以基于已建立的长连接直接向游戏推理装置300发送推理请求,以此可以有效降低游戏端200获取目标对象的推理结果的时延。相应的,游戏推理装置300在获取游戏端200提供的训练数据时,也可以是通过预先建立的长连接接收游戏端200发送的训练数据。
在进一步可能的实施方式中,游戏端200与游戏推理装置300可以具有不同的部署环境,如游戏端200被部署于Windows操作系统对应的环境中,而游戏推理装置300被部署于Linux操作系统对应的环境中。此时,被部署于Linux操作系统对应的环境下的游戏推理装置300,可能难以直接根据Windows操作系统对应的环境下生成的待处理数据进行动作推理。因此,通信模块301可以先判断待处理数据的格式是否为目标格式,若不是,表明游戏端200与游戏推理装置300可能基于不同的环境进行部署,则通信模块301可以对第一格式的待处理数据进行解码处理,得到游戏推理装置300(也即云平台)所能识别的目标格式的待处理数据,并将其提供给推理模块302。其中,根据一种格式的数据解码得到另一种格式数据的具体实现,在实际场景存在相关应用,本实施例对该过程不再进行赘述。而若推理请求中待处理数据的格式为目标格式时,通信模块301可以直接将该待处理数据发送给推理模块302。相应的,游戏端200在向游戏推理装置300提供训练数据时,也可以是对该训练数据的格式进行相应的处理,以得到符合云平台的部署环境的格式的数据。
当其他客户端向游戏推理装置300发送推理请求时,通信模块301也可以是检测该其他客户端发送的推理请求中待处理数据的第二格式是否与目标格式相同,并且当第二格式与目标格式不一致时,通信模块301可以将该第二格式的待处理数据转换为目标格式的待处理数据。
S304:游戏推理装置300利用完成配置的第一游戏的推理服务对推理请求中的待处理数据进行推理,得到针对该目标对象的动作和/或状态的指示信息。
具体实现时,推理模块302在接收到通信模块301提供的待处理数据后,可以调用预先完成配置的推理服务,该推理服务依赖预先通过目标训练算法完成训练的AI模型,从而推理模块302可以先将待处理数据输入至该AI模型中,得到AI模型输出的为目标对象推理得到的动作(如攻击、逃跑等动作)和/或状态(如防御力增加、情绪)的指示信息。
可选的,推理模块302在得到指示信息之前,还可以利用启发式算法对AI模型输出的指示信息进行约束。其中,启发式算法,是基于直观或经验构造的算法,能够在可接受的时间和空间复杂度下给出待解决组合优化问题的各个实例的一个可行解,其中,所给出的可行解可能是最优解,也可能不是最优解,并且,可行解与最优解的偏离程度通常难以被预计。实际应用时,启发式算法中可以预先定义有约束规则。举例来说,在对战游戏场景中,推理模块302为非玩家角色(即目标对象)所推理得到的动作为“向后移动”,即向着远离对战的玩家角色的方向“逃跑”,但是非玩家角色当前在对战地图中的游戏位置后方存在不可跨越的障碍物,而在其余方向上没有障碍物物,即非玩家角色无法在该对战地图中“向后移动”。此时,推理模块302可以利用启发式算法对AI模型输出的推理动作进行约束,具体将“向后移动”的推理动作约束为“向左移动”或者“向右移动”,以提高推理模块302为非玩家角色推理出的动作的合理性。
S305:游戏推理装置300向游戏端200返回针对目标对象的动作和/或状态的指示信息。
实际应用时,若游戏端200与游戏推理装置300被部署于不同的环境时,通信模块301将推理模块302输出的目标对象的动作和/或状态的指示信息编码成游戏端200所能识别的第一格式的指示信息,并向游戏端200发送该第一格式的动作指示信息,以使得游戏端200能够识别该指示信息,并设置该目标对象在下一刻执行该指示信息对应的动作或者展现该指示信息对应的状态。如此,由于游戏推理装置300能够为部署于多种环境的游戏端200提供动作推理服务,从而可以降低游戏端200对于部署环境的要求,提高游戏推理装置300为游戏端200提供针对游戏的推理服务的普适性。
上述实施例中,介绍了游戏推理装置300训练AI模型以及利用完成训练的AI模型实现对目标对象的动作和/或状态推理的过程。为了便于进一步理解本申请实施例的技术方案,下面将结合游戏场景的应用实例进行介绍。在该应用场景中,游戏开发者期望游戏推理装置300能够提供对游戏应用实例中非玩家角色A(简称角色A)的系列推理动作,使得角色A能够战胜该游戏中的非玩家角色B(简称角色B),并且角色A可以采用三种不同的战斗风格的系列推理动作实现战胜角色B,包括“激进型”、“保守型”、“平衡型”这三种战斗风格。其中,角色A和角色B的初始血量一致,攻击力以及防御力等强度一致,以及所可能执行的动作也一致。当在规定步数内,角色A攻击角色B并使得角色B的血量降低为0且角色A自身仍有血量时,则角色A获胜。设定角色A强度和角色B强度一致,可使用的招式也一致。
参阅图6,示出了本申请实施例提供的一种结合具体游戏场景的在云平台配置游戏的推理服务的方法流程示意图,该方法可以应用于图7所示的游戏推理装置300中。其中,在图2所示的游戏推理装置300的基础上,图7所示的游戏推理装置300还可以包括对象存储服务模块304、部署模块305以及在线云服务模块306。
如图6所示,该方法具体可以包括:
S601:对象存储服务模块304预先存储实现通信模块301、游戏算法框架、推理模块302以及配置模块303的程序代码。
其中,通信模块301、游戏算法框架、推理模块302以及配置模块303的程序代码可以由技术人员预先进行开发并保存在对象存储服务模块304中。实际应用时,通信模块301例如可以是通过flask框架等方式实现。
S602:部署模块305将对象存储服务模块304存储的程序代码部署于云平台,并发布成在线服务。
本实施例中,用于为游戏端200提供游戏的推理服务的通信模块301以及推理模块302可以形成一项云服务部署于云平台等,支持为游戏开发者在线提供服务。实际应用时,游戏推理装置300(或者通信模块301、游戏算法框架、推理模块302以及配置模块303)可以作为游戏AI(game AI)框架部署于云中心或者边缘中心。
S603:当游戏开发者101订阅该在线服务时,在线服务模块306拉取存储节点的实现通信模块301、游戏算法框架、推理模块302以及配置模块303的程序代码,并将其部署于云中心或者边缘中心中的计算节点上,以便利用计算节点上的计算资源支持AI模型的训练以及动作推理过程。
实际应用时,在部署模块305将实现游戏的推理服务的程序代码发布成在线服务后,游戏开发者101可以通过游戏端200在云平台上订阅该在线服务,以触发游戏推理装置300为该游戏开发者101在云平台上配置游戏的推理服务。
进一步地,在线服务模块306将实现通信模块301、游戏算法框架、推理模块302以及配置模块303的程序代码成功部署在计算节点后,通信模块301可以向游戏端200提供API接口,以便于游戏端200通过API接口与游戏推理装置300建立通信连接。示例性地,游戏端200与通信模块301之间可以基于HTTP 1.1等协议建立长连接。
S604:游戏端200接收游戏开发者101提供的配置文件,该配置文件中定义了角色A以及角色B的动作空间、状态空间、训练算法的类型、训练算法所训练的AI模型的类型、用于训练AI模型的奖励函数、指示AI模型的存储地址的环境变量以及计算资源的规格,并将该配置文件转发给游戏推理装置300。
S605:游戏推理装置300中的配置模块303,根据通信模块301接收到的配置文件,从游戏算法框架中调用相应类型的训练算法以及AI模型。
其中,角色A以及角色B的动作空间,可以包括向前走、向后走、向左走、向右走、攻击1、攻击2、攻击3、攻击4、攻击5、向前跑、向后跳、向左跑、向右跑等动作。状态空间,包括角色A以及角色B的血量、位置、朝向、魔法量、攻击力、防御力等状态。
不同奖励函数,用于训练推理出不同战斗风格的AI模型。作为一种示例,在训练属于“平衡型”战斗风格的AI模型时,游戏开发者定义的奖励函数可以如下述公式(1)所示:
游戏推理装置300中的配置模块303接收到配置文件后,可以根据该配置文件中的计算资源规格,将计算节点上符合该规格的计算资源分配给游戏推理装置300,以便游戏推理装置300配置的游戏的推理服务通过该计算资源运行。并且,配置模块303可以根据配置文件中所指定的训练算法的类型以及AI模型的类型,从游戏算法框架中调用相应类型的训练算法以及AI模型,以便利用选取的训练算法对至少一个AI模型进行训练。示例性地,游戏算法框架中AI模型的网络结构中可以包含Dropout层以及L2正则化项,以此可以提高AI模型的泛化性能。
由于从游戏算法框架中调用的AI模型尚未进行训练,其具有的推理效果较差,为此,游戏推理装置300还可以进一步执行步骤S606,以获取用于训练AI模型的训练数据。
S606:游戏端200上启动多个相同游戏应用的实例,并通过运行预设的脚本实现向通信模块301发送多份训练数据。其中,每个游戏应用实例中均包括角色A以及角色B,并且每个游戏应用实例产生一份针对角色A以及角色B的训练数据。
游戏端200上的脚本可以预先由技术人员进行开发,并且该脚本在运行时可以支持游戏端200与游戏推理装置300之间的通信。
本实施例中,游戏端200上同时运行多个游戏应用实例且并行产生多份训练数据,可以加快游戏推理装置300获取训练数据,从而可以加快游戏推理装置300的模型训练过程。
S607:通信模块301对游戏端200发送的训练数据进行解码,得到推理模块302所能识别的目标格式的训练数据,并将其提供给配置模块303。
实际应用时,游戏端200与游戏推理装置300可能会被部署于不同的环境中,为此,通信模块301在接收到游戏端200发送的训练数据后,可以将该训练数据解码成游戏推理装置300所能识别的目标格式的训练数据。
在一种可能的实施方式中,通信模块301在将训练数据发送给配置模块303之前,还可以对训练数据进行预处理。例如,通信模块301可以对各份训练数据中的游戏地图以及位置坐标等信息进行标准化,并增加相应的用于描述角色距离、方位等信息的特征。
S608:配置模块303运行多个进程,利用通信模块301转发的训练数据并行训练多个AI模型。
作为一种实现示例,配置模块303可以分布式训练出AI模型。具体的,配置模块303中可以包括多个进程,并且每个进程可以基于一份或者多份训练数据对一个AI模型进行训练,针对于每个AI模型,配置模块303可以将训练数据中角色A的数据输入至AI模型中,并得到该AI模型输出的角色A的推理动作,再利用推理得到的角色A的动作与角色B进行博弈,再利用的得到的博弈结果反馈调整AI模型中的参数。如此,可以提高配置模块303训练处多个AI模型的效率。类似的,针对角色B进行模型训练的过程,与针对角色A进行模型训练的过程类似,可参照相关之处描述,在此不做赘述。如图8所示,AI模型的初始训练阶段,角色A当对AI模型迭代训练200次左右,角色A在战斗结束时的剩余血量低于角色B在战斗结束时的剩余血量,但是,随着AI模型的迭代训练次数增加,当迭代训练达到100次时,角色A在战斗结束时的剩余血量开始高于角色B在战斗结束时的剩余血量,也即角色A能够战胜B。这一点也可以体现于如图9所示的双方胜率曲线图中,当迭代训练达到100次时,角色A的胜率接近100%。当针对于该AI模型的迭代训练达到收敛条件时,如AI模型在最近的预设次数(如20次)的迭代训练过程中,均能使得角色A的胜率达到预设值(如98%等),配置模块303可以继续采用类似的方式针对角色B对该AI模型进行训练。
然后,通过超参数搜索以及种群演化等方式,可以训练得到上述“激进型”、“保守型”、“平衡型”这三种战斗风格的AI模型。其中,超参数搜索以及种群演化的具体实现过程,可参阅前述实施例的相关之处描述,在此不做赘述。
其中,训练得到的AI模型,配置模块303可以根据配置文件中所执行的存储地址保存该AI模型。
S609:配置模块303通过通信模块301向游戏端200反馈AI模型训练完成的通知。
本实施例中,游戏端200与游戏推理装置300之间进行数据通信时,可以由通信模块301完成对通信数据的格式转换,以使得通信双方能够相互识别对方发送的通信数据。
实际应用时,游戏开发者可以通过游戏端200查看到游戏推理装置300训练AI模型的过程中所产生的数据。例如,游戏开发者101可以通过游戏端200在云平台的界面上查看训练效果等。如图10所示,游戏开发者101可以在云平台的界面上查看到基于种群演化的方式所得到的三种战斗风格的AI模型,在模型训练过程中针对角色A的胜率变化曲线;或者,游戏开发者101可以云平台的界面上查看到如图8所示的双方对战血量的变化曲线,或者如图9所示的双方对战胜率的变化曲线等。
S610:游戏端200向游戏推理装置300发送动作推理请求,用于请求对角色A进行动作推理,该动作推理请求中包括角色A以及角色B的游戏画面以及战斗风格的标识。
S611:通信模块301在转换得到目标格式的游戏画面以及战斗风格标识后,将其发送给推理模块302。
S612:推理模块302利用与该战斗风格的标识对应的AI模型,根据该目标格式的游戏画面推理出角色A的动作指示信息。
S613:推理模块302将角色A的动作指示信息发送给通信模块301。
S614:通信模块301在完成对于动作指示信息的格式转换后,将游戏端200能够识别的格式的动作指示信息发送给游戏端200。
以上结合图1至图10对本申请实施例提供的在云平台配置游戏的推理服务的方法进行介绍,接下来结合附图对本申请实施例提供的用于实现上述方法实施例中游戏推理装置300功能的计算设备进行介绍。
图11提供了一种计算设备集群。如图11所示,计算设备集群1100具体可以用于实现上述图3所示的游戏推理装置300的功能。
计算设备集群1100包括至少一个计算设备,其中,每个计算设备可以包括总线1101、处理器1102和存储器1103。处理器1102、存储器1103之间通过总线1101通信。
总线1101可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器1102可以为中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)、神经网络处理器(neural network processing unit,NPU)等处理器中的任意一种或多种。
存储器1103可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器1103还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard drivedrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器1103中存储有可执行的程序代码,处理器1102执行该可执行的程序代码以执行前述游戏推理装置300所执行的在云平台配置游戏的推理服务的方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述游戏推理装置300所执行的在云平台配置游戏的推理服务的方法。
本申请实施例还提供了一种计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品可以为一个软件安装包,在需要使用前述对象识别方法的任一方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
Claims (27)
1.一种在云平台配置游戏的推理服务的方法,其特征在于,所述方法包括:
获取第一配置文件,所述第一配置文件包括针对第一游戏的配置信息;
基于所述云平台的游戏算法框架和所述第一配置文件,在所述云平台配置所述第一游戏的推理服务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第二配置文件,所述第二配置文件包括针对第二游戏的配置信息;
基于所述云平台的所述游戏算法框架和所述第二配置文件,在所述云平台配置所述第二游戏的推理服务。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
利用所述第一游戏的推理服务对游戏端发送的推理请求进行响应,其中,所述游戏端包括运行所述第一游戏的游戏应用实例的设备,所述推理请求包括针对所述第一游戏的游戏应用实例中的目标对象的待处理数据,所述响应包括针对所述目标对象的动作和/或状态的指示信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一配置文件包括以下配置信息中的一种或多种:所述第一游戏的游戏应用实例中的目标对象的动作空间、所述第一游戏的游戏应用实例中的目标对象的状态空间、目标训练算法的第一类型、人工智能AI模型的第二类型、奖励函数、所述AI模型的训练方式、所述AI模型的推理方式、所述AI模型的保存地址、用于所述AI模型的训练和推理的计算资源的规格。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述基于所述云平台的游戏算法框架和所述第一配置文件在所述云平台配置第一游戏的推理服务,包括:
基于所述第一配置文件和所述游戏算法框架,对至少一个AI模型进行训练;
根据训练完成的所述至少一个AI模型配置所述第一游戏的推理服务。
6.根据权利要求5所述的方法,其特征在于,所述对至少一个AI模型进行训练,包括:
接收来自游戏端的多个训练请求,所述多个训练请求来自于所述第一游戏的多个游戏应用实例,不同训练请求包括针对所述多个游戏应用实例中的同一目标对象的不同训练数据;
根据所述多个训练请求中的训练数据对所述至少一个AI模型进行训练。
7.根据权利要求5或6所述的方法,其特征在于,当所述至少一个AI模型包括第一AI模型和第二AI模型时,所述第一AI模型和所述第二AI模型的超参数不同,和/或,所述第一AI模型和所述第二AI模型对应的奖励函数不同。
8.根据权利要求5-7任一项所述的方法,其特征在于,当所述至少一个AI模型包括第一AI模型和第二AI模型时,所述云平台运行有第一进程和第二进程,所述根据所述多个训练请求中的训练数据对所述至少一个AI模型进行训练,包括:
根据所述第一进程的端口号和/或IP地址和所述第二进程的端口号和/或IP地址,将所述多个训练请求中的训练数据发送至所述第一进程和所述第二进程;
利用所述第一进程和所述第一进程接收到的训练数据训练所述第一AI模型,利用所述第二进程和所述第二进程接收到的训练数据训练所述第二AI模型。
9.根据权利要求5-8任一项所述的方法,其特征在于,所述基于所述第一配置文件和所述游戏算法框架,对至少一个AI模型进行训练,包括:
根据所述第一配置文件中的目标训练算法的第一类型以及所述AI模型的第二类型,在所述游戏算法框架中调用所述第一类型的目标训练算法以及所述第二类型的所述至少一个AI模型;
基于调用的所述第一类型的目标训练算法,对所述第二类型的所述至少一个AI模型进行训练。
10.根据权利要求1-9任一项所述的方法,其特征在于,当游戏端和所述云平台的数据格式不同时,在利用所述第一游戏的推理服务对游戏端发送的推理请求进行响应之前,所述方法还包括:
对所述游戏端发送的推理请求中数据的格式进行处理,得到所述云平台能够识别的数据格式的数据。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述云平台与所述游戏端之间保持长连接,并且,所述云平台通过所述长连接接收和响应所述游戏端发送的推理请求。
12.根据权利要求1-11任一项所述的方法,其特征在于,所述获取第一配置文件包括:
基于游戏开发者选择的配置信息项,获取所述第一配置文件。
13.一种配置游戏的推理服务的装置,其特征在于,所述装置包括:
通信模块,用于获取第一配置文件,所述第一配置文件包括针对第一游戏的配置信息;
配置模块,用于基于云平台的游戏算法框架和所述第一配置文件,在所述云平台配置所述第一游戏的推理服务。
14.根据权利要求13所述的装置,其特征在于,
所述通信模块,还用于获取第二配置文件,所述第二配置文件包括针对第二游戏的配置信息;
所述配置模块,还用于基于所述云平台的所述游戏算法框架和所述第二配置文件,在所述云平台配置所述第二游戏的推理服务。
15.根据权利要求13或14所述的装置,其特征在于,所述装置还包括:
推理模块,用于利用所述第一游戏的推理服务对游戏端发送的推理请求进行响应,其中,所述游戏端包括运行所述第一游戏的游戏应用实例的设备,所述推理请求包括针对所述第一游戏的游戏应用实例中的目标对象的待处理数据,所述响应包括针对所述目标对象的动作和/或状态的指示信息。
16.根据权利要求13-15任一项所述的装置,其特征在于,所述第一配置文件包括以下配置信息中的一种或多种:所述第一游戏的游戏应用实例中的目标对象的动作空间、所述第一游戏的游戏应用实例中的目标对象的状态空间、目标训练算法的第一类型、人工智能AI模型的第二类型、奖励函数、所述AI模型的训练方式、所述AI模型的推理方式、所述AI模型的保存地址、用于所述AI模型的训练和推理的计算资源的规格。
17.根据权利要求13-16任一项所述的装置,其特征在于,所述配置模块,具体用于:
基于所述第一配置文件和所述游戏算法框架,对至少一个AI模型进行训练;
根据训练完成的所述至少一个AI模型配置所述第一游戏的推理服务。
18.根据权利要求17所述的装置,其特征在于,所述配置模块,具体用于:
接收来自游戏端的多个训练请求,所述多个训练请求来自于所述第一游戏的多个游戏应用实例,不同训练请求包括针对所述多个游戏应用实例中的同一目标对象的不同训练数据;
根据所述多个训练请求中的训练数据对所述至少一个AI模型进行训练。
19.根据权利要求17或18所述的装置,其特征在于,当所述至少一个AI模型包括第一AI模型和第二AI模型时,所述第一AI模型和所述第二AI模型的超参数不同,和/或,所述第一AI模型和所述第二AI模型对应的奖励函数不同。
20.根据权利要求17-19任一项所述的装置,其特征在于,当所述至少一个AI模型包括第一AI模型和第二AI模型时,所述云平台运行有第一进程和第二进程,所述配置模块,具体用于:
根据所述第一进程的端口号和/或IP地址和所述第二进程的端口号和/或IP地址,将所述多个训练请求中的训练数据发送至所述第一进程和所述第二进程;
利用所述第一进程和所述第一进程接收到的训练数据训练所述第一AI模型,利用所述第二进程和所述第二进程接收到的训练数据训练所述第二AI模型。
21.根据权利要求17-20任一项所述的装置,其特征在于,所述配置模块,具体用于:
根据所述第一配置文件中的目标训练算法的第一类型以及所述AI模型的第二类型,在所述游戏算法框架中调用所述第一类型的目标训练算法以及所述第二类型的所述至少一个AI模型;
基于调用的所述第一类型的目标训练算法,对所述第二类型的所述至少一个AI模型进行训练。
22.根据权利要求13-21任一项所述的装置,其特征在于,当游戏端和所述云平台的数据格式不同时,在利用所述第一游戏的推理服务对游戏端发送的推理请求进行响应之前,所述方法还包括:
对所述游戏端发送的推理请求中数据的格式进行处理,得到所述云平台能够识别的数据格式的数据。
23.根据权利要求13-22任一项所述的装置,其特征在于,所述云平台与游戏端之间保持长连接,并且,所述云平台通过所述长连接接收和响应所述游戏端发送的推理请求。
24.根据权利要求13-23任一项所述的装置,其特征在于,所述通信模块,具体用于基于游戏开发者选择的配置信息项,获取所述第一配置文件。
25.一种计算设备集群,其特征在于,所述计算设备集群包括至少一个计算设备,每个计算设备包括处理器、存储器;
所述处理器用于执行所述存储器中存储的指令,以使所述至少一个计算设备执行如权利要求1至12任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算设备运行时,使得所述计算设备执行如权利要求1至12中任一项所述的方法。
27.一种包含指令的计算机程序产品,当其在计算设备上运行时,使得所述计算设备执行如权利要求1至12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/072425 WO2022213702A1 (zh) | 2021-04-09 | 2022-01-17 | 在云平台配置游戏的推理服务的方法、装置及相关设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110379975X | 2021-04-09 | ||
CN202110379975 | 2021-04-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115193053A true CN115193053A (zh) | 2022-10-18 |
Family
ID=83574255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110742189.1A Pending CN115193053A (zh) | 2021-04-09 | 2021-06-30 | 在云平台配置游戏的推理服务的方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115193053A (zh) |
-
2021
- 2021-06-30 CN CN202110742189.1A patent/CN115193053A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9327194B2 (en) | Partitioned artificial intelligence for networked games | |
US10445103B2 (en) | Mobile game data processing method and apparatus | |
JP2010525422A (ja) | 人工環境に動的コンテンツを導入する分散ネットワークアーキテクチャ | |
CN109697123A (zh) | 游戏动画的渲染方法和装置、存储介质、电子装置 | |
CN112870721B (zh) | 一种游戏互动方法、装置、设备及存储介质 | |
CN111841016B (zh) | 游戏ai系统、游戏ai的信息处理方法、装置和存储介质 | |
CN110585697A (zh) | 一种游戏中的跨服控制方法及装置 | |
JP7465960B2 (ja) | ピアツーピアマルチプレイヤークラウドゲーミングアーキテクチャ | |
WO2016109487A1 (en) | Method and system of on-line real-time shadowing for context aware user relationship management | |
JP7266827B2 (ja) | ゲームアプリケーション以外のアプリケーションによる制御に基づいてゲームサービスを提供するサーバ及び方法 | |
CN115193053A (zh) | 在云平台配置游戏的推理服务的方法、装置及相关设备 | |
WO2022213702A1 (zh) | 在云平台配置游戏的推理服务的方法、装置及相关设备 | |
CN111841019A (zh) | 游戏应用安全验证方法、装置、设备及存储介质 | |
US9381436B2 (en) | Mechanism for implementing cloud local area network party service for multi-player content/game environment | |
KR20200122371A (ko) | 게이밍 플랫폼을 이용한 근접 사용자와의 그룹 게임플레이 | |
CN116943204A (zh) | 虚拟对象的控制方法、装置和存储介质及电子设备 | |
CN109857567B (zh) | 一种ai状态信息的同步方法和装置 | |
Borchjes et al. | Model-Free Deep Reinforcement Learning in Software-Defined Networks | |
CN112348196A (zh) | 一种自适应rdma网络的分布式机器学习系统及方法 | |
US11944900B2 (en) | Live video game intervention | |
US20240123347A1 (en) | Game interactive control method and apparatus, storage medium and electronic device | |
US20230277933A1 (en) | Method and apparatus for providing a computer implemented application | |
Carter et al. | Analysis of a novel hybrid P2P architecture | |
CN117234609A (zh) | 虚拟游戏的运行方法、装置和存储介质及电子设备 | |
CN117046111A (zh) | 一种游戏技能的处理方法以及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |