Esta es una implementación de Pytorch del modelo Transformer en "La atención es todo lo que necesitas" (Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, Arxiv, 2017).
Una nueva secuencia para el marco de secuencia utiliza el mecanismo de autoatensión , en lugar de la operación de convolución o la estructura recurrente, y logra el rendimiento de vanguardia en la tarea de traducción de inglés a alemán WMT 2014 . (2017/06/12)
La implementación oficial de TensorFlow se puede encontrar en: TensorFlow/Tensor2Tensor.
Para obtener más información sobre el mecanismo de autoeficiencia, podría leer "una oración estructurada de la atentiva que incrusta".
El proyecto Apoya la capacitación y la traducción con el modelo capacitado ahora.
Tenga en cuenta que este proyecto sigue siendo un trabajo en progreso.
Las piezas relacionadas con BPE aún no se prueban completamente.
Si hay alguna sugerencia o error, no dude en despedir un problema para avisarme. :)
Un ejemplo de capacitación para la tarea de traducción multimodal WMT'16 (http://www.statmt.org/wmt16/multimodal-task.html).
# conda install -c conda-forge spacy
python -m spacy download en
python -m spacy download depython preprocess.py -lang_src de -lang_trg en -share_vocab -save_data m30k_deen_shr.pklpython train.py -data_pkl m30k_deen_shr.pkl -log m30k_deen_shr -embs_share_weight -proj_share_weight -label_smoothing -output_dir output -b 256 -warmup 128000 -epoch 400python translate.py -data_pkl m30k_deen_shr.pkl -model trained.chkpt -output prediction.txtDado que las interfaces no están unificadas, debe cambiar la llamada de función principal de
main_wo_bpeamain.
python preprocess.py -raw_dir /tmp/raw_deen -data_dir ./bpe_deen -save_data bpe_vocab.pkl -codes codes.txt -prefix deenpython train.py -data_pkl ./bpe_deen/bpe_vocab.pkl -train_path ./bpe_deen/deen-train -val_path ./bpe_deen/deen-val -log deen_bpe -embs_share_weight -proj_share_weight -label_smoothing -output_dir output -b 256 -warmup 128000 -epoch 400