LLaMA-Factory 模型微调指令参数详解

LLaMA-Factory 模型微调指令参数详解


在这里插入图片描述

llamafactory-cli train \
    # 指定训练阶段为监督微调(Supervised Fine-Tuning,SFT)。在监督微调阶段,模型会根据有标签的数据进行训练,
    # 调整模型参数以更好地适应特定任务,例如自然语言生成、文本分类等任务。一般在预训练模型基础上进行微调时使用。
    --stage sft \
    # 开启训练,如果设置为False则不进行训练。当需要查看模型配置效果、检查数据预处理流程或进行一些非训练性的测试时,
    # 可将其设置为False。在实际训练模型时,将其设为True。
    --do_train True \
    # 指定预训练模型的名称或路径,这里使用的是DeepSeek公司的一个蒸馏后的15亿参数模型deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B。
    # 在选择模型时,需根据任务需求和资源情况进行决策。如果任务对模型大小和计算资源有限制,应选择合适规模的模型;
    # 如果任务对精度要求较高,可选择性能更好的模型。
    --model_name_or_path deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B \
    # 设置数据预处理的线程数为16,增加线程数可以加快数据预处理速度,但会消耗更多CPU资源。在服务器CPU核心较多且资源充足时,
    # 可适当增大该值以提高数据处理效率;若服务器资源紧张,应降低该值,避免影响其他进程的运行。
    --preprocessing_num_workers 16 \
    # 选择微调的类型为LoRA(Low-Rank Adaptation),这是一种低秩适应技术,在微调时可以减少参数量和计算量。
    # LoRA适用于资源有限的场景,在保持模型性能的同时降低训练成本。如果对模型训练速度和资源消耗较为敏感,可优先选择LoRA微调。
    --finetuning_type lora \
    # 使用名为deepseek3的模板,模板用于构建输入模型的提示格式等。不同的模板会影响模型对输入数据的理解和处理方式,
    # 应根据任务特点和数据集结构选择合适的模板。如果数据集具有特定的格式或要求,可能需要自定义模板。
    --template deepseek3 \
    # 自动决定是否使用Flash Attention技术,这是一种高效的注意力计算方法,可优化训练过程中的内存和计算效率。
    # 在GPU支持且模型计算量较大时,Flash Attention能够显著提升训练速度;若GPU不支持或模型规模较小,自动模式可能会选择不使用。
    --flash_attn auto \
    # 指定数据集所在的目录为当前目录下的data文件夹。确保该目录存在且包含正确的数据集文件,数据文件格式需与框架要求一致。
    # 如果数据集路径错误,模型将无法读取数据进行训练。
    --dataset_dir data \
    # 指定使用名为identity的数据集。数据集的选择应与任务相匹配,不同的数据集包含不同的样本和标签信息,
    # 会对模型训练效果产生重大影响。在选择数据集时,要充分考虑数据的质量、规模和多样性。
    --dataset identity \
    # 设置输入序列的最大长度为2048个token,超过这个长度的部分会被截断。该值需根据模型的能力和任务需求进行调整。
    # 如果输入文本通常较长且模型能够处理,可适当增大该值;若模型对长序列处理能力有限或资源紧张,应减小该值。
    --cutoff_len 2048 \
    # 设置学习率为0.00005,学习率控制模型参数更新的步长。学习率过大可能导致模型在训练过程中跳过最优解,出现不收敛的情况;
    # 学习率过小则训练速度缓慢,需要更多的训练时间和资源。在调参过程中,通常会尝试不同的学习率,观察模型的收敛情况和性能表现。
    --learning_rate 5e-05 \
    # 设置训练的轮数为3轮,即模型会对整个训练数据集进行3次完整的学习。训练轮数过多可能导致过拟合,
    # 而过少则模型可能无法充分学习数据特征。在实际应用中,需要根据数据集大小、模型复杂度和训练效果调整训练轮数。
    --num_train_epochs 3.0 \
    # 最多使用100000个样本进行训练,若数据集中样本数多于该值,则只会选取前100000个样本。
    # 当数据集非常大时,可通过设置该参数减少训练样本数量,加快训练速度,但可能会损失部分信息;
    # 若数据集较小,可适当增大该值以充分利用数据。
    --max_samples 100000 \
    # 设置每个设备上的训练批次大小为2,批次大小影响模型训练时每次处理的数据量和内存占用。
    # 批次越大,模型在一次更新中学习的信息越多,训练速度可能加快,但对内存的需求也越大;
    # 批次越小,内存占用少,但训练速度可能较慢。需根据设备内存情况和模型收敛速度调整批次大小。
    --per_device_train_batch_size 2 \
    # 梯度累积步数设置为8,即每8次前向和反向传播后才更新一次模型参数,可模拟更大的批次大小,提高训练稳定性。
    # 当设备内存有限无法设置较大批次大小时,可通过增大梯度累积步数来模拟大批次训练效果,但会增加训练时间。
    --gradient_accumulation_steps 8 \
    # 学习率调度器类型选择为余弦退火(cosine),在训练过程中动态调整学习率,帮助模型更好地收敛。
    # 余弦退火调度器在训练初期使用较大学习率加快收敛速度,在接近最优解时逐渐减小学习率,使模型更精确地收敛到最优解。
    # 对于训练周期较长的任务,这种调度器通常能取得较好的效果。
    --lr_scheduler_type cosine \
    # 最大梯度范数设置为1.0,用于梯度裁剪,防止梯度爆炸,确保训练过程的稳定性。
    # 当梯度值过大时,可能会导致模型参数更新不稳定,甚至使模型无法收敛。通过设置合理的梯度裁剪阈值,可以避免这种情况。
    # 如果模型训练过程中出现梯度爆炸的迹象,可适当减小该值;若模型收敛过慢,可尝试增大该值,但要谨慎操作。
    --max_grad_norm 1.0 \
    # 每训练5步记录一次日志,方便监控训练过程中的各种指标,如损失值、准确率等。
    # 记录频率过高会产生大量日志文件,占用存储空间;记录频率过低则可能无法及时发现训练过程中的问题。
    # 可根据训练时长和关注的指标调整记录频率。
    --logging_steps 5 \
    # 每训练100步保存一次模型检查点,以便后续恢复训练或评估模型。保存频率过高会占用大量存储空间,
    # 保存频率过低可能会丢失中间重要的模型状态。在实际应用中,可根据训练时间和资源情况设置保存频率,
    # 同时可以结合备份策略,防止数据丢失。
    --save_steps 100 \
    # 学习率预热步数设置为0,预热是在训练初期以较低学习率训练模型,这里不进行预热。
    # 在一些情况下,预热可以帮助模型更稳定地开始训练,避免在训练初期因学习率过大导致模型不稳定。
    # 如果模型在训练初期出现波动较大的情况,可尝试增加预热步数。
    --warmup_steps 0 \
    # 不使用打包技术,打包技术可以提高训练效率,但会增加数据处理的复杂性。
    # 对于简单任务或对训练效率要求不高的场景,可不使用打包技术;在处理大量短序列数据且追求高效训练时,可考虑使用打包技术。
    --packing False \
    # 不将训练进度等信息报告到外部工具,如不使用TensorBoard等进行可视化监控。
    # 如果需要实时监控训练过程中的各种指标变化,如损失值、准确率随训练步数的变化情况,可配置相应的报告工具,
    # 如将该参数设置为TensorBoard的相关地址和端口,以实现可视化监控。
    --report_to none \
    # 指定训练结果和模型保存的输出目录为saves\DeepSeek-R1-1.5B-Distill\lora\train_2025-03-26-09-56-13。
    # 确保该目录存在或具有可创建目录的权限,否则模型训练结果无法保存。在多任务训练或多次实验时,
    # 可以通过修改输出目录来区分不同的训练结果。
    --output_dir saves\DeepSeek-R1-1.5B-Distill\lora\train_2025-03-26-09-56-13 \
    # 启用BF16(Brain Floating Point 16)混合精度训练,可减少内存占用,加快训练速度。
    # 若GPU支持BF16计算,启用该选项可以在不损失太多精度的情况下提升训练效率。但在一些对精度要求极高的任务中,
    # 可能需要谨慎使用,或进行精度验证。
    --bf16 True \
    # 开启绘制损失曲线功能,便于直观查看训练过程中损失值的变化。损失曲线可以反映模型的学习情况,
    # 如果损失值持续下降,说明模型在不断学习;若损失值出现波动或上升,可能表示模型出现了问题,如过拟合。
    --plot_loss True \
    # 信任远程代码,在使用远程模型或代码时,允许加载和执行可能存在风险的代码。
    # 在使用来自不可信源的代码或模型时,要谨慎开启该选项,避免潜在的安全风险。若使用的是官方或可信的模型和代码,
    # 可根据实际情况开启。
    --trust_remote_code True \
    # 设置分布式训练的超时时间为180000000秒,防止因网络延迟等问题导致训练进程长时间等待而中断。
    # 在分布式训练环境中,网络状况复杂多变,合理设置超时时间可以确保训练的稳定性。如果网络环境较好,
    # 可适当减小该值;若网络不稳定,应增大该值,避免训练因短暂的网络波动而中断。
    --ddp_timeout 180000000 \
    # 统计并记录训练过程中已处理的输入token数量,用于调试或性能分析。在调试模型时,通过查看输入token数量,
    # 可以分析模型对不同长度输入的处理情况,检查是否存在数据加载或处理异常;在性能分析方面,可用于评估模型的计算资源消耗。
    --include_num_input_tokens_seen True \
    # 选择AdamW优化器(基于PyTorch实现),用于更新模型参数,帮助模型学习。AdamW优化器结合了Adam优化器的优点,
    # 并对权重衰减进行了改进,在多种任务中表现良好。在调参时,还可以尝试其他优化器,如SGD、Adagrad等,
    # 比较不同优化器对模型训练效果和收敛速度的影响。
    --optim adamw_torch \
    # 设置LoRA的秩为8,秩越小,引入的额外参数量越少,计算开销也越小,但可能会影响模型的表达能力。
    # 在调参时,需要根据任务的复杂程度和对模型性能的要求来调整LoRA的秩。对于简单任务或资源受限的情况,
    # 可以尝试较小的秩;对于复杂任务,可能需要适当增大秩以保证模型的效果。
    --lora_rank 8 \
    # LoRA的比例因子设置为16,用于缩放低秩矩阵的贡献,较大的值可能增强微调效果,但也可能增加过拟合风险。
    # 在调整该参数时,要结合LoRA的秩和训练数据的特点进行。如果发现模型出现过拟合迹象,可适当减小比例因子;
    # 若模型学习效果不明显,可尝试增大该值。
    --lora_alpha 16 \
    # LoRA层的dropout概率设置为0,即不使用dropout正则化,增大该值可增强模型的泛化能力,减少过拟合。
    # 在训练过程中,如果模型在训练集上表现良好,但在验证集上效果不佳,可能存在过拟合问题,此时可尝试增大dropout概率;
    # 如果模型收敛困难或训练速度过慢,可适当减小该值或保持为0。
    --lora_dropout 0 \
    # 指定LoRA微调的目标层为所有层,也可以指定特定层进行微调。选择特定层进行微调可以聚焦于模型的关键部分,
    # 减少不必要的计算量。在一些任务中,某些层对任务的影响更大,可针对这些层进行微调;若对模型结构不太了解,
    # 可先尝试对所有层进行微调,观察训练效果后再进行调整。
    --lora_target all

一、模型选择与路径设置

  1. 模型名称与路径:选择模型为Qwen2.5-7B-Instruct,建议下载后填入绝对路径,避免使用相对路径,因其难以把控。在Hugging Face或ModelScope路径下下载模型,下载后存储在相对路径root/.cache/hubroot/.cache/modelscope下。
  2. 输出路径:训练完成后,LoRA训练生成的小块会存储在指定输出路径。该路径是相对路径,基于启动命令llamafactory-cli的位置,一般在llama_factory同级目录下的saves文件夹中,自动生成的路径包含当前点击预览命令的时分秒。若在界面执行,修改路径需在相应位置操作;若在后端执行,则可自由修改 。

二、训练参数设置

  1. 基本训练参数
    • 训练阶段与训练开关stage sft指定训练阶段为监督微调(SFT),do_train True表示进行训练,false则不训练。此设置在框架中较为灵活,可用于在界面点击运行,也可将命令复制到shellyaml文件中在后端执行 。
    • 数据处理线程数preprocessing_num_workers指定处理数据时使用的线程数,调大耗费资源但处理速度快,调小则相反。通常设置为总核数减1或减2 。
    • 数据集路径与名称dataset_dir指定数据集目录,为相对路径;dataset指定使用的数据集,多个数据集用英文逗号分隔 。
    • 输入长度与样本数量cutoff_len指定输入序列的最大长度,调大会占用更多资源但能保留更多上下文信息,调小则节省资源但可能导致上下文不连贯;max_samples指定最多使用的样本数量,增大样本数可提供更多训练信号,但可能导致过拟合,减少样本数可能导致欠拟合 。
  2. 训练轮数与批次大小
    • 训练轮数num_epochs根据数据集大小调整训练轮数,如数据量较大,3轮即可;数据量较小,可适当增加轮数,但可能存在过拟合风险 。
    • 批次大小batch_size批次大小影响模型学习效果和资源消耗。批次大,一次学习内容多但资源需求大;批次小,每次学习内容少但资源消耗小,学习次数增多。需根据服务器资源调整,若仅作测试,可将批次大小设为1 。
  3. 梯度与学习率相关参数
    • 梯度累积步数gradient_accumulation_steps指定梯度累积步骤数,用于模拟更大或更小的批次大小,可增加训练稳定性,但会增加内存使用和训练时间 。
    • 学习率learning_rate指定学习率,如5e-05表示0.00005 ,e后数字表示小数点往前移动的位数。学习率过大可能导致模型在损失函数最小值附近震荡或发散,过小则容易欠拟合 。
    • 学习率调度器lr_scheduler_type指定学习率调度器类型,如cosine(余弦退火)适合训练周期较长的任务,可避免训练后期震荡;Constant适合模型已预训练只需微调的任务 。
    • 学习预热步数warmup_steps指定学习率预热步数,默认值为0 ,一般根据个人需求设置,多数情况下可使用默认值 。
  4. 其他训练相关参数
    • 日志记录与模型保存logging_steps指定每多少步记录一次日志,步数大记录频率低、占用资源少,步数小则记录更详细、占用资源多;save_steps指定每多少步保存一次模型检查点,同样存在频率与资源占用的平衡问题 。
    • 打包技术packing指定是否使用打包技术,通常不使用,因其虽可提高训练效率,但会增加数据处理复杂性,初期操作建议保持默认 。
    • 报告方式report_to指定报告训练进度的方式,none表示不报告,若设置为如TensorBoard的地址和端口,可查看更丰富的张量、损失率等信息 。
  5. 优化器与精度参数
    • 混合精度训练fp16 True指定使用混合精度训练,若选择fp32,在命令中不会显示相关设置;选择其他精度(如fp8bf16等)会正常显示 。
    • 优化器类型optim adamw_torch指定优化器类型为Adamw,此设置在其他参数一栏中以kv形式存在,属于进阶操作,初期不建议修改,以免报错 。
  6. LoRA相关参数
    • 微调类型finetuning_type lora指定微调类型为LoRA(Low - Rank Adaptation),也可选择如冻结等其他类型 。
    • LoRA秩lora_rank指定LoRA的秩,如设置为8 ,并非越大越好,需根据实际效果调整,秩越小参数量和计算开销越小 。
    • 比例因子lora_alpha指定LoRA的比例因子,用于缩放低秩矩阵的贡献,值越大微调效果可能越强,但也可能导致过拟合 。
    • dropout概率lora_dropout指定LoRA的dropout概率,调大增加模型泛化能力、减少过拟合,调小则减少正则化、可能提高模型表达能力 。
    • 目标层lora_target all指定LoRA的目标层为所有层,也可指定特定层(如q_projv_projk_projfc层)进行调整 。
  7. 其他配置参数
    • 模板选择template qwen根据模型类型选择模板,若为基座大模型可选择default,若为当前系列模型则选择对应模板,若没有合适模板也可注册新模板 。
    • 加速选项flash_attn auto在0.9版本中增加了加速内容,一般选择auto即可,若熟悉transformer结构,可自定义选择 。
    • 绘制损失曲线plot_loss True指定绘制损失曲线,曲线横轴表示训练迭代次数,纵轴表示损失率。通过观察曲线,若一直波动说明模型学习效果不佳;若快速降低后不再上升,可能出现过拟合 。

三、训练过程与监控

  1. 保存训练参数:完成参数设置后,可点击保存训练参数,系统会在启动命令相对目录下的config文件夹中,根据当前日期生成命令参数文件 。
  2. 训练启动与显存使用:点击开始训练后,可观察到后端模型对显存的使用情况。如使用7B模型时,若设置的批次大小不合理,可能导致显存占用过高。若资源不足,可将批次大小设置为1 。
  3. 训练时间与结果验证:本次训练验证使用了约30分钟完成对训练集的验证 。

四、llamafactory微调参数及作用汇总

参数名称参数作用取值建议及注意事项
stage指定训练阶段,如监督微调(SFT)通常根据任务需求选择,微调任务多选用SFT
do_train确定是否进行训练,True为训练,False为不训练根据实际需求设置,若仅查看配置效果可设为False
model_name_or_path指定预训练模型的路径建议使用绝对路径,确保模型路径准确无误
output_dir指定训练结果和日志的输出目录为相对路径,基于启动命令位置,自动生成包含时间的路径,可按需修改
preprocessing_num_workers设定预处理数据时使用的线程数一般设为总核数减1或减2,根据服务器资源和处理速度需求调整
dataset_dir指定数据集所在目录为相对路径,需确保数据集路径正确
dataset指定使用的数据集,可多个并用逗号分隔根据任务选择合适数据集,注意数据集格式及兼容性
cutoff_len规定输入序列的最大长度调大占用更多资源但保留更多上下文,调小节省资源但可能丢失上下文,根据模型性能和资源情况调整
max_samples指定最多使用的样本数量增大可提供更多训练信号,但可能过拟合;减小可能欠拟合,需根据数据集和模型情况调整
gradient_accumulation_steps指定梯度累积步骤数,模拟更大或更小批次大小增加可提高模型稳定性,但会增加内存使用和训练时间,根据硬件资源和训练需求设置
learning_rate设定学习率,如5e-05表示0.00005学习率过大可能导致模型震荡或发散,过小易欠拟合,需根据模型训练情况微调
lr_scheduler_type指定学习率调度器类型,如cosine(余弦退火)、Constantcosine适合长周期训练,避免后期震荡;Constant适合已预训练只需微调的任务,根据训练场景选择
warmup_steps指定学习率预热步数默认值为0,一般根据个人需求设置,多数情况可使用默认值
logging_steps指定每多少步记录一次日志步数大记录频率低、占用资源少;步数小记录更详细、占用资源多,根据需求平衡
save_steps指定每多少步保存一次模型检查点logging_steps类似,需平衡保存频率和资源占用
packing指定是否使用打包技术通常不使用,使用可提高训练效率但增加数据处理复杂性,初期建议保持默认
report_to指定报告训练进度的方式,如noneTensorBoard地址和端口等none表示不报告,设置为TensorBoard相关信息可查看更多训练信息
fp16指定是否使用混合精度训练选择fp16开启,选择fp32在命令中不显示相关设置,其他精度(如fp8bf16等)正常显示
optim指定优化器类型,如adamw_torch属于进阶操作,初期不建议修改,以免报错,根据模型和任务选择合适优化器
finetuning_type指定微调类型,如lorafreeze根据需求选择,lora为低秩适应微调,可有效减少参数量和计算量
lora_rank指定LoRA的秩,如设置为8并非越大越好,需根据实际效果调整,秩越小参数量和计算开销越小
lora_alpha指定LoRA的比例因子用于缩放低秩矩阵贡献,值越大微调效果可能越强,但可能导致过拟合
lora_dropout指定LoRA的dropout概率调大增加模型泛化能力、减少过拟合;调小减少正则化、可能提高模型表达能力
lora_target指定LoRA的目标层,如allq_projv_projk_projfcall表示所有层,也可指定特定层进行调整,根据模型结构和微调需求选择
template根据模型类型选择模板若为基座大模型可选择defOT,当前系列模型选择对应模板,无合适模板可注册新模板
flash_attn指定是否使用Flash Attention,如auto一般选择auto,若熟悉transformer结构,可自定义选择,以优化训练速度
plot_loss指定是否绘制损失曲线设置为True绘制,通过观察曲线可了解模型训练效果,判断是否过拟合或欠拟合
ddp_timeout 指定分布式训练的超时时间更大的超时时间可以给进程更多的时间来同步,避免因网络延迟或计算差异导致的训练中断;设置过小,可能因为某些网络动荡而造成训练中断。具体取值需根据网络环境和训练需求调整,如网络不稳定时可适当增大该值

以下是 llama_factory 中补充的参数的表格总结,方便查阅和使用:


补充参数表格

参数类别参数名类型默认值描述
模型保存与加载save_best_modelboolFalse是否保存验证集上表现最好的模型。
resume_from_checkpointstrNone从指定的检查点恢复训练。
save_formatstrpytorch模型保存的格式(如 pytorchhuggingface)。
数据增强与正则化data_augmentationboolFalse是否启用数据增强。
weight_decayfloat0.0权重衰减系数,用于 L2 正则化。
dropout_ratefloat0.1Dropout 概率,用于防止过拟合。
硬件与性能优化gradient_checkpointingboolFalse是否启用梯度检查点,以减少 GPU 内存占用。
local_rankint0分布式训练时的本地 GPU 编号。
bf16boolFalse是否使用 BF16 混合精度训练。
评估与验证eval_stepsint500每多少步进行一次验证。
eval_ratiofloat0.1验证集占训练集的比例。
metricsstraccuracy评估模型性能的指标(如 accuracyf1)。
日志与调试debugboolFalse是否启用调试模式,输出更详细的日志。
log_dirstr./logs日志文件的保存目录。
disable_progress_barboolFalse是否禁用训练进度条。
LoRA 微调高级参数lora_initstrnormalLoRA 参数的初始化方式(如 normalzero)。
lora_modulesstrattention指定 LoRA 微调的模块(如 attentionfeedforward)。
lora_learning_ratefloat1e-4LoRA 参数的独立学习率。
模板与提示prompt_templatestrdefault使用的提示模板(如 defaultcustom)。
template_argsstr{}提示模板的参数,以 JSON 格式提供。
其他高级参数max_stepsintNone最大训练步数,优先级高于 num_epochs
seedint42随机种子,用于确保实验可复现。
disable_cacheboolFalse是否禁用数据缓存。
<think>嗯,用户想了解LLaMA-Factory模型微调的成本,我需要先理清影响成本的主要因素。根据提供的引用,硬件配置、数据规模、微调方法和时间效率都是关键点。比如,引用[2]提到NF5468M7服务器搭配L20 GPU的实测性能,这可能涉及硬件成本。数据方面,数据量和质量会影响训练时间和资源消耗,进而影响成本。微调方法如LoRA和QLoRA可以降低显存需求,从而节省成本。时间效率指标如每秒处理的样本数(引用[3])也会影响总成本,处理速度越快,成本可能越低。还需要考虑电力消耗、云服务费用和人力维护成本。用户可能想知道如何优化这些因素来降低成本,比如选择高效微调方法或合理配置硬件。另外,引用[3]中的ROUGE分数评估可能帮助用户平衡性能与成本。需要将这些点组织成结构清晰的回答,并生成相关问题,帮助用户进一步探索。</think>LLaMA-Factory 模型微调的成本主要由硬件资源、数据规模、微调方法和时间效率共同决定,以下是具体分析: ### 一、硬件成本 1. **GPU 配置** 使用高端 GPU(如 NVIDIA A100/H100)显存占用更高,但训练速度更快。例如实验中 NF5468M7 服务器搭配 L20 GPU 时,不同微调方法的吞吐量差异显著[^2]。 -参数微调:显存需求 $24\text{GB}$ 以上 - LoRA 微调:显存需求降低至 $16\text{GB}$ - QLoRA 微调:仅需 $8\text{GB}$ 显存 2. **云服务成本** 以 AWS 为例: - p4d.24xlarge(8×A100)每小时约 $32.77$ 美元 - 10 小时微调任务成本约为 $327.7$ 美元 ### 二、数据与时间效率 $$ \text{总成本} = \text{硬件单价} \times \text{训练时间} \times \text{并行设备数} $$ 其中训练时间与数据规模正相关。实验中基于 llama-factory微调任务,在 50k 样本数据集上: -参数微调耗时 $12$ 小时 - LoRA 微调仅需 $3$ 小时[^2] ### 三、优化方法降本 1. **量化训练** 使用 4-bit 量化可将显存占用降低 $50\%$,公式表示为: $$ \text{显存优化率} = 1 - \frac{\text{量化后参数量}}{\text{原参数量}} $$ 2. **梯度检查点** 通过牺牲 $20\%$ 计算速度换取 $30\%$ 显存节省[^3] ### 四、成本测算示例 | 微调方法 | 显存占用 | 单卡时成本(美元/小时) | 总成本(10小时) | |------------|----------|-------------------------|------------------| | 全参数微调 | 24GB | 4.10 | 41.0 | | LoRA | 16GB | 2.73 | 27.3 | | QLoRA | 8GB | 1.37 | 13.7 | (注:成本按 AWS g5.xlarge 实例费率估算) ### 五、延伸成本要素 1. 数据预处理耗时(约占总时间 $15\%$) 2. 验证集评估的 ROUGE-L 分数计算成本 3. 模型保存与传输开销
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值