中文
本页内容

CLI接口

openmind-cli list接口

功能描述

查询并回显本地已下载的模型清单,包括查询模型缓存目录和指定下载目录。

此接口支持PyTorch和MindSpore框架。

接口调用示例

  • 遍历查询环境变量所定义的缓存目录下存储的模型。
shell
openmind-cli list
  • 遍历查询~/.cache2/openmind/hub目录下缓存的模型。
shell
openmind-cli list --cache_dir ~/.cache2/openmind/hub

注意此处--cache_dir指定的缓存路径优先级高于环境变量所指定的缓存路径优先级。

  • 遍历查询./目录下的模型。
shell
openmind-cli list --local_dir ./
  • 遍历查询--local_dir--cache_dir目录下的模型。
shell
openmind-cli list --local_dir ./ --cache_dir ~/.cache2/openmind/hub

参数列表

  • --cache_dirstr可选,默认为None):模型缓存下载目录。如不指定,则读取环境变量所定义的缓存下载目录。

  • --local_dirstr可选,默认为None):模型本地下载目录。若同时指定了--local_dir--cache_dir会同时查询两个目录下的模型。

openmind-cli rm接口

功能描述

删除给定的模型,可以指定模型缓存目录以及本地目录。

此接口支持PyTorch和MindSpore框架。

接口调用示例

  • 删除默认缓存路径下的bluelm_7b_chat模型。
shell
openmind-cli rm PyTorch-NPU/bluelm_7b_chat

遍历查询默认缓存路径下的bluelm_7b_chat模型,若成功找到,则将其删除,并回显执行结果以及删除模型的原存储路径;如果没有找到,报错反馈给用户。

以下是成功删除的回显示例:

text
Deleted file path: /root/.cache/openmind/hub/models--PyTorch-NPU-bluelm_7b_chat
File deleted successfully.
  • 删除指定缓存路径下的bluelm_7b_chat模型。
shell
openmind-cli rm PyTorch-NPU/bluelm_7b_chat --cache_dir ~/.cache2/openmind/hub

遍历查询~/.cache2/openmind/hub目录下的bluelm_7b_chat模型,如找到,则将其删除,注意此处--cache_dir指定的缓存路径优先级高于环境变量所指定的缓存路径优先级。

  • 删除指定本地路径下的bluelm_7b_chat模型。
shell
openmind-cli rm PyTorch-NPU/bluelm_7b_chat --local_dir /your/local/path/

遍历查询/your/local/path/目录下的bluelm_7b_chat模型,如找到,则将其删除;如果没有找到,报错反馈给用户。

  • 删除指定缓存路径和指定本地路径下的bluelm_7b_chat模型。
shell
openmind-cli rm PyTorch-NPU/bluelm_7b_chat --local_dir /your/local/path/ --cache_dir ~/.cache2/openmind/hub

遍历查询--local_dir--cache_dir目录下的bluelm_7b_chat模型,如找到,则将其删除;如果没有找到,报错反馈给用户。

以下是两个路径均存在对应模型的回显示例:

text
Deleted file path: /your/local/path/models--PyTorch-NPU-bluelm_7b_chat
Deleted file path: /root/.cache2/openmind/hub/models--PyTorch-NPU-bluelm_7b_chat
Files deleted successfully.

参数列表

  • model_idstr必选):期望删除的模型名称。

  • --cache_dirstr可选,默认为None):模型缓存下载目录。如不指定,则读取环境变量所定义的缓存下载目录。

  • --local_dirstr可选,默认为None):模型本地下载目录。

openmind-cli pull接口

功能描述

下载指定模型/数据集/体验空间至缓存下载目录或本地下载目录。

此接口支持PyTorch和MindSpore框架。

接口调用示例

  • 下载PyTorch-NPU/bert_base_cased至默认缓存下载路径。
shell
openmind-cli pull PyTorch-NPU/bert_base_cased

以下是成功下载的回显示例:

text
Pull PyTorch-NPU/bert_base_cased finished
  • 按照配置文件config.yaml中存储的配置项,下载PyTorch-NPU/bert_base_cased至默认缓存下载路径。
shell
openmind-cli pull PyTorch-NPU/bert_base_cased --yaml_path ./config.yaml

注意,如果config.yaml中以键值对的形式定义了cache_dir,则下载至配置的下载路径。

  • 按照配置文件config.yaml中存储的配置项,下载PyTorch-NPU/bert_base_cased至--cache_dir指定的缓存下载目录。
shell
openmind-cli pull PyTorch-NPU/bert_base_cased --cache_dir ~/.cache2/openmind/hub --yaml_path ./config.yaml

按照配置文件config.yaml中存储的配置项,下载PyTorch-NPU/bert_base_cased至--cache_dir指定的缓存下载目录,即~/.cache2/openmind/hub覆盖环境变量所定义的缓存下载目录。如果配置文件config.yaml中也以键值对的形式定义了cache_dir,则应被CLI指令中定义的--cache_dir覆盖。

参数列表

  • repo_idstr必选):待下载的模型/数据集/体验空间ID。

  • --repo_typestr可选,默认为model):下载的类型,可从model/dataset/space中选择。

  • --revisionstr可选,默认为None):分支名称。

  • --cache_dirstr可选,默认为None):模型缓存下载目录。如不指定,则读取环境变量所定义的缓存下载目录。

  • --local_dirstr可选,默认为None):模型本地下载目录。会在local_dir和环境变量所定义的缓存下载目录中都保存模型,默认由文件大小决定是否创建从local_dir指向环境变量所定义的缓存下载目录的软链接.symlink文件。

  • --local_dir_use_symlinksstrbool可选,默认为auto):与local_dir参数一起使用。如果为auto,则会由文件大小决定是否创建软链接.symlink文件。如果为True,则会为所有文件创建软链接.symlink文件。如果为False,则不会为任何文件创建软链接.symlink文件。

  • --resume_downloadbool可选,默认为True):恢复之前中断的下载。

  • --force_downloadbool可选,默认为False):是否强制下载文件,无论缓存是否存在。

  • --tokenstr可选,默认为None):若为公开仓库,则可省略;若为私有仓库,则为对目标仓库具有可读权限的访问令牌。

  • --local_files_onlybool可选,默认为False):设置为True时,若本地缓存已存在,则直接返回本地路径,而不再重复下载。

  • --allow_patternsList[str]str可选,默认为None):只允许某类文件下载,如--allow_patterns "['*.bin','*.py']"表示只下载以.bin和.py结尾的文件,--allow_patterns '*.json'表示只下载以.json结尾的文件。

  • --ignore_patternsList[str]str可选,默认为None):忽略某类文件的下载。

  • --max_workersint可选,默认为8):并发下载的线程数。

  • --yaml_pathstr可选,默认为None):yaml配置文件,支持以yaml格式结构化存储第2~14个配置项。如果同时配置了第2~14个配置项和配置文件,则CLI指令中定义的配置项优先级更高。如果第2~14个配置项中的必选配置项已在yaml中定义,则可无需再在CLI指令中输入。

openmind-cli push接口

功能描述

上传指定目录下的内容至指定仓库。

此接口支持PyTorch和MindSpore框架。

接口调用示例

  • 将当前目录下的文件上传至your_organization/your_repo仓库。
shell
openmind-cli push your_organization/your_repo --token xxx

以下是成功上传的回显示例:

text
Push to your_organization/your_repo finished
  • 按照配置文件config.yaml中存储的配置项,上传模型文件夹至your_organization/your_repo仓库。
shell
openmind-cli push your_organization/your_repo --yaml_path ./config.yaml

注意:此时token必须写入config.yaml中。

config.yaml文件示例如下:

text
token: xxx
folder_path: ~/test/model
num_threads: 10
  • 按照配置文件config.yaml中存储的配置项,上传模型文件夹folder_path至your_organization/your_repo仓库。
shell
openmind-cli push your_organization/your_repo --folder_path ~/.cache2/openmind/hub --yaml_path ./config.yaml

按照配置文件config.yaml中存储的配置项,上传模型文件夹folder_path(~/.cache2/openmind/hub)至your_organization/your_repo仓库。如果配置文件config.yaml中也以键值对的形式定义了folder_path,则应被CLI指令中定义的--folder_path(~/.cache2/openmind/hub)覆盖。注意:此时token必须写入config.yaml中。

参数列表

  • repo_idstr必选):待上传的仓库ID。

  • --folder_pathstr可选,默认为./):上传目录路径,上传的内容不包含该目录本身。

  • --path_in_repostr可选,默认为None):上传到仓库中的路径,末尾不带“\”,默认为空字符串,代表仓库根目录。

  • --commit_messagestr可选,默认为Upload folder using openMind hub):本次上传的提交信息。

  • --commit_descriptionstr可选,默认为None):对本次提交的描述。

  • --tokenstr可选,默认为None):对目标仓库具有可写权限的访问令牌。若在yaml文件中进行配置,则CLI指令中可省略。

  • --revisionstr可选,默认为main):上传到仓库的指定分支。

  • --allow_patternsList[str]str可选,默认为None):只允许某类文件上传,如--allow_patterns "['*.bin','*.py']"表示只上传以.bin和.py结尾的文件,--allow_patterns '*.json'表示只上传以.json结尾的文件。

  • --ignore_patternsList[str]str可选,默认为None):忽略某类文件的上传。

  • --num_threadsint可选,默认为5):上传所使用的线程数目。

  • --yaml_pathstr可选,默认为None):yaml配置文件,支持以yaml格式结构化存储第2~10个配置项。如果同时配置了第2~10个配置项和配置文件,则CLI指令中定义的配置项优先级更高。如果第2~10个配置项中的必选配置项已在yaml中定义,则可无需再在CLI指令中输入。

openmind-cli run接口

功能描述

进行单次推理。

此接口支持PyTorch和MindSpore框架。实现方式为pipeline,兼容所有pipeline支持的模型。若推理不兼容的模型,pipeline会给出对应模型的报错。

接口调用示例

  • 指定魔乐社区中bert_base_cased模型进行单次推理。

    shell
    openmind-cli run PyTorch-NPU/bert_base_cased --input "An apple a day, keeps [MASK] away"
    
  • 按照配置文件config.yaml中存储的配置项,指定魔乐社区中bert_base_cased模型进行单次推理。

    shell
    openmind-cli run PyTorch-NPU/bert_base_cased --input "An apple a day, keeps [MASK] away" --yaml_path ./config.yaml
    

    config.yaml文件示例如下:

    text
    task: fill-mask
    framework: pt
    cache_dir: path/to/cache
    
  • 指定任务类型进行单次推理。

    shell
    openmind-cli run text-generation --input "What is AI?" 
    
  • 指定任务类型 zero-shot-image-classification 进行单次推理。

    shell
    openmind-cli run zero-shot-image-classification --input '{"image":"xxx.jpg","candidate_labels":["2 cats", "a plane", "a remote"]}' --device "npu:0"
    

参数列表

  • task_name/repo_idstr必选):单次推理任务名称/模型仓库名称或模型本地路径。

  • --inputstr必选):待输入推理模型的内容或者文件路径。

  • --taskstr可选,默认为None):单次推理的任务类型。当前支持的task类型可参考pipeline当前支持的推理任务及其默认模型

  • --frameworkstr可选,默认为None):单次推理运行依赖的AI框架,支持pt(PyTorch)和ms(MindSpore)。

  • --backendtransformers, diffusersmindformers, mindnlp可选):后端对接套件名,当framework为pt时,支持backend配置为transformersdiffusers,当framework为ms时,支持backend配置为mindformersmindnlp

  • --cache_dirstr可选,默认为None):模型缓存下载目录。如不指定,则读取环境变量所定义的缓存下载目录。

  • --dockerstr可选,默认为None):选择使用默认或者指定tag的镜像来执行单次推理。如不指定,则默认使用宿主机推理。

    参数可以填写default或者指定tag,具体tag的获取可以在镜像中心中进入openMind的Tags内查询,tag分为NPU镜像和CPU镜像:

    shell
    openeuler-python3.9-cann8.0.rc2.beta1-pytorch2.1.0-openmind0.8.0
    openeuler-python3.9-pytorch2.1.0-openmind0.8.0
    

    其中第二种不含CANN版本的tag为对应CPU的镜像。

    若使用default参数,则根据优先级:模型可用性测试信息>模型指定自定义信息>镜像中心最新latest Tag信息,帮助用户选择合适的配套版本启动镜像。如果未找到模型可用性测试信息和指定自定义信息,则要保证该模型有明确的框架(模型Owner可以在Readme里面添加framework信息),获取不到框架会报错。

    【注意】

    • 请参考创建驱动运行用户前两步,创建uid和gid为1000的驱动运行用户HwHiAiUser。
    • 请用户结合实际需求,对docker组权限进行加固,避免启动的容器被恶意利用。
    • 指定tag时,要保证openMind Library版本大于等于0.8.0,否则没有对应的run接口。
    • 如果--docker参数不为None,则必须保证传入的路径参数的权限至少为"他人可读",模型路径至少为"他人可读可执行",否则会报错退出。
    • 为预防因命令注入攻击导致的安全问题,命令行中不允许添加以下字符:["|", ";", "$", "&", "<", ">", "`", "\n"]。
  • --kwargsdict可选,默认为None):推理需要的其它参数,具体参数可参考Pipeline API接口中关于kwargs的描述。

  • --yaml_pathstr可选,默认为None):yaml配置文件,支持以yaml格式结构化存储第2~5个配置项。如果同时配置了第2~5个配置项和配置文件,则CLI指令中定义的配置项优先级更高。

需要注意的是,在指定task_name进行推理时,不可以同时使用--task参数指定任务类型,即不允许类似openmind-cli run text-generation --task fill-mask的调用方式。

FAQ:

1.由于原生接口限制,当前openmind-cli run接口执行summarization任务时,暂不支持--input参数传入dict,仅支持--input “your documents”的形式。

openmind-cli chat接口

功能描述

开启多轮对话,输入exit退出会话,输入clear清除上下文对话记忆。

支持模型清单

组织名称模型名称模板名称模型框架依赖三方库特殊要求
BaichuanBaichuan2_7b_chat_ptbaichuan2PyTorchtransformers == 4.39.2
PyTorch-NPUchatglm3_6bchatglm3PyTorchtransformers == 4.39.2
AI-Researchglm-4-9b-chatglm4PyTorchtransformers == 4.43.0
AI-ResearchQwen2.5-7B-InstructqwenPyTorchtransformers == 4.45.2

接口调用示例

  • 使用模型Baichuan/Baichuan2_7b_chat_pt开启多轮对话。

    shell
    openmind-cli chat Baichuan/Baichuan2_7b_chat_pt
    
  • 加载config.yaml文件中配置的相关参数,使用模型Baichuan/Baichuan2_7b_chat_pt开启多轮对话

    shell
    openmind-cli chat Baichuan/Baichuan2_7b_chat_pt --yaml_path ./config.yaml
    

    config.yaml文件示例内容如下:

    text
    device: "npu:0"  # 多轮对话模型的运行设备
    framework: "pt"  # 多轮对话模型运行依赖的AI框架
    cache_dir: "./tmp_cache"  # 模型缓存本地路径
    

    【注意】命令行指定参数与yaml配置文件参数重名时,命令行指定参数优先级更高。

参数列表

  • model_name_or_pathstr必选):多轮对话模型仓库名称/模型文件本地路径。

  • --templatestr可选,默认为None):多轮对话模型使用的模板名称。如model_name_or_path设置为社区模型repo_id,openMind Library将基于repo_id关联对应模板名称,--template参数可选。如model_name_or_path设置为模型本地文件路径,--template参数必填。

  • --tool_formatstr可选,默认为None):构建函数调用的工具类型名称,当前支持defaultglm4

  • --frameworkstr可选,默认为None,选择范围["pt"]):多轮对话运行依赖的AI框架,不配置时openMind Library会基于用户使用环境自动判断。

  • --yaml_pathstr可选,默认为None):yaml配置文件本地路径,支持配置除model_name_or_path外的所有参数。openMind Library会解析该文件,并将解析出的参数与命令行指定的参数进行合并,同名参数以命令行指定的为更高优先级。

  • --dockerstr可选,默认为None):选择使用默认或者指定tag的镜像来执行多轮对话。如不指定,则默认使用宿主机执行。

    参数可以填写default或者指定tag,具体tag的获取可以在镜像中心中进入openMind的Tags内查询,tag分为NPU镜像和CPU镜像:

    shell
    openeuler-python3.9-cann8.0.rc2.beta1-pytorch2.1.0-openmind0.8.0
    openeuler-python3.9-pytorch2.1.0-openmind0.8.0
    

    其中第二种不含CANN版本的tag为对应CPU的镜像。

    若使用default参数,则根据优先级:模型可用性测试信息>模型指定自定义信息>镜像中心最新latest Tag信息,帮助用户选择合适的配套版本启动镜像。如果未找到模型可用性测试信息和指定自定义信息,则要保证该模型有明确的框架(模型Owner可以在Readme里面添加framework信息),获取不到框架会报错。

    【注意】

    • 请参考创建驱动运行用户前两步,创建uid和gid为1000的驱动运行用户HwHiAiUser。
    • 请用户结合实际需求,对docker组权限进行加固,避免启动的容器被恶意利用。
    • 指定tag时,要保证openMind Library版本大于等于0.8.0,否则没有对应的chat接口。
    • 如果--docker参数不为None,则必须保证传入的路径参数的权限至少为"他人可读",模型路径至少为"他人可读可执行",否则会报错退出。
    • 为预防因命令注入攻击导致的安全问题,命令行中不允许添加以下字符:["|", ";", "$", "&", "<", ">", "`", "\n"]。
  • --model_revisionstr可选,默认为"main"):模型版本名称。

  • --adapter_name_or_pathstr可选,默认为None):多轮对话模型涉及的adapter模型仓库名称/模型文件本地路径,如涉及多个adapter使用逗号分隔。

  • --finetuning_typestr可选,默认为"lora",选择范围["lora"]):微调算法类型名称。

  • --adapter_folderstr可选,默认为None):加载adapter模型权重的路径。

  • --cache_dirstr可选,默认为~/.cache/openmind/hub):多轮对话使用模型在本地的缓存路径。

  • --use_fast_tokenizerbool可选,默认为True):是否使用快速分词器。

  • --resize_vocabbool可选,默认为False):是否重新调整分词器词表及嵌入层大小。

  • --split_special_tokensbool可选,默认为False):是否在分词过程中分离特殊词元。

  • --new_special_tokensstr可选,默认为None):加入分词器的特殊词元,多个词元使用逗号分隔。

  • --low_cpu_mem_usagebool可选,默认为True):是否使用内存高效的模型加载方式。

  • --rope_scalingstr可选,默认为None,选择范围["linear", "dynamic"]):旋转位置编码策略名称。

  • --flash_attnstr可选,默认为auto,选择范围["auto", "disabled"]):Flash Attention使用策略名称。

  • --offload_folderstr可选,默认为offload):离线加载多轮对话模型的本地路径。

  • --use_cachebool可选,默认为True):是否在生成过程中使用KV缓存。

  • --infer_dtypestr可选,默认为auto,选择范围["auto", "float16", "bfloat16", "float32"]):多轮对话模型推理精度类型。

  • --hub_tokenstr可选,默认为None):访问多轮对话模型使用的访问令牌。

  • --print_param_statusbool可选,默认为False):为便于调试,打印多轮对话模型的参数信息/状态。

  • --devicestr可选,默认为"npu:0",选择范围["cpu", "npu:0", "npu:1", "npu:2", "npu:3", "npu:4", "npu:5", "npu:6", "npu:7"]):运行多轮对话模型的设备名称。

  • --do_samplebool可选,默认为True):是否进行采样,否则使用greedy decoding策略。

  • --temperaturefloat可选,默认为0.95):用于调整下一个预测词元的概率。

  • --top_pfloat可选,默认为0.7):保留概率总和达到top_p或更高的概率最高的一组词元。

  • --top_kint可选,默认为50):通过top-k算法过滤后保留的最高概率词元的数量。

  • --num_beamsint可选,默认为1):beam search算法的beam数量,设置为1表示不使用beam search算法。

  • --max_lengthint可选,默认为1024):生成词元的最大长度,可以被参数--max_new_tokens覆盖。

  • --max_new_tokensint可选,默认为1024):生成词元的最大长度(不包含prompt词元的长度)。

  • --repetition_penaltyfloat可选,默认为1.0):重复生成的惩罚系数,设置为1.0表示不设置惩罚。

  • --length_penaltyfloat可选,默认为1.0):针对生成长度的惩罚系数,与beam search算法协同使用。

  • --default_systemstr可选,默认为None):system角色的默认内容。

  • --kwargsdict可选,默认为None):多轮对话需要的其它参数。

openmind-cli lmeval接口

功能描述

使用EleutherAI lm-evaluatin-harness评估LLM,仅支持transformers的AutoModelForCausalLMAutoModelForSeq2SeqLM类模型评估。且该特性目前支持的模型范围有限制,请开发者使用时自行判定推理评估效果。

此接口仅支持PyTorch框架。

当前支持任务列表如下。

text
- arithmetic
- gsm8k
- mmlu
- mgsm_cot_native
- mgsm_direct
- truthfulqa
- hellaswag
- ai2_arc

接口调用示例

  • 使用arithmetic数据集评估Baichuan/Baichuan2_7b_chat_pt精度。

    bash
    openmind-cli lmeval --model Baichuan/Baichuan2_7b_chat_pt --device npu:0 --tasks arithmetic --batch_size 64 --trust_remote_code 1
    

    以下是执行成功的结果(省略中间过程):

    text
    |    Tasks     |Version|Filter|n-shot|Metric|   |Value |   |Stderr|
    |--------------|------:|------|-----:|------|---|-----:|---|-----:|
    |arithmetic_1dc|      1|none  |     0|acc   |↑  |0.1165|±  |0.0072|
    |arithmetic_2da|      1|none  |     0|acc   |↑  |0.0660|±  |0.0056|
    |arithmetic_2dm|      1|none  |     0|acc   |↑  |0.0345|±  |0.0041|
    |arithmetic_2ds|      1|none  |     0|acc   |↑  |0.0745|±  |0.0059|
    |arithmetic_3da|      1|none  |     0|acc   |↑  |0.0525|±  |0.0050|
    |arithmetic_3ds|      1|none  |     0|acc   |↑  |0.0920|±  |0.0065|
    |arithmetic_4da|      1|none  |     0|acc   |↑  |0.0660|±  |0.0056|
    |arithmetic_4ds|      1|none  |     0|acc   |↑  |0.1950|±  |0.0089|
    |arithmetic_5da|      1|none  |     0|acc   |↑  |0.0500|±  |0.0049|
    |arithmetic_5ds|      1|none  |     0|acc   |↑  |0.1580|±  |0.0082|
    
    
  • 使用gsm8k数据集评估Baichuan/Baichuan2_7b_chat_pt精度。

    bash
    openmind-cli lmeval --model Baichuan/Baichuan2_7b_chat_pt --device npu:0 --tasks gsm8k --batch_size 8 --trust_remote_code 1
    

    以下是执行成功的结果(省略中间过程):

    text
    |Tasks|Version|     Filter     |n-shot|  Metric   |   |Value |   |Stderr|
    |-----|------:|----------------|-----:|-----------|---|-----:|---|-----:|
    |gsm8k|      3|flexible-extract|     5|exact_match|↑  |0.2782|±  |0.0123|
    |     |       |strict-match    |     5|exact_match|↑  |0.2631|±  |0.0121|
    
  • 使用mmlu数据集评估Baichuan/Baichuan2_7b_chat_pt精度。

    bash
    openmind-cli lmeval --model Baichuan/Baichuan2_7b_chat_pt --device npu:0 --tasks mmlu --batch_size 16 --trust_remote_code 1
    

    以下是执行成功的结果(省略中间过程):

    text
    |                 Tasks                 |Version|Filter|n-shot|Metric|   |Value |   |Stderr|
    |---------------------------------------|-------|------|-----:|------|---|-----:|---|-----:|
    |mmlu                                   |N/A    |none  |     0|acc   |↑  |0.5080|±  |0.0040|
    |  - abstract_algebra                   |      0|none  |     0|acc   |↑  |0.3100|±  |0.0465|
    |  - anatomy                            |      0|none  |     0|acc   |↑  |0.4963|±  |0.0432|
    |  - astronomy                          |      0|none  |     0|acc   |↑  |0.5395|±  |0.0406|
    |  - business_ethics                    |      0|none  |     0|acc   |↑  |0.6000|±  |0.0492|
    |  - clinical_knowledge                 |      0|none  |     0|acc   |↑  |0.5472|±  |0.0306|
    |  - college_biology                    |      0|none  |     0|acc   |↑  |0.5139|±  |0.0418|
    |  - college_chemistry                  |      0|none  |     0|acc   |↑  |0.3800|±  |0.0488|
    |  - college_computer_science           |      0|none  |     0|acc   |↑  |0.5100|±  |0.0502|
    |  - college_mathematics                |      0|none  |     0|acc   |↑  |0.3100|±  |0.0465|
    |  - college_medicine                   |      0|none  |     0|acc   |↑  |0.4971|±  |0.0381|
    |  - college_physics                    |      0|none  |     0|acc   |↑  |0.3235|±  |0.0466|
    |  - computer_security                  |      0|none  |     0|acc   |↑  |0.6100|±  |0.0490|
    |  - conceptual_physics                 |      0|none  |     0|acc   |↑  |0.4170|±  |0.0322|
    |  - econometrics                       |      0|none  |     0|acc   |↑  |0.2632|±  |0.0414|
    |  - electrical_engineering             |      0|none  |     0|acc   |↑  |0.4414|±  |0.0414|
    |  - elementary_mathematics             |      0|none  |     0|acc   |↑  |0.2963|±  |0.0235|
    |  - formal_logic                       |      0|none  |     0|acc   |↑  |0.3016|±  |0.0410|
    |  - global_facts                       |      0|none  |     0|acc   |↑  |0.3800|±  |0.0488|
    |  - high_school_biology                |      0|none  |     0|acc   |↑  |0.6194|±  |0.0276|
    |  - high_school_chemistry              |      0|none  |     0|acc   |↑  |0.4138|±  |0.0347|
    |  - high_school_computer_science       |      0|none  |     0|acc   |↑  |0.5200|±  |0.0502|
    |  - high_school_european_history       |      0|none  |     0|acc   |↑  |0.6727|±  |0.0366|
    |  - high_school_geography              |      0|none  |     0|acc   |↑  |0.6667|±  |0.0336|
    |  - high_school_government_and_politics|      0|none  |     0|acc   |↑  |0.7254|±  |0.0322|
    |  - high_school_macroeconomics         |      0|none  |     0|acc   |↑  |0.4667|±  |0.0253|
    |  - high_school_mathematics            |      0|none  |     0|acc   |↑  |0.2407|±  |0.0261|
    |  - high_school_microeconomics         |      0|none  |     0|acc   |↑  |0.5210|±  |0.0324|
    |  - high_school_physics                |      0|none  |     0|acc   |↑  |0.3377|±  |0.0386|
    |  - high_school_psychology             |      0|none  |     0|acc   |↑  |0.6954|±  |0.0197|
    |  - high_school_statistics             |      0|none  |     0|acc   |↑  |0.4630|±  |0.0340|
    |  - high_school_us_history             |      0|none  |     0|acc   |↑  |0.6814|±  |0.0327|
    |  - high_school_world_history          |      0|none  |     0|acc   |↑  |0.7173|±  |0.0293|
    |  - human_aging                        |      0|none  |     0|acc   |↑  |0.5516|±  |0.0334|
    |  - human_sexuality                    |      0|none  |     0|acc   |↑  |0.6489|±  |0.0419|
    | - humanities                          |N/A    |none  |     0|acc   |↑  |0.4659|±  |0.0069|
    |  - international_law                  |      0|none  |     0|acc   |↑  |0.6033|±  |0.0447|
    |  - jurisprudence                      |      0|none  |     0|acc   |↑  |0.6204|±  |0.0469|
    |  - logical_fallacies                  |      0|none  |     0|acc   |↑  |0.6380|±  |0.0378|
    |  - machine_learning                   |      0|none  |     0|acc   |↑  |0.3304|±  |0.0446|
    |  - management                         |      0|none  |     0|acc   |↑  |0.6408|±  |0.0475|
    |  - marketing                          |      0|none  |     0|acc   |↑  |0.7821|±  |0.0270|
    |  - medical_genetics                   |      0|none  |     0|acc   |↑  |0.5600|±  |0.0499|
    |  - miscellaneous                      |      0|none  |     0|acc   |↑  |0.7241|±  |0.0160|
    |  - moral_disputes                     |      0|none  |     0|acc   |↑  |0.5058|±  |0.0269|
    |  - moral_scenarios                    |      0|none  |     0|acc   |↑  |0.2469|±  |0.0144|
    |  - nutrition                          |      0|none  |     0|acc   |↑  |0.5850|±  |0.0282|
    | - other                               |N/A    |none  |     0|acc   |↑  |0.5883|±  |0.0086|
    |  - philosophy                         |      0|none  |     0|acc   |↑  |0.5820|±  |0.0280|
    |  - prehistory                         |      0|none  |     0|acc   |↑  |0.5864|±  |0.0274|
    |  - professional_accounting            |      0|none  |     0|acc   |↑  |0.3652|±  |0.0287|
    |  - professional_law                   |      0|none  |     0|acc   |↑  |0.3911|±  |0.0125|
    |  - professional_medicine              |      0|none  |     0|acc   |↑  |0.5257|±  |0.0303|
    |  - professional_psychology            |      0|none  |     0|acc   |↑  |0.4788|±  |0.0202|
    |  - public_relations                   |      0|none  |     0|acc   |↑  |0.6545|±  |0.0455|
    |  - security_studies                   |      0|none  |     0|acc   |↑  |0.5837|±  |0.0316|
    | - social_sciences                     |N/A    |none  |     0|acc   |↑  |0.5821|±  |0.0087|
    |  - sociology                          |      0|none  |     0|acc   |↑  |0.6915|±  |0.0327|
    | - stem                                |N/A    |none  |     0|acc   |↑  |0.4196|±  |0.0086|
    |  - us_foreign_policy                  |      0|none  |     0|acc   |↑  |0.7200|±  |0.0451|
    |  - virology                           |      0|none  |     0|acc   |↑  |0.4759|±  |0.0389|
    |  - world_religions                    |      0|none  |     0|acc   |↑  |0.7193|±  |0.0345|
    
  • 使用mgsm数据集评估Baichuan/Baichuan2_7b_chat_pt精度。

    bash
    openmind-cli lmeval --model Baichuan/Baichuan2_7b_chat_pt --device npu:0 --tasks mgsm_cot_native --batch_size 16 --trust_remote_code 1
    

    以下是执行成功的结果(省略中间过程):

    text
    |        Tasks        |Version|     Filter     |n-shot|  Metric   |   |Value |   |Stderr|
    |---------------------|-------|----------------|-----:|-----------|---|-----:|---|-----:|
    |mgsm_cot_native      |N/A    |flexible-extract|     0|exact_match|↑  |0.1491|±  |0.0046|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0002|±  |0.0002|
    | - mgsm_en_cot_bn    |      2|flexible-extract|     0|exact_match|↑  |0.0560|±  |0.0146|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_en_cot_de    |      2|flexible-extract|     0|exact_match|↑  |0.1840|±  |0.0246|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0040|±  |0.0040|
    | - mgsm_en_cot_en    |      2|flexible-extract|     0|exact_match|↑  |0.3320|±  |0.0298|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_en_cot_es    |      2|flexible-extract|     0|exact_match|↑  |0.2280|±  |0.0266|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_en_cot_fr    |      2|flexible-extract|     0|exact_match|↑  |0.2040|±  |0.0255|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_en_cot_ja    |      2|flexible-extract|     0|exact_match|↑  |0.1960|±  |0.0252|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_en_cot_ru    |      2|flexible-extract|     0|exact_match|↑  |0.1720|±  |0.0239|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_en_cot_sw    |      2|flexible-extract|     0|exact_match|↑  |0.0120|±  |0.0069|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_en_cot_te    |      2|flexible-extract|     0|exact_match|↑  |0.0280|±  |0.0105|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_en_cot_th    |      2|flexible-extract|     0|exact_match|↑  |0.0640|±  |0.0155|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_en_cot_zh    |      2|flexible-extract|     0|exact_match|↑  |0.3440|±  |0.0301|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_bn|      3|flexible-extract|     0|exact_match|↑  |0.0400|±  |0.0124|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_de|      3|flexible-extract|     0|exact_match|↑  |0.1600|±  |0.0232|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_en|      3|flexible-extract|     0|exact_match|↑  |0.3320|±  |0.0298|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_es|      3|flexible-extract|     0|exact_match|↑  |0.1880|±  |0.0248|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_fr|      3|flexible-extract|     0|exact_match|↑  |0.1240|±  |0.0209|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_ja|      3|flexible-extract|     0|exact_match|↑  |0.0920|±  |0.0183|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_ru|      3|flexible-extract|     0|exact_match|↑  |0.0920|±  |0.0183|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_sw|      3|flexible-extract|     0|exact_match|↑  |0.0080|±  |0.0056|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_te|      3|flexible-extract|     0|exact_match|↑  |0.0160|±  |0.0080|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_th|      3|flexible-extract|     0|exact_match|↑  |0.0480|±  |0.0135|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_native_cot_zh|      3|flexible-extract|     0|exact_match|↑  |0.3600|±  |0.0304|
    |                     |       |strict-match    |     0|exact_match|↑  |0.0000|±  |0.0000|
    
    bash
    openmind-cli lmeval --model Baichuan/Baichuan2_7b_chat_pt --device npu:0 --tasks mgsm_direct --batch_size 16 --trust_remote_code 1
    

    以下是执行成功的结果(省略中间过程):

    text
    |      Tasks      |Version|     Filter      |n-shot|  Metric   |   |Value |   |Stderr|
    |-----------------|-------|-----------------|-----:|-----------|---|-----:|---|-----:|
    |mgsm_direct      |N/A    |flexible-extract |     0|exact_match|↑  |0.0858|±  |0.0052|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0007|±  |0.0005|
    | - mgsm_direct_bn|      2|flexible-extract |     0|exact_match|↑  |0.0240|±  |0.0097|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_direct_de|      2|flexible-extract |     0|exact_match|↑  |0.0920|±  |0.0183|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_direct_en|      2|flexible-extract |     0|exact_match|↑  |0.2440|±  |0.0272|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_direct_es|      2|flexible-extract |     0|exact_match|↑  |0.0960|±  |0.0187|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_direct_fr|      2|flexible-extract |     0|exact_match|↑  |0.0560|±  |0.0146|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_direct_ja|      2|flexible-extract |     0|exact_match|↑  |0.1080|±  |0.0197|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_direct_ru|      2|flexible-extract |     0|exact_match|↑  |0.0680|±  |0.0160|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_direct_sw|      2|flexible-extract |     0|exact_match|↑  |0.0120|±  |0.0069|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_direct_te|      2|flexible-extract |     0|exact_match|↑  |0.0120|±  |0.0069|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_direct_th|      2|flexible-extract |     0|exact_match|↑  |0.0280|±  |0.0105|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0000|±  |0.0000|
    | - mgsm_direct_zh|      2|flexible-extract |     0|exact_match|↑  |0.2040|±  |0.0255|
    |                 |       |remove_whitespace|     0|exact_match|↑  |0.0080|±  |0.0056|
    
  • 使用truthfulqa数据集评估Baichuan/Baichuan2_7b_chat_pt精度。

    bash
    openmind-cli lmeval --model Baichuan/Baichuan2_7b_chat_pt --device npu:0 --tasks truthfulqa --batch_size 64 --trust_remote_code 1
    

    以下是执行成功的结果(省略中间过程):

    text
    |      Tasks      |Version|Filter|n-shot|  Metric   |   | Value |   |Stderr|
    |-----------------|-------|------|-----:|-----------|---|------:|---|-----:|
    |truthfulqa       |N/A    |none  |     0|acc        |↑  | 0.3965|±  |0.0112|
    |                 |       |none  |     0|bleu_acc   |↑  | 0.4211|±  |0.0173|
    |                 |       |none  |     0|bleu_diff  |↑  |-1.2814|±  |0.4154|
    |                 |       |none  |     0|bleu_max   |↑  |14.1902|±  |0.5359|
    |                 |       |none  |     0|rouge1_acc |↑  | 0.4406|±  |0.0174|
    |                 |       |none  |     0|rouge1_diff|↑  |-1.8539|±  |0.6236|
    |                 |       |none  |     0|rouge1_max |↑  |37.7297|±  |0.7248|
    |                 |       |none  |     0|rouge2_acc |↑  | 0.3403|±  |0.0166|
    |                 |       |none  |     0|rouge2_diff|↑  |-2.4229|±  |0.6587|
    |                 |       |none  |     0|rouge2_max |↑  |22.5148|±  |0.7590|
    |                 |       |none  |     0|rougeL_acc |↑  | 0.4370|±  |0.0174|
    |                 |       |none  |     0|rougeL_diff|↑  |-1.8080|±  |0.6292|
    |                 |       |none  |     0|rougeL_max |↑  |34.3745|±  |0.7290|
    | - truthfulqa_gen|      3|none  |     0|bleu_acc   |↑  | 0.4211|±  |0.0173|
    |                 |       |none  |     0|bleu_diff  |↑  |-1.2814|±  |0.4154|
    |                 |       |none  |     0|bleu_max   |↑  |14.1902|±  |0.5359|
    |                 |       |none  |     0|rouge1_acc |↑  | 0.4406|±  |0.0174|
    |                 |       |none  |     0|rouge1_diff|↑  |-1.8539|±  |0.6236|
    |                 |       |none  |     0|rouge1_max |↑  |37.7297|±  |0.7248|
    |                 |       |none  |     0|rouge2_acc |↑  | 0.3403|±  |0.0166|
    |                 |       |none  |     0|rouge2_diff|↑  |-2.4229|±  |0.6587|
    |                 |       |none  |     0|rouge2_max |↑  |22.5148|±  |0.7590|
    |                 |       |none  |     0|rougeL_acc |↑  | 0.4370|±  |0.0174|
    |                 |       |none  |     0|rougeL_diff|↑  |-1.8080|±  |0.6292|
    |                 |       |none  |     0|rougeL_max |↑  |34.3745|±  |0.7290|
    | - truthfulqa_mc1|      2|none  |     0|acc        |↑  | 0.3133|±  |0.0162|
    | - truthfulqa_mc2|      2|none  |     0|acc        |↑  | 0.4796|±  |0.0155|
    
  • 使用hellaswag数据集评估Baichuan/Baichuan2_7b_chat_pt精度。

    bash
    openmind-cli lmeval --model Baichuan/Baichuan2_7b_chat_pt --device npu:0 --tasks hellaswag --batch_size 64 --trust_remote_code 1
    

    以下是执行成功的结果(省略中间过程):

    text
    |  Tasks  |Version|Filter|n-shot| Metric |   |Value |   |Stderr|
    |---------|------:|------|-----:|--------|---|-----:|---|-----:|
    |hellaswag|      1|none  |     0|acc     |↑  |0.5360|±  |0.0050|
    |         |       |none  |     0|acc_norm|↑  |0.7154|±  |0.0045|
    
  • 使用ai2_arc数据集评估Baichuan/Baichuan2_7b_chat_pt精度。

    bash
    openmind-cli lmeval --model Baichuan/Baichuan2_7b_chat_pt --device npu:0 --tasks ai2_arc --batch_size 64 --trust_remote_code 1
    

    以下是执行成功的结果(省略中间过程):

    text
    |     Tasks      |Version|Filter|n-shot| Metric |   |Value |   |Stderr|
    |----------------|-------|------|-----:|--------|---|-----:|---|-----:|
    |ai2_arc         |N/A    |none  |     0|acc     |↑  |0.6237|±  |0.0077|
    |                |       |none  |     0|acc_norm|↑  |0.5944|±  |0.0080|
    | - arc_challenge|      1|none  |     0|acc     |↑  |0.4121|±  |0.0144|
    |                |       |none  |     0|acc_norm|↑  |0.4300|±  |0.0145|
    | - arc_easy     |      1|none  |     0|acc     |↑  |0.7281|±  |0.0091|
    |                |       |none  |     0|acc_norm|↑  |0.6755|±  |0.0096|
    
  • 打印当前支持的任务(评估集)。

    bash
    openmind-cli lmeval --tasks list
    

    以下是执行结果:

    text
    Available tasks:
    - arithmetic
    - gsm8k
    - mmlu
    - mgsm_cot_native
    - mgsm_direct
    - truthfulqa
    - hellaswag
    - ai2_arc
    

参数列表

  • --modelstr必选,默认为None):本地预训练模型路径或托管在openMind Hub上的模型库中的与训练模型的模型ID。
  • --tasksstr必选,默认为None):指定待评估的任务,使用方式--tasks task1,task2
  • --devicestr, 可选,默认为npu:0):使用的加速卡,例如npu:0或cpu。
  • --limitint可选,默认为None):指定每个任务使用的样本数,此参数只用于限定样本数减少评估时间,用于验证功能是否正常,不支持评估模型能力。
  • --trust_remote_codeint可选,默认为None):指定是否允许执行openMind Hub上定义的模型等代码,对于您信任且已读取代码的存储库,此选项应设置为1,因为它将在您本地计算机上执行Hub上存在的代码。不支持直接输入None,如果不需要加载外部文件可选择不输入任何参数值。
  • --batch_sizestr可选,默认为1):指定评估模型时的batch_size

openmind-cli env接口

功能描述

openmind-cli env用于列出当前的运行环境(安装的依赖库)。

接口调用示例

  • 列出当前运行环境安装的依赖库。

    bash
    openmind-cli env
    

    以下是显示结果示例:

    text
     - `openmind` version: 0.9.1
     - `openmind_hub` version: 0.9.0
     - Platform: Linux-4.19.90-vhulk2111.1.0.h963.eulerosv2r10.aarch64-aarch64-with-glibc2.34
     - Python version: 3.10.13
     - PyTorch version (NPU?): 2.1.0 (2.1.0.post8)
     - MindSpore version: not installed
     - MindFormers version: not installed
     - Transformers version: 4.43.3
     - Accelerate version: 0.30.1
     - Datasets version: 2.20.0
     - Evaluate version: 0.4.2
     - DeepSpeed version: not installed
     - Lm-evaluation-harness version: 0.4.3