CLI接口
openmind-cli list接口
功能描述
查询并回显本地已下载的模型清单,包括查询模型缓存目录和指定下载目录。
此接口支持PyTorch和MindSpore框架。
接口调用示例
- 遍历查询环境变量所定义的缓存目录下存储的模型。
openmind-cli list
- 遍历查询~/.cache2/openmind/hub目录下缓存的模型。
openmind-cli list --cache_dir ~/.cache2/openmind/hub
注意此处--cache_dir指定的缓存路径优先级高于环境变量所指定的缓存路径优先级。
- 遍历查询./目录下的模型。
openmind-cli list --local_dir ./
- 遍历查询
--local_dir和--cache_dir目录下的模型。
openmind-cli list --local_dir ./ --cache_dir ~/.cache2/openmind/hub
参数列表
--cache_dir(
str,可选,默认为None):模型缓存下载目录。如不指定,则读取环境变量所定义的缓存下载目录。--local_dir(
str,可选,默认为None):模型本地下载目录。若同时指定了--local_dir和--cache_dir会同时查询两个目录下的模型。
openmind-cli rm接口
功能描述
删除给定的模型,可以指定模型缓存目录以及本地目录。
此接口支持PyTorch和MindSpore框架。
接口调用示例
- 删除默认缓存路径下的bluelm_7b_chat模型。
openmind-cli rm PyTorch-NPU/bluelm_7b_chat
遍历查询默认缓存路径下的bluelm_7b_chat模型,若成功找到,则将其删除,并回显执行结果以及删除模型的原存储路径;如果没有找到,报错反馈给用户。
以下是成功删除的回显示例:
Deleted file path: /root/.cache/openmind/hub/models--PyTorch-NPU-bluelm_7b_chat
File deleted successfully.
- 删除指定缓存路径下的bluelm_7b_chat模型。
openmind-cli rm PyTorch-NPU/bluelm_7b_chat --cache_dir ~/.cache2/openmind/hub
遍历查询~/.cache2/openmind/hub目录下的bluelm_7b_chat模型,如找到,则将其删除,注意此处--cache_dir指定的缓存路径优先级高于环境变量所指定的缓存路径优先级。
- 删除指定本地路径下的bluelm_7b_chat模型。
openmind-cli rm PyTorch-NPU/bluelm_7b_chat --local_dir /your/local/path/
遍历查询/your/local/path/目录下的bluelm_7b_chat模型,如找到,则将其删除;如果没有找到,报错反馈给用户。
- 删除指定缓存路径和指定本地路径下的bluelm_7b_chat模型。
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模型,如找到,则将其删除;如果没有找到,报错反馈给用户。
以下是两个路径均存在对应模型的回显示例:
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_id (
str,必选):期望删除的模型名称。--cache_dir(
str,可选,默认为None):模型缓存下载目录。如不指定,则读取环境变量所定义的缓存下载目录。--local_dir(
str,可选,默认为None):模型本地下载目录。
openmind-cli pull接口
功能描述
下载指定模型/数据集/体验空间至缓存下载目录或本地下载目录。
此接口支持PyTorch和MindSpore框架。
接口调用示例
- 下载PyTorch-NPU/bert_base_cased至默认缓存下载路径。
openmind-cli pull PyTorch-NPU/bert_base_cased
以下是成功下载的回显示例:
Pull PyTorch-NPU/bert_base_cased finished
- 按照配置文件config.yaml中存储的配置项,下载PyTorch-NPU/bert_base_cased至默认缓存下载路径。
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指定的缓存下载目录。
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_id(
str,必选):待下载的模型/数据集/体验空间ID。--repo_type(
str,可选,默认为model):下载的类型,可从model/dataset/space中选择。--revision(
str,可选,默认为None):分支名称。--cache_dir(
str,可选,默认为None):模型缓存下载目录。如不指定,则读取环境变量所定义的缓存下载目录。--local_dir(
str,可选,默认为None):模型本地下载目录。会在local_dir和环境变量所定义的缓存下载目录中都保存模型,默认由文件大小决定是否创建从local_dir指向环境变量所定义的缓存下载目录的软链接.symlink文件。--local_dir_use_symlinks(
str或bool,可选,默认为auto):与local_dir参数一起使用。如果为auto,则会由文件大小决定是否创建软链接.symlink文件。如果为True,则会为所有文件创建软链接.symlink文件。如果为False,则不会为任何文件创建软链接.symlink文件。--resume_download(
bool,可选,默认为True):恢复之前中断的下载。--force_download(
bool,可选,默认为False):是否强制下载文件,无论缓存是否存在。--token(
str,可选,默认为None):若为公开仓库,则可省略;若为私有仓库,则为对目标仓库具有可读权限的访问令牌。--local_files_only(
bool,可选,默认为False):设置为True时,若本地缓存已存在,则直接返回本地路径,而不再重复下载。--allow_patterns(
List[str]或str,可选,默认为None):只允许某类文件下载,如--allow_patterns "['*.bin','*.py']"表示只下载以.bin和.py结尾的文件,--allow_patterns '*.json'表示只下载以.json结尾的文件。--ignore_patterns(
List[str]或str,可选,默认为None):忽略某类文件的下载。--max_workers(
int,可选,默认为8):并发下载的线程数。--yaml_path(
str,可选,默认为None):yaml配置文件,支持以yaml格式结构化存储第2~14个配置项。如果同时配置了第2~14个配置项和配置文件,则CLI指令中定义的配置项优先级更高。如果第2~14个配置项中的必选配置项已在yaml中定义,则可无需再在CLI指令中输入。
openmind-cli push接口
功能描述
上传指定目录下的内容至指定仓库。
此接口支持PyTorch和MindSpore框架。
接口调用示例
- 将当前目录下的文件上传至your_organization/your_repo仓库。
openmind-cli push your_organization/your_repo --token xxx
以下是成功上传的回显示例:
Push to your_organization/your_repo finished
- 按照配置文件config.yaml中存储的配置项,上传模型文件夹至your_organization/your_repo仓库。
openmind-cli push your_organization/your_repo --yaml_path ./config.yaml
注意:此时token必须写入config.yaml中。
config.yaml文件示例如下:
token: xxx
folder_path: ~/test/model
num_threads: 10
- 按照配置文件config.yaml中存储的配置项,上传模型文件夹
folder_path至your_organization/your_repo仓库。
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_id(
str,必选):待上传的仓库ID。--folder_path(
str,可选,默认为./):上传目录路径,上传的内容不包含该目录本身。--path_in_repo(
str,可选,默认为None):上传到仓库中的路径,末尾不带“\”,默认为空字符串,代表仓库根目录。--commit_message(
str,可选,默认为Upload folder using openMind hub):本次上传的提交信息。--commit_description(
str,可选,默认为None):对本次提交的描述。--token(
str,可选,默认为None):对目标仓库具有可写权限的访问令牌。若在yaml文件中进行配置,则CLI指令中可省略。--revision(
str,可选,默认为main):上传到仓库的指定分支。--allow_patterns(
List[str]或str,可选,默认为None):只允许某类文件上传,如--allow_patterns "['*.bin','*.py']"表示只上传以.bin和.py结尾的文件,--allow_patterns '*.json'表示只上传以.json结尾的文件。--ignore_patterns(
List[str]或str,可选,默认为None):忽略某类文件的上传。--num_threads(
int,可选,默认为5):上传所使用的线程数目。--yaml_path(
str,可选,默认为None):yaml配置文件,支持以yaml格式结构化存储第2~10个配置项。如果同时配置了第2~10个配置项和配置文件,则CLI指令中定义的配置项优先级更高。如果第2~10个配置项中的必选配置项已在yaml中定义,则可无需再在CLI指令中输入。
openmind-cli run接口
功能描述
进行单次推理。
此接口支持PyTorch和MindSpore框架。实现方式为pipeline,兼容所有pipeline支持的模型。若推理不兼容的模型,pipeline会给出对应模型的报错。
接口调用示例
指定魔乐社区中bert_base_cased模型进行单次推理。
shellopenmind-cli run PyTorch-NPU/bert_base_cased --input "An apple a day, keeps [MASK] away"按照配置文件config.yaml中存储的配置项,指定魔乐社区中bert_base_cased模型进行单次推理。
shellopenmind-cli run PyTorch-NPU/bert_base_cased --input "An apple a day, keeps [MASK] away" --yaml_path ./config.yamlconfig.yaml文件示例如下:
texttask: fill-mask framework: pt cache_dir: path/to/cache指定任务类型进行单次推理。
shellopenmind-cli run text-generation --input "What is AI?"指定任务类型 zero-shot-image-classification 进行单次推理。
shellopenmind-cli run zero-shot-image-classification --input '{"image":"xxx.jpg","candidate_labels":["2 cats", "a plane", "a remote"]}' --device "npu:0"
参数列表
task_name/repo_id(
str,必选):单次推理任务名称/模型仓库名称或模型本地路径。--input(
str,必选):待输入推理模型的内容或者文件路径。--task(
str,可选,默认为None):单次推理的任务类型。当前支持的task类型可参考pipeline当前支持的推理任务及其默认模型。--framework(
str,可选,默认为None):单次推理运行依赖的AI框架,支持pt(PyTorch)和ms(MindSpore)。--backend(
transformers,diffusers或mindformers,mindnlp,可选):后端对接套件名,当framework为pt时,支持backend配置为transformers和diffusers,当framework为ms时,支持backend配置为mindformers或mindnlp。--cache_dir(
str,可选,默认为None):模型缓存下载目录。如不指定,则读取环境变量所定义的缓存下载目录。--docker(
str,可选,默认为None):选择使用默认或者指定tag的镜像来执行单次推理。如不指定,则默认使用宿主机推理。参数可以填写
default或者指定tag,具体tag的获取可以在镜像中心中进入openMind的Tags内查询,tag分为NPU镜像和CPU镜像:shellopeneuler-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"]。
--kwargs(
dict,可选,默认为None):推理需要的其它参数,具体参数可参考Pipeline API接口中关于kwargs的描述。--yaml_path(
str,可选,默认为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清除上下文对话记忆。
支持模型清单
| 组织名称 | 模型名称 | 模板名称 | 模型框架 | 依赖三方库特殊要求 |
|---|---|---|---|---|
| Baichuan | Baichuan2_7b_chat_pt | baichuan2 | PyTorch | transformers == 4.39.2 |
| PyTorch-NPU | chatglm3_6b | chatglm3 | PyTorch | transformers == 4.39.2 |
| AI-Research | glm-4-9b-chat | glm4 | PyTorch | transformers == 4.43.0 |
| AI-Research | Qwen2.5-7B-Instruct | qwen | PyTorch | transformers == 4.45.2 |
接口调用示例
使用模型
Baichuan/Baichuan2_7b_chat_pt开启多轮对话。shellopenmind-cli chat Baichuan/Baichuan2_7b_chat_pt加载
config.yaml文件中配置的相关参数,使用模型Baichuan/Baichuan2_7b_chat_pt开启多轮对话shellopenmind-cli chat Baichuan/Baichuan2_7b_chat_pt --yaml_path ./config.yamlconfig.yaml文件示例内容如下:textdevice: "npu:0" # 多轮对话模型的运行设备 framework: "pt" # 多轮对话模型运行依赖的AI框架 cache_dir: "./tmp_cache" # 模型缓存本地路径【注意】命令行指定参数与yaml配置文件参数重名时,命令行指定参数优先级更高。
参数列表
model_name_or_path(
str,必选):多轮对话模型仓库名称/模型文件本地路径。--template(
str,可选,默认为None):多轮对话模型使用的模板名称。如model_name_or_path设置为社区模型repo_id,openMind Library将基于repo_id关联对应模板名称,--template参数可选。如model_name_or_path设置为模型本地文件路径,--template参数必填。--tool_format(
str,可选,默认为None):构建函数调用的工具类型名称,当前支持default或glm4。--framework(
str,可选,默认为None,选择范围["pt"]):多轮对话运行依赖的AI框架,不配置时openMind Library会基于用户使用环境自动判断。--yaml_path(
str,可选,默认为None):yaml配置文件本地路径,支持配置除model_name_or_path外的所有参数。openMind Library会解析该文件,并将解析出的参数与命令行指定的参数进行合并,同名参数以命令行指定的为更高优先级。--docker(
str,可选,默认为None):选择使用默认或者指定tag的镜像来执行多轮对话。如不指定,则默认使用宿主机执行。参数可以填写
default或者指定tag,具体tag的获取可以在镜像中心中进入openMind的Tags内查询,tag分为NPU镜像和CPU镜像:shellopeneuler-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_revision(
str,可选,默认为"main"):模型版本名称。--adapter_name_or_path(
str,可选,默认为None):多轮对话模型涉及的adapter模型仓库名称/模型文件本地路径,如涉及多个adapter使用逗号分隔。--finetuning_type(
str,可选,默认为"lora",选择范围["lora"]):微调算法类型名称。--adapter_folder(
str,可选,默认为None):加载adapter模型权重的路径。--cache_dir(
str,可选,默认为~/.cache/openmind/hub):多轮对话使用模型在本地的缓存路径。--use_fast_tokenizer(
bool,可选,默认为True):是否使用快速分词器。--resize_vocab(
bool,可选,默认为False):是否重新调整分词器词表及嵌入层大小。--split_special_tokens(
bool,可选,默认为False):是否在分词过程中分离特殊词元。--new_special_tokens(
str,可选,默认为None):加入分词器的特殊词元,多个词元使用逗号分隔。--low_cpu_mem_usage(
bool,可选,默认为True):是否使用内存高效的模型加载方式。--rope_scaling(
str,可选,默认为None,选择范围["linear", "dynamic"]):旋转位置编码策略名称。--flash_attn(
str,可选,默认为auto,选择范围["auto", "disabled"]):Flash Attention使用策略名称。--offload_folder(
str,可选,默认为offload):离线加载多轮对话模型的本地路径。--use_cache(
bool,可选,默认为True):是否在生成过程中使用KV缓存。--infer_dtype(
str,可选,默认为auto,选择范围["auto", "float16", "bfloat16", "float32"]):多轮对话模型推理精度类型。--hub_token(
str,可选,默认为None):访问多轮对话模型使用的访问令牌。--print_param_status(
bool,可选,默认为False):为便于调试,打印多轮对话模型的参数信息/状态。--device(
str,可选,默认为"npu:0",选择范围["cpu", "npu:0", "npu:1", "npu:2", "npu:3", "npu:4", "npu:5", "npu:6", "npu:7"]):运行多轮对话模型的设备名称。--do_sample(
bool,可选,默认为True):是否进行采样,否则使用greedy decoding策略。--temperature(
float,可选,默认为0.95):用于调整下一个预测词元的概率。--top_p(
float,可选,默认为0.7):保留概率总和达到top_p或更高的概率最高的一组词元。--top_k(
int,可选,默认为50):通过top-k算法过滤后保留的最高概率词元的数量。--num_beams(
int,可选,默认为1):beam search算法的beam数量,设置为1表示不使用beam search算法。--max_length(
int,可选,默认为1024):生成词元的最大长度,可以被参数--max_new_tokens覆盖。--max_new_tokens(
int,可选,默认为1024):生成词元的最大长度(不包含prompt词元的长度)。--repetition_penalty(
float,可选,默认为1.0):重复生成的惩罚系数,设置为1.0表示不设置惩罚。--length_penalty(
float,可选,默认为1.0):针对生成长度的惩罚系数,与beam search算法协同使用。--default_system(
str,可选,默认为None):system角色的默认内容。--kwargs(
dict,可选,默认为None):多轮对话需要的其它参数。
openmind-cli lmeval接口
功能描述
使用EleutherAI lm-evaluatin-harness评估LLM,仅支持transformers的AutoModelForCausalLM和AutoModelForSeq2SeqLM类模型评估。且该特性目前支持的模型范围有限制,请开发者使用时自行判定推理评估效果。
此接口仅支持PyTorch框架。
当前支持任务列表如下。
- arithmetic
- gsm8k
- mmlu
- mgsm_cot_native
- mgsm_direct
- truthfulqa
- hellaswag
- ai2_arc
接口调用示例
使用
arithmetic数据集评估Baichuan/Baichuan2_7b_chat_pt精度。bashopenmind-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精度。bashopenmind-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精度。bashopenmind-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精度。bashopenmind-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|bashopenmind-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精度。bashopenmind-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精度。bashopenmind-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精度。bashopenmind-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|打印当前支持的任务(评估集)。
bashopenmind-cli lmeval --tasks list以下是执行结果:
textAvailable tasks: - arithmetic - gsm8k - mmlu - mgsm_cot_native - mgsm_direct - truthfulqa - hellaswag - ai2_arc
参数列表
- --model(
str,必选,默认为None):本地预训练模型路径或托管在openMind Hub上的模型库中的与训练模型的模型ID。 - --tasks (
str,必选,默认为None):指定待评估的任务,使用方式--tasks task1,task2。 - --device(
str, 可选,默认为npu:0):使用的加速卡,例如npu:0或cpu。 - --limit(
int,可选,默认为None):指定每个任务使用的样本数,此参数只用于限定样本数减少评估时间,用于验证功能是否正常,不支持评估模型能力。 - --trust_remote_code(
int,可选,默认为None):指定是否允许执行openMind Hub上定义的模型等代码,对于您信任且已读取代码的存储库,此选项应设置为1,因为它将在您本地计算机上执行Hub上存在的代码。不支持直接输入None,如果不需要加载外部文件可选择不输入任何参数值。 - --batch_size(
str,可选,默认为1):指定评估模型时的batch_size。
openmind-cli env接口
功能描述
openmind-cli env用于列出当前的运行环境(安装的依赖库)。
接口调用示例
列出当前运行环境安装的依赖库。
bashopenmind-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