Configuring Parameters for Deploying DeepSeek Prefill/Decode Instances

Prerequisites

  • The MindCluster cluster scheduling components (including Ascend Docker Runtime, Volcano, Ascend Device Plugin, Ascend Operator, ClusterD, and NodeD) have been installed, and the status of each component is Running.
  • The DeepSeek model weight file has been prepared.
  • You have performed the operations in Configuring the Parameter Plane Network.
  • Python 3.9 or later has been installed on the master node using Ascend Deployer.

Parameters

Currently, MindCluster Ascend Deployer can start only DeepSeek P/D instances in typical configurations.

Configure parameters. The following is an example. For detailed parameters description, see Table 1 and Table 2.

[master]
xx.xxx.xx.x1 ansible_ssh_user="root" ansible_ssh_pass="xxxxxxx" set_hostname="master-1"     # Replace it with the IP address of the target device.

[worker]
xx.xxx.xx.x1-xx.xxx.xx.x3 ansible_ssh_user="root" ansible_ssh_pass="xxxxxxx"
xx.xxx.xx.x5-xx.xxx.xx.x9 ansible_ssh_user="root" ansible_ssh_pass="xxxxxxx" 

[all:vars]

# Configure parameters for deploying DeepSeek P/D instances.
weight_mount_path="" 
model_weight_path="" 
mindie_image_name="" 
mindie_image_file="" 
expert_map_file=""
model_name="ds_r1"
job_id="mindie-service"
p_instances_num=2
d_instances_num=1
single_p_instance_pod_num=2
single_d_instance_pod_num=4
max_seq_len=18000
mindie_host_log_path=""
Table 1 [master] and [worker] parameters

Parameter

Required or Not

Description

IP

Yes

Server IP address. You can enter multiple IP addresses. The details are described as follows:

  • index: sequence number of the server within the IP address segment, for example, 1.1.1.1-1.1.1.3 set_hostname="master-{index}", where 1.1.1.1 corresponds to set_hostname=master-1. The value is of the Int type. The default value is 1.
  • step_len: IP address step. The last IP address is retained even if it is not within the step. For example, if 1.1.1.1-1.1.1.6 step_len=2 is set, 1.1.1.1,1.1.1.3,1.1.1.5,1.1.1.6 is output.
  • Parameters can be parsed in the batch input configuration {}, including data calculation and conversion. After the parsing, the output is a character string. For example, if 1.1.1.1-1.1.1.3 set_hostname="master-{str(index+20)+'x'}" is entered, the parsed host information is 1.1.1.1 set_hostname="master-21x" ....
  • The IP address segment parameters support only Python 3.
  • When IPv6 is used, the IP address cannot be passed as a dynamic parameter.

ansible_ssh_user

Yes

Account for logging in to a remote server using SSH. The account must be root.

ansible_ssh_pass

No

Password for logging in to a remote server using SSH.

If SSH key-based authentication is configured and the root user is allowed for login, you do not need to set this parameter.

ansible_ssh_port

No

Port for SSH connection.

You do not need to set this parameter when the default port number 22 is used.

If a non-default port is used, you need to configure this parameter.

Table 2 [all:vars] parameters

Parameter

Required or Not

Description

weight_mount_path

Yes

Host directory mounted to a container. Example: /mnt/mindie_data/

model_weight_path

Yes

Path for accessing the weight file within a container. Example: /mnt/mindie_data/deepseek_diff_level/deepseek_r1_w8a8

mindie_image_name

No

Image name (name of the loaded MindIE image).

Example: mindie:dev-2.0.RC1.B091-800I-A2-py311-ubuntu22.04-aarch64

mindie_image_file

No

Path to the image file in shared storage (MindIE image not loaded yet).

Example: /mnt/weight/image/mindie_image*.tar.gz

expert_map_file

No

Path to the expert deployment table. Ensure that the path can be loaded within a container.

Example: /mnt/weight/16node_gsm8k.json

model_name

No

Model name, which needs to be specified during interface requests.

job_id

Yes

Namespace in Kubernetes.

p_instances_num

Yes

Number of P instances.

d_instances_num

Yes

Number of D instances.

single_p_instance_pod_num

Yes

Number of pods used by a single P instance.

single_d_instance_pod_num

Yes

Number of pods used by a single D instance.

max_seq_len

Yes

Maximum sequence length. The value must be greater than 0.

Only one of the following values can be selected:

  • 18000
  • 68000
  • 134000

mindie_host_log_path

No

MindIE log path. If CCAE is required, enter a non-root directory.

  • If a MindIE image exists in the cluster, configure mindie_image_name. If a MindIE image file exists on each node, configure mindie_image_file. Set either of the two parameters. If both are provided, mindie_image_name takes priority. If neither is provided, MindCluster Ascend Deployer will search for the image file in the ascend_deployer/resources/MindIE-image directory.
  • Ensure that the MindIE image corresponding to mindie_image_name and the image file corresponding to mindie_image_file exist in the cluster environment.
  • When using mindie_image_name, you only need to specify the master node; worker nodes may be omitted. If mindie_image_name is not used, list all worker nodes for deployment.