ChatGPT的前世今生:预训练模型成长史

 Datawhale干货 

作者:钱博文,中国移动云能力中心

前言

近年来,随着各大厂商的激烈角逐,预训练模型(The Pretrained Foundation Models ,PFMs)的发展可谓百花争鸣,谁都想在这场没有硝烟的战争中力压群雄,作为下游任务的基础,像BERT、GPT-3、MAE、DALLE-E和ChatGPT基于大规模数据训练,可为各种下游应用提供合理的参数初始化。这种迁移学习范式,让预训练模型以一种高傲的姿态在各种任务和应用中大放异彩。特别是最近大火ChatGPT,带着其独有的"思维”在各大领域乱杀,也将人工智能推向了新一轮高潮。本文也是从预训练模型成长的几个关键因素做了系统阐述,旨在带领大家一起见证预训练模型的蜕变历程。

1.简介

08af4d74b8004640249a2428005b6b6f.png

图 1:PFMs的历史和演变

目前PFMS已经在NLP、CV、GL这三个主要的AI领域得到了广泛的研究,如图一所示,通过在大型语料中学习通用的特征表示,再针对不同的下游任务进行微调,已经在文本分类、图像分类、对象检测、图形分类等任务中表现出色。特别是针对NLP领域,预训练模型有着独特的优势,它的训练数据可以来自任何没有标记的文本,得到的语言模型(Language Models,LM)可以捕获到文本中的长期依赖、层次结构等关联信息。早期的预训练是一种静态技术,例如NNLM[1]和Word2vec[2],但静态方法难以适应不同的语义环境。因此,像BERT[3]、XLNET[4]这类的动态预训练技术应运而生。

PFMs能在nlp中盛行起来,得益于能它同时对单词的句法和语义表示进行建模,并根据不同的输入动态改变多义词的表示上下文。PFM能学习丰富的语法和语义推理知识,效果更好。表1是对近几年来NLP领域PFMs相关信息的汇总。其中,Transforms作为PFMs主流的模型架构,它使用了Attention机制,将序列中的任意两个位置之间的距离缩小为一个常量,在分析预测更长的文本时,捕捉间隔较长的语义关联效果更好;其次它不是类似RNN的顺序结构,因此具有更好的并行性,符合现有的GPU框架,能够利用分布式GPU进行并行训练,提升模型训练效率。

93be36b32de1499cd079fd5606930ab9.png

表1:NLP领域的预训练模型

目前在NLP领域PFMs的学习方法主要分为监督学习、半监督学习、弱监督学习、自监督学习和强化学习这五种,同时根据预训练任务根据上述的的学习方法可分为五类:掩码语言建模(MLM)、去噪自动编码器 (DAE)、替换令牌检测 (RTD)、下一句预测 (NSP)、句子顺序预测 (SOP)。其中,MLM在输入序列中随机擦除一些单词,然后在预训练期间预测这些擦除的单词,典型的例子包括BERT 和SpanBERT[5];DAE 用于向原始语料库添加噪声,并使用包含噪声的语料库重建原始输入,BART[6] 就是一个典型的例子;RTD 是一个判别任务,用于确定 LM 是否已替换当前令牌,这项任务在ELECTRA[7] 中引入;为了使模型理解两个句子之间的相关性并捕获句子级表示,引入了NSP任务。PFM 输入来自不同文档的两个句子,并检查句子的顺序是否正确,一个典型的例子是BERT;与NSP不同,SOP使用文档中的两个连续片段作为正样本,并使用两个片段的交换顺序作为负样本。PFM可以更好地模拟句子之间的相关性,例如ALBERT[8] 。

2.字表征

当前大规模的预训练模型在问答、机器阅读理解和自然语言推理中取得了比人类更好的性能,表明目前PFM的构建方法是实用的。现有的预训练语言模型根据字表征方法主要分为三个分支:(1)自回归语言模型,(2)上下文语言模型,(3)排列语言模型。其中单词预测方向和上下文信息是其中最重要的因素。

2.1 自回归语言模型

自回归语言模型基于前一个单词预测下一个可能的单词,或基于后续单词预测最后一个可能的单词。它被选为特征提取器,并从前一个单词中提取文本表示。因此,它在自然语言生成(Natural language generation,NLG)任务中具有更好的性能,例如文本摘要和机器翻译。对于一个序列,根据前一个词计算的给定单词的概率为前向LM,公式如下:

其中 ,是输入序列的长度。此外,双向LM(Bi-LM)也是基于自回归语言模型,以及从向前和向后方向提取的文本表示连接在一起模型架构设计方法。GPT[9]采用自监督预训练、监督微调和stacked Transformer [10] 作为其解码器。后续,OpenAI提出了GPT-2[11],并将stacked Transformer层数增加到48层。参数总数达到15亿。GPT-2还引入了多任务学习。GPT-2 具有相当大的模型容量,可以针对不同的任务模型进行调整,而不是微调它们。但是,GPT-2 也使用自回归语言模型。因此,它提高了模型的性能而不会大幅增加成本。由于是单向transformer缺乏上下文建模能力,GPT-2的主要性能提升来自于多任务的综合效应预训练、超大型数据集和超大型模型。对于特定的下游任务,仍然需要基于任务的数据集进行微调。但是,扩大LM的训练规模可以显著提高与任务无关的性能。因此,提出了 GPT-3[12] ,它将模型大小增加到 175亿个参数,并使用 45TB 的数据进行训练。因此,它可以实现良好的性能无需针对特定的下游任务进行微调。

2.2 上下文语言模型

自回归语言模型仅使用上文或下文的信息,不能同时使用上下文的信息。ELMO[13] 仅使用双向长短期记忆 (LSTM),它是两个向后和向前单向 LSTM 的串联。上下文LM预测基于上下文词。它使用变压器编码器,模型的上层和下层由于自注意力机制而直接相互连接。对于单词序列 T,给定单词的概率计算如下:

BERT模型输入由三部分组成:词嵌入,段嵌入和位置嵌入。它使用双向transformer作为特征提取器,这抵消了ELMO和GPT的缺陷。但是,BERT的缺点也不容忽视。双向transformer结构并没有消除自编码模型的约束。其大量的模型参数对计算资源低的设备非常不友好,并且难以部署和应用。大多数PFM需要更多的训练任务和更大的语料库。针对训练不足的问题,后续提出了RoBERTa[14]。它使用更大的批次大小和未标记的数据。此外,它可以训练更长的模型,删除 NSP 任务,并添加长序列训练。在处理文本输入时,采用字节对编码(BPE)[15]进行分词。BPE 对每个输入序列使用不同的掩码模式,即使输入顺序相同。

2.3 排列语言模型

使用上下文语言模型的建模方法可以视为自动编码模型。但是,由于训练阶段和微调阶段的不一致,性能的自动编码模型在自然语言生成 (NLG) 任务中很差。排列语言模型旨在结合了自回归语言模型和自动编码器语言模型的优点。它改善了两种模型在很大程度上可以作为未来预训练目标构建的基本思路任务。对于给定的输入序列,排列语言模型的目标函数的形式表示如下:

ed9a80ef2ea147c01a71c83670c48262.jpeg

其中 θ 是所有排列中的共享参数,表示所有可能排列的集合输入序列 和和表示第t个元素和a的,,,元素排列.

以BERT为代表的的MLM可以很好地实现双向编码。然而,MLM在预训练期间使用掩码标记,但在微调期间不使用,这导致在预训练和微调期间数据不一致。为了实现双向编码,避免了MLM的问题,提出了排列语言模型。排列语言模型基于自回归语言模型,避免了不一致数据的影响。然而,与传统的自回归模型不同,排列语言模型不再按顺序对序列进行建模。它以最大化序列给出了序列的所有可能的排列。通过这种方式,任何位置都可以利用来自所有位置的上下文信息,使排列语言模型实现双向编码。最常见的排列语言模型模型是XLNET和MPNet[16]。XLNET是第一个基于LM的排列PFM。此外,XLNet还集成了Transformer-XL的两个最关键技术:相对位置编码和段递归机制。MPNet将MLM模型与排列语言模型相结合,通过排列语言模型预测tokens之间的依赖关系。它使用辅助位置信息作为输入,使模型能够看到完整的句子,从而减少位置差异。

3.模型架构

1c423a021d63dcdd754f81e729e1a283.png

图 2:BART架构

早期ELMO采用多层RNN结构。每一层都是双向LSTM结构,有向前和向后 LM。以这两个方向的最大可能性为目标功能。与词向量法相比,ELMO引入了上下文信息并改进了多义问题,但ELMO提取语言特征的整体能力较弱。PFMs的应用研究主要有两个方向。一种是具有微调功能的PFM(例如BERT),另一个是具有zero/few-shot prompts(例如 GPT)的 PFM。BERT使用双向编码器以预测哪些单词被屏蔽并确定两个句子是否与上下文相关。但是,文档是双向编码的,并且被屏蔽的单词是独立预测的,这降低了生成能力。GPT 使用自回归解码器作为特征提取器,根据前几个单词预测下一个单词,并使用微调解决下游任务,因此更适合文本生成任务。但是,GPT 仅使用前一个词进行预测,无法学习双向交互信息。与这些模型不同,BART是由 seq2seq 模型构建的降噪自动编码器,采用编码器-解码器结构,如图2所示。预训练主要包括使用噪声销毁文本并使用 seq2seq 模型重建原始文本。预训练主要包括使用噪声销毁文本和使用 seq2seq 模型重建原始文本。编码层采用双向Transformer。它采用五种添加噪声模式:(1)单字掩码;(2)字删除;(3)跨度掩码;(4)句子改编;(5)文件重新排列。在编码器部分,序列具有在将其输入编码器之前被屏蔽。然后,解码器根据编码器输出的编码表示形式和未屏蔽的序列恢复原始序列。这添加一系列噪声模式使 BART 在序列生成方面的性能在自然语言推理任务显著改善。

4.掩码设计

注意力机制首先将基本单词聚合为句子向量和重要句子向量转换为文本向量,这允许模型对不同的输入给予不同的关注。对于BERT来说,作为一个双向编码LM,输入句子中的任意两个单词都可以相互看到。但是,它阻碍了BERT模型学习NLG任务的能力。

fbe62d753034f3589aa58bae8994edf8.png

图 3:spanBERT架构

后续基于RoBERTa的提出SpanBERT,它采用了动态掩蔽的思想和单段预训练,如图3所示,提出了跨度掩码和跨度边界目标 (SBO) 来屏蔽一定长度的单词。跨度边界的目标任务是通过两端观察到的令牌恢复所有屏蔽的跨度(tokens)。训练阶段使用RoBERTa中提出的动态掩码策略,而不是数据预处理过程中的掩码。与BERT不同,SpanBERT随机覆盖连续的文本并添加SBO训练目标。它使用最接近跨度边界的tokens预测跨度,并消除 NSP 预训练任务。

Song 等提出了掩蔽的 seq2seq 预训练模型 MASS[17]。在训练阶段,编码器的输入序列被随机屏蔽为长度为K的连续段。掩盖的片段将通过 MASS 解码器恢复。UniLM[18]通过为输入数据中的两个句子设计不同的掩码来建模来完成NLG的学习。对于第一个句子,UniLM使用与转换编码器相同的结构,使每个单词注意到其前后单词。对于第二句,每个单词只能注意到第一句和前面的所有单词当前句子中的单词。因此,模型输入的第一句和第二句构成了经典seq2seq 模式。

5.提升方式

5.1 提升模型性能

大多数流行的预训练模型都需要大量的预训练数据,这对硬件提出了巨大的要求,使得重新训练具有挑战性,只能做一些模型的微调。为了解决这些问题,出现了一些模型。例如,百度发布的ERNIE Tiny就是小型化的ERNIE[19],它减少了层数,预测速度提高了4.3倍,精度略有下降。ALBERT通过减少内存消耗和训练速度。但是,不可否认的是,无论哪种压缩对于这些大型模型,模型在这些任务中的性能将急剧下降。它要求在以后的工作中注意高级语义和语法信息的高效表示和无损压缩。通过使用字嵌入参数分解和层之间的隐藏参数共享,ALBERT显著减少了模型的参数数量,而不会降低性能。它提出了SOP的训练任务,预测两个句子的顺序以提高性能。

5.2 多任务学习

ERNIE主要由Transformer编码器和任务嵌入两部分组成。在Transformer编码器中,自注意机制用于捕获每个tokens的上下文信息并生成上下文表示嵌入。任务嵌入是一个将不同特征应用于任务的技术。ERNIE 2.0 [20] 引入了多任务学习,以实现词汇、语法和语义的预训练。ERNIE 2.0 使用七种不同的预训练任务,涵盖三个方面:词级、句级和语义级。它使用持续学习,使先前训练任务中的知识得以保留,并使模型能够获得远距离记忆。它使用转换器编码器并引入任务嵌入,使模型能够在持续学习过程中区分不同的任务。UniLM使用三个预训练任务:单向 LM、双向 LM 和编码器-解码器LM。通过自注意力层掩码机制,它可以在预训练阶段同时完成三种目标任务。在训练阶段,UniLM采用SpanBERT提出的小段掩模策略,损失函数由上述三个预训练任务的损失函数组成。为了保持所有损失函数的贡献一致性,同时训练了三个预训练任务。多个任务的建模和参数共享使LM在自然语言理解(NLU)和NLG任务中实现良好的泛化能力。

5.3 针对下游任务

预训练模型往往很大,那么如何匹配不同的下游任务同样重要。已经出现了一些在专用语料库上训练的预训练模型。Cui等人提出了BERT-whole word masking模型(BERT-WWM)。他们直接使用中文中的BERT根据原始的MLM训练进行随机屏蔽,导致语义信息的丢失。ZEN[21]是基于BERT的文本编码器,它采用N-gram 增强性能,有效集成相当细粒度的文本信息,收敛速度快,性能好。Tsai[22]等人提出了一种用于序列标记任务的定向多语言序列标记模型。针对低质量语言,采用知识蒸馏法,在词性标注和多重形态属性预测两个任务中能取得更好的表现,推理时间缩短了27倍。

6.指令对齐

指令对齐方法旨在让LM遵循人类意图并生成有意义的输出。一般方法是以监督方式使用高质量语料库微调预训练的LM。为了进一步提高学习LMs的有用性和无害性,将强化学习引入微调程序,以便学习障碍可以根据人类或人工智能的反馈修改其响应。受监督和强化学习方法可以利用思维链风格的推理来提高人类判断的性能和人工智能决策的透明度。

6.1 监督式微调 (SFT)

SFT是一种成熟的技术,可以解锁知识并应用它到特定的现实世界,甚至是看不见的任务。SFT 的模板由输入输出对和指令。例如,给定指令“将此句子翻译成英文:”和一个输入“今天天气不错”,我们希望LM生成目标"The weather is nice today",该模板通常是人造的,包括非自然指令和自然指令,或基于种子语料库的引导。LM伤害的伦理和社会风险是SFT的重要关注点。

6.2 人类反馈强化学习(RLHF)

RL已被应用于增强NLP任务中的各种模型,例如机器翻译,摘要,图像标题,问题生成,文本游戏等。RL通过将语言生成任务中的不可微分目标视为顺序决策问题来优化它们。但是,存在过度拟合使用神经网络的指标的风险,从而导致在指标上得分很高的荒谬样本。同时,其还用于使LM与人类偏好保持一致。

28974caa3c35fd9e5ed02b43ddb88d48.png

图 4:ChatGPT框架

InstructGPT 建议使用 PPO[23] 根据经过训练的奖励模型微调大模型,以对齐 LM与人类偏好,这与ChatGPT应用的方法相同,名为RLHF。具体见图4,奖励模型使用人工标记员手动对输出进行排名的比较数据进行训练。对于它们中的每一个,奖励模型计算一个奖励,用于使用 PPO 更新 LM。由DeepMind开发的Sparrow[24]也利用RLHF来降低不安全和不适当答案的风险。尽管RLHF 取得了一些有希望的结果,这一领域的进展因缺乏公开的基准和实现资源,导致人们认为 RL 对于 NLP 来说是一种困难的方法。因此,最近引入了一个名为RL4LMs[25]的开源库,该库由用于在基于LM的生成上微调和评估RL算法的构建块组成。

与传统的 RL 方法相比,RLHF 的关键优势在于能更好地与人类的意图保持一致,以及以未来的反馈为条件进行规划,从各种类型的反馈中进行流畅的学习,并根据需要对反馈进行整理,所有这些都是创建真正的智能代理所不可缺少的。它还允许机器通过抽象人类的价值来学习,而不是简单地模仿人类的行为,从而使代理具有更强的适应性,更强的可解释性,以及更可靠的决策。

6.3 思维链 (CoT)

在NLP领域,这几年模型的规模是越来越大,几亿参数量现在都只能算小模型,预训练模型也已经向大模型的方向去演进,那大模型的好处显而易见:推理能力强,采样效率高,因为模型参数大,能储存很多的知识。最近几年有学者通过构建这种推理的中间过程,来简化推理取得了比较好的效果,而我们所知大模型通过prompt进行上下文小样本学习能力也是极强的。但问题就是创建很多的中间步骤用来做监督finetune是非常耗时的,而且传统的prompt方式在数学计算、常识推理等做的又不好,怎么结合上下文小样本学习能力和中间步骤来改善推理能力是一个问题。CoT在此基础上应用而生,其基础原理就是将多步求解的问题分解出中间步骤, 模型分配额外的计算能力给推理步骤,它可以增加模型的可解释性, 知道它是如何得出特定答案,并且模型还有机会通过调试推理路径中存在错误的地方,原则上适用于所有任务,只需提供少量思维链的范例,现有的大规模语言模型即可使用思维链进行推理。

7.总结

本文主要阐述了PFMs成长历程,文章大部分内容来源于论文[26],原文从NLP、CV、GL这几个领域的PFMs做了综合调研,作者主要针对PFMs在NLP领域的底层基础到上层技术进行了梳理。目前来看,PFMs在仅仅在参数量规模上已经很难让人产生很大共鸣了,而人们现在更加在意的是PFMs的实际的推理性能和处理复杂推理任务的能力,这里面还要额外考虑到对软硬件资源成本和实际应用场景中的合规性,更加注重PFMs的落地性和实用性,正如chatgpt一出场就能够惊艳全场,其参数量已经不是舆论的焦点了,这款AI杀手级的应用出现,其惊艳的表现可能会给世界带来新的产业革命。当然,还是受限于其模型大小和使用成本,ChatGPT并没有完全普及开来,但随着算法技术和算力技术的不断进步,下一代的PFMs也必然会更加完善,在越来越多的领域进行应用,为人类带来更好的体验感和便利性。

参考文献

[1] Y. Bengio, R. Ducharme, P. Vincent, and C. Janvin, “A neural probabilistic language model,” J. Mach. Learn. Res., 2003.

[2] T. Mikolov, K. Chen, G. Corrado, and J. Dean, “Efficient estimation of word representations in vector space,” in Proc. ICLR, 2013, 2013.

[3] J. Devlin, M. Chang, K. Lee, and K. Toutanova, “BERT: pre-training of deep bidirectional transformers for language understanding,” in NAACL-HLT, 2019.

[4] Z. Yang, Z. Dai, Y. Yang, J. G. Carbonell, R. Salakhutdinov, and Q. V. Le, “Xlnet: Generalized autoregressive pretraining for language understanding,” in NeurIPS.

[5] M. Joshi, D. Chen, Y. Liu, D. S. Weld, L. Zettlemoyer, and O. Levy, “Spanbert: Improving pretraining by representing and predicting spans,” Trans. Assoc. Comput. Linguistics, 2020

[6] M. Joshi, D. Chen, Y. Liu, D. S. Weld, L. Zettlemoyer, and O. Levy, “Spanbert: Improving pretraining by representing and predicting spans,” Trans. Assoc. Comput. Linguistics, 2020

[7] K. Clark, M.-T. Luong, Q. V. Le, and C. D. Manning, “Electra: Pre-training text encoders as discriminators rather than generators,” arXiv, 2020.

[8] Z. Lan, M. Chen, S. Goodman, K. Gimpel, P. Sharma, and R. Soricut, “Albert: A lite bert for selfsupervised learning of language representations,” arXiv, 2019.

[9]] A. Radford, K. Narasimhan, T. Salimans, and I. Sutskever, “Improving language understanding by generative pre-training,” 2018.

[10] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, and I. Polosukhin, “Attention is all you need,” arXiv, 2017.

[11] A. Radford, J. Wu, R. Child, D. Luan, D. Amodei, and I. Sutskever, “Language models are unsupervised multitask learners,” OpenAI blog, 2019.

[12] T. B. Brown, B. Mann, N. Ryder, M. Subbiah, J. Kaplan, P. Dhariwal, A. Neelakantan, P. Shyam, G. Sastry, A. Askell, et al., “Language models are few-shot learners,” arXiv, 2020.

[13]] M. E. Peters, M. Neumann, M. Iyyer, M. Gardner, C. Clark, K. Lee, and L. Zettlemoyer, “Deep contextualized word representations,” arXiv, 2018.

[14] Y. Liu, M. Ott, N. Goyal, J. Du, M. Joshi, D. Chen, O. Levy, M. Lewis, L. Zettlemoyer, and V. Stoyanov, “Roberta: A robustly optimized BERT pretraining approach,” CoRR, 2019.

[15]] R. Sennrich, B. Haddow, and A. Birch, “Neural machine translation of rare words with subword units,” arXiv, 2015.

[16] K. Song, X. Tan, T. Qin, J. Lu, and T. Liu, “Mpnet: Masked and permuted pre-training for language understanding,” in NeurIPS, 2020.

[17] K. Song, X. Tan, T. Qin, J. Lu, and T.-Y. Liu, “Mass: Masked sequence to sequence pre-training for language generation,” arXiv, 2019.

[18] L. Dong, N. Yang, W. Wang, F. Wei, X. Liu, Y. Wang, J. Gao, M. Zhou, and H.-W. Hon, “Unified language model pre-training for natural language understanding and generation,” arXiv, 2019.

[19] Y. Sun, S. Wang, Y. Li, S. Feng, X. Chen, H. Zhang, X. Tian, D. Zhu, H. Tian, and H. Wu, “Ernie: Enhanced representation through knowledge integration,” arXiv, 2019.

[20]] Y. Sun, S. Wang, Y. Li, S. Feng, H. Tian, H. Wu, and H. Wang, “Ernie 2.0: A continual pre-training framework for language understanding,” in AAAI.

[21] S. Diao, J. Bai, Y. Song, T. Zhang, and Y. Wang, “ZEN: pre-training chinese text encoder enhanced by n-gram representations,” in EMNLP.

[22] H. Tsai, J. Riesa, M. Johnson, N. Arivazhagan, X. Li, and A. Archer, “Small and practical bert models for sequence labeling,” arXiv, 2019.

[23] J. Schulman, F. Wolski, P. Dhariwal, A. Radford, and O. Klimov, “Proximal policy optimization algorithms,” arXiv preprint arXiv:1707.06347, 2017.

[24] A. Glaese, N. McAleese, M. Tr˛ebacz, J. Aslanides, V. Firoiu, T. Ewalds, M. Rauh, L. Weidinger, M. Chadwick, P. Thacker, et al., “Improving alignment of dialogue agents via targeted human judgements,” arXiv preprint arXiv:2209.14375, 2022

[25] R. Ramamurthy, P. Ammanabrolu, K. Brantley, J. Hessel, R. Sifa, C. Bauckhage, H. Hajishirzi, and Y. Choi, “Is reinforcement learning (not) for natural language processing?: Benchmarks, baselines, and building blocks for natural language policy optimization,” arXiv preprint arXiv:2210.01241, 2022.

[26]  Ce Zhou,Qian Li,Chen Li,Jun Yu,Guanging Wang,Qiben Yan,er al.,“A Comprehensive Survey on Pretrained Foundation Models: A History from BERT to ChatGPT”,arXiv preprint arXiv:2302.09419,2023.

66e433bfc8611d29f7d8e11142c75a67.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/3351.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开箱即用的ChatGPT替代模型,还可训练自己数据

一、普遍关注是什么? OpenAI 是第一个在该领域取得重大进展的公司,并且使围绕其服务构建抽象变得更加容易。然而,便利性带来了集中化、通过中介的成本、数据隐私和版权问题。 而数据主权和治理是这些新的LLM服务提供商如何处理商业秘密或敏…

玩转#ChatGPT之“用Chat GPT 做出行攻略”

到了五一假期,许多人要规划旅游行程,但却为此烦恼花费很多时间做功课。现在,您可以通过Chat GPT来安排旅游行程。只需告诉GPT您的日期和目的地,便能在30秒内生成不错的行程攻略。同时您还可以添加特定条件,例如前几天想…

Geoffrey Hinton获得时间检验奖;AI预测世界杯荷兰夺冠;Galactica不靠谱,ChatGPT又如何……...

这一周,AI业界又有哪些新鲜事? AI人物 Geoffrey Hinton:Forward-Forward新型神经网络更接近大脑运作 近日,深度学习之父、图灵奖得主 Geoffrey Hinton 在 NeurIPS 2022 会议上发表演讲。之所以获得组委会的邀约,主要在…

使用chatgpt一分钟帮你实现思维导图

前言 本篇基础篇课程,实操起来很简单,但却非常的实用。利用好这个功能,工作效率或能提升10倍! 本篇内容的主题:利用ChatGPT,一分钟帮你实现详尽的思维导图。 创作内容大纲 格式转化 结合Xmind 创作内容…

领导催我优化SQL语句,我求助了ChatGPT。这是ChatGPT给出的建议,你们觉得靠谱吗

作为一个程序员,无论在面试还是工作中,优化SQL都是绕不过去的难题。 为啥?工作之后才会明白,随着公司的业务量增多,SQL的执行效率对程系统运行效率的影响逐渐增大,相对于改造代码,优化SQL语句是…

用ChatGPT去面试简直开挂

引语:大家好我们是权知星球,开启你独特的知识星际之旅 请注意!这个男人正在进行一场新员工面试。然而,他并不知晓,与他面对面坐着的那个人所作出的回答,全都是由人工智能所生成的! 面试官提出问…

EditText 实时显示输入的字数与最大输入限制长度

废话不多说了,带来一个简单的EditText,满足一般的需求。 c editText.addTextChangedListener(new TextWatcher() {//记录输入的文字private CharSequence wordNum;private int selectionStart;private int selectionEnd;Overridepublic void beforeTextC…

QQ日志最多添加几条HTML,信息字数超出限制 qq对话框里显示字数超出限制怎么办...

短信息有字数限制的,发送一条短信最多七十个字。 用户每次能接收和发送短信的字符数,是160个英文或数字字符,或者70个中文字符。 其实你每次发短信都是发到了SIM卡运营商那里,而后是有运营商转发给你要发送的人。 QQ信息显示超出字…

textarea 输入字数限制,并显示可输入字符

效果 相关HTML <html><head><title>测试</title><meta charset"utf-8"><script type"text/javascript" src"http://code.jquery.com/jquery-latest.js"></script> <script type"text/javasc…

EditText字数限制

参考&#xff1a;http://mingkg21.iteye.com/blog/480963 EditText可以在XML和代码中设置字数限制。。 在XML中&#xff1a; Xml代码 android:maxLength“50” 代码中&#xff1a; Java代码 editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(100)});…

EditText限制输入的字符数并弹出Toast提示字数已达上限

大家对EditText这个控件并不陌生&#xff0c;它是一个可供我们输入文本内容的输入框。前些日子需要实现这样一个需求&#xff1a;限制EditText中可以输入的最大字符数为6&#xff0c;达到6时&#xff0c;用户每按一次软键盘就弹出一个Toast提示用户&#xff0c;并且无法再输入内…

关于微信小程序textarea组件 输入字数 > 限制字数 的bug

bug形成条件&#xff1a;如下图&#xff0c;当你需要给textarea组件添加一个统计输入字数的功能时&#xff0c;如果在手机上通过复制粘贴达到最大限制字数&#xff0c;这时候继续使用手机上的小键盘输入内容&#xff0c;就会出现输入字数大于限制字数的bug&#xff0c;而多出来…

GPT4限制被破解!ChatGPT实现超长文本处理的新方法

目录 前言 使用chat-gpt过程中有哪些痛点 1.无法理解人类情感和主观性 2.上下文丢失 3.约定被打断 那如何去解决这个痛点 Transformer&#xff08;RMT&#xff09;怎么去实现的 1.Transformer 模型 2.RMT模型 3.计算推理速率 4.渐进学习能力 总结 写到最后 大家好…

微信小程序-textarea字数统计与限制

第一步&#xff1a;参考官方文档《textarea小程序》 textarea多行输入框。该组件是原生组件&#xff0c;使用时请注意相关限制。 用到的属性&#xff1a; 属性说明maxlength最大输入长度&#xff0c;设置为 -1 的时候不限制最大长度minlength最小输入长度bindinput当键盘输入…

写代码调 Bug,OpenAI 发布最强 AI 对话系统 ChatGPT!

整理 | 苏宓 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; GPT-3 发布的两年后&#xff0c;我们没等来它的亲弟弟 GPT-4&#xff0c;而是在今天亲眼见证了 OpenAI 带来了一种全新的 AI 聊天机器人——ChatGPT&#xff0c;也可以称之为是 GPT-3 家族里面的亲戚&a…

AI无法打败AI!ChatGPT检测器频繁冤枉无辜学生,竟有210万教师在用

【导读】被AI冤枉的你&#xff0c;还好吗&#xff1f; 当你被AI无辜扣上「作弊」的帽子&#xff0c;作何感想&#xff1f; 这件事恰恰发生在了一位高三学生Lucy Goetz身上。原本她写的一篇社会主义原创论文得了最高分。 但是&#xff0c;Turnitin公司的AI写作检测器竟说&…

如何在本地电脑上搭建AI人工智能绘画工具Stable Diffusion

目录 概述 操作环境 操作步骤 步骤一&#xff1a;安装Python。 步骤二&#xff1a;安装Git。 步骤三&#xff1a;使用git安装stable-diffusion-webui。 步骤四&#xff1a;下载面部重建插件GFPGAN。 步骤五&#xff1a;配置并运行webui-user.bat文件来自动安装所需文件。 步骤五…

AI能否识别出AI生成的内容?AI(ChatGPT)自己怎么说

关注了几天ChatGPT、New Bing等&#xff0c;我意识到将来我们所看的内容&#xff0c;必然有越来越高的比例都是AI生成的&#xff0c;而我们几乎无力分辨&#xff0c;但我有时候还是想分辨的&#xff0c;于是&#xff0c;我对如题的问题就特别好奇。 PS&#xff1a;已经有专注于…

让AI生成AI绘画提示词,OpenAI最新成果ChatGPT被网友玩坏了!还会写代码修bug作诗...

羿阁 发自 凹非寺量子位 | 公众号 QbitAI 一款新的聊天AI被网友们玩疯了。 能直接生成代码、会自动修复bug、在线问诊、模仿莎士比亚风格写作……各种话题都能hold住&#xff0c;它就是OpenAI刚刚推出的——ChatGPT。 有脑洞大开的网友甚至用它来设计游戏&#xff1a;先用ChatG…

关于AI和ChatGPT的使用,AI编程(AIGC),AI绘画(2)

AI绘画技术是指利用人工智能技术来创作、生成或修改图像、照片、插图、漫画等艺术品以及各种视觉效果。常见的AI绘画技术包括机器学习、深度学习和计算机视觉等领域的技术&#xff0c;通过训练神经网络模型来实现自动化地生成图像&#xff0c;其应用范围相当广泛&#xff0c;包…