Implementação simples do XLNET com Pytorch Wrapper!
$ git clone https://github.com/graykode/xlnet-Pytorch && cd xlnet-Pytorch
# To use Sentence Piece Tokenizer(pretrained-BERT Tokenizer)
$ pip install pytorch_pretrained_bert
$ python main.py --data ./data.txt --tokenizer bert-base-uncased
--seq_len 512 --reuse_len 256 --perm_size 256
--bi_data True --mask_alpha 6 --mask_beta 1
--num_predict 85 --mem_len 384 --num_epoch 100Além disso, você pode executar o código no Google Colab facilmente.

—data (String): .txt arquivo para treinar. Não importa texto multilina. Além disso, um arquivo será um tensor de lote. Padrão: data.txt
—tokenizer (String): Acabei de usar o Tokenizer do HuggingFace/Pytorch-Preserd-Bert como tokenizer de subglema (vou editá-lo para a peça de frase em breve). Você pode escolher em bert-base-uncased , bert-large-uncased bert-base-cased , bert-large-cased . PADRÃO: bert-base-uncased
—seq_len (número inteiro): comprimento da sequência. Padrão: 512
—reuse_len (interger): número de token que pode ser reutilizado como memória. Pode ser metade do seq_len . Padrão: 256
—perm_size (interger): a duração da permutação mais longa. Pode ser definido para ser reuse_len. Padrão: 256
--bi_data (booleano): se deve criar dados bidirecionais. Se bi_data for True , biz(batch size) deve ser o número par. Padrão: False
—mask_alpha (interger): quantos tokens para formar um grupo. Defalut: 6
—mask_beta (Inteiro): Quantos tokens para mascarar dentro de cada grupo. Padrão: 1
—num_predict (interger): NUM de tokens a serem previstos. No papel, significa previsão parcial. Padrão: 85
—mem_len (Interger): Número de etapas para armazenar em cache na arquitetura Transformer-XL. Padrão: 384
—num_epoch (interger): número de época. Padrão: 100
O XLNET é um novo método de aprendizado de representação de idiomas não supervisionado com base em um novo objetivo de modelagem de linguagem de permutação generalizada. Além disso, o XLNET emprega o transformador-xl como modelo de backbone, exibindo excelente desempenho para tarefas de idiomas envolvendo um longo contexto.
| Modelo | Mnli | Qnli | Qqp | Rte | SST-2 | Mrpc | Cola | STS-B |
|---|---|---|---|---|---|---|---|---|
| Bert | 86.6 | 92.3 | 91.3 | 70.4 | 93.2 | 88.0 | 60.6 | 90.0 |
| Xlnet | 89.8 | 93.9 | 91.8 | 83.8 | 95.6 | 89.2 | 63.6 | 91.8 |
Como o XLNET se beneficiou dos modelos de regressão automática e de codificação automática?


Modelagem de linguagem de permutação com previsão parcial
Modelagem de linguagem de permutação 
Previsão parcial 
ATAÇÃO DE TODOS OS ESTRAMENTOS COM REPRESENTAÇÃO ACREDADE
ATAÇÃO DE TODOS-STRAM

Representação com reconhecimento de destino
