modelscope中,部署chatGlm3怎么解决?

"modelscope中,部署chatGlm3怎么解决? be3c0b3d6accbc12e801915d00554ee7.png

"

展开
收起
小小爱吃香菜 2024-03-17 21:42:03 115 分享 版权
阿里云 AI 助理回答

在ModelScope中部署ChatGLM3模型可以通过多种方式实现,包括使用阿里云的人工智能平台PAI、函数计算(FC)、以及基于Docker的本地部署。以下是详细的步骤和配置说明,帮助您顺利完成ChatGLM3模型的部署。


一、通过PAI平台部署ChatGLM3模型

  1. 登录PAI控制台并进入EAS

    • 登录PAI控制台。
    • 在页面上方选择目标地域,并在右侧选择目标工作空间,然后单击进入EAS
  2. 自定义模型部署

    • 单击部署服务,在自定义模型部署区域,选择自定义部署
    • 配置以下关键参数:
      • 服务名称:自定义服务名称。
      • 部署方式:选中开启Web应用
      • 镜像配置:在官方镜像列表中选择modelscope-inference,并选择最高版本。
      • 环境变量
      • MODEL_IDZhipuAI/chatglm3-6b
      • TASKchat
      • REVISIONv1.0.2
      • 如果是私有模型,需新增环境变量ACCESS_TOKEN,值为ModelScope官网获取的访问令牌。
      • 运行命令:系统会自动配置,无需修改。
      • 部署资源:建议选择GPU实例ml.gu7i.c16m60.1-gu30,以满足大语言模型的需求。
  3. 完成部署

    • 单击部署,等待服务状态变为运行中,即表示部署成功。
  4. 调用服务

    • 使用API接口调用模型服务,示例代码如下:

      import requests
      import json
      
      service_url = 'YOUR_SERVICE_URL'
      token = 'YOUR_SERVICE_TOKEN'
      
      request = {"prompt": "浙江的省会是哪里?", "history": []}
      resp = requests.post(service_url, headers={"Authorization": token}, data=json.dumps(request))
      result = json.loads(resp.text)
      print(result['response'])  # 输出:浙江的省会是杭州。
      

二、通过函数计算(FC)部署ChatGLM3模型

  1. 创建应用

    • 登录函数计算控制台。
    • 在左侧导航栏,单击应用,然后单击创建应用
    • 配置以下参数:
      • 模型IDZhipuAI/chatglm3-6b
      • 模型版本v1.0.2
      • 地域:建议选择华东1(杭州)或华东2(上海)。
      • 模型任务类型chat
      • Access Token:从ModelScope官网获取。
      • GPU实例类型fc.gpu.tesla.1
      • 显存大小:16384 MB
      • 内存大小:32768 MB
  2. 开启闲置预留模式

    • 应用部署完成后,在资源信息区域单击后缀为model-app-func的函数名称,跳转至函数详情页。
    • 配置页签中,选择预留实例,单击创建预留实例数策略
    • 设置版本和别名LATEST预留实例数为1,并启用闲置模式
  3. 验证部署

    • 等待容器实例启动成功后,检查当前预留实例数是否为1,并显示已开启闲置模式

三、基于Docker的本地部署

  1. 准备环境

    • 创建一台ECS实例,推荐规格为ecs.g8a.4xlarge(64 GiB内存),并分配公网IP。
    • 安装Docker,并确保Docker守护进程已启用。
  2. 拉取PyTorch AI容器镜像

    • 运行以下命令拉取针对AMD CPU优化的PyTorch镜像:
      sudo docker pull ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch-amd:1.13.1-3.2304-zendnn4.1
      sudo docker run -itd --name pytorch-amd --net host -v $HOME/workspace:/workspace \
      ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch-amd:1.13.1-3.2304-zendnn4.1
      
  3. 下载模型与源码

    • 进入容器环境,下载ChatGLM3-6B模型权重文件和源码。
  4. 修改模型加载参数

    • 修改cli_demo.py脚本,使用BF16精度加载模型以加速推理:
      cd /workspace/ChatGLM3/basic_demo
      grep "import torch" cli_demo.py 2>&1 >/dev/null || sed -i "3i\import torch" cli_demo.py
      sed -i 's/"auto")/"auto", torch_dtype=torch.bfloat16)/g' cli_demo.py
      
  5. 启动聊天机器人

    • 设置模型路径并启动服务:
      export MODEL_PATH="/workspace/chatglm3-6b"
      python3 cli_demo.py
      
    • 部署完成后,可通过终端与ChatGLM3-6B模型进行实时对话。

四、注意事项与建议

  • 硬件要求:ChatGLM3-6B模型对硬件资源需求较高,建议使用GPU实例(如GU30系列)或高配CPU实例(如ecs.g8a.4xlarge)。
  • 镜像选择:根据部署环境选择合适的镜像类型(GPU/CPU),并确保镜像版本与模型兼容。
  • 网络配置:如果部署在云端,确保实例具有公网访问权限,并正确配置安全组规则。
  • 性能优化:对于AMD CPU部署,建议使用BF16精度加载模型,以充分利用AVX-512指令集加速推理。

通过以上方法,您可以根据实际需求选择适合的部署方式,快速完成ChatGLM3模型的部署与调用。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!欢迎加入技术交流群:微信公众号:魔搭ModelScope社区,钉钉群号:44837352

热门讨论

热门文章

还有其他疑问?
咨询AI助理