一、確認本機顯示卡配置
二、下載大模型
國內可以從魔搭社群下載,
下載地址:https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat/files
三、執行官方程式碼
import torch from transformers import AutoModelForCausalLM, AutoTokenizer device = "cuda" tokenizer = AutoTokenizer.from_pretrained("E:\openai\ChatGLM4\glm-4-9b-chat", trust_remote_code=True) query = "你好" inputs = tokenizer.apply_chat_template([{"role": "user", "content": query}], add_generation_prompt=True, tokenize=True, return_tensors="pt", return_dict=True ) inputs = inputs.to(device) model = AutoModelForCausalLM.from_pretrained( "E:\openai\ChatGLM4\glm-4-9b-chat", torch_dtype=torch.bfloat16, low_cpu_mem_usage=True, trust_remote_code=True ).to(device).eval() gen_kwargs = {"max_length": 2500, "do_sample": True, "top_k": 1} with torch.no_grad(): outputs = model.generate(**inputs, **gen_kwargs) outputs = outputs[:, inputs['input_ids'].shape[1]:] print(tokenizer.decode(outputs[0], skip_special_tokens=True))
結果如下
中間需要安裝環境,建議用anaconda來安裝
官方文件中說到可以用vLLM的方式跑起來,即CPU的方式
使用 transformers 後端進行推理 使用 vLLM 後端進行推理: 區別是什麼
使用不同的後端進行推理,主要區別在於效能、靈活性和易用性方面。以下是使用transformers後端和vLLM後端進行推理的一些區別:
效能:transformers後端使用硬體加速(如GPU、TPU等)進行推理,因此在處理大量資料和複雜模型時具有更高的效能。而vLLM後端使用CPU進行推理,效能相對較低,但適用於輕量級模型和移動裝置。
靈活性:transformers後端支援多種預訓練模型和任務,如文字分類、命名實體識別、機器翻譯等。您可以根據需求選擇合適的模型。vLLM後端主要針對輕量級語言模型,適用於文字生成和補全任務。
易用性:transformers後端提供了豐富的API和工具,方便使用者進行模型載入、推理和部署。vLLM後端相對較簡單,易於在移動裝置和嵌入式裝置上整合和使用。
資源消耗:transformers後端在推理過程中可能消耗較多的計算資源和記憶體,尤其是在使用大型模型時。vLLM後端資源消耗相對較低,適合在資源受限的環境中執行。
總之,選擇哪種後端進行推理取決於您的具體需求,包括任務型別、效能要求、資源限制等因素。如果需要高效能、靈活性和豐富的功能,可以選擇transformers後端;如果關注輕量級、易於整合和低資源消耗,可以選擇vLLM後端。
python安裝vLLM的時候報錯,只能裝在linux上