章煌创,赵海英,高 伟,张瑞喆,李 宏
(1.北京大学深圳研究生院 信息工程学院,广东 深圳 518055;2.鹏城实验室,广东 深圳 518056)
随着人工智能的发展,通过人工智能竞赛促进产学研结合,已经成为了人工智能发展的一种新型方式[1-3]。在人工智能竞赛中,存在多方角色,包括组织人员和团队、命题人员和团队、参赛选手运营人员和团队、参赛人员和团队、评审人员和团队在内的多方在竞赛中扮演了不同的角色[4-5]。这些角色通过不同的分工、协作,共同促成人工智能竞赛的顺利举办,推动人工智能技术发展。在竞赛中,因身份角色不同,应当具有的权限也有所不同。在传统的人工竞赛组织模式中,往往通过人工组织或套用其他系统的权限架构,对这些角色的分工和权限进行管理和协调,存在工作量大、易出错等问题,比如申报、材料填写等繁杂不规范,因竞赛使用的数据信息量大而易出错等等[6-10]。解决以上问题的难点在于,如何设计并实现一种自动化的权限架构系统,将人工组织过程中的权限架构通过人工智能平台系统进行实现[11-15]。解决这一问题的意义在于能为人工智能竞赛的参与各方提供更好的管理体验,优化人机交互过程,节约项目管理成本。该文提供了一种面向人工智能竞赛的平台权限架构,满足了人工智能竞赛中各个身份的分工需求,且能够在竞赛平台中通过编程逻辑实现。
该文提出一种面向人工智能竞赛平台的权限架构方法,旨在解决目前各种竞赛平台采用人工管理竞赛平台上存在的诸多问题,主要包括以下3类:
(1)整个竞赛平台管理过程繁琐,材料填写等繁杂,不规范,导致工作效率低。
(2)报名参赛人员多,竞赛数据、竞赛使用的数据信息量大,易出错。
(3)竞赛的前期、中期、后期信息得不到及时公布,不利于平台的宣传以及比赛的公平性、精准性等。
以人员和团队管理为例子说明。在面向人工智能竞赛的平台权限架构的工作流程中,不同的人员和团队根据所处的身份角色应当具有不同的定位和权限。人员和团队主要可以分为以下5个类别:
(1)组织人员及团队:系统维护方,对系统具有完全的最高的权限。
(2)命题人员及团队:单个或多个赛题的命题方,对所负责赛题的数据集、评测方式具有配置权限。
(3)参赛选手运营人员及团队:单个或多个赛道的组织方,对赛道的日程、流程控制等具有配置权限,同时具有查看参赛提交,封禁违规选手及团队,分配评审任务等权限。
(4)参赛人员及团队:单个或多个赛道的参赛人员,根据系统的配置,可以进行登入注册、下载数据集、提交结果、查看成绩和排行榜等操作。
(5)评审人员及团队:单个或多个赛道的评审人员,兼具选手代码合规性审查、选手方案创新性评议的功能。
考虑到该权限系统纷繁复杂,该文提出的方法通过编程的方式对其进行逻辑实现。这样实现可以使得该权限逻辑在系统上自动运行,实现人工配置、系统控制的人机协同模式,更高效地对用户所具有的权限进行管理。5种不同的身份类别在不同的赛事阶段需要进行不同的操作,有的操作需要基于其他身份对该事件的许可、分配等权限进行控制。因此,采用了网站服务的方式对系统进行实现。
总体而言,另设有超级管理员对整个面向人工智能竞赛的平台权限架构系统进行管理。除了访问网站主页及其他宣传所用的公开信息外,在竞赛平台上进行的任何操作均需要经过超级管理员的授权。部分关键权限的授权是超级管理员直接进行的,其他非关键权限的授权可以直接或间接地进行。有些权限根据用户身份的变化会根据配置信息获得,其他一些则必须经过显式地指定授权,如表1所示。
表1 权限授权说明
根据前面的需求分析,设计该系统的功能模块。如图1所示,面向人工智能竞赛的平台权限架构包含了全局管理、赛道管理、人员管理、队伍管理、评审管理等多个模块,其考虑了多场赛事多个赛道同时举办的情况,支持细粒度的权限管理场景,命题人员和团队、参赛选手运营人员和团队、评审人员和团队分离,做到了精确化管理的同时,保障赛事公平性。因此,该架构是一个可以处理赛前信息发布等,赛中人员及数据管理、赛事评审等,赛后竞赛颁奖等各项环节的人工智能竞赛管理平台架构,功能结构如图1所示。
图1 架构功能结构
本节将从职能设计、各职能与权限实现、鉴权系统实现三个方面介绍提出的面向人工智能竞赛的平台权限架构系统的实现方案。
在整个面向人工智能竞赛的平台权限架构系统中,职能身份分为以下6种,即超级管理员、全局管理员、赛道管理员、赛题管理员、参赛选手和评审专家,如表2所示。
表2 职能身份设计
超级管理员A1:超级管理员的职能为调度管理整个竞赛平台的各种资源和流程。超级管理员可以授权其他用户为A2管理员,或撤销该授权。其他职能同A2管理员。A2管理员展示与撤销页面如图2所示。
图2 A2管理员展示与撤销
全局管理员A2:可以授权其他用户为赛道管理员(A3)或赛题管理员(A4);可以对数据集等平台公共内容进行管理。并具有所有赛道和赛题的管理员权限。其中,A3管理员展示与跳转页面如图3所示。
图3 A3管理员展示与跳转页面
赛道管理员A3:A3管理员可以对拥有权限的赛道进行管理、编辑,对参加竞赛的选手进行管理。除非另被明确授权,否则不具有其他未被授权的赛道权限,也不具有A4管理员的权限。其中,参赛队伍管理页面如图4所示,专家评审任务管理页面如图5所示。
图4 参赛队伍管理页面
图5 专家评审任务管理页面
赛题管理员A4:A4管理员可以对得到授权的赛题进行管理。包括对赛题的评分方式、评测所需文件的设置和修改。其中,评测内容管理页面如图6所示。
图6 评测内容管理页面
参赛选手:参赛选手在网站上公开链接注册即被生成,不具有任何管理员权限,可以报名、参赛、提交成果。如A3管理员允许选手查看成绩和排行榜,则还可以查看成绩和排行榜。
评审专家:评审专家账号是特殊生成的一类账号,一般由赛道管理员生成并分配评审任务(见A3管理员一节)后,将账号分发给专家。
评审专家账号只能看到被分配给自己的评审任务,并下载该队伍的答案文件和文档。通过审阅文件和文档后,在系统上给出评分。评审专家查看到的分配给自己的评审任务如图7所示。
图7 评审专家查评审任务
鉴权系统是为了实现权限控制自动化所设置的计算机软件系统。在鉴权系统实现上,分为两部分功能设计:操作鉴权和权限授予与撤销。
鉴权操作后端执行通用流程如图8所示。操作鉴权是指用户在进行每一项操作时,系统均会确认用户是否具有该项操作的权限。具体地,用户登录系统时,系统会为用户签发唯一的cookie。用户在进行具体操作请求时,系统在执行操作之前,会先根据cookie对应到唯一的用户。接着,系统会先到权限数据库中查询用户具有的操作权限,如果用户不具有操作权限,则鉴权失败,流程结束,用户的请求被拒绝。只有当用户通过了鉴权,才能执行对应的操作。
图8 鉴权操作后端执行通用流程
权限授予与撤销是一种特殊的操作权限数据库的操作。首先,操作者本身在发出操作请求时,系统会先对其进行鉴权。若操作者本身不具有操作权限,则根据鉴权操作的一般规则,流程结束,请求被拒绝。只有操作者通过了鉴权,该次操作才会被允许,系统后端对权限数据库进行对应的更改。每次操作均被视为是独立的操作,独立鉴权和更改数据库。
该文提出的面向人工智能竞赛的平台权限架构的方法,考虑了多场赛事多个赛道同时举办的情况,支持细粒度的权限管理场景,命题人员和团队、参赛选手运营人员和团队、评审人员和团队分离,精确化管理保障赛事公平性。该系统应用于2020年和2021年度的全国人工智能大赛,保障了万人同时参与的大规模竞赛的顺利进行,创造了竞赛过程权限管理零出错的记录。