該存儲庫的靈感來自文章“微調大語言模型(LLM)”,並包含使用斯坦福情緒Treebank(SST-2)數據集和LORA(大型語言模型的低級改編)訓練文本分類模型的代碼。洛拉(Lora)是使語言模型更加適應性和高效的一種方式。洛拉沒有再次訓練整個模型,而是凍結了預訓練的模型,並在每個模型層中添加了較小的可訓練矩陣。這些矩陣有助於模型適應不同的任務,而無需更改所有參數。
在此存儲庫中使用代碼之前,您需要安裝所需的庫。您可以通過運行以下命令來執行此操作:
! pip install datasets
! pip install transformers
! pip install peft
! pip install evaluate這些命令將安裝必要的Python庫,用於使用數據集,變壓器,LORA和評估指標。
這是在此存儲庫中使用代碼的方法:
加載SST-2數據集:
該代碼使用擁抱面部datasets集庫加載SST-2數據集。 SST-2由電影評論的句子組成,並帶有情感標籤註釋。您可以在此處找到有關SST-2數據集的更多信息。
定義Lora模型體系結構:
該代碼使用LORA技術來微調用於文本分類的預訓練的語言模型。洛拉通過利用重量差異的低級別特性來有效地適應該模型。可以在代碼中找到LORA的實現。
tokenize數據集:
使用模型的令牌化數據集對數據集進行了令牌化,並且如果尚不存在,則添加了[PAD]之類的特殊令牌。
訓練洛拉模型:
該代碼定義了訓練超參數,並使用提供的數據集訓練洛拉適應的模型。可以在training_args變量中調整諸如學習率,批量規模和時期數量之類的培訓論點。
通過訓練有素的洛拉模型推斷:
訓練後,您可以使用訓練有素的洛拉適應模型來推斷新文本輸入。該代碼演示瞭如何加載模型並在示例句子列表中進行預測。
該代碼使用基於預訓練的語言模型體系結構的文本分類模型。 Lora微調可有效地適應此預訓練模型。洛拉技術利用了重量差異的低等級結構來提高適應性性能。
有關Lora技術的詳細信息,您可以參考Lora紙。
要訓練洛拉適應的模型,請遵循以下步驟:
安裝所需的庫如安裝部分所述。
定義您的培訓數據集或使用提供的SST-2數據集。
在代碼中配置模型體系結構和超參數。
運行培訓代碼,並且模型將使用數據集上的LORA技術進行微調。
訓練後,您可以使用訓練有素的洛拉適應模型來推斷新文本輸入。為此:
如代碼中所示,加載訓練有素的洛拉適應模型。
使用模型的令牌將輸入文本引形。
將令牌化輸入傳遞給模型以進行情感分類。
該模型將預測輸入文本是正面還是負面情緒。

