ISI-transformers/transformers.ipynb

37 KiB

bpe

pip install tokenizers

from tokenizers import Tokenizer, models, trainers
from tokenizers.trainers import BpeTrainer
tokenizer = Tokenizer(models.BPE())
trainer = trainers.BpeTrainer(vocab_size=20000, min_frequency=2)
tokenizer.train(files = ['/home/kuba/Syncthing/przedmioty/2020-02/ISI/zajecia9_ngramowy_model_jDDezykowy/pan-tadeusz-train.txt'], trainer = trainer)
output = tokenizer.encode("Nie śpiewają piosenek: pracują leniwo,")
output.ids
[236, 2255, 2069, 3898, 9908, 14, 8675, 8319, 191, 7]
output.tokens
['Nie', ' śpie', 'wają', ' pios', 'enek', ':', ' pracują', ' leni', 'wo', ',']
tokenizer.save("./my-bpe.tokenizer.json", pretty=True)

ZADANIE

stworzyć BPE tokenizer na podstawie https://git.wmi.amu.edu.pl/kubapok/lalka-lm/src/branch/master/train/train.tsv i stworzyć stokenizowaną listę: https://git.wmi.amu.edu.pl/kubapok/lalka-lm/src/branch/master/test-A/in.tsv

wybrać vocab_size = 8k, uwzględnić dodatkowe tokeny: BOS oraz EOS i wpleść je do zbioru testowego

transformery

# pip install transformers
import torch
from transformers import pipeline, set_seed
from transformers import RobertaTokenizer, RobertaModel
tokenizer = RobertaTokenizer.from_pretrained('roberta-base')
model = RobertaModel.from_pretrained('roberta-base')
text = "Replace me by any text you'd like. Bla Bla"
encoded_input = tokenizer(text, return_tensors='pt')
encoded_input['input_ids']
tensor([[   0, 9064, 6406,  162,   30,  143, 2788,   47, 1017,  101,    4, 2091,
          102, 2091,  102,    2]])
encoded_input['input_ids']
tensor([[   0, 9064, 6406,  162,   30,  143, 2788,   47, 1017,  101,    4, 2091,
          102, 2091,  102,    2]])
tokenizer.decode([162])
' me'
output = model(**encoded_input)
output
BaseModelOutputWithPoolingAndCrossAttentions(last_hidden_state=tensor([[[-4.4858e-02,  8.6642e-02, -7.2129e-03,  ..., -4.6295e-02,
          -3.9316e-02,  4.5264e-04],
         [-6.0603e-02,  1.5684e-01,  4.3705e-02,  ...,  5.3485e-01,
           8.4371e-02,  1.4826e-01],
         [-2.3786e-02, -1.2086e-02,  7.8233e-02,  ..., -4.9132e-01,
           1.2500e-01,  3.3293e-01],
         ...,
         [ 6.7192e-02,  2.4028e-01, -2.9984e-01,  ...,  2.1992e-01,
           1.9186e-02,  1.5355e-01],
         [ 1.7611e-01,  1.4001e-01, -1.3774e-01,  ..., -5.0379e-01,
           7.3958e-02,  3.7870e-02],
         [-3.4405e-02,  8.7648e-02, -3.9429e-02,  ..., -9.1916e-02,
          -3.5529e-02, -2.6777e-02]]], grad_fn=<NativeLayerNormBackward>), pooler_output=tensor([[ 5.1994e-03, -2.1290e-01, -2.2585e-01, -9.3315e-02,  1.1761e-01,
          1.9024e-01,  2.4873e-01, -8.1097e-02, -4.4050e-02, -1.6596e-01,
          2.1572e-01, -8.3736e-03, -7.7416e-02,  8.2714e-02, -1.2487e-01,
          4.8405e-01,  2.1145e-01, -4.4653e-01,  4.1008e-02, -1.2578e-02,
         -2.5560e-01,  7.3874e-02,  4.6924e-01,  3.2284e-01,  1.2382e-01,
          6.3117e-02, -1.2633e-01, -1.3542e-02,  1.6195e-01,  2.1738e-01,
          2.8682e-01,  6.2675e-02,  8.5778e-02,  2.3686e-01, -2.5219e-01,
          4.3382e-02, -3.0992e-01,  4.0551e-02,  2.3078e-01, -1.8763e-01,
         -7.2084e-02,  1.5847e-01,  2.0228e-01, -1.2756e-01, -1.1429e-01,
          3.9603e-01,  2.6018e-01,  2.9297e-02, -1.2162e-01, -8.2051e-02,
         -3.5665e-01,  3.4722e-01,  2.8292e-01,  1.9929e-01, -1.4734e-02,
          4.8892e-02, -1.4596e-01,  2.5527e-01, -7.5540e-02, -8.7507e-02,
         -1.2164e-01, -2.0039e-01, -7.1405e-03, -5.9407e-02,  4.1914e-02,
         -1.3208e-01,  6.8612e-02, -1.4154e-01, -1.1040e-01,  5.3550e-02,
         -7.3125e-02,  1.6401e-01,  1.6232e-01, -3.0164e-01, -2.8429e-01,
          5.9359e-02, -5.7466e-01, -9.3444e-02,  3.1263e-01,  4.3317e-01,
         -1.0505e-01,  2.0451e-01,  3.2512e-02,  2.0723e-01, -2.0692e-02,
         -7.1687e-02, -4.7481e-02, -9.9879e-02,  1.8269e-01,  2.6383e-01,
         -1.8467e-01, -3.7178e-01,  7.7521e-02,  2.5127e-02, -1.0401e-01,
          3.6107e-03, -2.1520e-02, -8.3309e-02, -1.6115e-01, -1.6062e-01,
          4.8140e-02, -2.4970e-01, -1.4153e-01,  2.7024e-01, -3.3932e-02,
         -2.0374e-01, -2.1484e-02,  2.9751e-01,  7.9157e-02, -1.1653e-01,
         -1.9188e-01,  4.2722e-01,  2.7925e-01,  2.1393e-03, -1.2266e-02,
          1.6474e-01,  1.5236e-01, -2.8896e-01,  4.2948e-01, -3.1129e-01,
         -8.3017e-03, -1.2746e-01,  9.3701e-02,  1.3876e-01, -2.2297e-01,
          2.7802e-01,  1.4876e-01,  2.7402e-01,  1.8048e-01,  1.0370e-01,
         -1.9344e-02,  1.5151e-01, -1.0991e-01,  1.4710e-01,  2.1547e-01,
          1.1827e-01, -3.4855e-03, -3.2536e-01, -2.0146e-01,  2.6933e-01,
          3.2889e-01,  1.6086e-01, -4.0214e-02,  1.7948e-01,  9.3386e-02,
          2.3509e-01,  1.3713e-01, -3.9689e-01,  2.7102e-02,  3.2785e-01,
          9.5205e-02,  1.6616e-01, -8.5767e-02, -2.9547e-01, -2.5672e-01,
         -9.8167e-02,  4.9819e-02, -3.1859e-01, -1.0416e-01,  3.6841e-01,
          3.9702e-02,  1.0092e-02, -1.5538e-01, -2.3540e-01, -3.1184e-02,
         -1.0212e-01,  2.2566e-02,  8.2764e-02, -8.8543e-02, -4.3323e-01,
         -9.3633e-02, -5.2647e-01, -1.1645e-01,  1.9042e-01, -3.2305e-01,
          2.3381e-01, -2.9311e-01,  9.7979e-02,  3.9168e-01,  4.9259e-02,
         -1.4776e-03, -1.9380e-01, -2.3509e-02,  1.1105e-01,  3.2593e-01,
          2.3894e-01, -4.0230e-01,  1.0931e-01,  1.4188e-01,  2.5775e-01,
          1.4593e-01, -6.1273e-02, -1.1612e-01,  1.5098e-01, -2.0754e-01,
          1.7434e-01, -2.2652e-01,  1.8130e-01, -2.4506e-01, -2.1763e-01,
          2.7327e-01, -4.0463e-01, -3.2816e-02,  8.4527e-02,  2.6249e-01,
          5.3814e-03, -3.7149e-02, -8.5346e-02,  1.2447e-01,  1.6730e-01,
          1.2632e-01, -3.9535e-01,  2.6029e-01, -2.7662e-02, -1.0249e-02,
         -3.3478e-02,  1.7810e-01,  2.5045e-01,  8.5239e-02, -3.8860e-01,
         -1.2383e-01,  1.0050e-01,  2.8403e-01, -2.3275e-01,  1.4317e-01,
         -2.5891e-01, -3.7882e-01, -1.4209e-01,  2.0352e-01,  2.2653e-01,
          1.7335e-01, -2.7438e-01,  1.6319e-01, -1.0932e-01, -4.1693e-01,
         -3.6249e-01, -1.0035e-01,  2.3360e-01,  1.6881e-01,  1.8671e-01,
          2.4667e-01,  3.3260e-02,  1.0321e-01,  1.5088e-01,  1.4948e-01,
         -1.4621e-01,  1.5615e-01, -3.4600e-01, -4.0963e-02, -2.5380e-01,
         -1.9230e-01, -2.1718e-01,  3.9236e-01, -2.2989e-01,  2.3594e-01,
          3.7562e-01, -3.1114e-01, -1.2649e-01,  1.6051e-01,  1.0577e-01,
          8.3363e-02, -1.2593e-01,  2.0584e-01,  1.4127e-01, -1.0632e-01,
          2.3048e-01, -9.1782e-03,  2.4953e-01,  1.7332e-01,  8.9003e-02,
          1.5702e-01,  1.1363e-01, -1.4771e-01,  3.8719e-02,  3.1532e-03,
         -1.9275e-02, -2.3103e-01, -1.4421e-01,  2.3575e-01, -5.3696e-02,
          3.7994e-02, -1.6641e-01, -1.1399e-01,  1.1890e-02,  3.9652e-01,
         -3.6048e-01,  2.4448e-01,  7.5291e-02,  1.5195e-01, -2.2864e-01,
         -2.1031e-01,  8.9896e-02,  1.6992e-01, -3.9863e-01,  1.7435e-03,
          1.6546e-01,  1.0483e-01,  2.1218e-01,  2.8159e-01, -5.0768e-05,
         -9.4031e-02,  4.9128e-01, -1.6932e-01, -1.2761e-01,  2.5249e-01,
         -2.7310e-01, -2.7744e-01,  2.4945e-01, -2.9252e-02,  3.0148e-01,
          1.1743e-01,  3.8095e-02,  6.4731e-02, -6.0554e-01,  6.6722e-02,
         -4.5959e-01, -8.5795e-03,  3.6827e-02, -7.1025e-02, -2.0848e-01,
          1.4228e-01,  2.9630e-01, -2.4077e-01, -4.3098e-02,  2.2334e-01,
          8.4614e-02, -1.2553e-01,  4.8810e-01,  1.4035e-03,  2.0182e-01,
         -6.3799e-02,  2.4192e-01, -2.0799e-01,  2.6687e-01, -2.7694e-01,
         -9.9754e-02,  4.7169e-03,  8.3846e-02,  4.5165e-02, -5.9169e-02,
         -3.5243e-01,  2.2125e-01, -1.9798e-02, -5.7139e-02, -4.0613e-02,
          9.3967e-02, -1.7488e-02,  6.2663e-02,  5.2265e-02,  3.4857e-01,
          2.2626e-01, -2.6472e-02, -3.7240e-01, -1.1370e-02, -9.6964e-02,
          5.6610e-02,  2.6788e-02, -2.4786e-02,  4.3236e-01, -7.6491e-02,
          5.2428e-03, -1.4826e-01,  2.6029e-01,  1.8327e-01,  1.2439e-01,
          1.3042e-01,  6.1801e-02,  1.3667e-01, -6.7373e-02, -1.2048e-02,
         -1.4603e-01, -2.2505e-01, -2.9760e-01,  2.0056e-01, -2.2011e-01,
         -1.8115e-01,  1.4262e-01,  2.1523e-01, -1.3893e-01,  1.4466e-01,
          2.9357e-01,  1.2101e-01, -1.4499e-01,  2.6571e-01, -1.0101e-01,
          1.1599e-01,  2.9781e-01, -2.0156e-02,  2.0140e-01,  5.0007e-01,
          2.1717e-01, -3.5394e-01, -1.6840e-02, -2.2424e-01,  1.1153e-02,
          2.4465e-01, -1.5139e-01,  1.9410e-01,  3.8725e-01,  2.9424e-01,
          4.2920e-01, -7.3521e-03, -1.1083e-01,  9.0861e-02,  2.2493e-01,
          2.7805e-02, -1.5957e-01, -1.9878e-01,  2.5621e-01,  6.2884e-02,
         -1.5698e-01, -1.3003e-02, -1.1539e-01,  2.8383e-02, -1.2329e-01,
         -3.8461e-01,  3.5215e-02,  1.8146e-01, -4.7366e-01,  7.3029e-02,
         -2.9380e-01,  4.3577e-02, -2.3151e-01,  2.0148e-01, -2.2549e-01,
         -1.0662e-01,  3.9916e-01, -7.4222e-02,  4.3181e-02, -1.7905e-01,
         -1.3722e-01,  2.4749e-02,  7.4731e-03, -1.4543e-02, -4.1486e-03,
          3.3529e-01, -1.2101e-01,  3.6759e-02,  3.6844e-02,  1.9582e-01,
         -5.1381e-02,  2.0516e-01,  3.1175e-02, -1.4019e-01, -4.0386e-01,
          1.4271e-01, -1.8793e-01, -4.2023e-01, -3.6638e-01,  3.6652e-01,
         -1.3753e-01, -2.5359e-01, -2.0423e-01, -2.4466e-01,  8.1067e-02,
          1.6987e-01,  4.7120e-01, -3.9858e-01, -6.8325e-02,  4.7077e-01,
         -6.8745e-02, -1.8953e-01,  2.7360e-01,  1.8793e-01, -3.3325e-01,
          3.1144e-01,  2.6919e-01, -5.6080e-02,  1.5771e-02,  5.0668e-01,
          1.1729e-01,  1.8437e-01, -2.0954e-01,  4.4338e-01, -2.1112e-01,
          3.1039e-01, -1.6460e-01, -2.1319e-01, -2.1592e-01, -1.9942e-02,
          3.3144e-01,  1.8923e-01, -4.2029e-01, -1.0169e-01,  3.1353e-02,
          3.6021e-01, -3.7626e-01, -8.6387e-02,  1.3697e-02, -3.3636e-01,
          1.2770e-01,  1.0668e-01,  2.2197e-01, -3.7968e-01, -1.5053e-02,
          3.9753e-01, -2.9535e-01,  1.3459e-01,  3.2518e-01,  7.6786e-02,
          3.4168e-01, -2.8172e-02,  1.0189e-02,  5.9536e-02, -2.3156e-01,
         -3.8199e-02,  1.3041e-01,  5.4866e-01,  1.5127e-01, -3.6896e-01,
          9.5292e-02,  2.4462e-01, -1.6506e-01,  3.1529e-01, -8.9680e-02,
         -4.6637e-02,  2.6508e-01, -3.6751e-02,  1.5445e-01, -9.7824e-02,
         -2.1623e-01, -3.0666e-01,  3.6944e-01, -1.8711e-01, -1.1481e-01,
         -1.6787e-01, -1.1253e-01, -1.4680e-01,  4.1271e-02, -3.6980e-01,
          3.3081e-01,  1.2455e-01, -1.8123e-01, -6.8767e-02, -9.6390e-02,
         -1.4910e-01, -2.0524e-01, -2.6686e-01,  4.2154e-01, -1.6543e-01,
         -4.5050e-01,  2.5019e-01,  3.4722e-02,  3.3103e-01,  4.8806e-02,
          9.9796e-02, -3.0042e-02,  1.4140e-01,  9.6566e-02, -1.1071e-01,
          2.7989e-01,  6.1347e-02, -5.6286e-01, -1.4422e-01, -2.1070e-01,
          7.6292e-02,  1.9691e-01, -3.3576e-01,  1.7638e-02,  2.2105e-02,
          1.4265e-01,  3.0694e-02, -1.0665e-01, -5.5197e-02,  3.9164e-01,
          2.0961e-01,  2.9841e-01,  8.7946e-02,  2.4076e-01, -1.0636e-02,
         -3.3807e-01,  2.2974e-02,  8.5258e-02, -1.8663e-01,  4.1414e-01,
         -9.9141e-02, -3.8117e-01, -5.6155e-02,  3.9692e-01,  9.7551e-02,
         -1.8710e-02, -5.0913e-02,  2.0049e-01,  1.5407e-01, -1.2523e-01,
          1.8187e-01, -9.7470e-03, -1.3372e-01, -1.0178e-01,  8.5468e-02,
         -2.1953e-01,  4.7566e-02, -1.3239e-01,  1.3200e-03, -2.0911e-01,
          3.2521e-03, -2.1387e-01,  2.4508e-01, -3.2182e-01,  9.8634e-02,
          7.5848e-02,  2.9231e-01, -3.5121e-01, -1.4159e-01, -5.7937e-02,
          1.6263e-01,  2.5830e-01,  3.5601e-01,  2.3997e-02,  2.5322e-02,
         -1.5363e-01, -2.6361e-01,  5.4986e-02, -2.0897e-01,  1.2282e-01,
          7.1346e-02,  2.4762e-01, -3.0430e-01, -1.8016e-01,  2.2226e-01,
         -9.7989e-02, -1.4158e-01,  4.2292e-01,  2.5139e-01,  2.1049e-01,
          2.2865e-02,  2.4210e-01,  3.7744e-02, -1.7568e-01, -1.1512e-01,
         -2.4392e-01,  6.9097e-02, -8.5799e-02, -5.8893e-02, -7.1211e-02,
         -1.2143e-01, -1.9825e-01, -1.5658e-01,  1.5637e-01,  1.3693e-01,
          2.9095e-02, -5.5552e-02, -2.4771e-02, -2.7771e-01,  2.9286e-01,
          2.4894e-02,  7.2069e-02, -4.8322e-02,  2.3967e-02, -1.5199e-01,
          2.3989e-01,  2.0234e-01,  8.2009e-02, -1.8899e-01, -4.8667e-02,
         -2.9075e-01, -3.5470e-01,  4.1930e-02,  1.3129e-01,  1.1387e-01,
         -1.0165e-01, -2.7247e-01, -2.7974e-02, -1.3051e-01,  1.8051e-01,
         -9.6646e-03, -1.5500e-01, -7.4565e-02, -6.0039e-02, -5.1055e-02,
          6.7692e-02, -2.0781e-01, -1.9844e-01, -1.2495e-01, -7.5151e-02,
         -6.6146e-02,  3.6196e-01, -3.5989e-02,  2.7737e-01, -1.5471e-01,
          1.1208e-02, -1.9818e-01,  1.0743e-01, -7.3001e-02,  7.3365e-02,
          2.6398e-01, -4.2969e-01, -1.5308e-01,  6.1186e-03, -2.1301e-01,
         -1.4149e-01, -7.1113e-02, -4.0364e-02,  2.1242e-01, -3.4205e-01,
          2.1659e-01, -8.0915e-02,  1.8907e-01, -9.4013e-02, -2.5456e-01,
         -1.6216e-01,  2.3130e-02,  2.4984e-01, -3.3239e-01, -2.2947e-01,
         -2.6681e-01, -9.7903e-02, -9.0469e-02, -2.6217e-01,  4.1510e-01,
         -1.0590e-01, -5.5713e-02,  9.9271e-03,  4.3321e-01,  1.9454e-01,
          1.5135e-01,  2.1670e-01, -1.3371e-02,  2.7091e-02,  1.0805e-01,
         -4.6743e-01,  2.3397e-01, -2.2627e-01, -1.2724e-01,  2.7149e-02,
          8.9104e-02, -3.1547e-02,  1.2930e-02, -1.1888e-01, -1.0141e-01,
          2.0849e-01, -3.6962e-01, -1.2304e-02,  2.7230e-01,  1.4519e-01,
         -2.4969e-01,  4.2865e-02,  1.2965e-01,  3.7797e-01,  8.8492e-02,
         -2.2487e-01,  1.3100e-01, -3.4240e-01, -2.4896e-02, -1.8675e-01,
         -2.9198e-01,  1.3836e-01, -6.9468e-02,  5.4983e-02, -6.8482e-02,
         -2.7968e-01,  2.1223e-01, -5.0621e-02, -6.3859e-02,  4.1759e-01,
          3.3747e-02, -1.1644e-01,  1.5398e-01,  1.5137e-02, -5.4925e-03,
         -1.0726e-01,  2.6553e-01,  2.0031e-01, -2.7755e-01,  1.2135e-01,
         -1.2860e-01, -2.5987e-02, -1.1620e-01]], grad_fn=<TanhBackward>), hidden_states=None, past_key_values=None, attentions=None, cross_attentions=None)
len(output)
2
output[0].shape
torch.Size([1, 16, 768])

output[1].shape
torch.Size([1, 768])
output = model(**encoded_input, output_hidden_states=True)
len(output)
3
len(output[2])
13
output[2][0]
tensor([[[ 0.1664, -0.0541, -0.0014,  ..., -0.0811,  0.0794,  0.0155],
         [-0.7241,  0.1035,  0.0784,  ...,  0.2474, -0.0535,  0.4320],
         [ 0.5926, -0.1062,  0.0372,  ..., -0.0140,  0.1021, -0.2212],
         ...,
         [ 0.4734, -0.0570, -0.2506,  ...,  0.4071,  0.4481, -0.2180],
         [ 0.7836, -0.2838, -0.2083,  ..., -0.0959, -0.0136,  0.1995],
         [ 0.2733, -0.1372, -0.0387,  ...,  0.5187,  0.1545, -0.2604]]],
       grad_fn=<NativeLayerNormBackward>)
output[2][0].shape
torch.Size([1, 16, 768])
output[2][1].shape
torch.Size([1, 16, 768])
output[2][12].shape
torch.Size([1, 16, 768])
output = model(**encoded_input, output_attentions=True)
len(output)
3
len(output[2])
12
output[2][0].shape
torch.Size([1, 12, 16, 16])
output[2][2]
tensor([[[[9.8775e-01, 6.2288e-04, 8.7264e-04,  ..., 5.4309e-04,
           1.3059e-03, 1.0826e-03],
          [3.3152e-01, 7.3213e-03, 3.0339e-02,  ..., 1.6386e-03,
           1.1041e-03, 1.0450e-03],
          [8.4058e-01, 7.4270e-04, 1.8587e-04,  ..., 1.9484e-03,
           8.3106e-04, 2.2206e-03],
          ...,
          [8.3998e-01, 6.3201e-06, 7.9328e-06,  ..., 1.8371e-02,
           5.9146e-02, 7.1377e-02],
          [9.4819e-01, 3.9591e-06, 2.9191e-06,  ..., 9.6707e-03,
           1.1201e-02, 2.4954e-02],
          [9.2851e-01, 4.9144e-04, 2.2858e-04,  ..., 9.3861e-03,
           1.7582e-02, 2.4180e-02]],

         [[9.2353e-01, 4.3481e-03, 1.9423e-02,  ..., 5.0829e-03,
           7.5931e-03, 4.6599e-03],
          [9.7840e-01, 4.1909e-03, 9.0263e-03,  ..., 2.1102e-06,
           5.4437e-07, 6.7581e-06],
          [8.3596e-01, 6.3265e-02, 7.9091e-02,  ..., 1.4975e-05,
           2.1750e-06, 2.3804e-06],
          ...,
          [4.7469e-01, 1.1083e-04, 1.8293e-03,  ..., 9.7021e-03,
           6.5544e-03, 1.9043e-03],
          [2.1963e-01, 1.3427e-06, 1.2042e-04,  ..., 7.5510e-01,
           2.8724e-03, 6.2941e-03],
          [4.2043e-01, 3.4030e-06, 6.4028e-05,  ..., 8.2335e-02,
           3.9994e-01, 9.1114e-02]],

         [[9.8968e-01, 2.9357e-04, 2.4483e-04,  ..., 2.0526e-04,
           4.1698e-04, 3.3650e-03],
          [9.0939e-01, 3.1261e-03, 2.7859e-02,  ..., 3.1149e-04,
           8.0127e-05, 2.8887e-03],
          [8.9282e-01, 2.4450e-04, 5.3892e-03,  ..., 8.5178e-04,
           9.8922e-05, 2.7169e-03],
          ...,
          [9.3745e-01, 2.0096e-06, 4.1223e-06,  ..., 4.7319e-02,
           3.8060e-03, 6.3264e-03],
          [9.5799e-01, 1.2817e-04, 1.0723e-05,  ..., 1.0232e-03,
           2.1168e-02, 3.7038e-03],
          [9.1897e-01, 4.5952e-04, 7.4514e-05,  ..., 5.2304e-05,
           3.8385e-05, 5.9209e-02]],

         ...,

         [[9.7214e-01, 1.8048e-03, 2.0910e-03,  ..., 1.5654e-03,
           2.0380e-03, 2.9465e-03],
          [2.0737e-01, 1.5373e-02, 3.4949e-01,  ..., 1.0591e-04,
           3.8994e-06, 1.9794e-05],
          [7.0131e-01, 2.8094e-03, 7.6395e-03,  ..., 1.2338e-03,
           8.6231e-05, 8.1068e-05],
          ...,
          [4.1426e-01, 1.9507e-06, 5.5085e-05,  ..., 3.8152e-02,
           4.5979e-01, 6.9998e-02],
          [7.5517e-01, 2.2428e-07, 3.2856e-06,  ..., 1.3153e-02,
           5.5085e-03, 2.1891e-01],
          [9.4142e-01, 3.3256e-05, 6.0546e-06,  ..., 9.1890e-04,
           8.7666e-03, 3.8735e-02]],

         [[9.7447e-01, 1.1291e-03, 2.3473e-03,  ..., 1.6628e-03,
           1.7247e-03, 3.7978e-03],
          [7.2027e-01, 5.4353e-02, 5.0394e-03,  ..., 4.7070e-03,
           1.4477e-03, 7.9330e-02],
          [9.1602e-01, 6.2537e-03, 6.2520e-03,  ..., 3.0431e-03,
           1.6902e-03, 2.6523e-02],
          ...,
          [8.7035e-01, 5.6680e-03, 2.5519e-04,  ..., 1.0693e-02,
           1.0154e-02, 2.8158e-02],
          [7.8992e-01, 1.3184e-03, 5.2799e-04,  ..., 3.8399e-03,
           2.3379e-02, 5.4757e-02],
          [4.0584e-01, 5.6631e-03, 8.5153e-03,  ..., 1.0006e-02,
           1.0799e-02, 1.9912e-01]],

         [[9.8713e-01, 3.3973e-04, 9.6788e-04,  ..., 2.1040e-04,
           1.3595e-03, 8.0080e-04],
          [1.0312e-01, 4.2905e-03, 8.3475e-01,  ..., 7.3782e-06,
           1.9842e-04, 1.3445e-03],
          [7.9036e-01, 2.8547e-02, 5.0725e-02,  ..., 1.9356e-05,
           6.4891e-05, 2.8477e-03],
          ...,
          [2.1335e-01, 9.7233e-06, 6.9469e-05,  ..., 3.6693e-04,
           3.3324e-01, 1.3384e-02],
          [1.1667e-02, 3.0911e-05, 2.5899e-06,  ..., 5.6125e-01,
           2.7517e-04, 1.5053e-03],
          [8.4494e-01, 8.0791e-04, 1.0116e-03,  ..., 2.4602e-03,
           6.7727e-02, 1.1728e-02]]]], grad_fn=<SoftmaxBackward>)

gotowe api

generowanie tekstu

model = pipeline('text-generation', model='gpt2')
Some weights of GPT2Model were not initialized from the model checkpoint at gpt2 and are newly initialized: ['h.0.attn.masked_bias', 'h.1.attn.masked_bias', 'h.2.attn.masked_bias', 'h.3.attn.masked_bias', 'h.4.attn.masked_bias', 'h.5.attn.masked_bias', 'h.6.attn.masked_bias', 'h.7.attn.masked_bias', 'h.8.attn.masked_bias', 'h.9.attn.masked_bias', 'h.10.attn.masked_bias', 'h.11.attn.masked_bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
model("Hello, I'm a computer science student", max_length=30, num_return_sequences=5)
Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.
[{'generated_text': 'Hello, I\'m a computer science student by trade. I don\'t really like science."\n\nThen I hear him say: "I love the'},
 {'generated_text': "Hello, I'm a computer science student.\n\nAnd if you're curious what I'm doing here, don't hesitate:\n\n\nI've"},
 {'generated_text': "Hello, I'm a computer science student, not an engineer. But, I'm also fascinated, because all the people I'm talking to are engineers"},
 {'generated_text': "Hello, I'm a computer science student with a big project called the Data Science project, to help students create and understand and improve their data science."},
 {'generated_text': "Hello, I'm a computer science student from North Carolina. My work involves a number of questions (and many possible answers as well). I can't"}]
model("I want to contribute to Google's Computer Vision Program, which is doing extensive work on big", max_length=30, num_return_sequences=5)
Setting `pad_token_id` to `eos_token_id`:50256 for open-end generation.
[{'generated_text': "I want to contribute to Google's Computer Vision Program, which is doing extensive work on big data. It is also working on creating a new type of"},
 {'generated_text': "I want to contribute to Google's Computer Vision Program, which is doing extensive work on big datasets. It has now given every request to Google for information"},
 {'generated_text': "I want to contribute to Google's Computer Vision Program, which is doing extensive work on big data, robotics and artificial intelligence. We understand the potential impact"},
 {'generated_text': "I want to contribute to Google's Computer Vision Program, which is doing extensive work on big data, artificial intelligence, and machine learning. I think we"},
 {'generated_text': "I want to contribute to Google's Computer Vision Program, which is doing extensive work on big new ways to see and interact with image data. We'll"}]

sentiment analysis

from transformers import pipeline

model = pipeline("sentiment-analysis", model='distilbert-base-uncased-finetuned-sst-2-english')
model
<transformers.pipelines.text_classification.TextClassificationPipeline at 0x7f8e45b319d0>
model("I'm very happy. Today is the beatifull weather")
[{'label': 'POSITIVE', 'score': 0.9998474717140198}]
model("It's raining. What a terrible day...")
[{'label': 'NEGATIVE', 'score': 0.9946851134300232}]

NER

model = pipeline("sentiment-analysis", model='distilbert-base-uncased-finetuned-sst-2-english')
from transformers import pipeline
model = pipeline("ner")
text = "George Washington went to Washington"
model(text)
[{'word': 'George',
  'score': 0.9983943104743958,
  'entity': 'I-PER',
  'index': 1,
  'start': 0,
  'end': 6},
 {'word': 'Washington',
  'score': 0.9992505311965942,
  'entity': 'I-PER',
  'index': 2,
  'start': 7,
  'end': 17},
 {'word': 'Washington',
  'score': 0.98389732837677,
  'entity': 'I-LOC',
  'index': 5,
  'start': 26,
  'end': 36}]

masked language modelling

ZADANIE (10 minut)

przewidziać