延續使用Meta釋出的模型,實作Chat GPT - Part 2
我們已經確定可以進入HuggingFace之後,就要來載入模型,其對應程式為:
Model_Config = transformers.AutoConfig.from_pretrained(
Model_ID,
use_auth_token = HF_Auth)
Model = transformers.AutoModelForCausalLM.from_pretrained(Model_ID,
trust_remote_code = True,
config = Model_Config,
quantization_config = BitsAndBytes_Config,
device_map = 'auto',
use_auth_token = HF_Auth)
接著將模型設置為Inference模式,這時可以確認一下執行的裝置是CPU還是GPU,有GPU執行的話會快很多,然後再載入Tokenizer,它可以將一段話進行分詞,可以想像是切成一個字一個字,以便後續轉成向量給AI模型使用。
Model.eval()
print(f"Model Loaded on {Device}")
Tokenizer = transformers.AutoTokenizer.from_pretrained(
Model_ID,
use_auth_token = HF_Auth)
上述程式都輸入好之後,會長這樣,我們一樣按下「紅色框框」來執行,這部分因為涉及Meta大型語言模型下載,會需要一點時間,等待約56秒後,執行完成,「紅色框框」處會有綠色提示 (56秒處)
再來因應個人喜好或者是行業類別,可能我們希望大型語言模型輸出某些關鍵字之後就不要繼續生成下去,這時候我們可以指定這樣的關鍵字,其配置如下:
# Define Stoping Criteria of the Model
Stop_List = ['\nHuman:', '\n```\n']
Stop_Token_IDs = [Tokenizer(x)['input_ids'] for x in Stop_List]
import torch
Stop_Token_IDs = [torch.LongTensor(x).to(Device) for x in Stop_Token_IDs]
這部分輸入好之後長這樣,我們一樣按下「紅色框框」來執行,大約一秒後,執行完成,「紅色框框」處會有綠色提示 (0秒處)