<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      人工智能開發者 正文
      發私信給汪思穎
      發送

      0

      Facebook開源 PyTorch版 fairseq,準確性最高、速度比循環神經網絡快9倍

      本文作者: 汪思穎 編輯:郭奕欣 2017-09-19 18:42
      導語:繼今年5月開源fairseq之后,近日,Facebook AI研究團隊在GitHub上開源了fairseq的PyTorch版本。

      雷鋒網 AI科技評論按:今年5月,Facebook AI研究院(FAIR)發表了他們的研究成果fairseq,在fairseq中,他們使用了一種新型的卷積神經網絡來做語言翻譯,比循環神經網絡的速度快了9倍,而且準確性也是現有模型中最高的。此外,他們在GitHub公布了fair序列建模工具包的源代碼和訓練好的系統,其他的研究者可以在此基礎上建立自己的關于翻譯、文本總結和其他任務的模型。

      詳情可參見快9倍!Facebook開源機器學習翻譯項目fairseq一文。

      日前,Facebook AI研究團隊又在GitHub上開源了fairseq PyTorch版本。

      相關介紹

      fairseq是Facebook AI研究院發布的一個序列到序列的學習工具,它的原作者(排名不分先后)是Sergey Edunov、Myle Ott和Sam Gross。該工具包能實現 Convolutional Sequence to Sequence Learning(地址:https://arxiv.org/abs/1705.03122)中描述的全卷積模型,并能在一臺機器上進行多GPU訓練,也能在CPU和GPU上快速產生束搜索(beam search)。在開源的數據中,他們提供了英譯法和英譯德的預訓練模型。

      Facebook開源 PyTorch版 fairseq,準確性最高、速度比循環神經網絡快9倍

      引用

      如果你的論文中用了FAIR的相關代碼,可以這樣引用:

      @inproceedings{gehring2017convs2s,
       author    = {Gehring, Jonas, and Auli, Michael and Grangier, David and Yarats, Denis and Dauphin, Yann N},
       title     = "{Convolutional Sequence to Sequence Learning}",
       booktitle = {Proc. of ICML},
       year      = 2017,
      }

      工具和安裝

      • macOS或是Linux系統的電腦

      • 要是想訓練新的模型,需要用到NVIDIA GPU和NCCL(https://github.com/NVIDIA/nccl)

      • Python 3.6

      • 安裝PyTorchhttp://pytorch.org/)

      目前的fairseq-py需要從GitHub庫中獲得PyTorch,有多種方式安裝它。我們建議利用Miniconda3,執行如下的步驟。

      1、安裝Miniconda3(https://conda.io/miniconda.html);激活 Python 3環境

      2、安裝PyTorch

      conda install gcc numpy cudnn nccl
      conda install magma-cuda80 -c soumith
      pip install cmake
      pip install cffi

      git clone https://github.com/pytorch/pytorch.git
      cd pytorch
      git reset --hard a03e5cb40938b6b3f3e6dbddf9cff8afdff72d1b
      git submodule update --init
      pip install -r requirements.txt

      NO_DISTRIBUTED=1 python setup.py install

      3、在GitHub中復制和執行如下代碼來安裝fairseq-py

      pip install -r requirements.txt
      python setup.py build
      python setup.py develop

      快速開始

      你將需要使用到如下的命令:

      • python preprocess.py: 數據預處理: 構造詞匯和二進制訓練數據

      • python train.py: 在一個或多個GPU上訓練新的模型

      • python generate.py: 用訓練好的模型翻譯預處理之后的數據

      • python generate.py -i:用訓練好的模型翻譯新的文本

      • python score.py: 通過與參考譯文對比,給出生成譯文的BLEU分數

      評估預訓練模型:

      首先,下載預訓練好的模型和詞匯:

      $ curl https://s3.amazonaws.com/fairseq-py/models/wmt14.en-fr.fconv-py.tar.bz2 | tar xvjf -

      模型中用的是BPE詞匯(https://arxiv.org/abs/1508.07909),用戶必須在翻譯之前將編碼應用到源文本。可以用apply_bpe.py 腳本中的wmt14.en-fr.fconv-cuda/bpecodes文件。@@是延續標記,原始文本可以通過sed s/@@ //g來恢復,此外把 --remove-bpe 標記傳遞到generate.py也有同樣的作用。在生成BPE詞匯之前。輸入文本需要用mosesdecoder中的tokenizer.perl來標記。

      下面是利用python generate.py -i產生翻譯的例子, beam size為5:

      $ MODEL_DIR=wmt14.en-fr.fconv-py
      $ python generate.py -i \
      --path $MODEL_DIR/model.pt $MODEL_DIR \
      --beam 5
      | [en] dictionary: 44206 types
      | [fr] dictionary: 44463 types
      | model fconv_wmt_en_fr
      | loaded checkpoint /private/home/edunov/wmt14.en-fr.fconv-py/model.pt (epoch 37)
      > Why is it rare to discover new marine mam@@ mal species ?
      S       Why is it rare to discover new marine mam@@ mal species ?
      O       Why is it rare to discover new marine mam@@ mal species ?
      H       -0.08662842959165573    Pourquoi est-il rare de découvrir de nouvelles espèces de mammifères marins ?
      A       0 1 3 3 5 6 6 10 8 8 8 11 12

      訓練新模型

      數據預處理

      fairseq-py工具包中包含用于IWSLT 2014德轉英語料庫的一個預處理腳本樣例。先將數據進行預處理和二進制編碼:

      $ cd data/
      $ bash prepare-iwslt14.sh
      $ cd ..
      $ TEXT=data/iwslt14.tokenized.de-en
      $ python preprocess.py --source-lang de --target-lang en \
       --trainpref $TEXT/train --validpref $TEXT/valid --testpref $TEXT/test \
       --thresholdtgt 3 --thresholdsrc 3 --destdir data-bin/iwslt14.tokenized.de-en

      這將會得到能夠用于訓練模型的二進制數據。

      訓練

      用python train.py來訓練新的模型,下面是能很好的適于 IWSLT 2014數據集中的一些樣例設置。

      $ mkdir -p checkpoints/fconv
      $ CUDA_VISIBLE_DEVICES=0 python train.py data-bin/iwslt14.tokenized.de-en \
       --lr 0.25 --clip-norm 0.1 --dropout 0.2 --max-tokens 4000 \
       --arch fconv_iwslt_de_en --save-dir checkpoints/fconv

      默認情況下,python train.py會占用電腦中所有可用的GPU,可以用CUDA_VISIBLE_DEVICES環境來選擇特定的GPU,或者改變使用的GPU數目。

      有一點需要注意,batch大小是基于每個batch的最大token數來設置的,你需要基于系統中可用的GPU內存,選取一個稍小的值。

      生成翻譯

      模型訓練好之后就能利用python generate.py(用于二進制數據)或python generate.py -i(用于未處理文本)生成翻譯了。

      $ python generate.py data-bin/iwslt14.tokenized.de-en \
       --path checkpoints/fconv/checkpoint_best.pt \
       --batch-size 128 --beam 5
       | [de] dictionary: 35475 types
       | [en] dictionary: 24739 types
       | data-bin/iwslt14.tokenized.de-en test 6750 examples
       | model fconv
       | loaded checkpoint trainings/fconv/checkpoint_best.pt
       S-721   danke .
       T-721   thank you .
       ...

      如果只想用一個CPU,加入--cpu標記。可以通過--remove-bpe移除掉BPE標記。

      訓練好的模型

      目前開源的全卷積序列到序列模型如下:

      • wmt14.en-fr.fconv-py.tar.bz2(https://s3.amazonaws.com/fairseq-py/models/wmt14.en-fr.fconv-py.tar.bz2): 用于WMT14英譯法的模型,包含詞匯

      • wmt14.en-de.fconv-py.tar.bz2(https://s3.amazonaws.com/fairseq-py/models/wmt14.en-de.fconv-py.tar.bz2): 用于WMT14英譯德的模型,包含詞匯

      針對以上模型,已經預處理和編碼過的測試集如下:

      • wmt14.en-fr.newstest2014.tar.bz2(https://s3.amazonaws.com/fairseq-py/data/wmt14.en-fr.newstest2014.tar.bz2): 用于WMT14英譯法的newstest2014測試集

      • wmt14.en-fr.ntst1213.tar.bz2(https://s3.amazonaws.com/fairseq-py/data/wmt14.en-fr.ntst1213.tar.bz2): 用于WMT14英譯法的newstest2012和newstest2013測試集

      • wmt14.en-de.newstest2014.tar.bz2(https://s3.amazonaws.com/fairseq-py/data/wmt14.en-de.newstest2014.tar.bz2): 用于WMT14英譯德的newstest2014測試集

      下面是在一塊GTX-1080ti上利用測試集產生結果的樣例(英譯德),運行在batch模式下:

      $ curl https://s3.amazonaws.com/fairseq-py/models/wmt14.en-fr.fconv-py.tar.bz2 | tar xvjf - -C data-bin
      $ curl https://s3.amazonaws.com/fairseq-py/data/wmt14.en-fr.newstest2014.tar.bz2 | tar xvjf - -C data-bin
      $ python generate.py data-bin/wmt14.en-fr.newstest2014  \
       --path data-bin/wmt14.en-fr.fconv-py/model.pt \
       --beam 5 --batch-size 128 --remove-bpe | tee /tmp/gen.out
      ...
      | Translated 3003 sentences (95451 tokens) in 81.3s (1174.33 tokens/s)
      | Generate test with beam=5: BLEU4 = 40.23, 67.5/46.4/33.8/25.0 (BP=0.997, ratio=1.003, syslen=80963, reflen=81194)

      # Scoring with score.py:
      $ grep ^H /tmp/gen.out | cut -f3- > /tmp/gen.out.sys
      $ grep ^T /tmp/gen.out | cut -f2- > /tmp/gen.out.ref
      $ python score.py --sys /tmp/gen.out.sys --ref /tmp/gen.out.ref
      BLEU4 = 40.23, 67.5/46.4/33.8/25.0 (BP=0.997, ratio=1.003, syslen=80963, reflen=81194)

      via:GitHubhttps://github.com/facebookresearch/fairseq-py)

      雷鋒網AI科技評論編譯整理。雷鋒網

      雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知

      Facebook開源 PyTorch版 fairseq,準確性最高、速度比循環神經網絡快9倍

      分享:
      相關文章

      編輯

      關注AI學術,例如論文
      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: 亚洲一区二区三区av无码| 亚洲国产aⅴ成人精品无吗| 性色av极品无码专区亚洲| 中文字幕在线视频不卡一区二区| jizz日本在线观看| 探花无码| 精品人无码一区二区三区| 大竹县| av不卡在线永久免费观看| 国产麻豆精品在线观看| 艳妇臀荡乳欲伦交换在线播放| 超碰色偷偷男人的天堂| 亚洲国产精品久久久天堂麻豆宅男 | 在线无码国产精品亚洲а∨| 岳乳丰满一区二区三区| 正在播放国产真实哭都没用| 放荡的少妇2欧美版| 3p在线视频| 国产菊爆视频在线观看| 久久国产精品无码网站| 久久国产精品久久久久久| 免费人成视频在线| 91丨九色丨人妻丨白浆| 亚洲AV之男人的天堂网站| 在线高清免费不卡全码| 成人网站免费看黄a站视频| 久久精品熟妇丰满人妻99| 中文字幕?自拍| 龙海市| av不卡在线永久免费观看| 亚洲精品成人a?v| 男女啪啪永久免费观看网站| 亚洲av无码片在线播放| www.18禁| 精品成在人线av无码免费看| 亚洲AV无码一区东京热久久| 欧洲高清无码| 久久久久久久久久8888| 肏屄视频在线播放| 精品无码一区在线观看| 一级欧美牲交大片免费观看|