模型下载加速
设置HF_ENDPOINT环境变量
在pod内部设置环境变量HF_ENDPOINT
设置镜像站点,按照不同的智算中心选择。
在这个站点内我们缓存了很多开源模型,可以加速下载。
- 北京一区
- 北京二区
- 北京三区
- Linux
- Windows
export HF_ENDPOINT=http://hfmirror.mas.zetyun.cn:8082
$env:HF_ENDPOINT = "http://hfmirror.mas.zetyun.cn:8082"
- Linux
- Windows
export HF_ENDPOINT=http://hfmirrora01.hd-02.zetyun.cn:8082
$env:HF_ENDPOINT = "http://hfmirrora01.hd-02.zetyun.cn:8082"
- Linux
- Windows
export HF_ENDPOINT=http://hfmirror-1.hd-03.zetyun.cn:8082
$env:HF_ENDPOINT = "http://hfmirror-1.hd-03.zetyun.cn:8082"
查看缓存模型列表
- 北京一区
- 北京二区
- 北京三区
# 查看北京一区模型列表
curl http://hfmirror.mas.zetyun.cn:8082/repos
# 查看北京二区模型列表
curl http://hfmirrora01.hd-02.zetyun.cn:8082/repos
# 查看北京三区模型列表
curl http://hfmirror-1.hd-03.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]