跳到主要内容

模型下载加速

设置HF_ENDPOINT环境变量

在pod内部设置环境变量HF_ENDPOINT设置镜像站点(这里是http://hfmirror.mas.zetyun.cn:8082)。 在这个站点内我们缓存了很多开源模型,可以加速下载。

Linux:

export HF_ENDPOINT=http://hfmirror.mas.zetyun.cn:8082

Windows Powershell:

$env:HF_ENDPOINT = "http://hfmirror.mas.zetyun.cn:8082"

查看缓存模型列表

curl http://hfmirror.mas.zetyun.cn:8082/repos
提示

如果模型列表没有需要的模型,可联系客服申请加入缓存。

下载模型

pip install -U huggingface_hub

snapshot_download下载模型:

from huggingface_hub import snapshot_download

snapshot_download(repo_id='Qwen/Qwen-7B', repo_type='model',
local_dir='./model_dir', resume_download=True,
max_workers=8)

huggingface cli下载模型.

下载Qwen2.5-1.5B-Instruct:

huggingface-cli download --resume-download Qwen/Qwen2.5-1.5B-Instruct --local-dir Qwen/Qwen2.5-1.5B-Instruct
huggingface-cli download --resume-download Qwen/Qwen2.5-14B-Instruct --local-dir Qwen/Qwen2.5-14B-Instruct

huggingface示例代码下载模型:

使用示例代码时需要修改Cache模型的路径,将其设置为持久化的pvc路径。例如:

export HF_HOME=/mnt/models

可使用如下代码下载值直接运行,并自动下载模型

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/Qwen2.5-1.5B-Instruct"

model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

prompt = "write a quick sort algorithm."
messages = [
{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
**model_inputs,
max_new_tokens=512
)
generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]