昇腾社区首页
中文
注册

模型推理

  1. 设置环境变量。

    若安装路径为默认路径,可以运行以下命令初始化各组件环境变量。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 配置CANN环境,默认安装在/usr/local目录下
    source /usr/local/Ascend/ascend-toolkit/set_env.sh
    # 配置加速库环境
    source /usr/local/Ascend/nnal/atb/set_env.sh
    # 配置模型仓环境变量
    source /usr/local/Ascend/atb-models/set_env.sh
    # MindIE
    source /usr/local/Ascend/mindie/latest/mindie-llm/set_env.sh
    source /usr/local/Ascend/mindie/latest/mindie-service/set_env.sh
    
  2. 配置服务化参数,参数说明请参考《MindIE Motor开发指南》中的“MindIE Motor组件 > MindIE Server > 配置参数说明”章节
    打开“/usr/local/Ascend/mindie/latest/mindie-service/conf/config.json”文件,根据实际情况修改如下配置参数。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    {
        "ServerConfig" : 
         {
            "httpsEnabled" : false,
          },
        "BackendConfig" : 
        {
             "npuDeviceIds" : [[0,1,2,3]],
             "ModelDeployConfig" :
            {
                 "ModelConfig" : [
                    {
                      "modelName" : "qwen2-7b",
                       "modelWeightPath" : "权重路径",
                       "worldSize" : 4,
                       "trustRemoteCode": false
                }
                ]
            },
            }
    }
    
  3. 启动服务。两种启动服务方法如下所示。

    启动命令需在/{MindIE安装目录}/latest/mindie-service目录中执行。

    • 方式一(推荐):使用后台进程方式启动服务。后台进程方式启动服务后,关闭窗口时进程也会保留。
      nohup ./bin/mindieservice_daemon > output.log 2>&1 &

      在标准输出流捕获到的文件中,打印如下信息说明启动成功。

      Daemon start success!
    • 方式二:直接启动服务。
      ./bin/mindieservice_daemon

      回显如下则说明启动成功。

      1
      Daemon start success!
      
    • bin目录按照安全要求,目录权限为550,没有写权限,但执行推理过程中,算子会在当前目录生成kernel_meta文件夹,需要写权限,因此不能直接在bin启动mindieservice_daemon。
    • Ascend-cann-toolkit工具会在执行服务启动的目录下生成kernel_meta_temp_xxxx目录,该目录为算子的cce文件保存目录。因此需要在当前用户拥有写权限目录下(例如Ascend-mindie-server_{version}_linux-{arch}目录,或者用户在Ascend-mindie-server_{version}_linux-{arch}目录下自行创建临时目录)启动推理服务。
    • 如需切换用户,请在切换用户后执行rm -f /dev/shm/*命令,删除由之前用户运行创建的共享文件。避免切换用户后,该用户没有之前用户创建的共享文件的读写权限,造成推理失败。
    • 标准输出流捕获到的文件output.log支持用户自定义文件和路径。
  4. 发送请求。

    服务化API接口请参考《MindIE Motor开发指南》中的“服务化接口”章节

    用户可使用HTTPS客户端(Linux curl命令,Postman工具等)发送HTTPS请求,此处以Linux curl命令为例进行说明。

    重开一个窗口,使用以下命令发送请求。例如验证服务是否拉起:

    curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{
    "prompt": "My name is Olivier and I ",
    "max_tokens":10
    }' http://127.0.0.1:1025/generate

    回显如下则表明请求发送成功:

    1
    {"text":["My name is Olivier and I  25 years old. I am a French student"]}