服务器模型部署与加载

服务器部署本地大模型

介绍

将大模型部署到服务器上,这是一种常见的方式,部署之前请检查一下服务器内存和模型加载内存是否符合,接下来,我们将介绍两种最常用的模型下载方式,分别是从huggingface和modelscope两个平台下载。

HuggingFace(国际主流)

python 复制代码
from huggingface_hub import snapshot_download
from transformers import file_utils
import os

# 设置缓存路径(可选,仅影响 from_pretrained 等方法)
file_utils.default_cache_path = "/你的缓存地址,用于从网页中下载模型"

# 指定下载到 /data1 的绝对路径
repo_id = "Qwen/模型版本号"
local_dir = "/模型下载存储的绝对地址"

# 确保目录存在
os.makedirs(local_dir, exist_ok=True)

# 下载模型
snapshot_download(
    repo_id=repo_id,
    local_dir=local_dir,
    force_download=True
)

print(f"模型已保存至:{local_dir}")

想要利用huggingface下载qwen模型只需要把代码中的中文部分替换成你的地址即可。

ModelScope(国内最常用)

python 复制代码
import torch
from modelscope import snapshot_download, AutoModel, AutoTokenizer
import os

model_dir = snapshot_download('ZhipuAI/glm-4-9b-chat', cache_dir='/root/autodl-tmp', revision='master')
embedding_model_dir = snapshot_download('BAAI/bge-base-zh-v1.5', cache_dir='/root/autodl-tmp', revision='master')

模型加载

llama模型加载代码,修改地址后可直接使用

python 复制代码
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

model_path = "/你的模型地址/Llama-3.1-8B-Instruct"

tokenizer = AutoTokenizer.from_pretrained(
    model_path,
    local_files_only=True,
    trust_remote_code=True
)

model = AutoModelForCausalLM.from_pretrained(
    model_path,
    torch_dtype=torch.float16,
    device_map="auto",
    local_files_only=True,
    trust_remote_code=True
)

messages = [
    {"role": "system", "content": "你是一个有帮助的AI助手"},
    {"role": "user", "content": "请简单介绍一下你自己。"}
]

prompt = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)

with torch.no_grad():
    outputs = model.generate(
        **inputs,
        max_new_tokens=200,
        do_sample=True,
        temperature=0.7,
        top_p=0.9,
        eos_token_id=tokenizer.eos_token_id,
        pad_token_id=tokenizer.eos_token_id
    )

result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(result)
相关推荐
国科安芯6 分钟前
算力上天之后的电与静:星上边缘计算载荷带外管理网络的低功耗调度与辐射容错
网络·人工智能·嵌入式硬件·安全·边缘计算·低轨卫星·商业航天
kisdiem16 分钟前
让 AI 边玩游戏边编写世界规则:从 XLand 到 ARC-AGI-3 的实验记录
人工智能·agi·玩游戏
kaixin_啊啊1 小时前
【零基础学AI】第 27 章课后练习与答案
人工智能
慢慢来不要急1 小时前
Anthropic 自建源码控制,AI Agent 把 Git 跑到了极限 · 11-09
人工智能·开发工具
CyrusYiVPP1 小时前
实测 Ollama 本地部署:我用 Python 搓了个离线问答机器人,Qwen4 27B 一到换个模型名就能用
人工智能·python
美团技术团队1 小时前
美团 LongCat-2.5 开源:从看见,到抵达
人工智能
aifannihao1 小时前
AI 学习第 8 课:1200 列纯噪声 CV 出 0.47,泄漏在筛特征那步
人工智能·机器学习·scikit-learn·学习路线·数据泄漏
老金带你玩AI2 小时前
我宣布!Magpie就是版本答案!
人工智能
Rocky Ding*2 小时前
REPA-E技术深度解析:解冻 VAE 之后,扩散模型为什么需要选择梯度
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·repa-e
武雄(小星Ai)2 小时前
Ollama报llama-server binary not found排坑实录:服务活着引擎没了
人工智能·windows·大模型·ollama·排坑