-
摘要:
大语言模型(large language models,LLMs)所展现的处理各种自然语言处理(natural language processing,NLP)任务的能力引发了广泛关注. 然而,它们在处理现实中各种复杂场景时的鲁棒性尚未得到充分探索,这对于评估模型的稳定性和可靠性尤为重要. 因此,使用涵盖了9个常见NLP任务的15个数据集(约147000个原始测试样本)和来自TextFlint的61种鲁棒的文本变形方法分析GPT-3和GPT-3.5系列模型在原始数据集上的性能,以及其在不同任务和文本变形级别(字符、词和句子)上的鲁棒性. 研究结果表明,GPT模型虽然在情感分析、语义匹配等分类任务和阅读理解任务中表现出良好的性能,但其处理信息抽取任务的能力仍较为欠缺,比如其对关系抽取任务中各种关系类型存在严重混淆,甚至出现“幻觉”现象. 在鲁棒性评估实验中,GPT模型在任务层面和变形层面的鲁棒性都较弱,其中,在分类任务和句子级别的变形中鲁棒性缺乏更为显著. 此外,探究了模型迭代过程中性能和鲁棒性的变化,以及提示中的演示数量和演示内容对模型性能和鲁棒性的影响. 结果表明,随着模型的迭代以及上下文学习的加入,模型的性能稳步提升,但是鲁棒性依然亟待提升. 这些发现从任务类型、变形种类、提示内容等方面揭示了GPT模型还无法完全胜任常见的NLP任务,并且模型存在的鲁棒性问题难以通过提升模型性能或改变提示内容等方式解决. 通过对gpt-3.5-turbo的更新版本、gpt-4模型,以及开源模型LLaMA2-7B和LLaMA2-13B的性能和鲁棒性表现进行对比,进一步验证了实验结论. 鉴于此,未来的大模型研究应当提升模型在信息提取以及语义理解等方面的能力,并且应当在模型训练或微调阶段考虑提升其鲁棒性.
Abstract:The GPT models have demonstrated impressive performance in various natural language processing (NLP) tasks. However, their robustness and abilities to handle various complexities of the open world have not yet to be well explored, which is especially crucial in assessing the stability of models and is a key aspect of trustworthy AI. In this study, we perform a comprehensive experimental analysis of GPT-3 and GPT-3.5 series models, exploring their performance and robustness using 15 datasets (about 147000 original test samples) with 61 robust probing transformations from TextFlint covering 9 popular NLP tasks. Additionally, we analyze the model’s robustness across different transformation levels, including character, word, and sentence. Our findings reveal that while GPT models exhibit competitive performance in certain tasks like sentiment analysis, semantic matching, and reading comprehension, they exhibit severe confusion regarding information extraction tasks. For instance, GPT models exhibit severe confusion in relation extraction and even exhibit “hallucination” phenomena. Moreover, they experience significant degradation in robustness in terms of tasks and transformations, especially in classification tasks and sentence-level transformations. Furthermore, we validate the impact of the quantity and the form of demonstrations on performance and robustness. These findings reveal that GPT models are still not fully proficient in handling common NLP tasks, and highlight the difficulty in addressing robustness challenges through enhancing model performance or altering prompt content. By comparing the performance and robustness of the updated version of gpt-3.5-turbo, gpt-4, LLaMA2-7B and LLaMA2-13B, we further validate the experimental findings. Future studies on large language models should strive to enhance their capacities in information extraction and semantic understanding, while simultaneously bolstering overall robustness.
-
Keywords:
- robustness /
- GPT models /
- large language models /
- natural language processing /
- reliability
-
海洋数据同化是一种从气候数值预测领域发展而来的,将物理模型与观测资料相结合的预测校正方法[1-3],广泛运用于大气[4]、海洋[5]和地表[6]等诸多领域. 目前最为常见的数据同化方法分别为集合卡尔曼滤波算法(FnKF)[7]、集合最优插值算法[8],以及三维、四维变分方法等[9-12]. 其中集合最优插值由集合卡尔曼滤波发展而来.
随着航海事业的不断发展,捕鱼、军事、资源开采和生物研究等海洋相关的活动日益增多. 这些日益增多的海洋活动对海洋预报的准确性和实时性提出了更高的要求,因此许多准实时的海洋观测系统被开发出来[13]. 随着海洋模式的不断发展,海洋数据同化的分辨率也不断提高. 在其他因素不变的情况下,水平方向的分辨率每提高10倍,对应的计算量和数据量将提高100倍,这大大增加了同化系统对内存、I/O以及计算能力的要求. 海量的数据读取和计算任务对系统的实时性带来了很大的挑战. 我国自主研发的天河2号超算平台凭借其优越的I/O性能以及计算的性能曾多次登顶世界超算的榜首,可以很大程度上满足同化程序对于内存、I/O以及计算性能的需求,因此许多大数据学者都以天河2号作为研究和开发平台[14-24]. 如何开发一个高效的并行算法提取出海洋数据同化的特性,并与天河的存储以及执行架构相结合,最大程度地提升天河系统的内存、I/O以及计算资源的利用率显得尤为重要.
本文算法主要针对基于中国科学院大气物理研究所(Institute of Atmospheric Physics,Chinese Academy of Sciences,IAP)、大气科学和地球流体力学数值模拟国家重点实验室(State Key Laboratory Modelling for Atmospheric Sciences and Geophysical Fluid Dynamics,LASG)发展的LASG/IAP气候系统海洋模式(LASG/IAP climate ocean model,LICOM)[25-27],在局部集合最优插值的算法框架下,对大规模高分辨率的海洋数据同化程序进行并行优化. 由于本文采用的是高分辨率的海洋观测数据,因此同化时存在计算量大、内存需求高、I/O时间长等问题,在文献[28]中已经针对此这个模式下的数据同化程序做了一些优化工作,取得了不错的效果,但是其优化时没有深入理解海洋数据同化的数据特性、计算特性,没有考虑所使用的超算平台架构,以及没有考虑算法的时间局部性和空间局部性的问题,因此仍存在很大的优化空间. 本文在文献[28]的基础上,用其优化后的程序作为本文的对比程序(下文称之为I/O代理程序),并进一步将海洋数据同化的数据特性、计算特性与所使用的超算平台的架构特性相结合,并结合时间局部性和空间局部性,设计了一款高效的大规模海洋数据同化并行算法.
1. 算法及程序流程
1.1 同化方法
局部集合最优插值算法是由集合最优插值进行可并行性优化后发展而来[29],具有更好的并行性.
本文局部集合最优插值的实现过程表示为
{{\boldsymbol{\varphi}} ^{\alpha} } = {\boldsymbol{\varphi}} + \alpha {{\boldsymbol{A}}'}{{\boldsymbol{A}}'^{{\text{T}}}}{{\boldsymbol{H}}^{\text{T}}}{(\alpha {\boldsymbol{H}}{{\boldsymbol{A}}'}{{\boldsymbol{A}}'^{{\text{T}}}}{{\boldsymbol{H}}^{\text{T}}} + {\boldsymbol{\gamma}} {{\boldsymbol{\gamma}} ^{\text{T}}})^{ - 1}}{{\boldsymbol{d}}'} \text{.} (1) 其中,
{{\boldsymbol{\varphi}} ^{\alpha} } 为分析场数据,{\boldsymbol{\varphi }} 为背景场数据,\alpha 为一个在区间(0,1]上的随机因子; A为静态样本数据,A'为扰动预测矩阵,由A中心化而来,{{\boldsymbol{A}}'}{{\boldsymbol{A}}'^{{\text{T}}}} 为背景误差协方差的估计; H为测量算子,代表真实模型与预测模型之间的映射;{\boldsymbol{\gamma }} 为扰动测量误差向量,{\boldsymbol{\gamma}} {{\boldsymbol{\gamma}} ^{{{\rm T}}}} 为观测误差协方差;{{\boldsymbol{d}}'} = {\boldsymbol{d}} - {\boldsymbol{H\varphi }} 为观测增益,其中d为扰动测量向量.令
{\boldsymbol{W}} = \alpha {\boldsymbol{H}}{{\boldsymbol{A}}'}{{\boldsymbol{A}}'^{{\text{T}}}}{{\boldsymbol{H}}^{\text{T}}} + {\boldsymbol{\gamma}} {{\boldsymbol{\gamma}} ^{\text{T}}} \text{,} (2) 由于集合扰动误差和测量误差无关,所以由式(2)得
{\boldsymbol{W}} = (\sqrt \alpha {\boldsymbol{H}}{{\boldsymbol{A}}'} + {\boldsymbol{\gamma }}){(\sqrt \alpha {\boldsymbol{H}}{{\boldsymbol{A}}'} + {\boldsymbol{\gamma }})^{\text{T}}} . (3) 令
\sqrt \alpha {\boldsymbol{H}}{{\boldsymbol{A}}'} + {\boldsymbol{\gamma}} = {\boldsymbol{U}}\Sigma {{\boldsymbol{V}}^{\text{T}}} \text{,} (4) 其中
{\boldsymbol{U}}{\mathbf{\Sigma }}{{\boldsymbol{V}}^{\text{T}}} 由\sqrt \alpha {\boldsymbol{H}}{{\boldsymbol{A}}'} 进行SVD分解得到. 结合式(3)可得{\boldsymbol{W}} = \alpha {\boldsymbol{H}}{{\boldsymbol{A}}'}{{\boldsymbol{A}}'^{{\text{T}}}}{{\boldsymbol{H}}^{\text{T}}} + {\boldsymbol{\gamma}} {{\boldsymbol{\gamma}} ^{\text{T}}} = {\boldsymbol{U}}{\boldsymbol{\Sigma }}{{\boldsymbol{V}}^{\text{T}}}{\boldsymbol{V}}{{\boldsymbol{\Sigma }}^{\text{T}}}{{\boldsymbol{U}}^{\text{T}}} = {\boldsymbol{U}}{\boldsymbol{\Sigma }}{{\boldsymbol{\Sigma }}^{\text{T}}}{{\boldsymbol{U}}^{\text{T}}} \text{,} (5) 则
{{\boldsymbol{W}}^{-1}} = {(\alpha {\boldsymbol{H}}{{\boldsymbol{A}}'}{{\boldsymbol{A}}'^{{\text{T}}}}{{\boldsymbol{H}}^{\text{T}}} + {\boldsymbol{\gamma}} {{\boldsymbol{\gamma}} ^{\text{T}}})^{ - 1}} = {\boldsymbol{U}}{({\boldsymbol{\Sigma }}{{\boldsymbol{\Sigma }}^{\text{T}}})^{ - 1}}{{\boldsymbol{U}}^{\text{T}}} ={\boldsymbol{U}}{{\boldsymbol{\varLambda}} ^{ - 1}}{{\boldsymbol{U}}^{\text{T}}} \text{,} (6) 结合式(1)可得
{{\boldsymbol{\varphi}} ^{\alpha }} ={\boldsymbol{ \varphi}} + \alpha {{\boldsymbol{A}}'}{{\boldsymbol{A}}'^{{\text{T}}}}{{\boldsymbol{H}}^{\text{T}}}{\boldsymbol{U}}{{\boldsymbol{\varLambda }}^{ - 1}}{{\boldsymbol{U}}^{\text{T}}}{{\boldsymbol{d}}'} . (7) SVD分解以及式(7)便是本文各个海洋格点的主要计算部分,其中最为耗时的便是SVD分解过程. 在SVD分解完成之后,将式(7)分为5个步骤计算:
{{\boldsymbol{X}}_1} = {{\boldsymbol{\varLambda}} ^{-1}}{{\boldsymbol{U}}^{\text{T}}} \text{,} (8) {{\boldsymbol{X}}_2} = {{\boldsymbol{X}}_1}{{\boldsymbol{d}}'} \text{,} (9) {{\boldsymbol{X}}_3} = {\boldsymbol{U}}{{\boldsymbol{X}}_2} \text{,} (10) {{\boldsymbol{X}}}_{4}=(\alpha {\boldsymbol{H}}{{\boldsymbol{A}}}'){{\boldsymbol{X}}}_{3} \text{,} (11) {{\boldsymbol{\varphi}} ^\alpha } = {\boldsymbol{\varphi}} + {{\boldsymbol{A}}'}{{\boldsymbol{X}}_4} . (12) 在局部最优插值的算法中,整个同化数据区域按照经纬度被划分成很多个格点,对于每一个格点只要可以获取到周围(2×prep_rx)×(2×prep_ry)范围内的数据便可以对该节点进行数据同化,其中在本文的分辨率下prep_rx=105,prep_ry=19. 这样良好的并行特性十分便于计算的并行化,但是这也导致了每个格点在数据分发时需要带边数据,在进行通信时会产生大量的通信量,增加数据通信的时间,大大降低程序的并行效率. 因此为了提升程序的并行效率、提高并行系统的带宽利用率以及减少通信时间,提升程序的并行效率尤为重要,这些将在下文做详细介绍.
1.2 程序流程
文献[28]的程序的流程图如图1所示. 并本文以此作为对比程序,并在此基础上进行优化.
1.3 存在的挑战
1)负载均衡的挑战
由图2可以看出,I/O代理程序各个进程的计算负载极不均衡,大量的进程没有计算任务,大部分计算任务被分配到了少量的进程上,且这些进程内部负载也十分的不均衡,存在极大的进程浪费. 在I/O代理程序中,同化程序以同化数据中海洋格点的数目为负载均衡的依据,对进程进行计算任务的划分. 这样的划分方式只是从同化流程的角度理解海洋数据同化,没有深入理解同化算法以及进程的计算过程. 因此在这种负载均衡方式下,虽然各个进程表面上看起来负载均衡,实际上执行时存在很大的负载不均衡性. 虽然每个进程获得的可同化格点的数目是一样的,但并不是每个海洋格点都是可以同化的,当格点周围的nobs≤2时(其中nobs代表同化格点周围有效的观测数据点的数量),此部分格点是不可以同化的. 最坏的情况是,一些进程获取的海洋格点全部需要同化,而一些海洋格点获取的海洋格点完全不需要同化, 这要导致极大的负载不均衡性,从而造成大量计算节点的浪费.
2)读取的挑战
由图3可以看出I/O代理程序在读取64.8 GB的数据时较为耗时,并行读取效率较低. I/O代理程序读取时采用代理节点对数据进行读取,之后由代理节点对计算进程进行数据分发. 这样的设计方式仅在上层算法层面对同化程序的读取进行了优化,并未考虑到超算集群的文件系统以及通信架构,因此并未充分挖掘Lustre并行文件系统的并行读取能力,并行带宽利用率较低.
3)通信的挑战
由图4可以看出I/O代理程序的通信不仅耗时较长且随着核数增加显著增长. 正如读取的挑战所述,I/O代理程序并未考虑超算集群的节点通信架构,只是简单地调用函数MPI_Scatter进行数据分发,存在很大的通信负载不均衡,超算集群通信通道利用率非常低.
4)写回的挑战
由图5可以看出I/O代理程序的写回十分的耗时,且随着核数增加十分的不稳定. I/O代理程序写回时采用各个进程直接写回对应数据块的策略,这样的策略会导致海量的进程同时密集地访问同一个对象存储目标(object storage target,OST),而OST并不能同一时间处理这么多I/O进程的请求,造成极大的冲突,特别是核数达到千以上时. 此外海量的进程同时访问同一块磁盘也会导致严重的磁头争用和海量的寻址.
1.4 本文贡献
本文针对1.3节所述的I/O代理程序存在的4个挑战,通过分析同化程序整体的算法流程,对算法进行重组并结合超算集群的存储架构、节点分布特性以及通信特性,提出了基于计算拓扑图的2层负载均衡策略以及基于Lustre文件存储架构和超算集群特性的并行优化策略,并在此基础上进一步提出了计算、读取通信、写回3层重叠策略. 本文的总技术路线如图6所示.
2. 负载均衡优化
2.1 基于计算拓扑图的负载均衡优化
本文对海洋数据同化算法和进程实际的计算流程进行深入的分析,观察到nobs才是各个进程实现负载均衡的关键. 而且实际同化过程中最耗时的部分是SVD分解过程,其计算复杂度为nobs3,其中nobs的取值范围为3~1 000. 由此也可以看出基于海洋格点的负载均衡方法中,有的海洋格点nobs很大,有的海洋格点nobs很小,计算复杂度最大相差10003/27,为370多万倍,这样的负载均衡方法十分不合理. 本文算法针对实际执行流程中的这一特性,在实际执行同化前加入了一个预同化步骤,分别计算出每一个海洋格点进行数据同化的计算复杂度,在原本海洋格点分布图的基础上生成基于计算复杂度的计算拓扑图,并以此作为负载均衡划分的依据,在最大程度上实现了各个进程的负载均衡. 不仅如此,实现的计算拓扑图还可以很大程度上反映出本次数据同化计算任务的分布特性,显示出整个海洋同化数据中的对应海洋格点是否需要同化,以此实现了针对海洋同化数据计算分布特性的读取写回以及通信优化,这部分将在2.2节进行介绍.
2.2 2层负载均衡
如图7所示,假设整个海洋同化数据的计算量为90,每个节点(Split组)内5个核,其中0号核为该Split组的Master. 生成计算拓扑图后,为了方便展示,假设将整个同化数据分为4组(25,20,30,15)并计算出每个组的计算量. 本文先在组的维度按照经度进行1层的负载均衡,以第1组为例,其计算量为25,本文算法为这个组分配5个Master,由于地理区域上的观测点分布是不均匀的,因此每个Master负责的地理区域大小可能有大有小,每个Master负责的计算量为5. 在每个Split组内部,本文算法再进行了1层的负载均衡,将计算量再次平均划分给节点内的计算进程. 这里的Split组属于不同的节点,分别使用节点间和节点内通信通道,这样2层的负载均衡方式不仅可以最大限度地实现计算进程的负载均衡,而且更为第3节的读取和通信分组做了铺垫,第3节的读取和通信优化策略也充分考虑节点间和节点内的通信通道问题,并根据负载均衡的分组,实现了相应的读取和通信的优化策略. 通过这样的分组方式,每个组的Reader对Master的数据分发,以及Master对Split组的数据分发分别使用的是节点间和节点内的通信通道,互不影响,可以极大地提升通信效率.
3. 基于Lustre文件存储架构和超算集群特性的并行优化
3.1 基于OST的读取优化
基于LICOM模式的数据同化本身涉及大量的文件读取,在同化时间没有充分优化时,读取时间可以忽略不计,例如在文献[28]的Fortran版本中,程序千核的运行时间为8 000 s左右,而读取时间占总时间的比重很小,可以忽略不计. 但在同化时间充分优化后,读取时间将在程序整体运行时间中占据很大的比重,特别是在本文负载均衡优化后,千核下程序其他部分的执行时间只有几十秒,而程序读取64.8 GB的数据需要10多秒,因此读取时间的优化也是提升并行同化程序性能的关键.
在传统的读取算法优化中,大多数的优化算法都是通过将数据重组,保证数据的成块连续读取,减少文件的寻址次数和I/O的请求次数,从而减少文件的读取时间. MPI-IO是一种读取通信优化策略,采用的就是这个思想,许多读取密集型的算法以此作为读取的优化策略,并在MPI-IO的基础上进行了优化[30-34].
传统的读取优化大多是在算法层面对I/O进行优化,并没有考虑过读取进程是如何和底层文件存储系统进行交互的,也没有考虑超算集群的特性. 因此这些优化算法往往只能一定程度上优化程序的读取时间,如果旧的读取策略已经是成块连续读取的,新优化算法的性能提升将十分的有限,而且随着平台网络环境的不同有很大的波动. 本文提出的读取优化,将超算平台的文件存储架构和超算集群的特性结合起来,充分挖掘了Lustre文件存储架构的I/O带宽和超算集群的节点通信通道的分配特点[35-42],程序读取64.8 GB文件的读取时间缩小到1.6 s左右,I/O性能显著提升.
本文程序所使用的天河2号超算平台使用的文件系统为Lustre文件系统. 文件在存储时系统按照分片的方式,将文件存储到不同的OST中,其中对象存储服务器(object storage server,OSS)负责处理上层的I/O读写请求以及调度OST. 在忽略OSS调度时间的影响下,如果OST的数目为m,且OST的I/O带宽为n(单位为GBps),那么理论上整个超算平台的带宽可以达到mn(单位为GBps). 在天河2号超算平台上,OST的数目为12,OSS的数目为2. 如果忽略掉OSS的调度时间,天河系统的整体带宽可达12n(单位为GBps). 在实测时,I/O代理程序的吞吐量较低,远远没有达到天河的峰值吞吐量.
首先,如图8,9所示,I/O代理程序的I/O读取算法存在大量的读取进程同时访问少量OST的情况,并且由于未对文件存储方式进行设置,默认情况下同一个文件可能无序地存在几个不同的OST,这就导致了虽然读取的是不同的文件但不同的进程可能会访问相同的OST. 这样的读取方式使得同一时间只有少量OST超负荷运行,其他OST则一直空闲,没有充分利用OST,而且同时对少量OST进行密集访问会存在大量的I/O请求冲突,增加了OSS的调度难度,大大增加了OSS的调度时间. 在本文的算法中,对于64.8 GB也就是12个文件,每个文件5.4 GB的数据,本文通过Lustre的用户接口,将每个文件分别存到不同的OST中. 在文件读取时,本文只指定12个进程作为Reader进行文件读取. 对于这12个进程本文也做了特别的设定,本文将这12个进程分别绑定到不同的天河节点上. 2.2节中提到,天河上的节点在通信时分别使用节点间和节点内的通信通道.
如图10所示,天河上每个节点有24个核,每个节点独自占用1个节点间通信通道,节点内部则走节点内的通信通道. 这样的设计方式可以充分利用每个节点的通信通道的带宽,最大限度地避免对OST请求的冲突. 当OSS数目足够多时,每个读取进程和OST的I/O请求完全并行,不受其他读取进程的影响,实现完全并行的通信. 但是正如前文提到的天河的OSS只有2个,因此无法实现理论上I/O请求完全没有冲突的情况,但是这种设计方式也可以最大限度地避免I/O请求的冲突,并且同一时间充分利用天河可用的OST,实现完全并行读取.
3.2 3层通信
1)3层通信算法
本文的算法在读取时设置了12个Reader对12个文件进行完全并行的读取,接下来要解决Reader对读取到的数据进行分发的问题. 在I/O代理程序中,读取进程读取到相应的数据之后,就直接对所有组内的进程进行数据分发. 这样的实现方式虽然简单,但是效率却十分的低下. 在实际执行时1个读取进程可能要同时将数据分发给海量的进程,虽然MPI在底层优化时,采用二分的方法进行数据分发的优化,但是并没有关注图10中超算集群上节点内和节点间的通信通道问题. 这样可能存在一种情况,即在MPI_Scatter优化算法中,分发进程集中到1个或几个节点上,同时使用1个节点的通信通道向外分发数据,这样就会造成很大的网络拥塞,分发的效率十分的低下. MPI_Scatter只是一种通用性的方法,实际执行的效果不佳.
本文根据图10所示的超算集群上节点间和节点内通信通道的配置特点设计了3层通信算法. 如图11所示,首先设置12个进程作为Reader与OST进行通信,获取到相应的数据,其中每个Reader分别分配到不同的节点上,独立使用自己的通信通道与自己对应的OST进行交互,与其他Reader互不影响实现并行的OST交互. 其次在Reader获取相应的数据之后,将计算进程按照节点为单位分为Split组,其中每个节点的0号进程为这个Spilt组的Master. 0号进程负责节点间的收发数据,独占当前节点的通信通道. 最后为了并行处理,本文将同化数据按照纬度ny方向横向切块,分成了group个Master组. 每个Master组都需要12个文件中对应的1块数据块,因此本文为每个Master组配置了12个Reader,每轮由12个Reader去并行读取12个文件的对应数据块,并行分发给对应的Master. 这样的设计方式可以将Reader和Master间的通信集中到节点间的通信通道上,充分利用各个节点通信通道的同时,实现和下文节点内通信的隔离. 在Master获取到相应的数据后,各个Master通过节点内的通信通道向自己负责的Split组分发数据. 这样设计方式可以实现节点间和节点内在不同通信通道的并行通信.
2)基于环的分发策略
每个Master组的12个Reader对各自的Master进行分发数据时,如果直接采用数据分发的方式,同一时间12个Reader同时对所有Master发起通信,可能会出现“hot spot”,导致严重的通信拥塞. 因此本文设计了图12所示的基于环的分发策略.
本文首先将每个Master组内的Master再次平均分组,生成Scatter_Master组,初始情况下每个Reader对应1个Scatter_Master组,负责向这部分的Master分发数据. 在1轮分发完成后,每个Reader进行轮转,如图12所示,依次循环直到所有的数据分发完毕. 这样的设计方式可以实现Reader间完全并行的数据分发,不会产生“hot spot”和Reader间的通信拥塞,极大地提升了通信的效率.
3.3 预同化优化和写回优化
1)预同化优化
第2节提到的基于计算拓扑图的负载均衡策略中需要进行一步预同化的操作,这部分需要先读取背景场的数据,然后根据背景场、观测场和网格数据进行预同化,计算出每个海洋格点的计算复杂度,以此生成计算拓扑图. 这个过程涉及一张背景场文件读取,这个背景场文件的大小为5.4 GB. 在1000核下,这部分的读取和通信时间为6 s左右,且随着核数呈线性增长. 本文算法在4000核下优化到最后的整体运行时间为34 s左右,因此预同化部分的优化也十分的重要.
本文将5.4 GB的文件分别等分到group(group<12)个OST中,然后每个Master组设置1个Reader对自己负责的OST进行并行读取. 在读取完成后仿照3.2节提到的3层通信,将数据分发给不同的组,各个组收到数据后进行预同化过程.
2)写回优化
I/O代理程序中,写回时间占I/O代理程序运行时间的27%,其时间为200~300 s之间, 且随着超算集群用户数量和网络拥塞情况出现很大的波动. 有时写回时间甚至大于1500 s,不仅十分的耗时且十分的不稳定. 这主要是由于I/O代理程序采用各个计算进程独自写回所同化的数据,这样的写回策略会对OSS发起数百万次的写回请求,同一时间OSS需要处理几千次的文件写回请求,这对OSS的调度和超算集群的网络通信产生非常大的压力,当超算集群用户增多、通信网络变得拥堵时,写回的性能会受很大的影响. 本文根据Lustre文件存储架构的特性,将写回的文件分别根据Master组等分到不同的OST中,然后根据3层通信,实现了3层的gather操作,将每个计算进程计算完成的数据经由Split→Master→Reader收集到每个Master组的Reader 0中,由每个组的Reader 0负责集中的写回,将对应的数据写回对应的OST中,实现完全并行的写回. 最后的写回请求的次数为group次,写回时间稳定在2~3 s且不随核数的增加而增加,十分的稳定,不随超算集群的用户数量、网络环境的波动而波动.
4. 计算、读取通信、写回3层重叠
4.1 读取通信与计算重叠
由于在具体的数据同化过程中,每个计算进程只要获取到相应的数据,同化过程便可以进行,不需要其他的通信操作,各个计算进程完全并行. 针对这种同化过程,本文实现了对读取通信和计算的重叠. 为了实现读取通信与计算的重叠,Reader将需要读取的数据进行纬度ny方向的切片,生成overlap片数据块. 每次Reader只读取1个小块的数据,在读取到相应的数据后,再进行Reader到Master、Master到节点内计算进程的通信,各个计算进程在获取到数据后便进行同化计算. 在其他进程进行同化计算的同时,Reader再读取下一小片的数据,并和Master进行通信,这样便实现读取通信和计算的重叠.
由于同化的数据都是带边的,其中经度nx方向的prep_rx=105,纬度ny方向的prep_ry=19,假设每个计算进程所需数据块的nx方向子区域的长度为sub_nx_len,ny方向的区域分组的长度为ny_len,那么每个Reader需要读取的数据为((nx+2×prep_rx)×(ny_len+ 2×prep_ry))×sizeof(type),每个计算进程所需的通信数据大小为(sub_nx_len + 2×prep_rx × (ny_len + 2×prep_ry))×sizeof(type). 因此,ny方向上数据切得越细,需要的带边数据也就越多,所产生的读取和通信冗余量就越大.
为了解决读取和通信数据冗余的问题,本文采用在读取时先提前开辟((nx+2×prep_rx)×(ny_len+2×prep _ry))×sizeof(type)的内存空间,其大小为不分片时的整体数据块的内存大小加上带边数据的内存大小,其中ny_len为区域分组中数据块在ny方向上的总长度. 然后设置了psi_read_index作为Reader已经读取的数据偏移,在Reader进行读取时根据psi_read_index计算下一次需要读取的数据量,即逻辑上需要的数据偏移减去psi_read_index代表的已经读入内存的数据偏移. 在实际执行时,分片后数据读取所读入的数据量和以不分片方式读入的数据量相等,完全解决了带边数据导致的读取数据冗余问题,实现了高效的数据复用.
解决完读取数据冗余的问题,下面介绍通信数据冗余问题的解决. 本文算法在通信之前,和读取相似,先提前开辟(sub_nx_len+2×prep_rx×(ny_ len+2×prep_ry))×sizeof(type)的内存空间,并设置psi_index为已经通过通信获取到的同化数据的数据偏移. 在通信时利用psi_index计算需要通信的数据量,即将需要通信的数据偏移减去已经通过通信的获取到的数据偏移. 通过这种方式,最终的通信数据量和未分片的数据量相等,完全解决了带边数据所导致的通信数据冗余问题.
具体的读取、通信与计算重叠算法和避免读取、通信冗余策略如图13、图14所示.
4.2 计算、读取通信、写回重叠
2.1节中提到计算拓扑图可以反映出本次数据同化计算任务的分布特性. 同化数据显示的是全球的海洋气候信息,所以包含大量的陆地以及大量没有观测点的海洋区域,而且这些区域多是成块且连续的. 因此根据海洋同化数据计算量的分布特性,设计了读取和通信避免策略.
在生成计算拓扑图后,对整个海洋同化数据进行分类,分为需要同化区域与不需要同化区域. 对于需要同化区域则根据上文的负载均衡算法进行基于负载均衡的任务划分以及同化数据读取、分发和计算. 对于不需要同化的区域,则可以设置一些Reader进行读取和写回,这部分区域虽然不用计算,但是为了生成全球海洋气候的分析场,这些数据也应该写回到最后的分析场中.
在本文的实验中,不需要同化的区域占总海洋同化数据的60%左右. 对于负责这部分读取和写回的Reader与其他进程相互独立,可以独立执行. 因此在生成计算量分布图后,这部分进程可以在其他进程进行计算和读取通信的同时,并行地对不需要同化的数据进行写回. 这样的数据读取和写回,可以完全被其他进程的同化计算所掩盖掉,可以减少整体程序大量的数据读取通信和写回的时间. 经过上述的优化,计算进程由于只需要读取通信需要同化的40%的区域,因此整体的读取和通信量大大减少,读取和通信时间也大大减少. 与此同时,虽然有一些海洋区域不需要进行同化,但是如果将其分发给计算节点,由于计算节点需要对海洋格点逐个进行遍历因此仍会存在一些判定处理的时间,在将这部分不需要同化计算的区域筛选出来后,只将需要同化计算的部分划分给计算节点,计算节点整体的同化计算效率也大大提升,同化计算时间也大大减少.
5. 实验分析
本文采用的实验平台分别是天河2号超算集群和曙光7000超算集群,这2个平台所使用的数据集参数分别如表1和表2所示.
表 1 天河上使用的数据集参数Table 1. Parameters of Data Set Used on Tianhe分辨率/(°) 网格精度 静态样本数 观测数据数 数据大小/GB 0.1 3600×1800×55 12 391017 64.8 表 2 曙光7000上使用的数据集参数Table 2. Parameters of Data Set Used on Sugon 7000分辨率/(°) 网格精度 静态样本数 观测数据数 数据大小/GB 0.1 3600×1800×55 120 391017 648 5.1 天河上各部分性能对比测试
1)读取时间测试
本文分别对I/O代理程序的读取通信策略和基于Lustre文件存储架构的、基于3层通信的读取通信策略进行了对比测试. 如图15所示,I/O代理程序的读取较为耗时,本文程序的读取时间不仅远小于I/O代理程序的读取时间,且随核数的增加而基本保持在2 s左右.
2)通信时间测试
从图16可以看出I/O代理程序的通信时间随核数的增加而线性增加,而本文程序的通信时间随着核数的增加基本保持不变.
3)数据同化时间测试
本文负载均衡优化前后的数据同化时间对比如图17所示. 基于计算拓扑图的负载均衡算法充分利用了可用的核数,避免了少部分核被分配大量计算量而大部分核只负责少部分甚至没有分配计量的情况,充分利用了超算集群的计算性能,使得同化时间大大缩短.
4)写回时间测试
本文分别对2种算法的写回时间做了测试,如表3所示. I/O代理程序的写回时间十分的长,而且在实际测试时表现得十分不稳定,本文程序的写回时间不仅远小于I/O代理程序的写回时间且随着核数的增加基本保持稳定.
表 3 2种算法的写回时间对比Table 3. Comparison of Write Back Time Between the Two Algorithms核心数 优化前写回时间/s 优化后写回时间/s 1000 275.18 2.58 2000 204.17 2.50 3000 245.14 2.69 4000 285.72 2.51 5)预同化时间测试
本文预同化过程涉及在千核下5.4 GB文件的读取和分发. 从图18可以看出. 在未优化前,预同化时间随着核数的增加呈线性增长;优化后随着核数的增加预同化时间基本保持稳定.
6)整体性能测试
本文将展示整体并行同化程序优化前后的运行时间对比. 如图19所示,分别显示了I/O代理程序、本文非计算重叠版本和本文最终优化版本的程序整体运行时间对比. 从图中可以看出I/O代理程序的计算、读取和写回时间都比较大. 虽然计算时间随着核数的增加而明显减少,但是文件的I/O读取通信时间随着核数的增加而逐渐增加. 同时I/O代理程序的写回时间随着核数增加也十分不稳定. 在非计算重叠算法中,可以看出程序的写回时间和预同化时间仍占据一定的比重,且预同化时间随着核数的增加而增加. 在本文最终的优化版本中除了计算、读取通信和写回重叠的运行时间以外,其他部分的运行时间占总时间的比例不大. 而且对比前后2种优化算法,可以明显看出读取通信以及写回的时间,在计算时间足够长时实现了完全的重叠. 同时也可以看出由于筛选出了60%不需要同化计算的区域,读取和通信的数据量大大减少,本文最终优化版本的读取和通信时间大大减少. 而且在同化计算中由于省去了60%同化区域判定处理的时间,整体海洋数据同化程序的同化计算时间也大大减少. 总体来说经过重叠优化后本文最终优化版本相比于之前优化的版本性能得到了很大的提升. 在4 000核下本文程序的整体性能相比I/O代理程序提升了18倍.
5.2 曙光7000上整体性能对比测试
在曙光7000超算集群上本文算法仍然表现优异. 由于节点布局与天河不同,本文在节点分配上做了调整. 曙光7000是Parastor文件系统,并且未提供用户处理节点(类似于Lustre文件系统的OST)的接口,但节点(OST)、节点池(OSS)众多,更加偏向于随机散列的读取,因此本文在文件读取和通信优化上取消了Reader这一层,采用Master直接和OST进行交互,以最大限度地利用Parastor节点OST的独立通道,提高并行读取效率. 取消Reader这一层,Master直接和Split组进行交互,也将提升Master到计算进程的通信效率. 在图20中分别列出了预同化、读取、通信、同化计算和写回时间,其他比重过小的时间这里未做展示. 由于曙光7000超算集群上的数学库还不完善,本文使用的MAGMA数学库计算效率很低,虽然使用了DCU卡进行加速,但是其计算速度仍慢于天河上的MKL库函数,但这并不影响本文算法程序与I/O代理程序性能的对比. 在使用相同库函数的情况下本文算法程序性能明显优于I/O代理程序,在4000块卡下整体性能提升8倍左右.
6. 结束语
本文主要介绍了基于LICOM模式的海洋数据同化程序的优化算法. 分别提出了基于计算拓扑图的负载均衡策略,基于Lustre文件存储架构的读取、写回和通信策略,并在此基础上实现了计算、读取通信、写回的3层重叠. 相比于I/O代理程序,本文程序的各项性能都得到了显著的提升. 在天河上,4000核下本文程序整体性能提升18倍. 在曙光7000上,4000块卡下,整体性能提升了8倍左右.
但是本程序仍有可优化的空间,由于随着核数的增加计算时间不断地缩短,而I/O时间随着核数的增加不会减少,因此当核数足够大时计算的时间会小于I/O时间,计算时间无法再掩盖I/O时间,这样会限制程序的可拓展性上限. 由于曙光7000的存储架构以及节点分布特性与天河不同,再加上曙光7000文件系统用户接口的限制,虽然本文针对其做了相应的优化,尽可能地将Parastor文件系统的节点(OST)利用起来,但是其仍达不到像天河Lustre文件系统一样极限的I/O带宽利用率. 因此在未来的工作中准备进一步优化I/O时间以提升程序的可拓展性上限,并对曙光7000的文件存储架构做进一步的研究,对曙光7000上的程序做进一步的优化.
作者贡献声明:蔡迪负责论文相关的实验设计、代码实现、实验测试以及论文撰写等工作;洪学海负责前期实验方案的设计讨论与论文修改;肖俊敏负责论文结构的讨论和修改;谭光明负责实验补充和设计讨论,并指导论文修改.
https://platform.openai.comhttps://platform.openai.com/docs -
表 1 实验使用的15个数据集的信息
Table 1 Information of 15 Datasets Used in Experiments
任务类型 子任务类型 数据集 数据量 评测指标 分类 细粒度情感分析(ABSA) SemEval2014-Laptop[25] 331 准确率 SemEval2014-Restaurant[25] 492 准确率 情感分析(SA) IMDB[26] 25000 准确率 自然语言推理(NLI) MNLI-m[27] 9815 准确率 MNLI-mm[27] 9832 准确率 SNLI[27] 10000 准确率 语义匹配(SM) QQP[28] 40430 准确率 MRPC[29] 1725 准确率 威诺格拉德模式挑战(WSC) WSC273[30] 570 准确率 阅读理解 机器阅读理解(MRC) SQuAD 1.1[31] 9868 F1 SQuAD 2.0[32] 11491 F1 信息抽取 词性标注(POS) WSJ[33] 5461 准确率 命名实体识别(NER) CoNLL2003[34] 3453 F1 OntoNotesv5[35] 4019 F1 关系抽取(RE) TACRED[36] 15509 F1 表 2 61种任务特定变形的信息
Table 2 Information of 61 Task-Specific Transformations
子任务类型 变形类型 变形方式 细粒度情感分析(ABSA) 句子级 AddDiff, RevNon, RevTgt 情感分析(SA) 词级 SwapSpecialEnt-Movie,
SwapSpecialEnt-Person句子级 AddSum-Movie, AddSum-Person, DoubleDenial 自然语言推理(NLI) 字符级 NumWord 词级 SwapAnt 句子级 AddSent 语义匹配(SM) 字符级 NumWord 词级 SwapAnt 威诺格拉德模式挑战(WSC) 字符级 SwapNames 词级 SwapGender 句子级 AddSentences, InsertRelativeClause, SwitchVoice 机器阅读理解(MRC) 句子级 AddSentDiverse, ModifyPos, PerturbAnswer, PerturbQuestion-BackTranslation, PertyrbQuestion-MLM 词性标注(POS) 字符级 SwapPrefix 词级 SwapMultiPOSJJ, SwapMultiPOSNN, SwapMultiPOSRB, SwapMutliPOSVB 命名实体识别(NER) 字符级 EntTypos, OOV 词级 CrossCategory, SwapLonger 句子级 ConcatSent 关系抽取(RE) 词级 SwapEnt-LowFreq, SwapEnt-SamEtype 句子级 InsertClause, SwapTriplePos-Age, SwapTriplePos-Birth, SwapTriplePos-Employee 表 3 不同类型的变形样例
Table 3 Examples of Deformations in Different Categories
变形类型 变形方式 样例 字符级 SwapPrefix 原始:That is a prefixed string.
变形后:That is a preunfixed string.词级 DoubleDenial 原始:The leading actor is good.
变形后:The leading actor is good not bad.句子级 InsertClause 原始:Shanghai is in the east of China.
变形后:Shanghai which is a municipality of China
is in the east of China established in Tiananmen.注: 划线单词表示变形后的数据中删掉的部分;黑体单词表示变形后的数据中新增的部分. 表 4 不同模型的鲁棒性表现
Table 4 The Robustness Performance of Different Models
% 数据集 gpt-3.5-turbo text-davinci-003 BERT ori trans APDR ori trans APDR ori trans APDR Restaurant 91.43±1.23 66.00±11.28 27.80±2.74 90.14±1.33 52.59±11.21 41.65±4.26 84.38±1.20 53.49±15.07 36.51±18.43 Laptop 86.67±2.15 59.36±21.97 31.25±23.31 83.30±0.71 54.71±17.75 34.42±19.29 90.48±0.06 49.06±9.03 45.78±9.97 IMDB 91.60±0.20 90.86±0.50 0.80±0.47 91.74±0.68 91.40±0.58 0.37±0.31 95.24±0.12 94.61±0.80 0.66±0.94 MNLI-m 73.03±7.44 41.75±17.05 42.27±21.87 67.49±2.80 54.88±20.93 19.52±24.60 86.31±4.50 52.49±2.97 39.10±4.13 MNLI-mm 72.21±7.69 40.94±19.11 42.71±24.31 66.61±1.57 50.57±20.58 24.46±27.71 84.17±1.09 52.33±5.44 37.87±5.73 SNLI 73.30±12.50 47.80±8.80 32.99±13.66 70.81±9.24 56.44±22.68 18.99±26.16 90.75±1.52 77.61±18.34 14.44±20.25 QQP 79.32±5.97 64.96±20.52 17.17±1.18 70.14±12.03 69.27±13.67 −1.08±9.23 91.75±2.60 52.77±5.93 42.56±4.83 MRPC 80.69±10.28 84.99±10.69 −8.12±22.99 74.87±5.38 74.33±23.12 −0.17±26.51 86.87±6.05 0.00±0.00 100.00±0.00 WSC273 66.05±1.95 64.12±5.82 2.93±5.57 62.05±0.48 61.42±2.41 1.01±3.12 56.00±0.00 53.61±5.31 4.26±9.49 SQuAD 1.1 55.33±8.22 44.55±9.73 19.45±12.39 67.18±8.23 61.07±9.04 9.11±7.13 87.22±0.26 70.78±21.84 18.88±24.95 SQuAD 2.0 55.03±7.39 44.21±9.31 19.62±12.70 65.91±7.81 59.70±8.93 9.45±7.58 78.81±2.65 60.17±16.99 23.48±21.81 WSJ − − − 75.53±2.28 74.63±2.58 1.21±0.90 97.72±0.09 96.23±1.69 1.53±1.79 CoNLL2003 44.61±3.48 37.30±9.29 16.31±20.05 51.54±2.88 42.64±9.24 17.13±17.76 90.57±0.38 72.24±16.75 20.26±18.42 OntoNotesv5 17.74±8.51 18.68±7.00 −12.73±40.09 11.94±9.98 12.30±7.69 −17.51±51.73 79.99±6.54 61.98±20.30 23.47±20.45 TACRED 31.44±31.24 32.64±33.27 0.58±7.88 35.67±30.89 38.67±31.59 −25.69±55.14 77.99±13.47 65.53±15.46 16.54±7.83 注:“±”后的数字表示均值对应的标准差;“Laptop”和“Restaurant”分别表示“SemEval2014-Laptop”和“SemEval2014-Restaurant”数据集;“−”表示模型未完成指定任务. 表 5 3个GPT模型的鲁棒性表现
Table 5 The Robustness Performance of Three GPT Models
% 数据集 gpt-3.5-turbo-0301 gpt-3.5-turbo-0613 gpt-4 ori trans APDR ori trans APDR ori trans APDR Restaurant 91.43±1.23 66.00±11.28 27.80±2.74 97.05±0.86 59.98±16.37 38.28±16.56 95.81±2.27 71.07±9.15 25.80±9.69 Laptop 86.67±2.15 59.36±21.97 31.25±23.31 93.91±1.45 63.82±19.10 32.16±19.83 98.74±1.88 74.42±16.01 24.75±15.42 IMDB 91.60±0.20 90.86±0.50 0.80±0.47 96.58±1.05 95.99±1.63 0.62±0.90 93.81±3.69 91.91±5.31 2.05±3.83 MNLI-m 73.03±7.44 41.75±17.05 42.27±21.87 71.88±7.99 35.30±16.00 51.85±20.03 84.24±7.00 53.46±10.50 36.81±9.04 MNLI-mm 72.21±7.69 40.94±19.11 42.71±24.31 71.78±7.68 35.59±15.45 50.28±22.50 80.23±8.14 53.88±14.19 33.28±14.43 SNLI 73.30±12.50 47.80±8.80 32.99±13.66 75.67±15.70 38.58±11.11 47.61±16.40 89.10±5.64 70.65±21.60 21.25±21.31 QQP 79.32±5.97 64.96±20.52 17.17±1.18 81.42±8.49 49.71±16.16 38.22±22.66 53.14±19.48 84.91±15.74 −105.86±159.05 MRPC 80.69±10.28 84.99±10.69 −8.12±22.99 85.70±11.16 70.65±16.74 14.29±30.49 60.38±7.06 94.65±4.68 −58.46±18.46 WSC273 66.05±1.95 64.12±5.82 2.93±5.57 53.98±0.75 51.92±3.13 3.80±6.10 77.88±6.12 64.42±23.57 16.91±30.39 SQuAD1.1 55.33±8.22 44.55±9.73 19.45±12.39 90.11±1.09 80.84±8.65 10.27±9.70 95.14±1.74 84.96±13.75 10.69±14.41 SQuAD2.0 55.03±7.39 44.21±9.31 19.62±12.70 73.68±4.61 64.25±10.76 12.85±13.16 81.94±3.17 74.15±7.17 9.50±8.02 WSJ − − − 50.35±5.22 49.31±5.61 2.07±4.52 68.66±3.03 67.88±5.58 1.10±7.39 CoNLL2003 44.61±3.48 37.30±9.29 16.31±20.05 66.78±2.98 49.76±11.69 25.38±17.69 83.23±1.86 65.53±13.86 21.25±16.66 OntoNotesv5 17.74±8.51 18.68±7.00 −12.73±40.09 9.85±6.53 13.50±4.13 −66.86±72.42 7.58±15.72 6.70±10.70 10.87±15.47 TACRED 31.44±31.24 32.64±33.27 0.58±7.88 37.00±35.29 40.23±34.38 −20.07±36.33 14.32±7.57 13.31±9.17 −0.02±74.59 注:“±”后的数字表示均值对应的标准差;“Laptop”和“Restaurant”分别表示“SemEval2014-Laptop”和“SemEval2014-Restaurant”数据集;“−”表示模型未完成指定任务. 表 6 LLaMA2模型的鲁棒性表现
Table 6 The Robustness Performance of LLaMA2 Model
% 数据集 LLaMA2-7B LLaMA2-13B ori trans APDR ori trans APDR Restaurant 87.85±1.68 52.38±7.01 40.34±8.22 87.10±3.17 35.16±9.07 59.84±9.45 Laptop 79.40±2.93 56.23±12.68 28.96±16.86 81.15±2.82 47.21±18.58 41.87±22.81 IMDB 92.04±1.68 91.06±2.68 1.08±1.43 88.17±2.30 87.40±2.89 0.88±1.21 MNLI-m 46.76±16.03 27.64±13.39 34.77±34.65 54.47±15.15 44.70±18.95 12.52±43.92 MNLI-mm 50.16±17.23 27.92±13.99 39.21±32.29 57.04±15.11 45.47±19.30 15.94±42.02 SNLI 47.77±19.73 30.73±17.44 27.79±41.43 54.79±15.20 43.75±24.22 12.83±53.93 QQP 59.93±16.77 33.18±11.02 40.58±24.61 54.49±12.91 40.17±14.45 21.36±32.47 MRPC 70.66±14.76 66.49±16.68 1.92±33.62 69.59±17.74 33.75±32.70 43.09±63.48 WSC273 52.40±3.60 53.10±1.68 −1.65±7.48 52.57±0.73 56.43±2.77 −7.33±4.58 SQuAD1.1 79.64±0.69 67.85±9.98 14.80±12.51 71.27±1.16 63.67±5.14 10.65±7.12 SQuAD2.0 78.25±0.95 66.30±9.66 15.26±12.36 69.40±1.27 61.77±5.05 10.99±7.20 WSJ − − − − − − CoNLL2003 20.05±8.92 4.44±5.36 74.37±36.93 45.66±10.22 20.26±10.27 53.47±26.94 OntoNotesv5 4.97±2.57 4.94±2.03 −19.85±76.91 5.87±5.21 5.36±3.34 −8.23±51.59 TACRED − − − 4.26±2.60 5.95±5.45 −16.67±104.08 注:“±”后的数字表示均值对应的标准差;“Laptop”和“Restaurant”分别表示“SemEval2014-Laptop”和“SemEval2014-Restaurant”数据集;“−”表示模型未完成指定任务. -
[1] Wei J, Bosma M, Zhao V Y, et al. Finetuned language models are zero-shot learners[J]. arXiv preprint, arXiv: 2109.01652, 2021
[2] Brown T B, Mann B, Ryder N, et al. Language models are few-shot learners[C/OL]//Advances in Neural Information Processing Systems. [2023-09-10].https://proceedings.neurips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html
[3] Touvron H, Lavril T, Izacard G, et al. LLaMA: Open and efficient foundation language models[J]. arXiv preprint, arXiv: 2302.13971, 2023
[4] Anil R, Dai A M, Firat O, et al. PaLM 2 technical report[J]. arXiv preprint, arXiv: 2305.10403, 2023
[5] Kaplan J, McCandlish S, Henighan T, et al. Scaling laws for neural language models[J]. arXiv preprint, arXiv: 2001.08361, 2020
[6] Qin Chengwei, Zhang A, Zhang Zhuosheng, et al. Is ChatGPT a general-purpose natural language processing task solver?[C]//Proc of the 2023 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2023: 1339–1384
[7] Bang Y, Cahyawijaya S, Lee N, et al. A multitask, multilingual, multimodal evaluation of chatgpt on reasoning, hallucination, and interactivity[J]. arXiv preprint, arXiv: 2302.04023, 2023
[8] Kosinski M. Theory of mind may have spontaneously emerged in large language models[J]. arXiv preprint, arXiv: 2302.02083, 2023
[9] Frieder S, Pinchetti L, Griffiths R R, et al. Mathematical capabilities of ChatGPT[C/OL]//Advances in Neural Information Processing Systems. [2023-09-10]. https://neurips.cc/virtual/2023/poster/73421
[10] Wang Jindong, Hu Xixu, Hou Wenxin, et al. On the robustness of ChatGPT: An adversarial and out-of-distribution perspective[J]. arXiv preprint, arXiv: 2302.12095, 2023
[11] Wang Boxin, Xu Chejian, Wang Shuohang, et al. Adversarial glue: A multi-task benchmark for robustness evaluation of language models[J]. arXiv preprint, arXiv: 2111.02840, 2021
[12] Nie Y, Williams A, Dinan E, et al. Adversarial NLI: A new benchmark for natural language understanding[C]//Proc of the 58th Annual Meeting of the Association for Computational Linguistics. Stroudsburg, PA: ACL, 2020: 4885−4901
[13] Fansi T A, Goel R, Wen Zhi, et al. DDXPlus: A new dataset for automatic medical diagnosis[C/OL]//Advances in Neural Information Processing Systems. [2023-09-10].https://proceedings.neurips.cc/paper_files/paper/2022/hash/cae73a974390c0edd95ae7aeae09139c-Abstract-Datasets_and_Benchmarks.html
[14] Zhu Kaijie, Wang Jindong, Zhou Jiaheng, et al. PromptBench: Towards evaluating the robustness of large language models on adversarial prompts[J]. arXiv preprint, arXiv: 2306.04528, 2023
[15] Wang Xiao, Liu Qin, Gui Tao, et al. TextFlint: Unified multilingual robustness evaluation toolkit for natural language processing[C]//Proc of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th Int Joint Conf on Natural Language Processing: System Demonstrations. Stroudsburg, PA: ACL, 2021: 347−355
[16] Dong Qingxiu, Li Lei, Dai Damai, et al. A survey for in-context learning[J]. arXiv preprint, arXiv: 2301.00234, 2022
[17] Zhuo T Y, Huang Yujin, Chen Chunyang, et al. Exploring AI ethics of ChatGPT: A diagnostic analysis[J]. arXiv preprint, arXiv: 2301.12867, 2023
[18] Choi J H, Hickman K E, Monahan A B, et al. ChatGPT goes to law school[J]. Journal of Legal Education, 2021, 71(3): 387
[19] Khalil M, Er E. Will ChatGPT get you caught? Rethinking of plagiarism detection[C]//Proc of Int Conf on Human-Computer Interaction. Berlin: Springer, 2023: 475−487
[20] Alshater M. Exploring the role of artificial intelligence in enhancing academic performance: A case study of ChatGPT[J/OL]. [2023-09-12]. http://dx. doi.org/10.2139/ssrn.4312358
[21] Tabone W, De Winter J. Using ChatGPT for human–computer interaction research: A primer[J]. Royal Society Open Science, 2023, 10(9): 21
[22] Jeblick K, Schachtner B, Dexl J, et al. ChatGPT makes medicine easy to swallow: An exploratory case study on simplified radiology reports[J]. European Radiology, 2023: 1−9
[23] Biswas S. ChatGPT and the future of medical writing[J]. Radiology, 2023, 307(2): e223312 doi: 10.1148/radiol.223312
[24] Goodfellow I J, Shlens J, Szegedy C. Explaining and harnessing adversarial examples[J]. arXiv preprint, arXiv: 1412.6572, 2014
[25] Pontiki M, Galanis D, Pavlopoulos J, et al. SemEval-2014 Task 4: Aspect based sentiment analysis[C]//Proc of the 8th Int Workshop on Semantic Evaluation. Stroudsburg, PA: ACL, 2004: 27−35
[26] Maas A L, Daly R E, Pham P T, et al. Learning word vectors for sentiment analysis[C]// Proc of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies. Stroudsburg, PA: ACL, 2011: 142−150
[27] Williams A, Nangia N, Bowman S R. A broad-coverage challenge corpus for sentence understanding through inference[J]. arXiv preprint, arXiv: 1704.05426, 2017
[28] Dolan W B, Brockett C. Automatically constructing a corpus of sentential paraphrases[C]//Proc of the 3rd Int Workshop on Paraphrasing (IWP2005). Jeju Island: Asia Federation of Natural Language Processing, 2005: 9−16
[29] Wang Zhiguo, Hamza W, Florian R. Bilateral multi-perspective matching for natural language sentences[C]//Proc of the 26th Int Joint Conf on Artificial Intelligence. Australia: IJCAI. org, 2017: 4144−4150
[30] Levesque H, Davis E, Morgenstern L. The winograd schema challenge[C]//Proc of 13th Int Conf on the Principles of Knowledge Representation and Reasoning. Palo Alto, CA: AAAI, 2012: 552−561
[31] Rajpurkar P, Zhang Jian, Lopyrev K, et al. SQuAD: 100, 000+ questions for machine comprehension of text[C]//Proc of the 2016 Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2016: 2383−2392
[32] Rajpurkar P, Jia R, Liang P. Know what you don’t know: Unanswerable questions for SQuAD[C]//Proc of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). Stroudsburg, PA: ACL, 2018: 784−789
[33] Marcus M, Santorini B, Marcinkiewicz M A. Building a large annotated corpus of English: The Penn Treebank[J]. Computational Linguistics, 1993, 19(2): 313−330
[34] Sang E T K, De Meulder F. Introduction to the CoNLL-2003 shared task: Language-independent named entity recognition[C]//Proc of the 7th Conf on Natural Language Learning at HLT-NAACL 2003. Stroudsburg, PA: ACL, 2003: 142−147
[35] Weischedel R, Palmer M, Marcus M, et al. Ontonotes release 5.0 ldc2013t19[J]. Linguistic Data Consortium, 2013, 23(1): 170
[36] Zhang Yuhao, Zhong V, Chen Danqi, et al. Position-aware attention and supervised data improve slot filling[C]//Proc of Conf on Empirical Methods in Natural Language Processing. Stroudsburg, PA: ACL, 2017: 35−45
[37] Ouyang L, Wu J, Jiang X, et al. Training language models to follow instructions with human feedback[C/OL]//Advances in Neural Information Processing Systems. [2023-09-10]. https://proceedings.neurips.cc/paper_files/paper/2022/hash/b1efde53be364a73914f58805a001731-Abstract-Conference.html
[38] Christiano P F, Leike J, Brown T, et al. Deep reinforcement learning from human preferences[C/OL]// Advances in Neural Information Processing Systems. [2023-09-10]. https://papers.nips.cc/paper_files/paper/2017/hash/d5e2c0adad503c91f91df240d0cd4e49-Abstract.html
[39] Kenton J D M W C, Toutanova L K. BERT: Pre-training of deep bidirectional Transformers for language understanding[C]//Proc of NAACL-HLT. Stroudsburg, PA: ACL, 2019: 4171−4186
[40] Chen Lingjiao, Zaharia M, Zou J. How is ChatGPT’s behavior changing over time?[J]. arXiv preprint, arXiv: 2307.09009, 2023
[41] Tu Shangqing, Li Chunyang, Yu Jifan, et al. ChatLog: Recording and analyzing ChatGPT across time[J]. arXiv preprint, arXiv: 2304.14106, 2023
-
期刊类型引用(4)
1. 任燕,徐洪蕾,苏轼鹏,杜振彩. 基于字典学习的稀疏约束型数据同化海洋污染预报研究. 环境科学与管理. 2025(02): 62-67 . 百度学术
2. 李维钊,王伟. 基于国产异构计算平台的快速SVD算法及其在海洋资料同化的应用. 数据与计算发展前沿. 2024(01): 35-45 . 百度学术
3. 李海晏. 海洋大数据标准化现状与对策研究. 市场监管与质量技术研究. 2024(03): 44-50 . 百度学术
4. 蒋骋,田家勇,兰晓雯. 数据同化方法在固体地球物理学中的应用研究进展. 大地测量与地球动力学. 2024(08): 857-866 . 百度学术
其他类型引用(0)