云服务器内容精选

  • 启动服务 启动OpenAI服务器服务,具体操作命令如下,可以根据参数说明修改配置。 export ATB_LAYER_INTERNAL_TENSOR_REUSE=1 python -m vllm.entrypoints.openai.api_server --model ${container_model_path} \ --max-num-seqs=256 \ --max-model-len=4096 \ --max-num-batched-tokens=4096 \ --dtype=float16 \ --tensor-parallel-size=1 \ --block-size=128 \ --host=${docker_ip} \ --port=8080 \ --gpu-memory-utilization=0.9 \ --trust-remote-code \ --served-model-name="baichuan-13b-chat" 具体参数说明如下: --model ${container_model_path}:模型地址,模型格式是HuggingFace的目录格式。即Step4 获取权重文件上传的HuggingFace权重文件存放目录。 --max-num-seqs:最大同时处理的请求数,超过后拒绝访问。 --max-model-len:推理时最大输入+最大输出tokens数量,输入超过该数量会直接返回。 --max-num-batched-tokens:prefill阶段,最多会使用多少token,必须大于或等于--max-model-len,推荐使用4096或8192。 --dtype:模型推理的数据类型,当前只支持float16。 --tensor-parallel-size:模型并行数,13B模型一般为1即可。 --block-size:PagedAttention的block大小,推荐设置为128。 --host=${docker_ip}:服务部署的IP,${docker_ip}替换为容器实际的IP地址。可以在宿主机上通过docker inspect 容器ID |grep IPAddress 命令查询。 --port:服务部署的端口,和Step4 启动容器镜像中设置的端口保持一致,否则不能在容器外访问推理服务。 --gpu-memory-utilization:NPU使用的显存比例,复用原vLLM的入参名称,默认为0.9。 --trust-remote-code:是否相信远程代码,baichuan-13b必须增加此项。 --served-model-name:模型名称。
  • 请求服务 使用命令测试推理服务是否正常启动。 curl -X POST http://127.0.0.1:8080/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "baichuan-13b-chat", "messages": [ { "role": "user", "content": "你是谁?" } ], "max_tokens": 100, "top_k": -1, "top_p": 1, "temperature": 0, "ignore_eos": false, "stream": false }' 服务的API与vLLM官网相同:https://github.com/vllm-project/vllm。此处介绍关键参数。 表1 请求服务参数说明 参数 是否必选 默认值 参数类型 描述 model 是 - Str 模型名称,参数--served-model-name的值。 messages 是 - LIst 请求输入的问题。 max_tokens 否 16 Int 每个输出序列要生成的最大tokens数量。 top_k 否 -1 Int 控制要考虑的前几个tokens的数量的整数。设置为 -1 表示考虑所有tokens。 适当降低该值可以减少采样时间。 top_p 否 1.0 Float 控制要考虑的前几个tokens的累积概率的浮点数。必须在 (0, 1] 范围内。设置为 1 表示考虑所有toekns。 temperature 否 1.0 Float 控制采样的随机性的浮点数。较低的值使模型更加确定性,较高的值使模型更加随机。0表示贪婪采样。 stop 否 None None/Str/List 用于停止生成的字符串列表。返回的输出将不包含停止字符串。 例如:["你", "好"],生成文本时遇到"你"或者"好"将停止文本生成。 stop_token_ids 否 None List 用于停止生成的token列表。返回的输出将包含停止tokens,除非停止tokens是特殊tokens。 ignore_eos 否 False Bool 是否忽略EOS tokens并继续生成EOS tokens后的tokens。False表示不忽略。 presence_penalty 否 0.0 Float 基于生成文本中新tokens是否已出现来对其进行惩罚的浮点数。大于0的值鼓励模型使用新的tokens,小于0的值鼓励模型重复使用tokens。 取值范围为[-2, 2] frequency_penalty 否 0.0 Float 基于生成文本中新tokens的频率来对其进行惩罚的浮点数。大于0的值鼓励模型使用新的tokens,小于0的值鼓励模型重复使用tokens。 取值范围为[-2, 2] skip_special_tokens 否 True Bool 是否跳过输出中的特殊tokens。默认为True,表示跳过。 stream 否 False Bool 是否开启流式推理。默认为False,表示不开启流式推理。 查看返回是否符合预期
  • 获取软件 表1 软件名称 软件名称 说明 下载地址 Ascend-cann-atb_7.0.0_linux-aarch64_abi0.run 推理依赖软件 https://ascend-cloud-llm-infer-ops.obs.cn-southwest-2.myhuaweicloud.com/version_packages/atb_llm_7.0.T61.B010.tar Ascend-cann-llm_7.0.0_linux-aarch64_torch2.0.1-abi0.tar.gz ascendcloud-llmframework_6.3.902_*.tar.gz 说明: 这里的*表示具体的时间戳。 Ascend-vllm插件 获取路径:Support网站。 说明: 如果没有软件下载权限,请联系您所在企业的华为方技术支持下载获取。 Baichuan-13b 从Huggingface下载的预训练权重文件 https://huggingface.co/baichuan-inc/Baichuan-13B-Base https://huggingface.co/baichuan-inc/Baichuan-13B-Chat (推荐) 下载完毕后的权重文件夹包含以下内容,此处以Baichuan-13b-chat为例。 Baichuan-13B-Chat ├── Baichuan-13B 模型社区许可协议.pdf ├── Community License for Baichuan-13B Model.pdf ├── config.json ├── configuration_baichuan.py ├── generation_config.json ├── generation_utils.py ├── gitattributes.txt ├── handler.py ├── modeling_baichuan.py ├── model.safetensors.index.json ├── pytorch_model-00001-of-00003.bin ├── pytorch_model-00002-of-00003.bin ├── pytorch_model-00003-of-00003.bin ├── pytorch_model.bin.index.json ├── quantizer.py ├── README.md ├── requirements.txt ├── special_tokens_map.json └── tokenization_baichuan.py