XLNet第一作者杨植麟:为什么预处理模型XLNet比BERT、RoBERTa更加优越

在2020年2月11日下午的“智源论坛Live | 青年科学家线上报告会”中,智源青年科学家、循环智能(Recurrent AI)联合创始人杨植麟做了题为《Latest Advances of Neural Language Models》的主题演讲。

杨植麟,2019年博士毕业于卡内基梅隆大学,师从苹果AI负责人Ruslan Salakhutdinov,他曾与图灵奖得主Youshua Bengio、Yann LeCun合作发表论文,本科毕业于清华大学,导师为智源学者唐杰教授。杨植麟在自然语言理解、半监督学习等30多个数据集上取得历史最好结果(State-of-the-Art,SOTA)。

在本次演讲中,杨植麟系统解析了他的最新代表作品——XLNet。XLNet是由CMU和Google Brain Team携手提出的自然语言处理预训练框架,杨植麟作为核心研究成员,以第一作者的身份在NIPS 2019上发表了关于XLNet的论文[1]。XLNet 如今已经是NLP领域近年来最被关注的模型之一,它在18 项NLP任务中拿到最优成绩(SOTA),包括机器问答、自然语言推断、情感分析和文档排序等。

在演讲中,杨植麟抽丝剥茧般回顾了他设计XLNet时一步步的思考历程,从融合自回归语言模型,到纳入降噪自编码模型的优点,再到引进双流自注意力机制等,这些创新最终使得XLNet和Google BERT[2]、Facebook RoBERTa [3]模型的对比实验中取得了优异的成绩。此外,杨植麟还展望了对AI数据模型的趋势性看法,见解独到,相信会给大家带来很多启迪。

下面是杨植麟演讲的精彩要点。

整理:王凯

一、NLP预训练模型近年来的发展

在进入XLNet设计框架之前,杨植麟首先介绍一些相关的前置知识,简介了NLP预训练模型近年来的发展。在NLP领域,可以将训练数据分为两类:一类是有标注数据,即每条数据的类别都经过了人工标注;另一类为无标注数据,也就是无预先人工标注的原始数据。有标注数据因为增加了人工预处理流程,一般会取得比较好的表现,但缺陷是成本比较高,这便导致现存的训练数据一般是由大量无标注数据和少量有标注数据构成。在这样的背景下,NLP学者们便开始提出先无监督预训练、后有监督微调的模型训练范式。

率先出现的是词嵌入模型,典型代表如2013年Mikolov等人提出的Word2Vec[4]、2014年Pennington等人提出的GloVe[5]等,它们可谓是无监督预训练模型的雏形。但词嵌入模型的问题在于一个单词只能对应一个词向量,即在不同的上下文中,同一个词的编码是相同的,这使得语言的一词多义问题无法得到解决。于是学术界开始着力探索基于上下文的预训练模型,尤其是2018年下半年至2019年上八年间涌现了一批代表,包括:Peters等人提出的ELMo [6]、Radford等人提出的GPT系列[7,8],Devlin等人提出的BERT等。值得一提的是,这些预训练模型的内部组件也在不断改进中:ELMo由循环神经网络LSTM组成,GPT系列、BERT则由基于自注意力机制的Transformer[9]组成,而Tansformer的改进模型——Tansformer-XL[10],也是杨植麟本人核心参与的代表性作品。

二、预处理模型XLNet 的特性

 XLNet 特性之一:自回归和降噪自编码的融合

下面,我们开始介绍XLNet的设计思想,它继承了近年来主流无监督预训练模型的相关特征、优势,并尝试解决了其中的一些缺陷。杨植麟发现,这些模型主要可以分为两类:

第一类是自回归语言模型,以ELMo 为代表,其训练目标为:

举例:在处理句子“New York is a city”时,首先以“New”为前提预测“York”;然后以“New York”为前提,预测“is”,并以此类推;最终,以“New York is a city”为前提,预测句子终止符。它的优点在于预训练过程完全切合人类从前到后、依次阅读和书写的语言使用习惯,因此对单词的相对位置有较强的建模能力;但缺点在于无法同时对上文和下文进行双向建模,某一个单词的预测无法同时使用双向的上下文信息。此外,由于它必须严格按照单词顺序依次进行单词预测,其并行性较差。

第二类是降噪自编码模型,以BERT为代表,其训练目标为:

 

举例:在处理句子“New York is a city”时,用[mask]符号替换掉New和York,向模型输入“[mask] [mask] is a city”,预测“New York”。它的优点在于可以同时使用双向的上下文信息;但缺点在于,一方面由于[mask]符号的特性,被预测词之间相互独立,无法建模单词的位置信息,另一方面在模型微调阶段,[mask]符号不会出现,这导致预训练阶段和微调阶段之间存在一定的分歧。

于是为了融合这两类模型的优点,摒弃各自的缺点,杨植麟等人先提出了一个排序语言模型,其训练目标为:

 

这个模型的特点是:

首先,该模型对输入单词序列不做任何改变,这解决了降噪自编码模型中,预训练阶段与微调阶段之间有分歧的缺陷。

其次,该模型在内部对单词的位置进行重排列,实际处理单词的顺序是重排列后单词的排列顺序。在预训练阶段,对所有排列方式进行随机采样,用少数的排列顺序进行训练,解决了自回归语言模型中,无法同时使用双向的上下文信息的缺陷。

最后,该模型在重排列的基础上,使用自注意力掩膜机制(Self-Attention Mask)使得预测遵循自回归语言模型的准则,即由上文已知单词预测下一个未知单词,因此该模型本质上还是属于自回归语言模型。同时,自注意力掩膜机制的矩阵运算使得模型有较好的并行性,这解决了自回归语言模型中,并行性较差的缺陷。

下面通过实例说明这个过程:

 

图1:排序语言模型示意图

排序语言模型的机理如图1所示。首先,把原始句子“New York is a city”输入模型中。然后,在模型内部对单词进行重排列,得到新的排列顺序“city a is New York”。接下来遵循自回归语言模型的准则,用每一个位置的上文单词预测此位置的单词。自注意力掩膜机制的矩阵运算使得所有单词的预测是并行的。

XLNet 特性之二:双流自注意力机制

但上述的排序语言模型看似完美地融合了自回归语言模型和降噪自编码模型的优点,然而还存在一定的问题。仔细观察图1可以发现,排序语言模型在预测每个单词时,只会用到上文单词的内容信息,因此预测结果可以形式化为

其中, 是重排列后第t个单词对应的隐状态向量,使用了第1 ~ t-1个单词的内容信息xz<t。传统的自回归语言模型中,模型只会对原始的单词排列顺序进行自回归拟合。即使没有显式使用单词在原始句子中的位置信息,传统自回归语言模型仍然会感知到这些位置信息。虽然这里的排序语言模型符合自回归语言模型的预测准则,但是模型内部增加了位置重排列机制后,重排列的随机性使得模型感知不到单词在原始句子中的位置信息,因此本质上已经退化为一个词袋模型。举例说明,假设原始句子是“New York is a city”。若重排列后为“York New is city a”,则预测重排列中第3个单词的过程是计算

其中,zt为重排列中第t个单词在原始句子中的位置。若重排列后为“York New city ais”,则预测重排列中第3个单词的过程是计算

然而,基于现有的排序语言模型,不同重排列中第3个单词是“is”的概率是相同的,即为

其中,e(x)是单词x的词嵌入向量。这显然是不合理的,从语法和语义的角度来说,已知原句中前2个单词是“New York”,第3个单词是“is”的概率应该大于第5个单词为“is”的概率。

为了使排序语言模型能对单词在原始句子中的位置信息进行建模,每个单词的预测不仅要使用上文已知单词的内容信息,还要显式使用待预测单词的位置信息。因此,杨植麟等人对原始排序语言模型进行再参数化,预测结果的形式化表达式为:

其中,是重排列后第t个单词对应的隐状态向量,使用了第1 ~ t-1个单词的内容信息xz<t和第t个单词的位置信息zt。中包含了位置信息zt,从而约束模型必须以位置zt为前提预测重排列中第t个词。继续上面的例子,排序语言模型再参数化后,2个原先相等的概率就不再相等。具体地,变为如下的形式

然而,特征向量的计算过程会出现下面的矛盾:假设处理句子“x1 x2 x3 x4”,原始句子重排列后为“x3 x2 x4 x1”,如图2所示,用单词“x3”预测单词“x2”时,g2(1)不应该包含“x2”的内容信息,否则会造成内容信息泄露,这个预测任务会变得极其简单,无法学习到期望的特征。如图3所示,用单词“x3x2”预测单词“x4”时,g2(1)应该包含“x2”的内容信息,这样才符合用已知上文单词预测当前单词的准则。总的来说,在不同场景下,对于同一个隐状态g2(1),再参数化后的预测任务有着完全相反的要求。

由此看来,1套隐状态已经无法满足新任务的要求。因此,杨植麟等人提出了双流自注意力机制的解决方案,采用2套隐状态。

图2:单流自注意力机制预测单词x2   

 

图3:单流自注意力机制预测单词x4

简单来说,双流自注意力机制会把传统单流自注意力机制的每1个隐状态ht(j)由2个隐状态ht(j)、gt(j)代替。所有的ht(j)组成了内容流(Content Stream),所有的gt(j)组成了查询流(Query Stream)。2个流共享1套自注意力机制的参数,因此不会造成参数的增加。继续上述的例子,如果把传统单流自注意力机制改为双流自注意力机制,单词“x2”对应的隐状态更新和单词预测的算法流程如图4、5所示,单词“x4”对应的隐状态更新和单词预测的算法流程如图6、7所示。其中,第0层的内容隐状态ht(0)用单词嵌入向量e(xt)初始化,第0层的查询隐状态gt(0)用一个可训练的向量w初始化。如图5所示,预测单词“x2”时,并没有用到“x2”的内容信息。如图4所示,h2(1)中已包含单词“x2”的内容信息。如图7所示,预测单词“x4”时,使用了h2(1),从而使用了上文单词“x2”的内容信息,但是并没有使用单词“x4”的内容信息。至此,排序语言模型再参数化造成的矛盾已经解决。

图4:双流自注意力机制预测单词x2(内容流更新)

 

图5:双流自注意力机制预测单词x2(查询流更新)

 

图6:双流自注意力机制预测单词x4(内容流更新)

 

图7:双流自注意力机制预测单词x4(查询流更新)

以上便是XLNet的整体框架。到这里,我们总结一下杨植麟关于XLNet的整个思想历程(如下图8所示):刚开始为了解决BERT中单词之间的独立性假设、预训练和微调分歧这两个问题,杨植麟先是提出了一个由自回归语言模型和降噪自编码模型结合而成的排序语言模型。但这样又出现了两个新的问题:首先,基于传统参数形式的排序语言模型会退化成词袋模型,这便需要用单词在原始句子中的位置信息对模型进行再参数化;其次,出现了某个单词的隐状态在预测自身和预测其他单词之间存在的矛盾,对此,杨植麟则引入了双流自注意力机制。就这样,近年来NLP领域备受关注的学术成果XLNet便诞生了。

 

图8:XLNet的思想历程

三、XLNet 的相关实验:超越BERT 、RoBERTa

下面,我们来看一下XLNet的两个实验表现。

第一个实验是XLNet与BERT的对比实验。为了保证实验的公平性,杨植麟和他的同事们严格控制超参数与原始设置保持一致,不做参数调整。同时,每一个任务都用3种BERT进行测试,分别是原始BERT、BERT加Whole Word Masking、BERT去掉Next Sentence Prediction,取最优的结果作为BERT在相应任务上的测试结果。为了保证实验的可信度,实验基于GLUE[11]任务集,涵盖了自然语言推理、文本相似度评估、情感分析等各方面任务,例如MNLI要求推断文本之间的蕴含关系,QNLI要求判断问题、答案对是否匹配等。实验结果如图9所示,在所有被考虑的任务上,XLNet的表现均优于BERT。

第二个实验是XLNet与RoBERTa的对比实验。鉴于RoBERTa本质上是在BERT的基础上,增大训练数据量、增大超参数后得到的模型,因此在这个实验里,杨植麟和他的同事们使用略小于RoBERTa的训练数据量和与RoBERTa相同的超参数训练了一个更大的XLNet。实验基于GLUE任务集,结果如图10所示,在所有被考虑的任务上,XLNet的表现同样均优于RoBERTa。

图 9:XLNet与BERT的对比实验   

图 10:XLNet与RoBERTa的对比实验

四、数据模型的发展趋势:“先做大”,“再做小”

最后,杨植麟还和大家分享了他对AI数学模型的趋势性看法,他指出纵观AI的发展历史,数学模型的发展趋势往往是“先做大、后做小”。“先做大”指用“大算力、大模型、大数据”提升模型在特定任务上的表现,目前的NLP领域正处于“先做大”的阶段。具体来说,以Transformer为基本模块搭建“更大的模型”,随后再用“更大的算力”和“更大的数据”来训练,似乎已成为提升模型在特定任务中效果的通用范式。例如,在Google推出BERT之后,Facebook用10倍于BERT的数据训练模型,推出了表现更优的RoBERTa。

而当“先做大”阶段已经有了足够多的积累了之后,则需要把重点放在“后做小”。“后做小”是指在已有工作的基础上,用“小模型”、“小算力”、“小数据”在特定任务上实现比较好的表现,比如用蒸馏法进行模型压缩,使之可以在移动端运行。

杨植麟表示其正处于“后做小”阶段,因此XLNet未来研究的一个关键目标,就是当目标任务是小样本数据时,提升模型微调的效率。此外在行业应用方面,XLNet目前已被集成到了RecurrentAI平台上。这个平台是杨植麟的创业项目,定位是“基于对话数据的AI销售中台”。杨植麟认为鉴于XLNet具有较高的通用性,使得Recurrent AI平台可以为所有自然语言理解任务提供底层服务,具体的应用包括:客户画像抽取,销售话术分析,客服问题挖掘,智能质检,产品推荐,线索评分等。

结语

杨植麟的这场报告,清晰地向我们展现了XLNet的思想脉络,令人印象深刻的地方在于他敏锐的问题意识,其思想进阶的每一个脚步,无不立足于去“发现”所研究领域正亟待解决的问题,并在探索解决方案的道路中不断实验、优化、构建等,这种将理论素养深刻融入解决真实问题的研究作风,相信会给大家带来很多启迪。

 

参考文献

[1]    Zhilin Yang et al. XLNet:Generalized Autoregressive Pretraining for Language Understanding. NIPS. 2019.

[2]    Jacob Devlin et al. BERT: Pre-trainingof Deep Bidirectional Transformers for Language Understanding. NAACL. 2019.

[3]    Yinhan Liu et al. RoBERTa: ARobustly Optimized BERT Pretraining Approach. arXiv:1907.11692. 2019

[4]    Tomas Mikolov et al. Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781.2013.

[5]    Jeffrey Pennington. GloVe: Global Vectors for Word Representation. EMNLP. 2014.

[6]    Matthew E. Peters et al. Deep contextualized word representations. NAACL. 2018.

[7]    Alec Radford et al. Improving Language Understanding by Generative Pre-Training. 2018.

[8]    Alec Radford et al. Language Models are Unsupervised Multitask Learners. 2019.

[9]    Ashish Vaswani et al. Attention Is All You Need. NIPS. 2017.

[10]  Zihang Dai et al. Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context. ACL.2019

[11]  Alex Wang et al. GLUE: A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding. ICLR. 2019

相关推荐

零样本NLP平台:一句话生产一个模型的时代已经来临

技术变革带来全新生产方式,提升10-1000倍生产效率

循环智能(Recurrent AI) 576

线下门店销售过程看不见?智能工牌让每次沟通数据化、可分析

整合企业微信、App-IM、邮箱等线上沟通数据,与线下门店采集的互动信息深度融合,结构化还原客户全渠道沟通旅程,精准提炼动态客户画像,并自动生成全景式客户沟通总结,告别碎片化信息,全面呈现客户需求的演进脉络。✅ 赋能门店管理层:智能推送门店盘客日报,自动生成门店的盘客日报,分析客户意向等级、购买抗性、销售团队表现等;:汽车4S店、银行网点、高端家电和家居、高端零售、上门运维等所有复杂、多轮、长周期的线下销售场景。汽车销售:客户试驾3次,家庭成员意见从"要空间"到"要安全配置"再到"比价格"

循环智能(Recurrent AI) 680

智能质检产品Compliance:七大亮点满足企业多样化合规质检、SOP质检需求

最近,循环智能的智能质检产品Compliance全新升级,不仅对包括关联质检、流程质检、自定义字段在内的核心功能进行了全面迭代,满足企业更加多样化的合规质检和SOP质检需求的同时,还优化了语音转写模型、应用NLP小样本/零样本的盘古大模型提升AI检出效率,升级了软件的用户使用界面(UI),提升用户操作体验等。

循环智能(Recurrent AI) 942

65家保险机构参与调研,《2022保险业数字化客户经营白皮书》发布

中国银行保险报、普华永道与循环智能(Recurrent AI)联合编写

循环智能(Recurrent AI) 411

循环智能入选英特尔“AI百佳”计划,通过AI算力加速销售科技应用的落地

循环智能入选英特尔“AI百佳”计划,通过AI算力加速销售科技应用的落地

循环智能(Recurrent AI) 4558

循环智能与华为云联合推出全球最大中文语言模型,专攻企业级落地应用

循环智能与华为云联合推出全球最大中文语言模型,专攻企业级落地应用4月25日,循环智能(Recurrent AI)与华为云联合推出千亿参数、40TB训练数据的全球最大中文语言预训练模型“盘古”,鹏城实验室提供算力支持。在权威的中文语言理解评测基准CLUE榜单中,总成绩及阅读理解、分类任务单项均排名第一,刷新...

循环智能(Recurrent AI) 779

如何借助AI语义分析技术,帮助保险“电网销中心”人工坐席提升业务水平?

保险“电网销”的融合是近些年和未来很长一段时间内的行业发展趋势。以人身保险为例,从中国保险行业协会最新发布的统计数据来看,2020年“电网销”融合更紧密的互联网渠道累计实现规模保费2110.8亿元,较2019年同比增长13.6%;而纯电销渠道累计实现规模保费136亿元,较上一年下降了22.5%。其实,“电网销”融合之所以成为趋势,原因在于结合了两者的优势:先借助互联网实现客户的广泛触达和初步需求验证,再借助电话和企业微信等方式进行一对一沟通和深入需求挖掘,以实现需求为导向的销售。...

循环智能(Recurrent AI) 820

曾创造 XLNet 的团队宣布新计划:打造面向产业落地的超大规模中文预训练语言模型

由 XLNet 作者杨植麟联合创立的循环智能,在造一个面向产业应用的、超大规模的中文预训练语言模型。最近,如果你看过,智源研究院联合七家单位发布超大规模新型预训练模型“悟道·文汇”的新闻,会发现循环智能(Recurrent AI)是七家单位之一,其他六家是:阿里巴巴、清华大学、中国人民大学、中国科学院、搜狗和智谱.AI。这个模型的参数规模超过 100 亿,用于自动生成图片、文字以及视频,可具有初级认知能力。语言大模型的价值仍需要朝多种方向进行持续研究和探索。除了继续参与“悟道·文汇”模型的后续打..

循环智能(Recurrent AI) 952

销售沟通场景下,来自头部教育公司的三种AI对话分析方案

几乎每家在线教育公司都面临这样的难题:获客成本高昂,转化率难提升。为了提升转化率,很多企业提出了“精细化运营”策略——拆解转化流程的每一步,分析导致转化流失的原因,然后有针对性地去寻找每个环节的解决方案:从“获取线索”环节的广告投放渠道选择、落地页的设计,到“上试听课”前的预约试听、提醒上课,再到“回访转化”环节的答疑解惑和正价课的推介。但是整个转化过程的流失,也可能是由于销售人员(包含TMK电销专员、CC课程顾问、TA课程助理等有销售任务的职位)在与客户沟通过程中,未能准确传达产品价值...

循环智能(Recurrent AI) 1289

教育公司借助AI对话分析系统,提升销售效率分三步走

几乎每家在线教育公司都面临这样的难题:获客成本高昂,转化率难提升。​为了提升转化率,很多企业提出了“精细化运营”策略——拆解转化流程的每一步,分析导致转化流失的原因,然后有针对性地去寻找每个环节的解决方案:从“获取线索”环节的广告投放渠道选择、落地页的设计,到“上试听课”前的预约试听、提醒上课,再到“回访转化”环节的答疑解惑和正价课的推介。但是整个转化过程的流失,也可能是由于销售人员(包含TMK电销专员、CC课程顾问、TA课程助理等有销售任务的职位)在与客户沟通过程中,未能准确传达产品价值、未能..

循环智能(Recurrent AI) 664

循环智能的主动学习(Active Learning)技术探索与实践:减少 80% 标注量

作者 | 李海玉、陈虞君编辑 | 郝晓茹很多企业通过建立自己的客户联络中心,为客户提供服务、解答疑惑、推介新产品。在企业与客户的沟通过程中,产生了海量的非结构化录音和文本数据。为了让沟通更高效,服务质量更优,客户满意度更强,企业就需要从数据中洞察客户的真实需求、管理和提升业务员的沟通能力。但由于需要收集分析的数据量急剧增加,从大量数据中手动提取有用的知识变得非常困难和不可能,因此需要利用自然语言处理(NLP)和数据挖掘(Data Mining)技术来帮助企业挖掘和发现有用的知识。为了让机..

循环智能(Recurrent AI) 1030

AI智能质检新实践:如何借助“流程质检”,提升客服或销售的执行力

​想了解一家企业是否值得信赖,打一次热线电话就知道了。电话那头的客服或销售人员,代表企业直接与客户打交道,他们能否快速定位和解答问题,往往可以反应出企业的专业性和规范性。为了赢得更多客户信赖,企业不断总结出客户常见问题的标准作业流程(SOP),要求业务人员按流程帮助客户定位和解答问题。但是,如何监督业务人员在遇到特定场景或客户的特定问题时,有没有执行标准流程,有没有按要求进行回复呢?可...

循环智能(Recurrent AI) 1829

AI智能质检优化实践:召回率和准确率,哪个更重要?

图:美剧《了不起的麦瑟尔夫人》很多企业拥有中大型电销或客服中心,每天与客户产生成千上万次沟通。沟通的质量,决定了企业的收入或客户满意度。企业监督业务人员的沟通质量和执行力的过程,被称为质检。前两篇文章,我们介绍了“关键词+正则”质检方式和全新的“非正则”质检方式的区别,也介绍了两种机器质检方式各自适配的场景。双模质检,各司其职。“非正则”质检方式通过引入深度学习算法模型,能够更好地...

循环智能(Recurrent AI) 3063

销售客服的语音质检新实践:双模质检

上篇文章,我们介绍了新一代智能质检模式——基于深度学习技术的“非正则”质检落地应用效果:在很多质检项上远超“关键词+正则”的传统模式,能多找出 2~10 倍数量的目标通话,并且介绍了其工作原理与“关键词+正则”的区别。​随着自然语言处理(NLP)领域技术的发展,以“非正则”质检模式为主、“关键词+正则”模式为辅的方案已成为未来发展趋势。两种模式将长期共存,因为它们各有其更擅长做的事情、更适...

循环智能(Recurrent AI) 1079

基于XLNet模型的下一代机器质检:从关键词到语义点

市面上有很多面向销售和客服人员的语音质检系统、文本质检系统,绝大部分产品实际使用的是基于“关键词+正则表达式”的机器质检系统。这种方法的主要优点是部署和上手使用都比较快,主要缺点是存在非常严重的漏检情况。就像一个漏孔很大的筛子一样,难以满足企业对质检的需求越来越精细、对质检效率要求越来越高的发展趋势。因此,在“关键词+正则表达式”之外,我们开始越来越多地为客户提供基于“语义点+机器学习...

循环智能(Recurrent AI) 952

语音识别新范式:完全的“端到端”模型优势在哪里?

目录语音识别新范式Transformer-XL 进一步释放注意力模型的优势从学术前沿到商业落地​“自然科学的发展除了按常规科学一点一滴地积累之外,还必然要出现‘科学革命’。”托马斯·库恩在其发表于 1962 年的经典著作《科学革命的结构》中提出的“范式转换”一词,如今已成为大家耳熟能详的技术用语。大的“范式转换”存在于基础科学领域,小的“范式转化”也存在于几乎每个细分的技术...

循环智能(Recurrent AI) 1613
上一篇: AI智能质检优化实践:召回率和准确率,哪个更重要?
下一篇: AI智能质检新实践:如何借助“流程质检”,提升客服或销售的执行力
循环智能
循环智能 企业官方账号 企业官方账号
博客等级 码龄7年 26粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值