def METHOD_NAME(convert_parameter_name_dict, layer_num=4):
    # Firstly, converts the multihead_attention to the parameter.
    proj_names = ["q", "k", "v", "o"]
    param_names = ["weight", "bias"]
    nlp_format = "encoder.layers.{}.self_attn.{}_proj.{}"
    ernie_format = "encoder_stack.block.{}.attn.{}.{}"
    for i in range(0, layer_num):
        for proj_name in proj_names:
            for param_name in param_names:
                if proj_name == "o":
                    nlp_name = nlp_format.format(i, "out", param_name)
                else:
                    nlp_name = nlp_format.format(i, proj_name, param_name)
                ernie_name = ernie_format.format(i, proj_name, param_name)
                convert_parameter_name_dict[ernie_name] = nlp_name
    # Secondly, converts the encoder ffn parameter.
    nlp_format = "encoder.layers.{}.linear{}.{}"
    ernie_format = "encoder_stack.block.{}.ffn.{}.{}"
    nlp_param_names = ["1", "2"]
    ernie_param_names = ["i", "o"]
    param_names = ["weight", "bias"]
    for i in range(0, layer_num):
        for nlp_name, ernie_name in zip(nlp_param_names, ernie_param_names):
            for param_name in param_names:
                nlp_format_name = nlp_format.format(i, nlp_name, param_name)
                ernie_format_name = ernie_format.format(i, ernie_name, param_name)
                convert_parameter_name_dict[ernie_format_name] = nlp_format_name
    # Thirdly, converts the multi_head layer_norm parameter.
    nlp_format = "encoder.layers.{}.norm{}.{}"
    ernie_format = "encoder_stack.block.{}.ln{}.{}"
    proj_names = ["1", "2"]
    param_names = ["weight", "bias"]
    for i in range(0, layer_num):
        for proj_name in proj_names:
            for param_name in param_names:
                nlp_format_name = nlp_format.format(i, proj_name, param_name)
                ernie_format_name = ernie_format.format(i, proj_name, param_name)
                convert_parameter_name_dict[ernie_format_name] = nlp_format_name
    return convert_parameter_name_dict