WorkBuddy已经成国民应用了,我们day0支持了腾讯混元3大模型

7月6日,腾讯三年磨一剑,发布了混元3大模型,搭配国民应用Workbuddy, 企鹅系后起直追的本性暴露无疑。

作为企业级大模型推理服务和智能引擎平台, Tokengine day0支持了Hy3大模型, 欢迎体验使用。

Hy3 拥有2950亿参数的混合专家架构,激活参数210亿, 权重显存597.6G, 本次使用Hy3-FP8,权重显存299.92G。

本次快闪,两个姿势:

  1. 工程化跑通vllm 推理流程
  2. Workbuddy 和 Hy3在夏天更配哦

1. vllm production stack 工程化实践

前文GLM模型这么火,咱们用vllm也咧一个呗!在公众号平台爆了,文中glm4.7-falsh在vllm推理Pod中下载模型文件并启动, 模型就绪的探针时间不容易估测, 不是一个工程化的实践。

同时为了支持多实例推理,我们需要外挂模型权重启动:

  • 方式1: 由initcontainer初始容器下载, 并自然启动推理服务
  • 方式2: 由k8s原生job下载,并手动启动推理服务

为了让大家看的更清楚,我们本次用k8s原生job下载并手动启动推理服务:

定义一个pvc(底层用ceph文件存储)hy3-storage-claim, 这个pvc定义了一个路径/data/modelscope

复制代码
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: hy3-storage-claim
      namespace: vllm-inference
    spec:
      accessModes:
      - ReadWriteMany
      storageClassName: csi-cephfs-sc
      resources:
        requests:
          storage: 400Gi  # 模型至少需要 1.2TiB,建议配置充足
    ---
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: download-hy3
      namespace: vllm-inference
    spec:
      template:
        spec:
          restartPolicy: Never
          containers:
          - name: downloader
            image: modelscope-registry.cn-hangzhou.cr.aliyuncs.com/modelscope-repo/modelscope:ubuntu22.04-py311-torch2.3.1-1.33.0
            command:
            - /bin/bash
            - -c
            - |
              echo "开始下载Tencent-Hunyuan/Hy3-FP8 模型到 PVC..."
              modelscope download --model  Tencent-Hunyuan/Hy3-FP8  \
                                  --local_dir /data/modelscope/models/Tencent-Hunyuan/Hy3-FP8
              echo "下载完成!"
              ls -lh /data/modelscope/models/Tencent-Hunyuan/Hy3-FP8/
            env:
            - name: NVIDIA_VISIBLE_DEVICES
              value: ""  # 不暴露任何 GPU
            - name: CUDA_VISIBLE_DEVICES
              value: ""  # 禁用 CUDA
            volumeMounts:
            - name: model-storage
              mountPath: /data/modelscope
          volumes:
          - name: model-storage
            persistentVolumeClaim:
              claimName: hy3-storage-claim

kubectl get job download-hy3 -n vllm-inference显示下载Hy3用时3个半小时。

之后定义vllm production-stack helm charts value值:

复制代码
    grafanaDashboards:
      enabled: false
    prometheus-adapter:
      enabled: false

    routerSpec:
      serviceMonitor:
        enabled: false
      imagePullPolicy: "IfNotPresent"
      env:
      - name: TZ
        value: "Asia/Shanghai"

    servingEngineSpec:
      serviceMonitor:
        enabled: false
      runtimeClassName: "nvidia"
      imagePullPolicy: "IfNotPresent"

      modelSpec:
      - name: "hy3"
        nodeName: node6
        repository: "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/vllm/vllm-openai"
        tag: "v0.25.0"
        modelURL: "/data/modelscope/models/Tencent-Hunyuan/Hy3-FP8"
        extraVolumes:
        - name: model-storage
          persistentVolumeClaim:
            claimName: hy3-storage-claim   #  模型下载到pvc(挂载路径:/data/modelscope),完整路径是: /data/modelscope/models/DeepSeek-V4-Flash
        extraVolumeMounts:
        - name: model-storage
          mountPath: /data/modelscope
          readOnly: false

        replicaCount: 1
        requestCPU: 8
        requestMemory: "200Gi"
        requestGPU: 8

        shmSize: "300Gi"
        pvcAnnotations:
          helm.sh/resource-policy: "keep"    # helm uninstall 之后不要删除pvc

        vllmConfig:
          tensorParallelSize: 8
          maxModelLen: "200000"
          extraArgs:
            - "--gpu-memory-utilization"
            - "0.92"                  # 降低此值,减轻显存压力
            - "--max-num-seqs"
            - "3000"                    # 限制最大并发请求数
            - "--speculative-config.method"
            - "mtp"
            - "--speculative-config.num_speculative_tokens"
            - "2"
            - "--trust-remote-code"
            - "--tool-call-parser"
            - "hy_v3"
            - "--enable-auto-tool-choice"
            - "--reasoning-parser"
            - "hy_v3"
            - "--served-model-name"
            - "Tencent-Hunyuan/Hy3"

        env:
        - name: VLLM_USE_MODELSCOPE
          value: "false"
        - name: MODELSCOPE_OFFLINE  # 🔧 新增:只使用本地文件
          value: "true"
        - name: HF_ENDPOINT
          value: "https://hf-mirror.com"  # 当必须联网是,使用hf国内镜像站点
        - name: NCCL_DEBUG
          value: "INFO"
        - name: NCCL_P2P_DISABLE
          value: "0"
        - name: NCCL_IB_DISABLE
          value: "0"
        - name: NCCL_SHM_DISABLE
          value: "0"
        - name: VLLM_FLASHINFER_ALLREDUCE_BACKEND
          value: "trtllm"
        - name: PYTORCH_ALLOC_CONF
          value: "expandable_segments:True"
        - name: NCCL_CUDA_MEM_MANAGE
          value: "0"
        - name: NCCL_CUMEM_HOST_ENABLE       
          value: "0"                          
        - name: TZ
          value: "Asia/Shanghai"
        - name: MODELSCOPE_CACHE
          value: "/data/modelscope"


      startupProbe:
        initialDelaySeconds: 500  
        periodSeconds: 15
        failureThreshold: 60     
        timeoutSeconds: 10
        httpGet:
          path: /health
          port: 8000

注意extraVolumes extraVolumeMounts modelURL三个配置值:

  • extraVolumes 、extraVolumeMounts 搭配将名为hy3-storage-claim的pvc文件挂载进pod内指定路径/data/modelscope
  • modelURL: 指定了Pod内模型权重文件的路径
  • 最后参数记得加上--served-model-name, 避免出现不相干模型名。

最后helm install hy3 vllm/vllm-stack -f hy3.yaml -n vllm-inference启动vllm production stack推理服务。

2. WorkBuddy接入自持混元3大模型

打开WorkBuddy,从以下入口接入自持Hy3大模型, 选择自定义大模型,填入域名和apikey

混元3大模型是一个文本模型,结合WorkBuddy 可以玩出各种花样。

昨天利用WorkBuddy + 混元3大模型做了一个《研发部目标和规划ppt》, 全程没去制作一个页面,做出来的效果我给80分,思路清晰,结构稳定。

从WorkBuddy添加PPT制作专家, 作为 PPT 制作专家,他先通读现有两份文件,从「逻辑一致性 + 视觉一致性 + 数据可视化 + 文案措辞」四个维度做一次整体润色诊断。

生成的PPT 简洁有力,言简意赅,你觉得呢。