预训练语言模型(PLMs)综述

2023-10-26

预训练语言模型(PLMs)

内容来自AACL 2022 Tutorial

https://d223302.github.io/AACL2022-Pretrain-Language-Model-Tutorial/

https://d223302.github.io/AACL2022-Pretrain-Language-Model-Tutorial/lecture_material/AACL_2022_tutorial_PLMs.pdf

预训练语言模型(PLMs)是在大规模语料库上以自监督方式进行预训练的语言模型。在过去的几年中,这些PLM从根本上改变了自然语言处理社区。传统的自监督预训练任务主要涉及恢复损坏的输入句子,或自回归语言建模。在对这些PLM进行预训练后,可以对下游任务进行微调。按照惯例,这些微调包括在PLM之上添加一个线性层,并在下游任务上训练整个模型;或将下游任务表述为句子补全任务,并以seq2seq的方式微调下游任务。在下游任务上对PLM进行微调通常会带来非凡的性能提升,这就是plm如此受欢迎的原因。

在本教程中,从两个角度提供广泛而全面的介绍:为什么这些PLM有效,以及如何在NLP任务中使用它们。

  • 第一部分对PLM进行了一些有见地的分析,部分解释了PLM出色的下游性能。其中一些结果帮助研究人员设计更好的预训练和微调方法
  • 第二部分首先关注如何将对比学习应用于PLM,以改进由PLM提取的表示,然后说明如何在不同情况下将这些PLM应用于下游任务。这些情况包括在数据稀缺的情况下对PLM进行微调,以及使用具有参数效率的PLM。

Part 1 Introduction

PLM + fine tune

Part 2 Why do PLMs work

2.1 Contextualized word respresentation

在这里插入图片描述

词向量表示方法,比如Word2Vec/Glove,BERT可以被视为一种先进的词向量表示方法,即上下文词向量表示(contextualized word respresentation),不仅仅包括:相似的token有相似的embedding表示(这在word2vec/Glove中已经实现了),还考虑了token的上下文信息,因此相同的词可能有不同的词向量表示。

2.2 BERTology - What does each layer learn?

在这里插入图片描述

2.3 BERT Embryology - What BERT learned during training?

2.4 When do you need billions of words of pretraining data

在这里插入图片描述

2.5 cross-discipline capability(跨学科能力)

2.6 Pre-training on Artificial Data

Part 3 How to Use PLMs: Contrastive learning for Pre-trained Language Models

Why Contrastive?(为什么需要对比学习)

想要在以下场景对词有一个比较好的表示:

  1. 相似的输入有相似的表示(positive pairs)
  2. 不相似的输入有不相似的表示(negative pairs)

在这里插入图片描述

在这里插入图片描述

3.1 Why we need sentence-level representation?

  • Provide as a backbone that can be useful on a variety of downstream sentence-level tasks(提供可用于各种下游句子级任务的主干)
  • Good generalization ability on tasks without much training data e.g. even linear probing can achieve good performance(良好的泛化能力,不需要大量的训练数据。即使是线性探测也能取得良好的性能)
  • Efficient sentence-level clustering or semantic search by innerproducts(基于内部产品的高效句子级聚类或语义搜索)
  • Measure similarities among sentence pairs(句子对间的度量相似性)
  • Unsupervised methods are more desirable in order to be applied to languages beyond English(非监督的方法是更可取的,以便应用英语以外的语言)

3.2 Pre-BERT methods

在这里插入图片描述

在这里插入图片描述

3.3 How to obtain sentence-level representations from BERTs

  • 不能简单地从token-level的表示中获得。

  • BERT表示空间中的各向异性问题(anisotropy problem):

    在这里插入图片描述

    • 表示退化(representation degeneration):学习的嵌入在向量空间中占据一个狭窄的圆锥;
    • 限制向量空间的表现力
  • BERT flow: 在这里插入图片描述

  • BERT-whitening

3.4 Cotrastive learning method

  • Designed positives —— DeCLUTR、ConSERT
  • Generating Positives
  • Bootstrapping Methods —— BYOL
  • Dropout Augmenttions —— SimCSE (Unsupervised)、Supervised SimCSE、mSimCSE
  • Equivariant Contrastive Learning
  • Prompting
  • Ranking-based Methods —— RankEncoder

3.5 conlusion

  • Contrastive learning should have more potential in NLP for using pre-trained language models in representation learning!

Part 4 How to Use PLMs: Parameter-efficient fine-tuning

  • Problem: PLMs are gigantic (in terms of numbers of parameters, model size, and the storage needed to store the model)

  • Solution: Reduce the number of parameters by parameter-efficient fine-tuning

    在这里插入图片描述
    在这里插入图片描述

一个标准的fine-tuning实际执行的操作?-> 更改PLM的隐藏层表示以使得它能够在下游任务更好地表现。在这里插入图片描述

4.1 Adapter

在这里插入图片描述

  • Adapter:一个被嵌入transformer的小的可训练子模块

    在这里插入图片描述

    在这里插入图片描述

  • 在fine-tuning期间,仅更新adapters与classifier head的参数。

  • 通过采用adapter结构,所有下游任务共享PLM参数,每层的adapters以及classifier heads则是特定任务的模块。

4.2 LoRA

在这里插入图片描述

  • LoRA: Low-Rank Adaptation of Large Language Models

    • 平行地插入transformer的feed-forward层,也可以插入multi-head attention层

    在这里插入图片描述

    • 考虑LoRA平行地插入feed-forward层的情况:在这里插入图片描述

在这里插入图片描述

  • 通过采用LoRA结构,所有下游任务共享PLM参数,每层的LoRA以及classifier heads则是特定任务的模块

4.3 Prefix tuning

在这里插入图片描述

  • Prefix Tuning: 在每层之前插入可训练前缀

在这里插入图片描述

  • 标准的self-attention结构:在这里插入图片描述

  • 加上prefix后的self-attention结构:

    在这里插入图片描述

  • Only the prefix (key and value) are updated during finetuning

4.4 (Soft) Prompt tuning

  • Soft Prompting:在输入层预先嵌入前缀

在这里插入图片描述
在这里插入图片描述

  • 如何确定软提示嵌入的长度?

    • 提示长度必须足够长
    • 当提示长度足够长时,增加提示长度会减少性能增益
  • 如何初始化软提示嵌入?

    • 随机初始化
    • 从前5000个高频词的词嵌入中采样
    • 采用下游任务的类别标签

4.5 summary

  • 优势1:大幅度减少特定任务的参数在这里插入图片描述

  • 优势2:训练数据不容易过拟合;更好的域外性能在这里插入图片描述

  • 优势3:需要微调的参数更少,使它们在小数据集训练时更有优势在这里插入图片描述

  • 应该使用哪种parameter-efficient fine-tuning 策略?

在这里插入图片描述

Part 5 How to Use PLMs: Using PLMs with different amounts of data

  • 目标:fine-tune一个PLM以适配下游任务
    • 习惯上,我们假设我们有足够的对应目标任务的有标签数据
    • 有时,我们可能有额外的用于其他任务的有标签数据(是否可以用于当前任务的训练呢?)
    • 有时,用于目标任务的有标签数据很稀缺
    • 有时,我们只有少量用于目标任务的有标签数据,还有与当前任务有关的无标签数据
    • 有时,我们没有任何用于当前任务的有标签数据
  • 对于不同大小规模的数据,应该怎么使用PLM?
    • Target task dataset (labeled)
    • Datasets of other tasks (labeled)
    • Data related to target task (Unlabeled)

5.1 Intermediate-task fine-tuning: using labeled data from other tasks

在这里插入图片描述

  • What kind of intermediate tasks can help target task?

在这里插入图片描述

在这里插入图片描述

  • Same type of tasks is the most beneficial

    • 当对整个模型进行微调时,将为每个中间任务提供一个全尺寸模型

    • 当使用soft prompt tuning进行微调时,只需要transfer软提示嵌入,而不是一整个模型——Soft Prompt Transfer (SPoT)

      • Soft Prompt Transfer (SPoT):任务的软提示符可以用作该任务的任务嵌入

      • Soft Prompt Transfer (SPoT):给定一个新任务,我们可以先只使用该新任务进行训练,然后找到一个任务嵌入与新任务的任务嵌入最相似的间接任务,并使用它进行转移。

        在这里插入图片描述

        在这里插入图片描述

5.1.1 Multi-task fine-tuning: 5-1.1: using labeled data from other tasks

在这里插入图片描述

5.1.2 Prompt tuning for few-shot learning
  • 标准的fine-tuning通常假设有大量的有标签训练数据

  • 数据稀缺在处理下游任务时是很常见的

  • Few-shot learning:有一些(less than a hundred)有标签训练数据

  • 通过将数据集中的数据点转换为自然语言提示(natural language prompts),模型可能更容易知道它应该做什么

在这里插入图片描述

  • prompt tuning中需要什么?

    在这里插入图片描述

    • A prompt template: 将数据点转换为自然语言提示

      在这里插入图片描述

    • A PLM: 执行语言建模

      在这里插入图片描述

    • A Verbalizer:标签与词汇的映射

      在这里插入图片描述

  • 提示微调(prompt tuning)与标准微调(standard fine-tuning)的区别

    在这里插入图片描述

    • input format不同:

      prompt tuning: natural language prompt with a mask token to fill in.

      standard fine-tuning: simply combining sentences with a separator token

    • prompt tuning: simply use the language model head and the verbalizer to predict the class of the downstream task.

      standard fine-tuning: initialize a new classifier head for fine-tuning

    在数据稀缺的情况下prompt tuning表现更好:<在这里插入图片描述

    • 引入了人类知识,且没有引入额外的参数。
  • 如何选择verbalizer?

    • 人工设计:需要特定任务的知识

    在这里插入图片描述

    • Prototypical verbalizer:使用可学习的原型向量去表示一个类,而不是使用词汇表中的词汇

      在这里插入图片描述

      • I. 获得instance representation

      在这里插入图片描述

      • II. 通过对比学习(contrastive learning)获得learnable prototypr vector

        • ①instance-instance contrastive

          在这里插入图片描述

        • ②instance-prototype contrastive

          在这里插入图片描述

      • III. 执行推断:找出与测试数据的instance representation 最相近的prototype

        在这里插入图片描述

      • 方法对比:

        在这里插入图片描述

        • 人工设计verbalizer在大多数情况下是最优的,但是这依赖于特定任务领域的知识
        • Prototypical verbalizer 不依赖于特定任务领域的知识,但是即使在一个类别仅有一个label的情况下也有较好的表现
  • LM-BFF: better few-shot fine-tuning of language models

    • 核心:prompt + demonstration

      • standard prompt tuning:

        在这里插入图片描述

      • prompt + demonstration:

      在这里插入图片描述

    • Demonstrations can improve the performance of prompt tuning and makes the variance smaller

      在这里插入图片描述

  • prompting vs. probing

    • “提示”的概念在最近的NLP社区中首次用于探究(probing)PLM的事实知识
    • probing是探索PLM中编码了哪些知识的过程,PLMs通常在probing期间被固定
    • Prompting通常使用自然语言去询问PLM,PLM在prompting期间可以被微调
    • prompting与probing的目的不同

5.2 Semi-supervised learning with PLMs

  • Semi-Supervised learning(半监督学习):有少量的带标签数据以及大量的无标签数据

  • 核心思想:使用带标签数据训练一个好的模型,然后使用训练后的模型为无标签数据打标签(pseudo-label)。

  • 方法1:Pattern-Exploiting Training (PET) ,步骤:

    1. Use different prompts and verbalizer to prompt-tune different PLMs on the labeled dataset

    2. Predict the unlabeled dataset and combine the predictions from different models

      在这里插入图片描述

    3. Use a PLM with classifier head to train on the soft-labeled data set

      在这里插入图片描述

  • 方法2:Self-Training with Task Augmentation (STraTA)

    • Self-training:使用模型在无标签数据集上的预测作为伪标签
    • 如何初始化模型对于最终性能是至关重要的

    在这里插入图片描述

    ​ teacher model:为无标签数据打标签的模型

    ​ student model:使用带标签数据与伪标签数据训练得到的模型

    • Task augmentation:使用无标签数据生成一个NLI数据集,然后将NLI数据集作为intermediate task进行微调,获得基础模型。

      在这里插入图片描述

    步骤:

    1. Train an NLI data generator using another labeled NLI dataset using a generative language model (训练一个NLI数据生成器)

      在这里插入图片描述

    2. Use the trained data generator to generate NLI dataset using the in-domain unlabeled data (使用训练得到的数据生成器,结合无标签数据生成NLI数据集)

      在这里插入图片描述

    3. Use the generated in-domain NLI dataset to fine-tune an NLI model. The finetuned model is used to initialize the teacher model and student model in self-training (使用生成的NLI数据集去微调NLI模型,微调得到的模型用于初始化teacher模型与student模型)

      在这里插入图片描述

5.3 Zero-shot learning

  • Zero-shot inference:不使用任何训练数据去推断下游任务。
  • GPT-3 shows that zero-shot (with task description) is possible
  • zero-shot的能力从何而来?
    • 假设:在预训练期间,训练数据集隐含地包含不同任务的混合
    • 假设:多任务训练实现了zero-shot泛化

Conclusion and Future work

6.1 Conclusion

  • Researchers have studied why PLMs are useful from many aspects
  • Contrastive learning is a powerful method to obtain high quality sentence embedding in an unsupervised way
  • Parameter-efficient fine-tuning can achieve comparable performance to full-model fine-tuning
  • PLMs can be used in with different amount of labeled and unlabeled datasets, and incorporating human knowledge is very critical the performance

6.2 Future work

  • Why PLMs work is not completely answered yet, including the mathematical theory / learning theory behind the PLMs (为什么PLMs的工作还没有完全地解决,包括其背后的数学理论/学习理论)
  • How can we create better negative and positive samples for contrastive learning in an unsupervised way (我们如何在无监督的情况下为对比学习创造更好的负样本和正样本)
  • How can we combine parameter-efficient fine-tuning methods with other methods (pruning, compression, quantization) to further reduce the parameters?(我们如何将参数高效微调方法与其他方法(剪枝、压缩、量化)结合起来进一步减少参数?)
  • How does those few-shot learning methods perform domain-specific datasets? (那些few-shot学习方法怎么在特定领域的数据集上执行)
  • How trust-worthy are the prediction of PLMs, especially in few-shot and zero-shot? (PLMs的预测可行度如何,尤其在few-shot和zero-shot领域)
  • Why is the variance between different prompts very large for certain tasks? Does this imply the PLM fail to understand human language?(为什么在某些任务中不同提示之间的差异非常大?这是否意味着PLM无法理解人类语言?)
  • How do we continuously adapt PLMs to different domain and datasets from different time? (我们如何不断地使PLMs适应不同时间的不同领域和数据集?)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

预训练语言模型(PLMs)综述 的相关文章

  • 如何格式化字符串以在 Python 中使用 mysqldb 进行查询?

    我该如何正确执行此操作 我想做这样的查询 query SELECT FROM sometable order by s s limit s s conn app globals pool connection cur conn cursor
  • 龙卷风网络和线程

    我是 Tornado 和 Python 线程的新手 我想要实现的目标如下 我有一个龙卷风网络服务器 它接受用户的请求 我想在本地存储一些数据 并定期将其作为批量插入写入数据库 import tornado ioloop import tor
  • 如何让服务器监听多个端口

    我想用同一台服务器监听 100 个不同的 TCP 端口 这是我目前正在做的事情 import socket import select def main server socket socket socket socket AF INET
  • 使用 numba 计算向量和矩阵中的行之间的余弦相似度

    找到了这个gist https gist github com FedericoV 0e7d6d8c8794a99a7a42使用 numba 快速计算余弦相似度 import numba numba jit target cpu nopyt
  • 用户在对话框中输入

    python 中是否有任何库可用于图形用户输入 我知道关于tk但我相信需要一些代码才能做到这一点 我正在寻找最短的解决方案 a input Enter your string here 取而代之的是 我想要一个对话框 以便用户可以在那里输入
  • 计算5个城市之间的地理距离以及每个城市所有可能的组合

    所以我有一个 csv 文件 其中包含 3 列 城市 纬度 经度 我已经使用此代码从这个 csv 文件在 python 中创建了一个数据框 data pd read csv lat long csv nrows 10 Lat data lat
  • 如何模拟嵌套函数?

    我想模拟特定函数中的一些嵌套函数 tools py def cpu count def get cpu quota return int load sys fs cgroup cpu cpu cfs quota us def get cpu
  • Python 3 urllib 与请求性能

    我正在使用 python 3 5 并且正在检查 urllib 模块与 requests 模块的性能 我用 python 编写了两个客户端 第一个使用 urllib 模块 第二个使用 request 模块 它们都生成二进制数据 我将其发送到基
  • 如何从 __subclasses__ 中删除类?

    当从类继承时 子类可以通过父类访问 subclasses method class BaseClass pass class SubClass BaseClass pass BaseClass subclasses
  • Google CoLab 中的 Python 3 支持

    我一直在尝试使用 Jupyter 笔记本https colab research google com https colab research google com 并且默认情况下它们似乎运行 Python 2 7 有什么方法可以在 Co
  • 如何禁用Excel自动识别数字和文本

    我使用 Python 生成了 CSV 文件 但是当我在Excel中打开它时 如果可以转换 Excel会自动将字符串识别为数字 e g 33E105变成33 10 105 这实际上是一个ID 而不是一个数字 如何在打开 CSV 文件时在 Ex
  • 将字符串作为有序字典导入

    我有一个没有扩展名的文件 其中包含这样的行 忽略行之间的间距 但每一行都是单独的行 OrderedDict key1 u value1 key2 value2 OrderedDict key1 u value1 key2 value2 Or
  • Python elasticsearch DSL 聚合/每个文档嵌套值的度量

    我试图找到 2 级嵌套中的最小值 每个文档单独的最小值 到目前为止 我能够进行聚合 计算搜索结果中所有嵌套值的最小值 但无需按文档进行分隔 我的示例架构 class MyExample DocType myexample id Intege
  • 如何更新 certifi 的根证书?

    我正在使用 certifi python 模块来验证 ssl 连接 我查看了 certifi python2 7 site packages certifi cacert pem 中包含的根证书 其中一些证书已过期 我如何更新这些证书 我尝
  • python中根据变量类型处理数据子集

    我将以下数据存储在 csv df sample csv 中 我将列名放在名为 cols list 的列表中 df 数据 样本 df data sample pd DataFrame new video BASE SHIVER PREFER
  • Linux 中如何确定哪个进程正在使用某个端口

    我目前正在其默认端口上运行 RethinkDB 因为如果我将浏览器指向localhost 8080我看到 RethinkDB Web 界面 我想关闭 RethinkDB 并使用以下命令在另一个端口上重新打开它 port offset争论 然
  • 使用scrapy到json文件只得到一行输出

    好吧 我对一般编程很陌生 并且具体使用 Scrapy 来实现此目的 我编写了一个爬虫来从 pinterest com 上的 pin 获取数据 问题是我以前从我正在抓取的页面上的所有引脚获取数据 但现在我只获取第一个引脚的数据 我认为问题出在
  • 连接字符串:两个字符串列表的“乘法”[重复]

    这个问题在这里已经有答案了 对于字符串列表 将乘法运算定义为连接 l1 aa bb cc l2 11 22 l3 l1 op l2 预期输出 l3 aa11 aa22 bb11 bb22 cc11 cc22 我们可以简单地使用 for l
  • pytest - ModuleNotFoundError - python 3.6.4

    我有一个具有以下布局的项目 MANIFEST in README md init py company init py api init py auth py debug py exceptions py reporting py rest
  • 使用 NaN 获取 pandas 系列模式的最快方法

    我需要找到 pandas groupby 对象或单个系列的模式 最常见元素 为此我有以下函数 def get most common srs from collections import Counter import numpy as n

随机推荐

  • 2011年终总结-DIY 苹果手机铃声

    一首 月亮之上 红遍中国南北 只要这铃声响起 100个人得有10个人掏出手机看看 当之无愧的山寨歌王 当IPhone变成街机 出厂铃声数量不多 铃声总是撞车 DIY个性铃声很有必要的 只要不选择 月亮之上 就没问题 IPhone设置铃声的方
  • IDEA 打war包部署时子模块jar包没依赖上

    使用IDEA在tomcat中部署maven多模块时出现的一个莫名的bug 首先在server中打印下 可以看见 context startup failed due to previous error see server log for
  • <Python>PyQt5,多窗口之间参数传递和函数调用

    PyQt5的多窗口之间参数如何传递 函数如何调用 之前在学习PyQt5的过程中 试着自己编写一个音乐播放器 基本功能实现后 希望添加一个独立的播放列表 然后实现播放列表和播放主界面之间的函数调用 双击播放列表的歌曲 主窗口播放歌曲 这虽然是
  • 数据库应用:MySQL高级语句(三)存储过程

    目录 一 理论 1 存储过程 2 存储过程操作 3 存储过程的参数 4 存储过程的控制语句 二 实验 1 创建和调用存储过程 编辑 编辑 2 存储过程的参数 3 存储过程的控制语句 三 总结 一 理论 1 存储过程 1 概念 存储过程是一组
  • Android 删除文件

    删除文件 代码逻辑实现 一 首先是将数据给 查 出来 二 删除操作 一 删除系统数据库表对应的索引 二 删除成功后需要更新MediaStore 不然下次查出来的数据有发现怎么删除了的还在 三 根据个人需求 重新查一遍数据 更新数据列表 注意
  • matlab向量生成和运算

    向量的生成 1 直接输入 a 1 2 3 4 2 冒号运算符 3 从矩阵中抽取行或者列 4 线性等分法 利用元素间的等差值来实现 利用函数的形式来实现的 语法格式如下 向量名 linespace 第一个元素数值 最后一个元素数值 向量位数
  • Java架构师之旅(二十九 附录《MyBatis3 用户指南》中文版)

    夜光序言 岁月波光粼粼 赋予爱与生命 唯有生活不能被他人代替 只会有寂寞相随 正文 MyBatis 3 2010 08 01 翻译的一个版本 虽难比较老了 但是有一些基础还是值得学习 毕竟是中文版 Contents MyBatis是什么 6
  • SpringBoot项目启动后执行指定方法的四种实现

    今日的好天气 文章目录 方式一 方法上添加注解 PostConstruct 1 定义 2 PostConstruct和 Autowired 构造函数的执行顺序 3 PostConstruct使用时注意事项 4 几点建议 方式二 实现Comm
  • 深度学习03-卷积神经网络(CNN)

    简介 CNN 即卷积神经网络 Convolutional Neural Network 是一种常用于图像和视频处理的深度学习模型 与传统神经网络相比 CNN 有着更好的处理图像和序列数据的能力 因为它能够自动学习图像中的特征 并提取出最有用
  • Java RSA加密解密及签名验证

    一 简介 RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥 在公开密钥密码体制中 加密密钥 即公开密钥 PK是公开信息 而解密密钥 即秘密密钥 SK是需要保密的 加密算法E和解密算法D也都是公开的 虽然解密密钥SK是由公开密钥PK决
  • opengl的纹理过滤

    和纹理映射相关的另一个重要概念是 过滤 我们已经讨论了怎样将纹理坐标 这是个0到1之间的分数 映射到纹素上 纹理贴图中纹素的坐标总是以整数定义的 但是如果纹理坐标映射到纹素上的坐标为 152 34 745 14 怎么办 不明智的方案是将这个
  • css的三种引入方式

    目录 三种引入方式 1 行内样式 2 内部样式 内嵌式 3 外部样式 3 1外链式 3 2导入式 引入方式的优先级 三种引入方式 1 行内样式 行内样式就是直接把css样式添加在HTML标签中 作为style样式的属性值
  • DDR4 设计概述以及分析仿真案例(硬件学习)

    转载 DDR4 设计概述以及分析仿真案例 硬件设计讨论 EDA365电子论坛网 引言 随着计算机 服务器的性能需求越来越高 DDR4开始应用在一些高端设计中 然而目前关于DDR4的资料非常少 尤其是针对SI 信号完整性 部分以及相关中文资料
  • ODBC 各种数据库连接串

    Overview Generally one of the first steps when you are trying to work with databases is open it You can find several typ
  • 查看及配置交换机管理地址

    查看及配置交换机管理地址 问题 交换机是目前用于组建局域网的主要设备 交换机根据MAC地址表实现数据帧的转发 通过查看MAC地址表更加有利于交换机工作原理的理解 通过查看CISCO设备邻居信息来了解网络拓扑 通过telnet方式远程访问 配
  • Selenium+python之隐藏浏览器的“Chrome正在受到自动软件的控制“提示语

    在执行测试用例 细心的人都会发现 浏览器的title部分 有一句提示语 Chrome正在受到自动软件的控制 那么 能不能去掉这句提示语呢 也是没问题的 同样的 使用 headless 在浏览器中加入 disable infobars 这个参
  • pyecharts学习小总结——Bar(柱状图)、Pie(饼图)、Line(线图)、Page(页面组件)、Tab(分页组件)、Grid(组合组件)

    目录 pyecharts常用模块总结 Bar 柱状图 1 旋转x轴标签 2 添加工具箱 3 柱状图与折线图混合 4 标注x轴名称 5 设置垂直的一天时间线 6 旋转x和y轴 Pie 饼图 1 设置位置和半径大小 Line 线图 1 设置平滑
  • pip install scipy时发生zipfile.BadZipFile: File is not a zip file解决办法

    应该是下载时发生了丢包 我在官网下载时 只有14M 切换到豆瓣源有30M 附上地址 https pypi doubanio com simple scipy
  • java程序移植_java JDBC 提高程序可移植性

    介绍jdbc一般的程序 程序编程相关 jb oracle weblogic c 很多java初学者在开始接触jdbc编程的时候 在网上与大部分的教材上都是这样 推荐阅读 Java线程入门 什么是线程 import java sql 扩展信息
  • 预训练语言模型(PLMs)综述

    预训练语言模型 PLMs 内容来自AACL 2022 Tutorial https d223302 github io AACL2022 Pretrain Language Model Tutorial https d223302 gith