Files
openmind/docs/zh/api_reference/apis/cli_api.md
金勇旭 c7fe211bb3 !229 Update sequence parallism related docs
Merge pull request !229 from 金勇旭/sp_doc
2025-06-05 03:44:06 +00:00

34 KiB
Raw Blame History

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_dirstr可选,默认为None):模型缓存下载目录。如不指定,则读取环境变量所定义的缓存下载目录。

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

openmind-cli rm接口

功能描述

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

此接口支持PyTorch和MindSpore框架。

接口调用示例

  • 删除默认缓存路径下的bluelm_7b_chat模型。
openmind-cli rm --repo_id 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 --repo_id PyTorch-NPU/bluelm_7b_chat --cache_dir ~/.cache2/openmind/hub

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

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

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

  • 删除指定缓存路径和指定本地路径下的bluelm_7b_chat模型。
openmind-cli rm --repo_id  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.

参数列表

  • --repo_id str必选):期望删除的模型名称。

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

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

openmind-cli pull接口

功能描述

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

此接口支持PyTorch和MindSpore框架。

接口调用示例

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

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

Pull PyTorch-NPU/bert_base_cased finished

参数列表

  • --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):并发下载的线程数。

openmind-cli push接口

功能描述

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

此接口支持PyTorch和MindSpore框架。

接口调用示例

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

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

Push to your_organization/your_repo finished

参数列表

  • --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):上传所使用的线程数目。

openmind-cli run接口

功能描述

进行单次推理。

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

接口调用示例

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

    openmind-cli run --model PyTorch-NPU/bert_base_cased --input "An apple a day, keeps [MASK] away"
    
  • 指定任务类型进行单次推理。

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

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

参数列表

  • --modelstr可选,默认为None):模型仓库名称或模型本地路径。当modelNonetask必须设置,task会根据对应任务类型自动寻找对应模型。

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

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

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

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

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

  • --kwargsdict可选,默认为None):推理需要的其它参数,具体参数可参考Pipeline API接口中关于kwargs的描述。

需要注意的是,在使用repo_or_task指定任务类型进行推理时,不可以同时使用--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, peft==0.12.0
PyTorch-NPU chatglm3_6b chatglm3 PyTorch transformers == 4.39.2, peft==0.12.0
AI-Research glm-4-9b-chat glm4 PyTorch transformers == 4.43.0
AI-Research Qwen2.5-7B-Instruct qwen PyTorch transformers == 4.45.2
AI-Research qwen1_5_7b_chat_ms - MindSpore mindformers == 1.3.2

接口调用示例

  • 通过yaml文件解析开启多轮对话。

    openmind-cli chat example.yaml
    

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

    model_name_or_path: Baichuan/Baichuan2_7b_chat_pt  # 多轮对话使用的模型
    template: baichuan2
    device: 0  # 多轮对话模型的运行设备
    backend: "transformers"  # 多轮对话模型运行依赖的后端
    
  • 通过键值对开启多轮对话。

    openmind-cli chat --model_id Qwen2.5-7B-Chat --device 0
    
  • 基于MindSpore框架使用MindFormers开启多轮对话。

    openmind-cli chat --model_name_or_path AI-Research/qwen1_5_7b_chat_ms --backend mindformers --device 0
    

参数列表

  • --model_idstr可选openMind Library内置模型ID。

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

  • --backend str可选,默认为transformers):推理后端,可以选择transformers或者mindformers

  • --devicestr/int可选默认为0运行多轮对话模型所使用的NPU卡号当前仅支持单卡backend为transformers时可选择"cpu"或者0/1/2../7backend为mindformers时可选择0/1/2../7。

  • --fp16bool可选,默认为False是否使用fp16格式仅在backend为transformers时生效。

  • --bf16bool可选,默认为False是否使用bf16格式仅在backend为transformers时生效。

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

  • --trust_remote_codebool可选,默认为False):是否信任从远程下载的模型权重文件。

  • --templatestr可选,默认为None多轮对话模型使用的模板名称仅在backend为transformers时生效,和参数model_name_or_path配套使用。

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

  • --default_systemstr可选pt默认为Nonems默认为"You are a helpful assistant."system角色的默认内容。

  • --frameworkstr可选,默认为pt多轮对话运行依赖的AI框架支持pt(PyTorch)和ms(MindSpore)。

  • --model_revisionstr可选,默认为"main"模型版本名称仅在backend为transformers时生效。

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

  • --use_fast_tokenizerbool可选,默认为True是否使用快速分词器仅在backend为transformers时生效。

  • --resize_vocabbool可选,默认为False是否重新调整分词器词表及嵌入层大小仅在backend为transformers时生效。

  • --split_special_tokensbool可选,默认为False是否在分词过程中分离特殊词元仅在backend为transformers时生效。

  • --new_special_tokensstr可选,默认为None加入分词器的特殊词元多个词元使用逗号分隔仅在backend为transformers时生效。

  • --low_cpu_mem_usagebool可选,默认为True是否使用内存高效的模型加载方式仅在backend为transformers时生效。

  • --offload_folderstr可选,默认为None离线加载多轮对话模型的本地路径仅在backend为transformers时生效。

  • --use_cachebool可选,默认为True是否在生成过程中使用KV缓存仅在backend为transformers时生效。

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

  • --do_samplebool可选,默认为True):是否进行采样,否则使用greedy decoding策略仅在backend为transformers时生效。

  • --temperaturefloat可选,默认为0.95用于调整下一个预测词元的概率仅在backend为transformers时生效。

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

  • --top_kint可选,默认为50通过top-k算法过滤后保留的最高概率词元的数量仅在backend为transformers时生效。

  • --num_beamsint可选,默认为1beam search算法的beam数量设置为1表示不使用beam search算法仅在backend为transformers时生效。

  • --max_lengthint可选pt默认为Nonems默认为1024生成词元的最大长度在backend为transformers时,可以被参数--max_new_tokens覆盖。

  • --max_new_tokensint可选,默认为1024生成词元的最大长度不包含prompt词元的长度仅在backend为transformers时生效。

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

  • --length_penaltyfloat可选,默认为1.0针对生成长度的惩罚系数与beam search算法协同使用仅在backend为transformers时生效。

openmind-cli eval接口

功能描述

使用多种后端框架,对原始模型和训练后的模型给出标准化的评测指标。当前支持的框架为:

  • lm-eval

lm-eval

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

此接口仅支持PyTorch框架。

当前支持任务列表如下。

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

接口调用示例

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

    openmind-cli eval --model_name_or_path Baichuan/Baichuan2_7b_chat_pt --device 0 --tasks arithmetic --batch_size 64
    
  • 使用ai2_arc数据集,单机多卡评估Baichuan/Baichuan2_7b_chat_pt精度。

    export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3
    openmind-cli eval --model_name_or_path Baichuan/Baichuan2_7b_chat_pt --tasks ai2_arc --batch_size 64
    
  • 打印当前支持的任务(评估集)。

    openmind-cli eval --tasks list
    

    以下是执行结果:

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

参数列表

  • --model_name_or_pathstr必选,默认为None本地预训练模型路径或托管在openMind Hub上的模型库中的预训练模型的模型ID。
  • --tasks str必选,默认为None):指定待评估的任务,使用方式--tasks task1,task2
  • --backend str可选,默认为lmeval):指定评估使用的后端。
  • --devicestr/int, 可选默认为0单卡评估时使用的加速卡可选值为"cpu"或者0/1/2../7。在单机多卡评估场景下不需要指定此参数通过环境变量ASCEND_RT_VISIBLE_DEVICES控制使用的npu卡数。ASCEND_RT_VISIBLE_DEVICES用法请参考环境变量说明
  • --limitint可选,默认为None):指定每个任务使用的样本数,此参数只用于限定样本数减少评估时间,用于验证功能是否正常,不支持评估模型能力。
  • --trust_remote_codestr可选,默认为True指定是否允许执行openMind Hub上定义的模型等代码。
  • --batch_sizestr可选,默认为1):指定评估模型时的batch_size
  • --fp16bool可选,默认为False模型加载是否使用fp16格式。
  • --bf16bool可选,默认为False模型加载是否使用bf16格式。

需要注意的是,--fp16--bf16均为False时,dtype默认为auto

openmind-cli deploy接口

功能描述

在单机环境下部署openai接口服务。

支持模型清单

组织名称 模型名称 模型框架 推理引擎 支持服务器型号
AI-Research internlm2-7b PyTorch lmdeploy Atlas 200T A2 Box16, Atlas 900 A2 PODc
AI-Research internlm2_5-7b PyTorch lmdeploy Atlas 200T A2 Box16, Atlas 900 A2 PODc
AI-Research Qwen2-7B PyTorch lmdeploy Atlas 200T A2 Box16, Atlas 900 A2 PODc
MindIE llama2_7b PyTorch mindie Atlas 200T A2 Box16, Atlas 900 A2 PODc
MindIE llama3.1_8b PyTorch mindie Atlas 200T A2 Box16, Atlas 900 A2 PODc

vLLM推理引擎支持模型清单请参考vllm-ascend支持模型清单

接口调用示例

LMDeploy

  • 从魔乐社区上获取模型AI-Research/Qwen2-7B在默认端口1025上进行部署。

    openmind-cli deploy --model_name_or_path AI-Research/Qwen2-7B --backend lmdeploy
    
  • 使用本地Qwen2-7B模型在指定端口1025上进行部署。

    openmind-cli deploy --model_name_or_path /path/to/your/Qwen2-7B --backend lmdeploy --port 1025
    

MindIE

  • 从魔乐社区上获取模型MindIE/llama2_7b在默认端口1025上进行部署。

    openmind-cli deploy  --model_name_or_path MindIE/llama2_7b --backend mindie
    
  • 使用本地llama2_7b模型在指定端口1025上进行部署指定0,1号卡。

    openmind-cli deploy  --model_name_or_path /path/to/your/llama2_7b --backend mindie --port 1025 --world_size 2 --npu_device_ids '0,1'
    
  • 停止MindIE服务

    openmind-cli deploy stop
    

vLLM

  • 从魔乐社区上获取模型AI-Research/Qwen2.5-7B在默认端口1025上进行部署。

    openmind-cli deploy --model_name_or_path AI-Research/Qwen2.5-7B --backend vllm
    
  • 使用本地Qwen2.5-7B模型在指定端口1025上进行多卡部署指定0,1,2,3号卡指定模型权重和激活的数据类型为bf16。

    ASCEND_RT_VISIBLE_DEVICES=0,1,2,3 openmind-cli deploy \
      --model_name_or_path /path/to/your/Qwen2.5-7B \
      --backend vllm \
      --port 1025 \
      --backend_config "tensor-parallel-size=4,dtype=bfloat16"
    

参数列表

openmind-cli deploy model_name_or_path [--backend {mindie, lmdeploy, vllm}] [--port server_port] [--world_size world_size] [--device device] [--trust_remote_code {True, False}] [--backend_config vllm_args]

或者

openmind-cli deploy stop
  • --model_idstr可选,默认为None: openMind Library内置模型ID支持backend为lmdeploy或者vllm
  • --model_name_or_pathstr可选,默认为None部署模型路径支持魔乐社区模型ID或模型权重本地路径。当backend为mindie时本地的模型来源必须为下载清单中的模型的本地路径
  • --backend str可选,默认为mindie):推理引擎,可以选择mindielmdeploy或者vllm
  • --portint可选,默认为1025):部署端口。
  • --world_sizeint可选,默认为1部署使用的npu卡的world_size在backend为mindie时生效。world_size需要与npu_device_ids中指定的卡数目一致。
  • --devicestr可选,默认为0部署使用的npu卡号在backend为mindie时生效。world_size需要与device中指定的卡数目一致。如果是需要部署多卡传入格式如"0,1,2,3"。
  • --trust_remote_codebool可选,默认为False):是否信任从远程下载的模型权重文件。
  • --backend_configstr可选,默认为None在backend为vllm时生效,支持传入复数后端自定义参数(不同参数之间使用,隔开),格式参考"tensor-parallel-size=4,dtype=bfloat16"支持输入json格式参数注意使用单引号防止读取错误格式参考'rope-scaling={"rope_type":"dynamic","factor":2.0}',如:
    • tensor-parallel-sizeint可选,默认为1):张量并行数,注意确保有足够的可用卡数,建议与ASCEND_RT_VISIBLE_DEVICES环境变量配套使用在指定卡上多卡部署。
    • dtypestr可选,默认为auto):模型权重和激活的数据类型,可选auto, half, float16, bfloat16, float, float32
    • 更多支持参数见vllm引擎参数.
  • 使用stop命令可以停止MindIE的部署服务。

FAQ

1.使用MindIE推理部署功能时需要保证宿主机上ID是1001的用户默认是HwHiAiUser可以使用设备即可以执行npu-smi info命令正确识别设备。如果ID为1001的用户无法使用npu-smi info需要重装驱动并添加--install-for-all参数。

2.使用MindIE推理部署功能时需要保证权重的路径是可用的并且权限符合要求。可以执行以下命令修改权限

chown -R HwHiAiUser:HwHiAiUser path/to/model_weights
chmod -R 750 path/to/model_weights

3.使用MindIE推理部署功能时在同一台宿主机上仅支持部署一个MindIE服务。

4.使用LMDeploy和vLLM部署功能时用户可通过配置ASCEND_RT_VISIBLE_DEVICES环境变量控制使用的npu卡其中LMDeploy仅支持单卡部署。ASCEND_RT_VISIBLE_DEVICES用法请参考环境变量说明

openmind-cli env接口

功能描述

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

接口调用示例

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

    openmind-cli env
    

    以下是显示结果示例:

     - `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
    

openmind-cli train接口

功能描述

实现模型微调训练。

参数列表

参数名 描述 类型 默认值 是否可选
stage 训练阶段。可选: pt, sft, rm, dpo。 str sft 可选
finetuning_type 微调方式。可选: full, lora。 str full 可选
lora_target_modules 采取LoRA方法的目标模块。 str None 可选
lora_alpha LoRA微调的缩放因子。 int None 可选
lora_dropout LoRA微调的丢弃率取值范围为[0, 1)。 float 0.0 可选
lora_rank LoRA微调的秩。 int 8 可选
load_in_4bit 支持QLoRA微调时使用4bit精度。 bool False 可选
use_dora 是否使用DoRA。 bool False 可选
init_lora_weights LoRA微调的权重初始化方法。只支持pissa_niter_[num of iters]。 str True 可选
sequence_parallel_size 处理一个训练数据序列的计算设备的数量。 int 1 可选
model_id 模型ID。 str - 可选
model_name_or_path 模型本地路径或者hub的repo_id。 str - 可选
trust_remote_code 是否信任从远程下载的配置文件。 bool False 可选
cache_dir 模型下载的缓存路径。 str None 可选
token 私仓权重token。 str None 可选
model_revision 指定模型版本。 str main 可选
use_fast_tokenizer 是否使用fast tokenizer。 bool False 可选
split_special_tokens 是否拆分特殊token。 bool False 可选
new_special_tokens 要添加到tokenzier中的特殊token。 str None 可选
resize_vocab 是否调整tokenizer词汇表的大小。 bool False 可选
use_gradient_checkpointing 是否使用gradient checkpointing。 bool True 可选
dataset 数据集名称,支持传入多个不同的数据集,以","进行分割。 str None 必选
custom_dataset_info 传入的外置数据集配置文件的绝对路径。 str None 可选
split 数据集基于split筛选子数据集 str Train 可选
subset_name 数据集的子数据集名称。 str None 可选
preprocessing_num_workers 用于数据处理的进程数。 int None 可选
preprocessing_batch_size 数据处理的批大小。 int 1000 可选
cutoff_len 数据集经过encode编码后的截止长度。 int 1024 可选
max_length 数据集经过encode编码后padding最大长度。 int None 可选
reserved_label_len 要将检查点保存到的输出目录。 int 1 可选
ignore_pad_token_for_loss 检查点保存的迭代间隔。 bool True 可选

同时openmind-cli train继承了transformers库Seq2SeqTrainingArguments类。用户可参考官方文档,了解更多训练参数配置。

更多使用细节可参考训练参数

openmind-cli export接口

功能描述

实现LoRA权重合并。

参数列表

参数名 描述 类型 默认值 是否可选
model_id 模型ID。如果用户训练时使用了该参数合并时请使用此参数保证基础模型的一致。 str - 可选
model_name_or_path 模型本地路径或者hub的repo_id。如果用户训练时使用了该参数合并时请使用此参数保证基础模型的一致。 str - 可选
adapter_name_or_path 训练后的适配器权重路径,可设置单个路径,也可以设置,分隔的多个适配器权重路径。 str - 必选
output_dir 合并后权重保存路径。 str - 必选
trust_remote_code 是否信任transformers未集成的基础模型文件。 bool False 可选
cache_dir 基础模型下载的缓存路径。 str None 可选
model_revision 指定基础模型版本。 str main 可选
per_shard_size 合并过程中单个分片的大小1代表单个模型文件最大为1GB如果不设置默认为5GB。 int None 可选
token 私仓权重token。 str None 可选
device 设置加载模型的device。可选择"cpu"或者0/1/2..../7。 str或int 0 可选
fp16 模型加载是否使用fp16格式。 bool False 可选
bf16 模型加载是否使用bf16格式。 bool False 可选

需要注意的是,--fp16--bf16均为False时,默认采用模型config.json文件中的dtype

更多使用细节可参考模型量化与合并