人工智能服务
>
最佳实践
>
DeepSeek-R1模型文件部署
DeepSeek的热度还在持续攀升,但随之而来的问答卡顿、服务器繁忙问题,也让许多用户头疼不已。如何让DeepSeek-R1不仅能实时对话、生成代码,还能设计酷炫网页动图?
最近,超算互联网上线DeepSeek-R1全家桶模型,可免费快速下载模型文件进行开发部署。本次实操,我们手把手分享基于超算互联网基础镜像,部署DeepSeek-R1模型,生成个性化网页背景动图。
准备好开启你的专属DeepSeek-R1之旅了吗?跟随我们的步骤,轻松部署。
第一步:创建Notebook在线启动异构加速卡基础镜像 登录超算互联网https://www.scnet.cn个人账号,点击右上角“控制台”; 点击快捷入口中的“Notebook”,进入创建Notebook页面;
选择区域、选择异构加速卡AI-64GB,点击“基础镜像”,在列表中选择pytorch:2.3.0-ubuntu22.04-dtk24.04.2点击创建;
创建成功后,点击“JupyterLab”进入Notebook页面;
在Notebook中打开“终端”页面,使用命令进入private_data文件夹,创建个人项目文件夹;
cd private_data
mkdir -p my/deepseek
#随后进入项目文件夹
cd my/deepseek
此时的notebook处在一个完全干净的运行环境与项目空间。
登录超算互联网,在应用商城中搜索deepseek-r1,并选择“DeepSeek-R1-Distill-14B”模型文件商品,勾选服务协议后,点击“立即使用”,等待商品交付完成,点击“查看”;如果之前购买过商品,点击“去使用”,即可进入已购商品详情页面。 点击“下载到区域”,新建文件夹deepseek,并选择该文件夹
下载完成后,点击“在区域中打开”--“命令行打开”
使用pwd查看模型文件路径,并复制路径
再回到之前创建的项目文件夹终端页面,使用命令mv 压缩包路径 ./ 移动模型文件,等待移动完成后,即可看到DeepSeek-R1-Distill-14B模型文件压缩包,随后使用命令tar -xvf 解压,解压后即可看到DeepSeek-R1-Distill-14B模型文件。
执行命令:
pip install transformers==4.46.3 safetensors==0.4.5 accelerate==1.3.0
新建笔记本重命名为inference,用于编写代码运行模型
#导入相关模块
import os
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
#环境变量设置
os.environ["TOKENIZERS_PARALLELISM"] = "false"
#设置模型路径
model_id = "./DeepSeek-R1-Distill-Qwen-14B"
#加载模型之前释放显存
torch.cuda.empty_cache()
print(f"开始加载{model_id}模型...")
tokenizer = AutoTokenizer.from_pretrained(model_id, padding_side='left')
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", torch_dtype=torch.bfloat16)
print(f"\033[32m模型加载完成...\033[0m\n")
等待模型加载完成(单元格下面会出现模型加载完成字样)。
#设置输入
prompt = '请用html语言生成星空的动画背景,要求星空效果明显。同时我还希望在中间加入一个logo图,科技感十足,红色文字,文字采用极具霸气的中国泼墨风格,logo图文字SCNet,文字动态效果为心跳'
messages=[
{"role": "system", "content": "你是一个知识丰富的html代码专家,请提供清晰、准确的答案。"},
{ 'role': 'user', 'content': prompt}
]
output = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to("cuda")
max_length = 2048
tokenizer.padding_side = 'left'
tokenizer.pad_token = tokenizer.eos_token
tokenizer.add_special_tokens({'pad_token': '[PAD]'})
str_output = ""
#逐步生成输出
for _ in range(max_length):
#获取模型的预测
outputs = model.generate(
input_ids=output,
max_length=len(output[0]) + 1,
pad_token_id=tokenizer.pad_token_id,
bos_token_id=tokenizer.bos_token_id,
eos_token_id=tokenizer.eos_token_id,
do_sample=True,
top_k=10,
temperature=0.7
)
new_token = outputs[0, -1].unsqueeze(0)
#解码并打印生成的token
decoded_output = tokenizer.decode(new_token, skip_special_tokens=True)
print(decoded_output, end='', flush=False)
str_output += decoded_output
#更新output
output = torch.cat([output, outputs[:, -1].unsqueeze(1)], dim=1)
#Stop if end of sequence token is generated
if new_token.item() == tokenizer.eos_token_id:
break
在单元格下方即可看到DeepSeek-R1-Distill-Qwen-14B模型针对该问题所进行的深度思考和生成的html代码。
将生成的html代码复制到在线html生成器中进行生成,可以得到最后的结果。
在线html生成器推荐:https://www.mimashengcheng.com/runjs/
以上就是本次实操教程的全部内容了,大家可参照此步骤,在超算互联网使用DeepSeek-R1基础镜像创意化设计网页动画。
希望本篇最佳实践为您提供一些有价值的信息和实践技巧。