chatglm-6b法律名詞數據訓練

整體流程於上一份微調文件基本一致,此份是詳細備份及關鍵說明:

1.處理文件

處理好法律名詞解釋爲json文件的格式,其中prompt column爲 content,response column 爲summary,如下:

(如果KEY不是content-summary的形式,也可修改train.sh對應的項,見後文)

image

2.數據上傳與下載

將處理好後的文件壓縮上傳,打開oss軟件,.\oss login登錄後使用oss指令上傳文件:

cp 壓縮文件所在目錄\xxx.zip oss://

在恆源雲的終端,登錄後轉到對應的文件夾(此處是ChatGLM/ChatGLM-6B-main/ptuning),下載後解壓,指令如下:

`cd /ChatGLM/ChatGLM-6B-main/ptuning  //轉到微調文件夾

`oss cp oss://xxx.zip .`//下載壓縮數據文件

`unzip -q xxx.zip` //解壓

3.更改訓練文件參數

修改train.shevaluate.sh中的train_filevalidation_filetest_file爲你自己的 JSON 格式數據集路徑,並將prompt_columnresponse_column修改爲 JSON 文件中輸入文本和輸入文本對應的 KEY。

同時要更改字符長度,因爲法律名詞的解釋較長,所以將target改爲256比較合適。

修改batch size,可以增加顯存的利用率,默認爲1,此處設置爲2,可嘗試設爲4。

修改步數,主要是save step,由於系統空間較小,可通過增大save step來減少保存次數,減少存儲量;還可以通過更改輸出目錄,將輸出保存到臨時空間中,不會佔用系統空間,但是後續還需移動。

image

image

4.啓動訓練

上述更改保存後,執行代碼開始訓練

bash train.sh

此步驟後,生成的文件默認存放於 ./output/adgen-chatglm-6b-pt-8-1e-2/

5.評估

修改evaluate.sh文件,修改內容同上,不再贅述。同時運行,生成評估文件

bash evaluate.sh

此步驟後,結果存放於 ./output/adgen-chatglm-6b-pt-8-1e-2/generated_predictions.txt

6.部署模型

返回ChatGLM/ChatGLM-6B-main/,修改cli_demo.py文件。將文件中的模型改爲訓練後產生的checkpoints的地址(此處爲./ptuning/output/adgen-chatglm-6b-pt-128-2e-2/checkpoint-1000

image

上述步驟保存後,執行代碼開始運行:

python cli_demo.py

image

(注意:根據官方文檔說明,微調後模型只支持第一輪對話,後續對話可能會生成錯誤!)

image

附:

對於以下情形,如果要直接定位到詳細解釋,就需要把訓練數據改爲具體解釋,而不是“詳見xxx”這種格式。

image
image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章