当前位置: 首页 > news >正文

LLaMA-Factory框架之参数详解

  1. 15.1 微调参数

    1. 15.1.1 基本参数

      参数名称类型介绍默认值
      pure_bf16bool是否以纯 bf16 精度训练模型(不使用 AMP)。False
      stageLiteral[“pt”, “sft”, “rm”, “ppo”, “dpo”, “kto”]训练阶段sft
      finetuning_typeLiteral[“lora”, “freeze”, “full”]微调方法lora
      use_llama_probool是否仅训练扩展块中的参数(LLaMA Pro 模式)。False
      use_adam_minibool是否使用 Adam-mini 优化器。False
      freeze_vision_towerboolMLLM 训练时是否冻结视觉塔。True
      freeze_multi_modal_projectorboolMLLM 训练时是否冻结多模态投影器。True
      train_mm_proj_onlybool是否仅训练多模态投影器。False
      compute_accuracybool是否在评估时计算 token 级别的准确率。False
      disable_shufflingbool是否禁用训练集的随机打乱。False
      plot_lossbool是否保存训练过程中的损失曲线。False
      include_effective_tokens_per_secondbool是否计算有效的每秒 token 数。False
    2. 15.1.2 LoRA

      参数名称类型介绍默认值
      additional_targetOptional[str]除 LoRA 层之外设置为可训练并保存在最终检查点中的模块名称,用逗号分隔多个模块。None
      lora_alphaOptional[int]LoRA 缩放系数,一般为 lora_rank * 2。None
      lora_dropoutfloatLoRA 微调中的 dropout 率。0
      lora_rankintLoRA 微调的本征维数 r,r 越大可训练的参数越多。8
      lora_targetstr应用 LoRA 的模块名称,all 表示所有模块。all
      loraplus_lr_ratioOptional[float]LoRA+ 学习率比例 λ = ηB/ηA。None
      loraplus_lr_embeddingOptional[float]LoRA+ 嵌入层的学习率。1e-6
      use_rslorabool是否使用秩稳定 LoRA (Rank-Stabilized LoRA)。False
      use_dorabool是否使用权重分解 LoRA(Weight‑Decomposed LoRA)。False
      pissa_initbool是否初始化 PiSSA 适配器。False
      pissa_iterOptional[int]PiSSA 中 FSVD 执行的迭代步数,-1 禁用。16
      pissa_convertbool是否将 PiSSA 适配器转换为正常的 LoRA 适配器。False
      create_new_adapterbool是否创建一个具有随机初始化权重的新适配器。False
    3. 15.1.3 RLHF

      参数名称类型介绍默认值
      pref_betafloat偏好损失中的 beta 参数。0.1
      pref_ftxfloatDPO 训练中的 sft loss 系数。0.0
      pref_lossLiteral[“sigmoid”, “hinge”, “ipo”, “kto_pair”, “orpo”, “simpo”]DPO 中使用的偏好损失类型。sigmoid
      dpo_label_smoothingfloat标签平滑系数,范围 [0,0.5]。0.0
      kto_chosen_weightfloatKTO 训练中 chosen 标签 loss 权重。1.0
      kto_rejected_weightfloatKTO 训练中 rejected 标签 loss 权重。1.0
      simpo_gammafloatSimPO 损失中的 reward margin。0.5
      ppo_buffer_sizeintPPO 训练中的 mini‑batch 大小。1
      ppo_epochsintPPO 训练迭代次数。4
      ppo_score_normbool是否在 PPO 训练中使用归一化分数。False
      ppo_targetfloat自适应 KL 控制的目标 KL 值。6.0
      ppo_whiten_rewardsboolPPO 训练中是否对白化奖励。False
      ref_modelOptional[str]PPO/DPO 训练中使用的参考模型路径。
      ref_model_adaptersOptional[str]参考模型的适配器路径。None
      ref_model_quantization_bitOptional[int>参考模型的量化位数,支持 4 位或 8 位。None
      reward_modelOptional[str]PPO 训练中使用的奖励模型路径。None
      reward_model_adaptersOptional[str>奖励模型的适配器路径。None
      reward_model_quantization_bitOptional[int>奖励模型的量化位数。None
      reward_model_typeLiteral[“lora”, “full”, “api”]PPO 中使用的奖励模型类型。lora
    4. 15.1.4 Freeze

      参数名称类型介绍默认值
      freeze_trainable_layersint可训练层的数量;正数表示最后 n 层可训练,负数表示前 n 层可训练。2
      freeze_trainable_modulesstr可训练模块名称,all 表示所有模块。all
      freeze_extra_modulesOptional[str]隐藏层外额外可训练模块,用逗号分隔。None
    5. 15.1.5 Appolo

      参数名称类型介绍默认值
      use_apollobool是否使用 APOLLO 优化器。False
      apollo_targetstr适用 APOLLO 的模块名,all 表示所有线性模块。all
      apollo_rankintAPOLLO 梯度的秩。16
      apollo_update_intervalint更新投影的步数间隔。200
      apollo_scalefloatAPOLLO 缩放系数。32.0
      apollo_projLiteral[“svd”, “random”]低秩投影算法类型。random
      apollo_proj_typeLiteral[“std”, “right”, “left”]投影类型。std
      apollo_scale_typeLiteral[“channel”, “tensor”]缩放类型。channel
      apollo_layerwisebool是否启用层级更新节省内存。False
      apollo_scale_frontbool是否在缩放前使用范数增长限制器。False
    6. 15.1.6 BAdam

      参数名称类型介绍默认值
      use_badambool是否使用 BAdam 优化器。False
      badam_modeLiteral[“layer”, “ratio”]BAdam 使用模式。layer
      badam_start_blockOptional[int]layer‑wise BAdam 起始块索引。None
      badam_switch_modeOptional[Literal]块更新策略:ascending, descending, random, fixed。ascending
      badam_switch_intervalOptional[int]块更新步数间隔,-1 禁用。50
      badam_update_ratiofloatratio‑wise BAdam 更新比例。0.05
      badam_mask_modeLiteral[“adjacent”, “scatter”]掩码模式。adjacent
      badam_verboseint详细输出级别:0 无,1 输出块前缀,2 输出可训练参数。0
    7. 15.1.7 GaLore

      参数名称类型介绍默认值
      se_galorebool是否使用 GaLore 算法。False
      galore_targetstr应用模块名,all 表示所有线性模块。all
      galore_rankintGaLore 梯度的秩。16
      galore_update_intervalint更新投影的步数间隔。200
      galore_scalefloat缩放系数。0.25
      galore_proj_typeLiteral[“std”, “reverse_std”, “right”, “left”, “full”]投影类型。std
      galore_layerwisebool是否启用逐层更新节省内存。False
  2. 15.2 数据参数

    参数名称类型介绍默认值
    templateOptional[str]构造 prompt 的模板。None
    datasetOptional[str]用于训练的数据集名称,逗号分隔多数据集。None
    eval_datasetOptional[str]用于评估的数据集名称,逗号分隔多数据集。None
    eval_on_each_datasetOptional[bool]是否分开计算各评估数据集的 loss。
    dataset_dirstr存储数据集的文件夹路径。“data”
    media_dirOptional[str]存储多媒体文件的路径。None
    cutoff_lenint最大输入 token 数,超过截断。2048
    train_on_promptbool是否在输入 prompt 上训练。False
    mask_historybool是否仅使用当前对话轮次训练。False
    streamingbool是否启用数据流模式。False
    buffer_sizeint流模式下用于随机抽样的 buffer 大小。16384
    mix_strategyLiteral[“concat”, “interleave_under”, “interleave_over”]数据混合策略。concat
    nterleave_probsOptional[str]interleave 策略采样概率,逗号分隔。None
    overwrite_cachebool是否覆盖缓存数据集。False
    preprocessing_batch_sizeint预处理时每批示例数。1000
    preprocessing_num_workersOptional[int]预处理时进程数。None
    max_samplesOptional[int]每数据集最大样本数。None
    eval_num_beamsOptional[int]评估时使用的 num_beams。None
    ignore_pad_token_for_lossbool是否忽略 pad token。True
    val_sizefloat验证集比例 [0,1)。流模式时需整数。0.0
    packingOptional[bool]是否启用 sequences packing。
    neat_packingbool是否启用无 cross‑attention packing。False
    tool_formatOptional[str]构造函数调用示例的格式。None
    tokenized_pathOptional[str]Tokenized 数据集保存/加载路径。None
  3. 15.3 模型参数

    1. 15.3.1 基本参数

      参数名称类型介绍默认值
      model_name_or_pathOptional[str]模型路径(本地或远程)。None
      adapter_name_or_pathOptional[str]适配器路径,逗号分隔多适配器。None
      adapter_folderOptional[str]包含适配器权重的文件夹。None
      cache_dirOptional[str]下载模型缓存路径。None
      use_fast_tokenizerbool是否使用 fast_tokenizer。True
      resize_vocabbool是否调整词表大小。False
      split_special_tokensbool是否分割 special token。False
      new_special_tokensOptional[str]要添加的 special token,逗号分隔。None
      model_revisionstr模型版本。main
      low_cpu_mem_usagebool是否节省内存加载模型。True
      rope_scalingOptional[Literal[“linear”, “dynamic”, “yarn”, “llama3”]]RoPE 缩放策略。None
      flash_attnLiteral[“auto”, “disabled”, “sdpa”, “fa2”]是否启用 FlashAttention。auto
      shift_attnbool是否启用 Shift Short Attention。False
      mixture_of_depthsOptional[Literal[“convert”, “load”]]MoD 模型转换/加载方式。None
      use_unslothbool是否使用 unsloth 优化 LoRA。False
      use_unsloth_gcbool是否使用 unsloth 梯度检查点。False
      enable_liger_kernelbool是否启用 liger 内核加速。False
      moe_aux_loss_coefOptional[float]MoE aux_loss 系数。None
      disable_gradient_checkpointingbool是否禁用梯度检查点。False
      use_reentrant_gcbool是否启用可重入梯度检查点。True
      upcast_layernormbool是否将 layernorm 提升至 fp32。False
      upcast_lmhead_outputbool是否将 lm_head 输出提升至 fp32。False
      train_from_scratchbool是否随机初始化模型。False
      infer_backendLiteral[“huggingface”, “vllm”]推理后端引擎。huggingface
      offload_folderstr模型卸载路径。offload
      use_cachebool是否使用 KV 缓存。True
      infer_dtypeLiteral[“auto”, “float16”, “bfloat16”, “float32”]推理数据类型。auto
      hf_hub_tokenOptional[str]HuggingFace 验证 token。None
      ms_hub_tokenOptional[str]ModelScope 验证 token。None
      om_hub_tokenOptional[str]Modelers Hub 验证 token。None
      print_param_statusbool是否打印参数状态。False
      compute_dtypeOptional[torch.dtype]输出计算数据类型。None
      device_mapOptional[Union[str, Dict[str, Any>]]设备映射。None
      model_max_lengthOptional[int]模型最大输入长度。None
      block_diag_attnbool是否使用块对角注意力。False
    2. 15.3.2 多模态参数

      参数名称类型介绍默认值
      image_max_pixelsint图像输入最大像素数768×768
      image_min_pixelsint图像输入最小像素数32×32
      video_max_pixelsint视频输入最大像素数256×256
      video_min_pixelsint视频输入最小像素数16×16
      video_fpsfloat视频采样帧率2.0
      video_maxlenint视频最大采样帧数128
    3. 15.3.1 vLLM

      参数名称类型介绍默认值
      vllm_maxlenint最大序列长度4096
      vllm_gpu_utilfloatGPU 使用比例0.9
      vllm_enforce_eagerbool是否禁用 CUDA graphFalse
      vllm_max_lora_rankint推理允许的最大 LoRA Rank32
      vllm_configOptional[Union[dict,str>]引擎初始化配置None
    4. 15.3.1 模型量化

      参数名称类型介绍默认值
      quantization_methodLiteral[“bitsandbytes”, “hqq”, “eetq”]量化算法bitsandbytes
      quantization_bitOptional[int]量化位数,如 4、8None
      quantization_typeLiteral[“fp4”, “nf4”]数据类型nf4
      double_quantizationbool是否使用 double quantizationTrue
      quantization_device_mapOptional[Literal[“auto”]>4-bit 推理设备映射None
    5. 15.3.1 模型导出

      参数名称类型介绍默认值
      export_dirOptional[str]导出模型保存目录None
      export_sizeint文件分片大小(GB)5
      export_deviceLiteral[“cpu”, “auto”]导出时使用设备cpu
      export_quantization_bitOptional[int]导出量化位数None
      export_quantization_datasetOptional[str]量化导出使用的数据集None
      export_quantization_nsamplesint量化样本数128
      export_quantization_maxlenint最大输入长度1024
      export_legacy_formatboolTrue 保存 .bin,False 保存 .safetensorsFalse
      export_hub_model_idOptional[str]上传至 Huggingface 的仓库名称None
  4. 15.4 评估参数

    参数名称类型介绍默认值
    taskstr评估任务名称(mmlu_test, ceval_validation, cmmlu_test)None
    task_dirstr评估数据集文件夹evaluation
    batch_sizeint每 GPU 批量大小4
    seedint数据加载器随机种子42
    langstr语言(en、zh)en
    n_shotintfew‑shot 示例数5
    save_dirstr保存评估结果路径None
    download_modestr数据集下载模式(REUSE_DATASET_IF_EXISTS 等)DownloadMode.REUSE_DATASET_IF_EXISTS
  5. 15.5 生成参数

    参数名称类型介绍默认值
    do_samplebool是否使用采样,False 则 greedy decoding。True
    temperaturefloat控制随机性,越高越随机。0.95
    top_pfloat累积概率阈值采样。0.7
    top_kinttop‑k 采样大小。50
    num_beamsintbeam_search 束宽,1 表示不使用。1
    max_lengthint文本最大长度(含输入和生成)。1024
    max_new_tokensint生成最大长度,会覆盖 max_length。1024
    repetition_penaltyfloat重复惩罚系数。1.0
    length_penaltyfloatbeam_search 长度惩罚,>0 鼓励更长,<0 更短。1.0
    default_systemstr默认 system_message。None
    skip_special_tokensbool解码时忽略特殊 token。True
  6. 15.6 SwanLab 参数

    参数名称类型介绍默认值
    use_swanlabbool是否使用 SwanLab。False
    swanlab_projectstr项目名称“llamafactory”
    swanlab_workspacestr工作区名称None
    swanlab_run_namestr实验名称None
    swanlab_modeLiteral[“cloud”, “local”]运行模式cloud
    swanlab_api_keystrAPI 密钥None
  7. 15.7 训练参数

    1. 15.7.1 RAY

      参数名称类型介绍默认值
      ray_run_nameOptional[str]训练结果保存路径 /ray_run_nameNone
      ray_storage_pathstr保存训练结果的存储路径./saves
      ray_num_workersintRay 训练工作进程数1
      resources_per_workerUnion[dict, str]每进程资源分配,默认 1 GPU{“GPU”: 1}
      placement_strategyLiteral[“SPREAD”, “PACK”, “STRICT_SPREAD”, “STRICT_PACK”]资源调度策略PACK
  8. 15.8 环境变量

    名称类型介绍
    API_HOSTAPIAPI 服务器监听主机地址
    API_PORTAPIAPI 服务器监听端口号
    API_KEYAPI访问 API 的密码
    PI_MODEL_NAMEAPI指定加载使用的模型名称
    API_VERBOSEAPI控制 API 日志详细程度
    FASTAPI_ROOT_PATHAPI设置 FastAPI 应用根路径
    MAX_CONCURRENTAPI最大并发请求数
    DISABLE_VERSION_CHECKGeneral是否禁用版本检查
    FORCE_CHECK_IMPORTSGeneral强制检查可选导入
    ALLOW_EXTRA_ARGSGeneral允许命令行传额外参数
    LLAMAFACTORY_VERBOSITYGeneral设置日志级别 (“DEBUG”,”INFO”,”WARN”)
    USE_MODELSCOPE_HUBGeneral优先使用 ModelScope 或缓存
    USE_OPENMIND_HUBGeneral优先使用 Openmind 或缓存
    USE_RAYGeneral是否使用 Ray 分布式执行
    RECORD_VRAMGeneral是否记录 VRAM 使用
    OPTIM_TORCHGeneral是否启用 PyTorch 优化
    NPU_JIT_COMPILEGeneral是否为 NPU 启用 JIT 编译
    CUDA_VISIBLE_DEVICESGeneralGPU 选择
    ASCEND_RT_VISIBLE_DEVICESGeneralNPU 选择
    FORCE_TORCHRUNTorchrun强制使用 torchrun 启动脚本
    MASTER_ADDRTorchrunmaster 节点地址
    MASTER_PORTTorchrunmaster 节点通信端口
    NNODESTorchrun分布式节点总数
    NODE_RANKTorchrun当前节点 rank
    NPROC_PER_NODETorchrun每节点 GPU 数
    WANDB_DISABLEDLog是否禁用 wandb
    WANDB_PROJECTLogwandb 项目名称
    WANDB_API_KEYLogwandb API key
    GRADIO_SHAREWeb UI是否创建可共享 web UI 链接
    GRADIO_SERVER_NAMEWeb UIGradio 服务器 IP(如 0.0.0.0)
    GRADIO_SERVER_PORTWeb UIGradio 服务器端口
    GRADIO_ROOT_PATHWeb UIGradio 应用根路径
    GRADIO_IPV6Web UI是否启用 IPv6
    ENABLE_SHORT_CONSOLESetting支持使用 lmf 表示 llamafactory‑cli
http://www.lryc.cn/news/578160.html

相关文章:

  • Webpack原理剖析与实现
  • 1.1_2 计算机网络的组成和功能
  • FastDFS分布式储存
  • 华为云Flexus+DeepSeek征文 | ​​接入华为云ModelArts Studio大模型 —— AI智能法务解决方案革新法律实践​
  • 38.docker启动python解释器,pycharm通过SSH服务直连
  • ERP系统Bug记录
  • 前端Vue面试八股常考题(一)
  • 中证500股指期货一手多少钱呢?风险如何?
  • HTML5 实现的圣诞主题网站源码,使用了 HTML5 和 CSS3 技术,界面美观、节日氛围浓厚。
  • 华为云 Flexus+DeepSeek 征文|基于 Dify 平台开发智能客服 AI Agent 的完整实战指南
  • 【STM32HAL-第1讲 基础篇-单片机简介】
  • 前端开发面试题总结-原生小程序部分
  • 《从量子奇境到前端优化:解锁卡西米尔效应的隐藏力量》
  • 《用奥卡姆剃刀原理,为前端开发“减负增效”》
  • 【软考高项论文】论信息系统项目的整体管理
  • 【Java面试】10GB,1GB内存,如何排序?
  • PHP WebSocket服务器搭建指南
  • 从入门到精通:npm、npx、nvm 包管理工具详解及常用命令
  • Springboot + vue + uni-app小程序web端全套家具商场
  • 【Spring】——事务、整合、注解
  • 设计模式-观察者模式(发布订阅模式)
  • UE5 - 制作《塞尔达传说》中林克的技能 - 17 - 遥控炸弹(二)
  • 键盘第一下无反应
  • 基于Spring Boot的绿园社区团购系统的设计与实现
  • 磁悬浮轴承位移信号的高精度估计:卡尔曼滤波算法深度解析
  • MySQL复杂SQL性能优化实战:多表联查与子查询的高效方法
  • 【数据清洗与预处理】-文本采集与处理
  • LoRA 问答微调与部署全流程:基于 LLaMA-Factory + DeepSeek + FastAPI 打造专属大模型
  • Hive SQL 实战:电商销售数据分析全流程案例
  • 大数据轻量化流批一体架构探索实践(一)