優雅の使用transformer系列之gpt2-chitchat

前言

?目前來說gpt2在生成式這塊效果還是比較突出的。在嘗試 gpt2-chitchat 這個項目的時候,聊得挺好,首先感謝作者的貢獻,好像閑聊數據還@了我。但是感覺代碼這塊還不夠優雅,所以就基于pytorch-lightning重寫了下。

gpt2-chitchat

?代碼傳送:gpt2-chitchat-pl
?關于模型介紹、效果展示可以直接訪問原作者的README.md。我重寫之后有幾個參數這里說明下吧:

  • train_mmi: 默認是False,會訓練dialogue_model;如果是設為True,就是訓練mmi_model
  • use_pretrain: 默認是False,意思是不使用預訓練模型。如果設置為True的話,就需要將制定對應的dialogue_model_path和mmi_model_path
  • dialogue_model_path: 這里可以下載 yangjianxin1 提供的dialogue_model,然后指定對應的路徑
  • mmi_model_path: 同dialogue_model_path一個意思
  • train_raw_path: 訓練數據
  • model_config: gpt2 config配置文件
  • vocab_path: 字典文件

?當你設定好了對應的參數后就可以重頭訓練或者微調模型了

  • 重頭訓練dialogue model
python train.py --train_mmi=False --use_pretrain=False
  • 微調dialogue model
python train.py --train_mmi=False --use_pretrain=True --dialogue_model_path=/path/to/dialogue_pre_model
  • 重頭訓練mmi model
python train.py --train_mmi=True --use_pretrain=False
  • 微調mmi model
python train.py --train_mmi=True --use_pretrain=True --mmi_model_path=/path/to/mmi_pre_model

上面是訓練模型的參數和命令。至于消費模型的代碼是run_interact.py,對應的參數有:

  • output_dir: 訓練好模型的路徑
  • batch_size: 批量生成response的個數, 然后經過MMI模型進行篩選
    命令是:python run_interact.py --output_dir=/path/to/your/model_path

結束語

?具體的細節可以查看和調試代碼,感覺水了一篇文章。無論是dialogue model還是mmi model模型用的都是seq2seq,只不過輸入不一樣,至于多輪也就是把history用[SEP]拼接了一下,mmi將語料做了個翻轉,就醬(可能這就是使用框架帶來的便利吧,減少了自己的關注點)。本來想寫一篇關于ner的,也是沒啥好說的,所以可以直接看代碼吧run_ner_pl.py,會存在個問題,因為是直接使用的token classification,換成crf是否會好點。

Recommand

liveportraitweb
novelling
mmaudio
ai kungfu
body visualizer
deepseek image

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。