使用Huggingface在矩池雲快速載入預訓練模型和數據集
- 2022 年 7 月 25 日
- 筆記
作為NLP領域的著名框架,Huggingface(HF)為社區提供了眾多好用的預訓練模型和數據集。本文介紹了如何在矩池雲使用Huggingface快速載入預訓練模型和數據集。
1.環境
HF支援Pytorch,TensorFlow和Flax。您可以根據HF官方文檔安裝對應版本,也可以使用矩池雲HuggingFace
鏡像(基於Pytorch),快速啟動。
如果使用其他鏡像,你需要手動安裝 transformers 和 datasets 兩個包:
pip install transformers datasets
HF具體使用方式和程式碼請參考官方//github.com/huggingface/transformers
2.預訓練模型
2.1 預訓練模型簡介
HF里有非常多的預訓練模型,支援不同軟體版本,可用於Pipeline和模型微調。你可以選擇從HF官方Model Hub下載預訓練模型(可能耗時較長),另外矩池雲提供了部分常用的預訓練模型。訪問路徑:/public/model/nlp/
預訓練模型名稱(定時更新,也可以聯繫矩池雲小助手補充):
模型名稱 |
---|
albert-base-v2 |
albert-xxlarge-v2 |
bert-base-cased |
bert-base-chinese |
bert-base-uncased |
bert-large-uncased |
xlm-roberta-base |
chinese-bert-wwm-ext |
chinese-electra-180g-base-discriminator |
chinese-roberta-wwm-ext |
clip-vit-base-patch32 |
code_trans_t5_small_program_synthese_transfer_learning_finetune |
deberta-v3-base |
deberta-v3-large |
distilbart-cnn-12-6 |
distilbert-base-uncased-finetuned-sst-2-english |
distilgpt2 |
gpt2-chinese-cluecorpussmall |
gpt2 |
roberta-base |
t5-base |
xlm-roberta-base |
2.2 預訓練模型使用方法
首先需要將自己需要使用的預訓練模型zip文件解壓到矩池雲網盤或者機器中其他目錄(存到網盤後下次可以直接使用),使用模型時填入本地存儲路徑即可調用。
以使用albert-base-v2
模型為例子:
- 解壓
unzip /public/model/nlp/albert-base-v2.zip -d /mnt/
- 程式碼中使用
如果環境中沒有transformers
包,可以先pip install transformers
安裝。
from transformers import AutoModel
model = AutoModel.from_pretrained('/mnt/albert-base-v2')
# 注意 /mnt/albert-base-v2 是你解壓後模型文件所在路徑
3.數據集
3.1 數據集簡介
數據集存放路徑:/public/data/nlp
數據集名稱(定時更新,也可聯繫矩池雲小助手):
名稱 | 描述 |
---|---|
dbpedia_14 | 基於DBpedia2014的14個不重疊的分類數據集,包含40,000訓練樣本和5,000測試樣本。源自維基百科的語義詞條 |
glue | 通用語言理解評估基準,面向9項任務的數據集,參考gluebenchmark |
newsgroup | 用於文本分類、文本挖據和資訊檢索研究的國際標準數據集之一。數據集收集了大約20,000左右的新聞組文檔,均勻分為20個不同主題的新聞組集合 |
squad | 斯坦福問答數據集,一個閱讀理解數據集 |
super_glue | 更新版的Glue數據集 |
wikitext | 英語詞庫數據是由Salesforce MetaMind 策劃的包含1億個辭彙的大型語言建模語料庫。這些辭彙都是從維基百科一些經典文章中提取得到 |
yahooAnswers | 數據集源於 Yahoo!Answers Comprehensive Questions and Answers 1.0 的 10 個主要分類數據,每個類別分別包含 140000 個訓練樣本和 5000 個測試樣本 |
yelp_review_full | 這個數據集是Yelp業務、評論和用戶數據的一個子集。包含大量的評論、業務、用戶、提示和簽到數據 |
3.2 數據集使用方法
首先需要將自己需要使用的數據集zip文件解壓到矩池雲網盤或者機器中其他目錄(存到網盤後下次可以直接使用),使用數據集時在程式碼抬頭添加程式碼from datasets import load_from_disk
,並將程式碼中載入數據集函數load_dataset
更改為load_from_disk(數據集存放路徑)
即可。部分數據集需指定Subset。
以使用dbpedia_14
數據集為例子:
- 解壓,將數據集解壓到網盤中(確保網盤空間足夠)
unzip /public/data/nlp/dbpedia_14.zip -d /mnt/
- 程式碼中使用
如果環境中沒有datasets
包,可以先pip install datasets
安裝。
from datasets import load_from_disk
data = load_from_disk('/mnt/dbpedia_14')
# 注意 /mnt/dbpedia_14 是你解壓後數據集文件所在路徑