Loading [MathJax]/jax/output/SVG/jax.js
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

面向飞腾迈创数字处理器的内核代码自动生成框架

赵宵磊, 陈照云, 时洋, 文梅, 张春元

赵宵磊, 陈照云, 时洋, 文梅, 张春元. 面向飞腾迈创数字处理器的内核代码自动生成框架[J]. 计算机研究与发展, 2023, 60(6): 1232-1245. DOI: 10.7544/issn1000-1239.202330058
引用本文: 赵宵磊, 陈照云, 时洋, 文梅, 张春元. 面向飞腾迈创数字处理器的内核代码自动生成框架[J]. 计算机研究与发展, 2023, 60(6): 1232-1245. DOI: 10.7544/issn1000-1239.202330058
Zhao Xiaolei, Chen Zhaoyun, Shi Yang, Wen Mei, Zhang Chunyuan. Kernel Code Automatic Generation Framework on FT-Matrix[J]. Journal of Computer Research and Development, 2023, 60(6): 1232-1245. DOI: 10.7544/issn1000-1239.202330058
Citation: Zhao Xiaolei, Chen Zhaoyun, Shi Yang, Wen Mei, Zhang Chunyuan. Kernel Code Automatic Generation Framework on FT-Matrix[J]. Journal of Computer Research and Development, 2023, 60(6): 1232-1245. DOI: 10.7544/issn1000-1239.202330058
赵宵磊, 陈照云, 时洋, 文梅, 张春元. 面向飞腾迈创数字处理器的内核代码自动生成框架[J]. 计算机研究与发展, 2023, 60(6): 1232-1245. CSTR: 32373.14.issn1000-1239.202330058
引用本文: 赵宵磊, 陈照云, 时洋, 文梅, 张春元. 面向飞腾迈创数字处理器的内核代码自动生成框架[J]. 计算机研究与发展, 2023, 60(6): 1232-1245. CSTR: 32373.14.issn1000-1239.202330058
Zhao Xiaolei, Chen Zhaoyun, Shi Yang, Wen Mei, Zhang Chunyuan. Kernel Code Automatic Generation Framework on FT-Matrix[J]. Journal of Computer Research and Development, 2023, 60(6): 1232-1245. CSTR: 32373.14.issn1000-1239.202330058
Citation: Zhao Xiaolei, Chen Zhaoyun, Shi Yang, Wen Mei, Zhang Chunyuan. Kernel Code Automatic Generation Framework on FT-Matrix[J]. Journal of Computer Research and Development, 2023, 60(6): 1232-1245. CSTR: 32373.14.issn1000-1239.202330058

面向飞腾迈创数字处理器的内核代码自动生成框架

基金项目: 国家自然科学基金项目(62002366)
详细信息
    作者简介:

    赵宵磊: 1996年生. 博士. 主要研究方向为系统编译和计算机体系结构

    陈照云: 1990年生. 博士,助理研究员. 研究方向为系统编译与计算机体系结构

    时洋: 1992 年生. 博士. 主要研究方向为并行与分布式计算、资源管理和网络调度

    文梅: 1975年生. 博士,教授. CCF会员. 主要研究方向为计算机体系结构、并行编程以及科学计算

    张春元: 1964 年生. 博士,教授. CCF 会员,主要研究方向为计算机体系结构、并行编程、嵌入式系统和科学计算

    通讯作者:

    陈照云(chenzhaoyun@nudt.edu.cn

  • 中图分类号: TP314

Kernel Code Automatic Generation Framework on FT-Matrix

Funds: This work was supported by the National Natural Science Foundation of China (62002366).
More Information
    Author Bio:

    Zhao Xiaolei: born in 1996. PhD. His main research interests include systematic compiler and computer architecture

    Chen Zhaoyun: born in 1990. PhD, assistant professor. His main research interests include systematic compiler and computer architecture

    Shi Yang: born in 1992. PhD. His main research interests include parallel and distributed computing, resource management, and network scheduling

    Wen Mei: born in 1975. PhD, professor. Member of CCF. Her main research interests include computer architecture, parallel programming, and scientific computing

    Zhang Chunyuan: born in 1964. PhD, professor. Member of CCF. His main research interests include computer architecture, parallel programming, embedded systems, and scientific computing

  • 摘要:

    数字信号处理器(digital signal processor,DSP)通常采用超长指令字(very long instruction word,VLIW)和单指令多数据(single instruction multiple data,SIMD)的架构来提升处理器整体计算性能,从而适用于高性能计算、图像处理、嵌入式系统等各个领域. 飞腾迈创数字处理器(FT-Matrix)作为国防科技大学自主研制的高性能通用数字信号处理器,其极致计算性能的体现依赖于对VLIW与SIMD架构特点的充分挖掘. 不止是飞腾迈创系列,绝大多数处理器上高度优化的内核代码或核心库函数都依赖于底层汇编级工具或手工开发. 然而,手工编写内核算子的开发方法总是需要大量的时间和人力开销来充分释放硬件的性能潜力. 尤其是VLIW+SIMD的处理器,专家级汇编开发的难度更为突出. 针对这些问题,提出一种面向飞腾迈创数字处理器的高性能的内核代码自动生成框架(automatic kernel code-generation framework on FT-Matrix),将飞腾迈创处理器的架构特性引入到多层次的内核代码优化方法中. 该框架包括3层优化组件:自适应循环分块、标向量协同的自动向量化和细粒度的指令级优化. 该框架可以根据硬件的内存层次结构和内核的数据布局自动搜索最优循环分块参数,并进一步引入标量-向量单元协同的自动向量化指令选择与数据排布,以提高内核代码执行时的数据复用和并行性. 此外,该框架提供了类汇编的中间表示,以应用各种指令级优化来探索更多指令级并行性(ILP)的优化空间,同时也为其他硬件平台提供了后端快速接入和自适应代码生成的模块,以实现高效内核代码开发的敏捷设计. 实验表明,该框架生成的内核基准测试代码的平均性能是目标—数字信号处理器(DSP)——的手工函数库的3.25倍,是使用普通向量C语言编写的内核代码的20.62倍.

    Abstract:

    Digital signal processors (DSPs) commonly adopt VLIW-SIMD architecture and facilitate cooperation between scalar and vector units. As a typical VLIW-SIMD DSP architecture, the extreme performance of FT-Matrix DSP relies on highly optimized kernels. However, hand-crafted methods for kernel operator development always suffer from heavy time and labor overhead to unleash the potential of DSP hardware. General-purpose compilers are suffering from poor portability or performance, struggling to explore optimization space aggressively. We propose a high-performance automatic kernel code-generation framework, which introduces the characteristics of FT-Matrix into hierarchical kernel optimizations. The framework has three optimization component layers: loop tiling, vectorization and instruction-level optimization, and can automatically search for optimal tile size according to memory hierarchy and data layout, and further introduce the vectorization with scalar-vector unit cooperation to improve data reuse and parallelism, while some optimization space on collaborating scalar and vector units for specific design in architectures by different vendors is overlooked. The performance of VLIW architecture is determined by instruction-level parallelism (ILP) to a great extent. Moreover, Pitaya provides the assembly intrinsic representation on FT-Matrix DSP to apply diverse instruction-level optimizations to explore more ILPs. Experiments show that kernels generated by Pitaya outperform these from target DSP libraries by 3.25 times and C vector intrinsic kernels by 20.62 times on average.

  • 大语言模型,如FLAN[1], GPT-3[2], LLaMA[3]和PaLM2[4]等,在对话、理解和推理方面展示了惊人的能力[5]. 在不修改模型参数的情况下,大模型可以仅通过输入合适的提示来执行各种任务. 其中,GPT系列模型因其出色的能力备受关注.

    为定量评估和探究大模型的能力,已有的工作集中于评估大模型在常识和逻辑推理[6]、多语言和多模态[7]、心智理论[8]和数学[9]等方面的能力. 尽管这些工作在基准测试集上取得了很好的效果,但大模型是否具备良好的鲁棒性仍然需要进一步研究.

    鲁棒性衡量了模型在面对异常情况(如噪音、扰动或故意攻击)时的稳定性,这种能力在现实场景,尤其是在自动驾驶和医学诊断等安全场景下对于大模型至关重要. 鉴于此,现有工作对大模型的鲁棒性展开了探究:Wang等人[10]从对抗性和分布外(out of distribution,OOD)的角度出发,使用现有的AdvGLUE[11]和ANLI[12]对抗基准评估ChatGPT等大模型的对抗鲁棒性,使用DDXPlus[13]医学诊断数据集等评估分布外鲁棒性;Zhu等人[14]则从提示的角度出发,提出了基于对抗性提示的鲁棒性评测基准,并对大模型在对抗提示方面的鲁棒性进行了分析. 然而,已有的研究主要使用对抗攻击策略,这对于大规模评估来说需要消耗大量的算力和时间;并且对抗样本生成的目标是通过对特定模型或数据集的原始输入进行微小的扰动,以误导模型的分类或生成结果,但这些扰动并不总是代表真实世界中的威胁和攻击方式. 此外,现有研究大多针对ChatGPT及同时期的其他大模型,对GPT系列模型迭代过程中性能和鲁棒性的变化关注较少.

    鉴于此,本文选择了图1所示的5个GPT-3和GPT-3.5系列模型作为大模型的代表,通过全面的实验分析其性能和鲁棒性,以解决3个问题.

    图  1  5个GPT-3和GPT-3.5系列模型的迭代过程
    Figure  1.  The evolution of five GPT-3 and GPT-3.5 series models

    问题1:GPT模型在自然语言处理(NLP)任务的原始数据集上有何性能缺陷?

    为给后续的鲁棒性评估提供基础和参考点,本文首先评估模型在原始数据集上的性能. 本文选择15个数据集(超过147000个原始测试样本),涵盖了9个常见的NLP任务,如情感分析、阅读理解和命名实体识别等,评估了GPT模型在原始数据集上的性能以及迭代过程中的性能变化. 虽然这些任务没有直接对应具体的对话场景,但它们评估了模型的潜在能力,包括理解上下文、处理不同的语言结构和捕捉微小的信息等,这些能力对于语言理解和生成系统都非常重要.

    问题2:GPT模型在NLP任务上面对输入文本扰动时的鲁棒性如何?

    本文首先确定评估鲁棒性的方法. 为更加真实地模拟现实世界中可能存在的噪音、扰动和攻击,本文选择了TextFlint[15]作为对输入文本进行扰动的工具. TextFlint提供了许多针对NLP任务特定的文本变形,这些变形均基于语言学进行设计,体现了实际使用语言过程中可能发生的情况,保持了变形后文本的语言合理性,能够模拟实际应用中的挑战. 本文使用了61种文本变形方法,这些变形按照粒度可以分为句子级、词级和字符级. 本文通过实验分析了GPT模型在各种任务和各个变形级别上的鲁棒性,并探究了模型迭代过程中鲁棒性的变化.

    问题3:提示对GPT模型的性能和鲁棒性有何影响?

    在上述2个问题中,本文从测试文本出发,通过将不同的测试样本与任务特定的提示进行拼接,评估了模型的性能和鲁棒性. 在这个问题中,本文从提示的角度出发,研究其对性能和鲁棒性的影响. 上下文学习[16](in-context learning,ICL)已经成为NLP领域的新范式,语言模型可以仅基于少量示例执行复杂任务. 基于此,本文通过改变提示中演示(demonstration)的数量或内容,探究提示对GPT模型的性能和鲁棒性的影响.

    本文的定量结果和定性分析表明:

    1)GPT模型在情感分析、语义匹配等分类任务和阅读理解任务中表现出较优异的性能,但在信息抽取任务中性能较差. 例如,其严重混淆了关系抽取任务中的各种关系类型,甚至出现了“幻觉”现象.

    2)在处理被扰动的输入文本时,GPT模型的鲁棒性较弱,它们在分类任务和句子级别变形中鲁棒性缺乏更为显著.

    3)随着GPT系列模型的迭代,其在NLP任务上的性能稳步提升,但是鲁棒性并未增强. 除情感分析任务外,模型在其余任务上的鲁棒性均未明显提升,甚至出现显著波动.

    4)随着提示中演示数量的增加,GPT模型的性能提升,但模型鲁棒性仍然亟待增强;演示内容的改变可以一定程度上增强模型的抗扰动能力,但未能从根本上解决鲁棒性问题.

    同时,通过对gpt-3.5-turbo的更新版本、gpt-4、开源模型LLaMA2-7B和LLaMA2-13B的表现进行评估,本文进一步验证了上述实验结论的普适性和可持续性.

    近期有大量的研究集中于评估大模型在各种任务中的性能. Qin等人[6]对ChatGPT和text-davinci-003等模型在常见NLP任务上的零样本能力进行了评测,结果表明ChatGPT擅长处理推理和对话任务,但是在序列标注任务上表现欠佳;Bang等人[7]评估了ChatGPT在多任务、多语言和多模态方面的能力,发现ChatGPT在大多数任务上优于零样本学习的大模型,甚至在某些任务上优于微调模型;Zhuo等人[17]针对大模型伦理进行了评测工作. 此外,大量工作针对大模型在不同领域的能力进行了研究和讨论,包括法律领域[18]、教育领域[19-20]、人机交互领域[21]、医学领域[22]以及写作领域[23]等. 然而,这些研究主要集中在大模型的性能上,对鲁棒性的关注有限. 模型在固定的测试数据上取得较高准确率,并不能反映出其在现实场景中面对输入的文本噪音、扰动或恶意攻击时的可靠性和稳定性,因此,鲁棒性对于评估模型处理现实世界中的复杂任务的能力至关重要.

    已有的关于大模型鲁棒性的工作主要集中于2个方面:对抗鲁棒性和分布外鲁棒性. 对抗鲁棒性是指模型在对抗样本上的鲁棒性表现,对抗样本[24]的生成方式为:对原始输入施加一个阈值范围内的微小扰动,使得模型的分类或生成结果发生变化. 分布外鲁棒性关注于模型的泛化性,即使用与模型训练数据存在分布偏移的数据(包括跨域或跨时间数据)进行鲁棒性评测. Wang等人[10]使用现有的AdvGLUE[11]和ANLI[12]对抗基准评估ChatGPT等大模型的对抗性鲁棒性,使用Flipkart评论和DDXPlus[13]医学诊断数据集评估分布外鲁棒性. 结果表明,尽管ChatGPT在大多的分类任务和翻译任务上展现出更优的鲁棒性,但是大模型的对抗性和分布外鲁棒性仍然较弱. Zhu等人[14]针对提示进行对抗攻击,并使用这些对抗性提示对大模型进行鲁棒性测试,结果表明大模型容易受到对抗性提示的影响. 然而,对抗样本的数据是以欺骗模型为目的而生成的,与现实场景中产生的噪音和扰动存在明显差异,并且生成对抗样本需要消耗大量算力和时间,不适合进行大规模评测. 本文通过考虑更广泛的使用场景,从输入文本的角度出发,利用任务特定的文本变形来评估大模型在每个任务中的鲁棒性表现,从而进行更全面的分析. 此外,本文关注于GPT系列的多个模型的表现,分析了它们在迭代过程中性能和鲁棒性方面的变化.

    为了全面评估GPT模型在各类NLP任务上的表现,本文选取了9个常见的NLP任务,涵盖分类、阅读理解和信息抽取3个不同类别,如表1所示. 针对每个任务,本文选取了具有代表性的公开数据集进行测试,最终共包含15个不同数据集.

    根据图1所示,本文主要针对5个GPT-3和GPT-3.5系列模型进行评估和分析,并对GPT-4模型在零样本场景下进行抽样测试,所有模型都通过OpenAI官方API 1进行评估. 根据OpenAI官方文档的说明,text-davinci-002是基于code-davinci-002的InstructGPT[37]模型,其使用了一种监督式微调策略的方法FeedME 2进行训练;text-davinci-003是text-davinci-002的改进版本,其使用近端优化策略(proximal policy optimization,PPO)算法进行训练,该算法被用于基于人类反馈的强化学习[38](reinforcement learning from human feedback, RLHF);gpt-3.5-turbo是针对聊天场景进行优化的最强大的GPT-3.5模型(本文第3~5节所使用的版本均为gpt-3.5-turbo-0301版本).

    性能评测对于评估模型的能力,以及对后续的鲁棒性评估建立基准和参考至关重要. 本节对GPT系列模型在NLP任务中原始数据集上的性能表现进行了全面的评测,旨在评估它们在不同NLP任务中的表现,并分析它们有何缺陷. 同时,本节还探究了GPT系列模型在迭代过程中的性能变化.

    大模型可以通过输入适当的提示或指令来执行各种任务,而无需修改任何参数. 为评估GPT模型在NLP任务中的性能,本文针对每个具体任务设计了3种不同的提示. 如图2所示,本文将提示与测试文本拼接起来作为测试样本输入模型,并获得相应的输出,通过对输出结果的定量评估来评测模型的性能.

    图  2  实验评测流程图
    Figure  2.  Overview of experimental evaluating process

    为定量分析模型的性能,本文使用准确率(accuracy)和F1分数(F1 score)作为评估指标. 各个数据集对应的评估指标如表1所示.

    表  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
    下载: 导出CSV 
    | 显示表格

    由于本文实验涉及不同模型、数据集、变形类型、提示种类等多个维度,为方便后续从不同维度对结果进行统计、计算和比较,实验选取的基准模型应当在NLP研究中具有强大的性能和广泛应用,从而能够适用于本文所有评测数据集. 因此,本文选择BERT[39]作为所有数据集的统一基准模型. 对于每个数据集,本文使用在相应数据集上经过有监督微调的BERT模型. 具体而言,对于IMDB数据集和WSJ数据集,本文使用的BERT版本分别是BERT-Large-ITPT和BERT-BiLSTM-CRF. 在其他数据集中,本文均使用BERT-base-uncased作为基准模型. 此外,本节中GPT模型的测试结果均为零样本场景下的结果.

    首先分析2个最新的GPT-3.5模型(即gpt-3.5-turbo和text-davinci-003模型)的性能表现, 其和BERT在15个数据集上的性能表现如图3所示,图中的数据是每个数据集在3个提示下的性能均值. 图3所示的结果表明,GPT模型的零样本性能在情感分析、语义匹配、机器阅读理解等分类任务和阅读理解任务中可以与BERT相媲美,并且在SemEval2014-Restaurant和WSC273数据集上的表现均优于BERT.

    图  3  GPT-3.5模型和BERT的性能表现
    注: “Laptop”和“Restaurant”分别表示“SemEval2014-Laptop”和“SemEval2014-Restaurant”数据集.
    Figure  3.  Performance of GPT-3.5 models and BERT

    然而,GPT模型在命名实体识别(NER)和关系抽取(RE)任务上表现不佳. 为深入了解模型错误预测背后的原因,本文选择CoNLL2003和TACRED数据集作为代表,分析了错误预测的分布情况. 图4的2个分图的第1列表示在CONLL2003数据集的预测结果中,实体类型被错误预测为“非实体”类型(即“O”)的数量. 结果表明,在NER任务中,大多数错误预测来自于“O”标签与特定实体类型的混淆,这表明大模型对实体词缺乏敏感性;在RE任务中,如图5的2个分图的第1行所示,GPT模型倾向于将“无关系”实例(即“N/A”)错误分类为特定的关系类型.

    图  4  在CoNLL2003数据集上的错误预测的分布
    Figure  4.  Distribution of prediction errors in CoNLL2003 dateset
    图  5  在TACRED数据集上的错误预测的分布
    Figure  5.  Distribution of prediction errors in TACRED dataset

    需要注意的是,我们观察到在RE任务中模型存在“幻觉”现象,即模型生成了在给定文本和预定义标签空间中不存在的虚构关系. 如图5所示,“N/A”表示“无关系”,“PER”和“ORG”分别表示属于“人物”和“组织”关系类别中的关系类型集合,而 “Other”表示不属于任何预定义标签的关系集合. 如图5的最后1列所示,GPT模型在生成结果中会虚构大量的“Other”关系,而非基于提示中给出的任务特定的关系类型和语义信息. 同时,本文在IMDB二分类数据集中也观察到类似的现象,模型将许多句子分类为“中性”标签,而该标签并不属于提示中给定的标签空间.

    图6所示,本文按照OpenAI官方发布模型的时间顺序和迭代关系(图1),评测了GPT-3和GPT-3.5系列模型在迭代过程中性能的变化. 由于测试数据较多,本文按照表1所示的子任务类型进行结果展示,每个子任务的数值为其包含数据集的结果的均值. 结果表明,随着模型发布时间的推移,GPT模型在大多数NLP任务上的性能稳步提升. 其中,GPT模型在情感分析(SA)和细粒度情感分析(ABSA)任务上保持了较高的性能,并在自然语言推理(NLI)、语义匹配(SM)和威诺格拉德模式挑战(WSC273)任务上有显著的性能提升,但在NER和RE任务上的性能一直处于较低水平.

    图  6  GPT模型的性能变化
    Figure  6.  Performance variations of GPT models

    由于text-davinci-001和gpt-3.5-turbo在WSJ数据集上未能按照提示完成任务,因此图3图6中未展示该数据集的结果.

    在NLP中,鲁棒性通常是指模型在面对噪音、扰动或有意攻击等情况时能够持续可靠地执行任务的能力. 具有较高鲁棒性的模型,在处理不应该对输出造成影响的微小变化的输入时,模型的预测结果不会发生变化. 本节对GPT模型面对输入文本扰动时的鲁棒性进行了全面评估,并分析了不同任务和不同变形级别的鲁棒性情况.

    表2所示,本节使用TextFlint提供的61种任务特定的变形来评测模型的鲁棒性. 如图2所示,每种变形均已通过TextFlint提供的变形规则作用于原始数据,从而生成变形数据. 本文通过将提示与变形数据拼接起来,作为测试文本输入模型并获得相应输出.

    表  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
    下载: 导出CSV 
    | 显示表格

    TextFlint提供的变形是基于语言学并针对不同的NLP任务设计的,在保持变形文本的可接受性的同时,能够更好地代表实际应用中的挑战. 本节中,根据变形的粒度,将变形分为句子级别、词级别和字符级别. 表3展示了不同类型的变形样例.

    表  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.
    注: 划线单词表示变形后的数据中删掉的部分;黑体单词表示变形后的数据中新增的部分.
    下载: 导出CSV 
    | 显示表格

    由于在不同任务和变形中使用的评估指标存在差异,本节在鲁棒性评估中引入一个新指标,即性能下降率(performance drop rate,PDR). 该指标的计算方式为:

    PDR(T,P,fθ,D)=1(x;y)DM[fθ([P,T(x)]),y](x;y)DM[fθ([P,x]),y] (1)

    其中,M表示不同数据集D使用的评价指标. PDR提供了一种上下文归一化的度量方式,用于量化在处理经过变形T的输入x(使用提示P)时,模型fθ发生的相对性能下降. 其中,负值的PDR表示在某些文本变形下会出现性能提升.

    本节计算模型在不同数据集和变形中的平均原始性能(ori)、 平均变形性能(trans)和平均性能下降率(APDR). 此外,使用BERT作为基准模型,并且对于每个数据集,GPT模型和BERT都在相同的变形方法和测试数据上进行了评估.

    表4列出了模型在每个数据集上的平均结果. 具体而言,本文定义APDRDPDR(式(1))在不同数据集上的平均值:

    表  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”数据集;“−”表示模型未完成指定任务.
    下载: 导出CSV 
    | 显示表格
    APDRD(fθ,D)=1|TD|1|P|TTDPPPDR(T,P,fθ,D) (2)

    其中,TD表示特定数据集D包含的任务特定变形的集合,P表示3个提示的集合.

    与第3节类似,本节首先分析gpt-3.5-turbo和text-davinci-003的鲁棒性表现. 表4表明,GPT模型的表现与BERT类似,其在分类任务中出现了显著的性能下降. 例如,gpt-3.5-turbo在MNLI-mm数据集上的绝对性能下降了42.71个百分点,而text-davinci-003在SemEval2014-Restaurant数据集上的绝对性能下降了41.65个百分点.

    此外,GPT模型在阅读理解(MRC)任务中性能较稳定,其在SQuAD 1.1和SQuAD 2.0变形前后的数据集上的性能没有出现严重的下降. 但与其他任务不同的是,在MRC任务中,text-davinci-003在性能和鲁棒性方面的表现均优于gpt-3.5-turbo. 进一步分析发现,如表4所示,gpt-3.5-turbo在该任务上具有较低的精确度(precision),通过抽样分析其生成结果,我们发现原因可能在于gpt-3.5-turbo倾向于生成更长的句子. 此外,这2个模型的输出均达到95%左右的召回率(recall),这表明GPT模型在篇章级别的理解任务上具有较强的能力.

    同时,GPT模型对数字和反义词敏感度较高. 在语义匹配任务(包括QQP和MRPC数据集)中,GPT模型和BERT在变形前后的性能变化上存在显著差距. BERT在MRPC数据集上的变形后性能降至0,但GPT模型在该数据集上的变形后性能甚至有所提升. 通过分析MRPC和QQP数据集的任务特定变形,即NumWord和SwapAnt,我们发现这2种变形通过改变原始数据中的数字或对原始词语进行反义词替换,将原始句子对之间的蕴涵关系转化为矛盾关系. GPT模型在此类变形上的性能提升表明它们能够较好地捕捉到变形后的文本中数字或反义词所涉及的矛盾关系.

    在NER和RE任务中,GPT模型性能的下降不明显,有时甚至有提升,尤其是在OntoNotesv5和TACRED数据集中. 但需要注意的是,模型在这些数据集上的原始性能较低. 因此,在这种情况下,讨论GPT模型在这类任务上的鲁棒性缺乏实际意义,提升模型在原始数据上的性能更为紧要.

    此外,随着迭代的进行,GPT系列模型在不同任务上平均性能下降率的变化如图7所示. 由于不同模型间的结果波动较大,图7的纵坐标数值为经过对数变换之后的结果. 平均性能下降率越小,代表模型的鲁棒性越好,但图中的结果没有呈现出一致的趋势. 在ABSA和MRC任务中,模型间的鲁棒性表现较为相似;在SA任务上出现了较显著的鲁棒性提升;但是在其余任务中均呈现出显著的波动,并且没有出现鲁棒性显著提升的情况. 这可能表明GPT模型的迭代过程主要集中于改进模型在一般场景下的性能,而非解决鲁棒性问题.

    图  7  GPT模型的平均性能下降率的变化
    Figure  7.  APDR variations of GPT models

    图8为GPT模型在3种变形级别上的性能下降情况. 其中斜杠部分表示模型的变形后性能,无斜杠部分表示变形后性能与原始性能的差值,折线表示平均性能下降率(APDR). 通过计算每个变形级别下的PDR的均值得到APDRTt

    图  8  不同模型在3种变形类别上的性能下降情况
    Figure  8.  Performance drop of different models on three transformation categories
    APDRTt(fθ,Tt)=1|D|1|P|DDPPPDR(Tt,P,fθ,D) (3)

    其中,Tt表示某个变形类别t的变形集合,P表示提示的集合.

    根据图8所示,GPT模型的APDR在句子级、词级、字符级3个变形类别上逐级递减,即处理句子级别的变形文本时,GPT模型在变形前后的性能下降更为显著. 句子级别的变形通常涉及语义的重新表述或句子整体结构的改变,这对模型稳定性有更高的要求. 此外,GPT模型在字符级和词级变形上表现出比BERT更好的鲁棒性. GPT模型的平均性能下降范围为9.61%~15.22%,而BERT在字符级和词级变形上的性能下降分别为36.74%和37.07%. 可以看出,与监督微调模型相比,GPT模型对细粒度扰动表现出更强的稳定性.

    在第3节和第4节中,本文使用涵盖了各种任务和文本变形的大量测试数据,对GPT模型的性能和鲁棒性进行了评估. 除测试文本之外,提示是评测过程中模型输入数据的另一个重要部分,并且基于提示中少量示例的上下文学习已经成为NLP领域的新范式. 基于此,本节探究提示对GPT模型的性能和鲁棒性的影响,具体关注2个方面:1)提示中演示数量的影响;2)提示中演示内容的影响. 其中,演示是指提示中的示例或样本,通常用来说明我们所期望模型输出的结果.

    通过改变演示数量(即图2中的“k”),本文研究了在0、1和3个演示数量下模型的原始性能表现和变形前后性能的变化.

    图9结果表明,增加演示数量通常会带来性能的提升. 此外,从零样本增加为少样本的情况下,模型性能提升显著,特别是对于一开始在零样本情景下表现不佳的任务,如信息抽取任务. 此外,随着演示数量的增加,不同GPT模型之间的性能差异减小.

    图  9  GPT模型在0-shot、1-shot、3-shot样本场景下原始性能与变形后的性能表现
    Figure  9.  Original and transformed performance of GPT models on 0-shot, 1-shot, and 3-shot

    然而,就变形前后的性能变化而言,在大多数情况下,增加演示数量没有显著缓解模型的性能下降. 只有在分类任务中,可以观察到text-davinci-001,code-davinci-002和text-davinci-002的性能下降有所缓解. 这表明增加演示数量虽然可以改善模型在原始任务上的性能,但并不能有效提高模型面对扰动时的鲁棒性.

    在5.1节中的少样本情景下,原始数据和变形后数据均使用相同的、未经过变形的演示样例来研究变形后测试数据引起的性能变化. 本节研究在提示中使用变形后的演示样例对模型的鲁棒性有何影响. 本文分别从分类、信息抽取和阅读理解三大类任务中选取SemEval2014-Restaurant (Restaurant),CoNLL2003和SQuAD 1.1数据集作为代表进行实验. 对于每个数据集,演示样例使用该数据集特定的任务变形进行变换,并与变形后的测试数据拼接,用以评估模型变形后的性能. 演示样例的数量为3.

    图10展示了变形前后模型的APDR. 结果表明,在演示中使用变形后的样本有助于缓解模型变形后的性能下降,说明演示中包含的扰动信息能够帮助模型更好地处理变形数据. 但是,APDR依然处于较高的数值,这表明这种性能改善是有限的,不足以从根本上解决模型的鲁棒性问题.

    图  10  模型使用原始和变形后的演示数据的APDR
    Figure  10.  APDR with original and transformed demonstrations date

    本文前文主要针对GPT-3和GPT-3.5系列模型的性能和鲁棒性表现进行了探究. 随着时间的推进,GPT系列模型仍然在持续迭代,并且Chen等人[40]、Tu等人[41]近期的工作表明模型的表现会随时间发生变化. 为了更好地验证本文实验结果的可持续性,本节针对GPT系列模型的更新版本“gpt-3.5-turbo-0613”(上文中的“gpt-3.5-turbo”为“gpt-3.5-turbo-0301”版本)、“gpt-4” 进行性能和鲁棒性评测.

    首先是模型的性能表现. 如图11所示,根据模型更新与迭代顺序,gpt-3.5-turbo-0613和gpt-4模型在大部分数据集上的性能表现较为显著的提升. 其中,在情感分析和阅读理解的数据集中,这2个模型的提升最为显著. 第3节中的结果表明GPT模型在NER和RE任务上表现不佳,图11表明gpt-3.5-turbo-0613和gpt-4模型在NER任务的OntoNotesv5数据集及RE任务的TACRED数据集上的表现仍然处于较低水平.

    图  11  GPT和LLaMA2模型的性能表现
    注:“Laptop”和“Restaurant”分别表示“SemEval2014-Laptop”和“SemEval2014-Restaurant”数据集. 柱状图中WSJ和TACRED数据集空缺的部分表示模型未完成在该数据集上的指定任务.
    Figure  11.  Performance of GPT and LLaMA2 models

    其次是模型的鲁棒性表现. 表5展示了3个模型的鲁棒性表现. 如表5所示, GPT模型仍然存在4.3节中提到的鲁棒性问题,尤其在分类任务中存在显著的性能下降. 值得注意的是,在阅读理解任务中gpt-3.5-turbo-0613和gpt-4 的鲁棒性进一步提升,表现出在该任务上较高的稳定性. 同时,gpt-3.5-turbo的版本迭代未带来稳定的鲁棒性提升,而gpt-4的鲁棒性在大多任务上都优于GPT-3.5系列模型.

    表  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”数据集;“−”表示模型未完成指定任务.
    下载: 导出CSV 
    | 显示表格

    由于GPT系列模型出色的性能和较完善的迭代过程,对其进行的性能和鲁棒性评测有助于更全面地了解大模型的能力及其发展进程中的变化,但是由于闭源模型的限制,后续在GPT系列模型上进行优化较为困难. 为此,本节对开源模型LLaMA2-7B和LLaMA2-13B进行性能和鲁棒性评测.

    图11第1个子图所示,LLaMA2-7B和LLaMA2-13B在情感分析和阅读理解类任务上的表现与GPT-3.5系列模型相当;在第2个子图中,其在自然语言推理和语义匹配任务中却与GPT-3.5系列模型存在较大差距. 需要注意的是,LLaMA2-7B和LLaMA2-13B在WSJ和TACRED数据集中均未按照指令完成相应任务,并且在NER任务中的表现亟待提升.

    表6所示,与GPT系列模型的鲁棒性表现类似,LLaMA2-7B和LLaMA2-13B在大多分类任务上的性能下降都较为严重,但在阅读理解任务中的鲁棒性与gpt-4相当,且好于GPT-3.5系列模型. 同时,LLaMA2-13B比LLaMA2-7B具有更好的鲁棒性.

    表  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”数据集;“−”表示模型未完成指定任务.
    下载: 导出CSV 
    | 显示表格

    本文通过评估涵盖9个不同NLP任务的15个数据集,使用61种任务特定的变形方法,对GPT-3和GPT-3.5系列模型的性能和鲁棒性进行了全面分析. 研究结果表明,尽管GPT模型在情感分析、语义匹配等分类任务和阅读理解任务表现出色,但在面对输入文本扰动时仍然存在明显的鲁棒性问题. 其中,本文分别从任务层面和变形级别层面具体分析了GPT模型的鲁棒性表现,表明其在分类任务和句子级变形中的鲁棒性亟待提升. 同时,随着GPT系列模型的迭代,其性能在大多数任务上稳步提升,但鲁棒性依然面临很大的挑战. 此外,本文探讨了提示对GPT模型的性能和鲁棒性的影响,包括提示中演示数量和演示内容2方面. 这些发现从任务类型、变形种类、提示内容等方面揭示了 GPT模型还无法完全胜任常见的 NLP任务,并且模型存在的鲁棒性问题难以通过提升模型性能或改变提示内容等方式解决. 与此同时,本文通过评估gpt-3.5-turbo的更新版本、gpt-4模型,以及开源模型LLaMA2-7B和LLaMA2-13B的性能和鲁棒性表现,进一步验证了实验结论. 鉴于此,未来的大模型研究应当提升模型在信息提取和语义理解方面的能力,并且应当在模型训练或微调阶段考虑提升模型的鲁棒性.

    作者贡献声明:陈炫婷提出研究思路和实验方案,负责部分实验和论文写作;叶俊杰负责部分实验和完善论文;祖璨负责部分实验并整理分析实验结果;许诺协助实验和完善论文;桂韬提出指导意见并修改论文;张奇提出指导意见并审阅论文.

  • 图  1   具有三层优化结构的DSP内核代码生成框架

    Figure  1.   DSP kernel code-generation framework with three layers of optimization structure

    图  2   FT-Matrix架构

    Figure  2.   Architecture of FT-Matrix

    图  3   本文框架结构和编译过程总览

    Figure  3.   Overview of our framework structure and compilation process

    图  4   应用广播指令前后的数据重用

    Figure  4.   Data reuse before and after applying broadcast instruction

    图  5   典型的特定指令集架构中的标量和向量单元协作指令

    Figure  5.   Typical ISA-specific scalar-vector cooperation instructions

    图  6   广播指令重写规则应用的示例

    Figure  6.   An example of rewrite rule application with the broadcast instruction

    图  7   汇编指令与类汇编指令的格式

    Figure  7.   Formats of assembly instructions and assembly intrinsic instructions

    图  8   经过软件流水优化后的内核代码的指令排布示例

    Figure  8.   An example of instruction arrangement in kernel code after software pipeline optimization

    图  9   类汇编指令的一个代码段示例

    Figure  9.   A code segment example of assembly intrinsic instruction

    图  10   外部ISA描述文件的指令信息格式

    Figure  10.   Format of instruction information in external ISA description file

    图  11   AutoCor内核的加速比

    Figure  11.   Speedup ratios of AutoCor kernels

    图  12   FFT内核的加速比

    Figure  12.   Speedup ratios of FFT kernels

    图  13   2D Conv内核的加速比

    Figure  13.   Speedup ratios of 2D Conv kernels

    图  14   Mat Mul内核的加速比

    Figure  14.   Speedup ratios of Mat Mul kernels

    图  15   分解实验中向量化和指令级优化分别提供的平均加速比

    Figure  15.   Average speedup ratios provided by vectorization and instruction-level optimization in breakdown experiment

    图  16   经过软件流水优化后的内核代码的指令排布示例

    Figure  16.   An example of instruction arrangement of kernel code after software pipeline optimization

    表  1   实验评估中采用的基准程序

    Table  1   Benchmark Programs Adopted in Experimental Evaluation

    基准程序数据规模
    /浮点数
    迭代
    次数
    编译时
    间/ min
    未经分块模块处
    理的编译时间/ min
    自相关
    (AutoCor)
    1010.130.13
    1610.170.17
    25610789
    512131113
    快速傅里叶变换
    (FFT)
    410.080.08
    811.351.35
    16177
    3211212
    12842230
    256535
    512535
    1024535
    二维卷积
    (2D Conv)
    4×4, 2×210.070.07
    16×16, 2×210.230.23
    256×256, 4×425121
    512×512, 4×425121
    矩阵乘法
    (Mat Mul)
    4×4×410.070.07
    8×8×810.170.17
    16×16×1611.721.72
    256×256×25663189
    512×512×51267202
    下载: 导出CSV

    表  2   本文框架的硬件参数以及生成的内核代码的加速比

    Table  2   Hardware Parameters and Speedup Ratios of Generated Kernel Code of Our Framework

    基准
    程序
    规模/
    浮点数
    向量
    宽度/b
    MAC
    数量
    向量
    加速比
    标量
    加速比
    AutoCor5121112.24
    16210.6723.90
    32456.70126.72
    644146.54328.26
    FFT5121111.58
    16219.3230.53
    32428.9845.8
    64456.7489.65
    2D Conv512×51211111.70
    4×416217.94209.91
    32469.9817.93
    64484.47988.33
    Mat Mul512×51211124.01
    512×51216228.67688.36
    324116.822 804.74
    644216.125 189.13
    下载: 导出CSV
  • [1]

    Chen Shuming, Wang Yaohua, Liu Sheng, et al. FT-matrix: A coordination-aware architecture for signal processing[J]. IEEE International Symp on Microarchitecture, 2013, 34(6): 64−73

    [2]

    VanHattum A, Nigam R, Lee V T, et al. Vectorization for digital signal processors via equality saturation[C] //Proc of the 26th ACM Int Conf on Architectural Support for Programming Languages and Operating Systems. Nem York: ACM, 2021: 874−886

    [3]

    Zhao Jie, Li Bojie, Nie Wang, et al. AKG: Automatic kernel generation for neural processing units using polyhedral transformations[C] //Proc of the 42nd ACM SIGPLAN Int Conf on Programming Language Design and Implementation. New York: ACM, 2021: 1233−1248

    [4]

    Porpodas V, Rocha R C O, Góes L F W. VW-SLP: Auto-vectorization with adaptive vector width[C] //Proc of the 27th Int Conf on Parallel Architectures and Compilation Techniques. New York: ACM, 2018: 1−15.

    [5]

    Zhao Xiaolei, Wen Men, Chen Zhaoyun, et al. Automatic mapping and code optimization for OpenCL kernels on FT-matrix architecture (WIP paper)[C] //Proc of the 22nd ACM SIGPLAN/SIGBED Int Conf on Languages, Compilers, and Tools for Embedded Systems (LCTES'21). ACM, 2021: 37−41

    [6]

    Vanhattum A , Nigam R , Lee V T , et al. A synthesis-aided compiler for DSP Architectures (WiP Paper)[C] //Proc of the 21st ACM SIGPLAN/SIGBED Conf on Languages, Compilers, and Tools for Embedded Systems (LCTES '20). New York: ACM, 2020: 131−135

    [7]

    Tate R, Stepp M, Tatlock Z, et al. Equality saturation: A new approach to optimization[C] //Proc of the 36th annual ACM SIGPLAN-SIGACT Symp on Principles of programming languages. New York: ACM, 2009: 264−276

    [8] 刘胜,卢凯,郭阳,等. 一种自主设计的面向E级高性能计算的异构融合加速器[J]. 计算机研究与发展,2021,58(6):1234−1237 doi: 10.7544/issn1000-1239.2021.20210189

    Liu Sheng, Lu Kai, Guo Yang, et al. A self-designed heterogeneous accelerator for exa-scale high performance computing[J]. Journal of Computer Research and Development, 2021, 58(6): 1234−1237 (in Chinese) doi: 10.7544/issn1000-1239.2021.20210189

    [9]

    Willsey M, Nandi C, Wang Y R, et al. Egg: Fast and extensible equality saturation[J]. Proceedings of the ACM on Programming Languages, 2021, 5(POPL): 1−29

    [10]

    Narasimhan K, Acharya A, Baid A, et al. A practical tile size selection model for affine loop nests[C] //Proc of the ACM Int Conf on Supercomputing. New York: ACM, 2021: 27−39

    [11] 陈书明,刘胜,万江华,等. 协同多核DSP YHFT-QMBase:体系结构及实现[J]. 中国科学:信息科学,2015,45(4):560−573 doi: 10.1360/N112014-00298

    Chen Shuming, Sheng Liu, Wan Jianghua, et al. Coordinate multi-core DSP YHFT-QMBase: Architecture and implementation[J]. SCIENTIA SINICA Informationis, 2015, 45(4): 560−573 (in Chinese) doi: 10.1360/N112014-00298

    [12]

    Texas Instruments. C66x CPU and instruction set reference guide [EB/OL]. 2010 [2023-01-12]. https://www.ti.com/lit/pdf/sprugh7

    [13]

    Cadence Design Systems. Cadence tensilica fusion G6 [EB/OL]. 2022 [2023-01-12]. https://www.cadence.com/zh_CN/home/tools/ip/tensilica-ip/fusion-dsps/fusion-g3-g6.html

    [14]

    Hartmanis J. Computers and intractability: A guide to the theory of NP-Completeness[J]. SIAM Review, 1982, 24(1): 90−91 doi: 10.1137/1024022

    [15]

    Deng Can, Chen Zhaoyun, Shi Yang, et al. Exploring ILP for VLIW architecture by quantified modeling and dynamic programming-based instruction scheduling[C] //Proc of the 27th Asia and South Pacific Design Automation Conf (ASP-DAC). Piscataway, NJ: IEEE, 2022: 256−261

    [16]

    Su Xing, Liao Xiangke, Xue Jingling. Automatic generation of fast BLAS3-GEMM: A portable compiler approach[C] //Proc of the 2017 IEEE/ACM Int Symp on Code Generation and Optimization (CGO). Piscataway, NJ: IEEE, 2017: 122−133

    [17]

    Ragan-Kelley J, Barnes C, Adams A, et al. Halide: A language and compiler for optimizing parallelism, locality, and recomputation in image processing pipelines[C]// Proc of the 34th ACM SIGPLAN Conf on Programming language design and implementation. New York: ACM, 2013: 519–530

    [18]

    Kjolstad F, Kamil S, Chou S, et al. The tensor algebra compiler[J]. Proceedings of the ACM on Programming Languages, 2017, 1(OOPSLA): 1−29

    [19]

    McFarlin D S, Arbatov V, Franchetti F, et al. Automatic SIMD vectorization of fast Fourier transforms for the Larrabee and AVX instruction sets [C] //Proc of the Int Conf on Supercomputing. New York: ACM, 2011: 265−274

    [20]

    Franchetti F, Püschel M. Generating SIMD vectorized permutations[C] //Proc of the Int Conf on Compiler Construction. Springer, Berlin: Springer, 2008: 116−131

    [21]

    Chen Tianqi, Moreau T, Jiang ziheng, et al. TVM: An automated end-to-end optimizing compiler for deep learning[C] //Proc of the 13th USENIX Symp on Operating Systems Design and Implementation (OSDI 18). Berkeley, CA: USENIX Association, 2018: 578−594

    [22]

    Chen Tianqi, Zheng Lianmin, Yan E, et al. Learning to optimize tensor programs [C] //Proc of the 32nd Int Conf on Neural Information Processing Systems. New York: ACM, 2018: 3393−3404

    [23]

    Zheng S, Liang Y, Wang S, et al. Flextensor: An automatic schedule exploration and optimization framework for tensor computation on heterogeneous system[C] //Proc of the 25th Int Conf on Architectural Support for Programming Languages and Operating Systems. New York: ACM, 2020: 859−873

  • 期刊类型引用(11)

    1. 肖明魁. 面向大语言模型的资产分类优化策略研究. 长江信息通信. 2025(01): 33-38+42 . 百度学术
    2. 何静,沈阳,谢润锋. 大语言模型幻觉现象的识别与优化. 计算机应用. 2025(03): 709-714 . 百度学术
    3. 苏眉,孔桂英. 大语言模型背景下的译者批判性思维研究. 北部湾大学学报. 2025(01): 82-87+108 . 百度学术
    4. 宋佳磊,左兴权,张修建,黄海. 大语言模型评估方法综述. 宇航计测技术. 2025(02): 1-30 . 百度学术
    5. 吴若玲,郭旦怀. 大语言模型空间认知能力测试标准研究. 地球信息科学学报. 2025(05): 1041-1052 . 百度学术
    6. 王新雷,饶宇锋. 数智时代的关键基础设施:开源大模型普及的潜在风险与防范进路——以DeepSeek为例. 决策咨询. 2025(02): 64-69+77 . 百度学术
    7. 王润周,张新生,王明虎,苏佳,马玉龙. 基于混合检索增强生成大语言模型的网络舆情多任务分析. 情报杂志. 2025(05): 91-103 . 百度学术
    8. 萧文科,宋驰,陈士林,陈伟. 中医药大语言模型的关键技术与构建策略. 中草药. 2024(17): 5747-5756 . 百度学术
    9. 冯皓. 大模型在自然语言处理中的应用方法研究. 数字通信世界. 2024(10): 123-125 . 百度学术
    10. 孙婧鑫. 关于人工智能在软件自动化测试行业应用的研究. 张江科技评论. 2024(03): 64-66 . 百度学术
    11. 孟逸飞,韩长霖,陈小松,李亦凡,闫亚男,禹文宝. 大语言模型在水电及新能源行业应用研究与探讨. 水电站机电技术. 2024(12): 78-82 . 百度学术

    其他类型引用(2)

图(16)  /  表(2)
计量
  • 文章访问数:  322
  • HTML全文浏览量:  53
  • PDF下载量:  151
  • 被引次数: 13
出版历程
  • 收稿日期:  2023-01-09
  • 修回日期:  2023-04-09
  • 网络出版日期:  2023-05-03
  • 刊出日期:  2023-05-31

目录

/

返回文章
返回