- 内存: 16GB+
- 系统: windows10/11
首先,请在系统中安装DockerDesktop,完成安装后,启动Docker Desktop
,启动成功后,会看到如下页面
- 打开Yuan-2B模型页面, 进入到模型文件列表 依次下载模型文件
- 新建一个文件(本示例中取名为
Yuan2-2B-hf
),将下载好的文件放到此文件夹中。
注意: 如果你的环境中不存在
GPU
或你想在CPU
模式下运行,需要修改模型文件config.json
和yuan_hf_model.py
1. config.json 将 user_flash_attention 的值改为 false 2. yuan_hf_model.py 1)注释掉 yuan_hf_model.py中第35、36行; 2)修改yuan_hf_model.py中第271行代码为: inference_hidden_states_memory = torch.empty(bsz, 2, hidden_states.shape[2], dtype=hidden_states.dtype)
我们封装了一个可直接运行Yuan Model
推理和YuanChat
的镜像,可已通过如下命令进行拉取。
#for only CPU
docker pull yuanmodel/yuanchat:all-cpu
# powder shell
# 进入到模型文件所在目录
cd f:\yuandemo
# 启动模型+Chat服务
docker run -d --name all-in-one -p 5050:5050 -v f:\yuandemo\Yuan2-2B-hf:/models yuanmodel/yuanchat:all-cpu
打开Docker Desktop
的Containers
菜单,可以看到一个名为all-in-one
的容器,查看此容器的详情
当详情页出现如下输出时,表示服务启动完毕
用浏览器打开地址: http://localhost:5050,会看到如下页面
如果你是初次安装的Docker Desktop
,或没有配置过.wslconfig
文件,在启动服务时,会出现如下错误
2024-01-05 17:14:04 You are using the default legacy behaviour of the <class 'transformers.models.llama.tokenization_llama.LlamaTokenizer'>. This is expected, and simply means that the `legacy` (previous) behavior will be used so nothing changes for you. If you want to use the new behaviour, set `legacy=False`. This should only be set if you understand what it means, and thoroughly read the reason why this was added as explained in https://github.com/huggingface/transformers/pull/24565
2024-01-05 17:14:04 Creat tokenizer...
2024-01-05 17:14:04 Creat model...
Loading checkpoint shards: 0%| | 0/3 [00:00<?, ?it/s]start.sh: line 4: 8 Killed python -u run_text_generation_server_hf.py
Windows系统
win+R
,并输入%UserProfile%
,点击回车
- 在打开的目录中新建
.wslconfig
文件,用记事本打开,并输入如下内容
[wsl2]
memory=16GB
processors=4
swap=0
- 重启
wsl
打开Powershell
,并执行如下命令
wsl --shutdown
-
重新启动
Docker Desktop
-
重启服务