前言
?目前來說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