LLama Factory 实操记录(一)

这篇具有很好参考价值的文章主要介绍了LLama Factory 实操记录(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. api端口参数说明: src/api文章来源地址https://www.toymoban.com/news/detail-777880.html


-h, --help            显示帮助信息并退出
--model_name_or_path MODEL_NAME_OR_PATH
                      模型权重的路径或标识符,来自 huggingface.co/models 或 modelscope.cn/models。 (默认: None)
--adapter_name_or_path ADAPTER_NAME_OR_PATH
                      适配器权重的路径或标识符,来自 huggingface.co/models。 (默认: None)
--cache_dir CACHE_DIR
                      存储从 huggingface.co 或 modelscope.cn 下载的预训练模型的位置。 (默认: None)
--use_fast_tokenizer [USE_FAST_TOKENIZER]
                      是否使用基于 tokenizers 库支持的快速分词器。 (默认: True)
--no_use_fast_tokenizer
                      是否使用基于 tokenizers 库支持的快速分词器。 (默认: False)
--split_special_tokens [SPLIT_SPECIAL_TOKENS]
                      是否在标记化过程中拆分特殊标记。 (默认: False)
--model_revision MODEL_REVISION
                      要使用的特定模型版本(可以是分支名称、标签名称或提交 ID)。 (默认: main)
--quantization_bit QUANTIZATION_BIT
                      量化模型所需的位数。 (默认: None)
--quantization_type {fp4,nf4}
                      在 int4 训练中使用的量化数据类型。 (默认: nf4)
--double_quantization [DOUBLE_QUANTIZATION]
                      是否在 int4 训练中使用双重量化。 (默认: True)
--no_double_quantization
                      是否在 int4 训练中使用双重量化。 (默认: False)
--rope_scaling {linear,dynamic}
                      采用缩放的旋转位置嵌入。 (默认: None)
--flash_attn [FLASH_ATTN]
                      启用 FlashAttention-2 以加速训练。 (默认: False)
--shift_attn [SHIFT_ATTN]
                      启用由 LongLoRA 提出的 Shift Short Attention(S^2-Attn)。 (默认: False)
--hf_hub_token HF_HUB_TOKEN
                      用于登录 Hugging Face Hub 的身份验证令牌。 (默认: None)
--ms_hub_token MS_HUB_TOKEN
                      用于登录 ModelScope Hub 的身份验证令牌。 (默认: None)
--template TEMPLATE   用于构建训练和推断提示的模板。 (默认: None)
--dataset DATASET     要使用的提供的数据集名称。使用逗号分隔多个数据集。 (默认: None)
--dataset_dir DATASET_DIR
                      包含数据集的文件夹路径。 (默认: data)
--split SPLIT         用于训练和评估的数据集拆分。 (默认: train)
--cutoff_len CUTOFF_LEN
                      标记化后模型输入的最大长度。 (默认: 1024)
--reserved_label_len RESERVED_LABEL_LEN
                      标记化后为标签保留的最大长度。 (默认: 1)
--train_on_prompt [TRAIN_ON_PROMPT]
                      是否在提示上禁用掩码。 (默认: False)
--streaming [STREAMING]
                      启用数据集流式处理。 (默认: False)
--buffer_size BUFFER_SIZE
                      在数据集流式处理中用于随机抽样的缓冲区大小。 (默认: 16384)
--mix_strategy {concat,interleave_under,interleave_over}
                      数据集混合策略(连接/交错)(欠采样/过采样)。 (默认: concat)
--interleave_probs INTERLEAVE_PROBS
                      从数据集中抽样数据的概率。使用逗号分隔多个数据集。 (默认: None)
--overwrite_cache [OVERWRITE_CACHE]
                      覆盖缓存的训练和评估集。 (默认: False)
--preprocessing_num_workers PREPROCESSING_NUM_WORKERS
                      用于预处理的进程数。 (默认: None)
--max_samples MAX_SAMPLES
                      用于调试目的,截断每个数据集的示例数。 (默认: None)
--eval_num_beams EVAL_NUM_BEAMS
                      

 用于评估的束搜索数。该参数将传递给 `model.generate`。 (默认: None)
--ignore_pad_token_for_loss [IGNORE_PAD_TOKEN_FOR_LOSS]
                      是否在损失计算中忽略与填充标签相对应的标记。 (默认: True)
--no_ignore_pad_token_for_loss
                      是否在损失计算中忽略与填充标签相对应的标记。 (默认: False)
--val_size VAL_SIZE   开发集的大小,应为整数或范围为 `[0,1)` 的浮点数。 (默认: 0)
--sft_packing [SFT_PACKING]
                      在监督微调阶段对问题和答案进行打包。 (默认: False)
--cache_path CACHE_PATH
                      保存或加载预处理数据集的路径。 (默认: None)
--export_dir EXPORT_DIR
                      保存导出模型的目录路径。 (默认: None)
--export_size EXPORT_SIZE
                      导出模型的文件分片大小(以 GB 为单位)。 (默认: 1)
--export_quantization_bit EXPORT_QUANTIZATION_BIT
                      用于量化导出模型的位数。 (默认: None)
--export_quantization_dataset EXPORT_QUANTIZATION_DATASET
                      用于量化导出模型的数据集路径或数据集名称。 (默认: None)
--export_quantization_nsamples EXPORT_QUANTIZATION_NSAMPLES
                      用于量化的样本数。 (默认: 128)
--export_quantization_maxlen EXPORT_QUANTIZATION_MAXLEN
                      用于量化的模型输入的最大长度。 (默认: 1024)
--dpo_beta DPO_BETA   DPO 损失的 beta 参数。 (默认: 0.1)
--dpo_loss {sigmoid,hinge}
                      要使用的 DPO 损失类型。 (默认: sigmoid)
--dpo_ftx DPO_FTX     DPO 训练中的监督微调损失系数。 (默认: 0)
--ppo_buffer_size PPO_BUFFER_SIZE
                      在 PPO 优化步骤中创建经验缓冲区的小批次数。 (默认: 1)
--ppo_epochs PPO_EPOCHS
                      在 PPO 优化步骤中执行的周期数。 (默认: 4)
--ppo_logger PPO_LOGGER
                      在 PPO 训练中记录日志,使用 "wandb" 或 "tensorboard"。 (默认: None)
--ppo_score_norm [PPO_SCORE_NORM]
                      在 PPO 训练中使用分数归一化。 (默认: False)
--ppo_target PPO_TARGET
                      用于自适应 KL 控制的目标 KL 值,在 PPO 训练中。 (默认: 6.0)
--ppo_whiten_rewards [PPO_WHITEN_REWARDS]
                      在 PPO 训练中计算优势之前是否漂白奖励。 (默认: False)
--ref_model REF_MODEL
                      用于 PPO 或 DPO 训练的参考模型路径。 (默认: None)
--ref_model_adapters REF_MODEL_ADAPTERS
                      参考模型的适配器路径。 (默认: None)
--ref_model_quantization_bit REF_MODEL_QUANTIZATION_BIT
                      用于量化参考模型的位数。 (默认: None)
--reward_model REWARD_MODEL
                      用于 PPO 训练的奖励模型路径。 (默认: None)
--reward_model_adapters REWARD_MODEL_ADAPTERS
                      奖励模型的适配器路径。 (默认: None)
--reward_model_quantization_bit REWARD_MODEL_QUANTIZATION_BIT
                      用于量化奖励模型的位数。 (默认: None)
--reward_model_type {lora,full,api}
                      在 PPO 训练中使用的奖励模型类型。LoRA 模型仅支持 LoRA 训练。 (默认: lora)
--additional_target ADDITIONAL_TARGET
                      除 LoRA 层之外要设置为可训练并保存在最终检查点中的模块的名称。 (默认: None)
--lora_alpha LORA_ALPHA
                      LoRA 微调的比例因子(默认为 lora_rank * 2)。 (默认: None)
--lora_dropout LORA_DROPOUT
                      LoRA 微调的 dropout 率。 (默认: 0.1)
--lora_rank LORA_RANK
                      LoRA 微调的内在维度。 (默认: 8)
--lora_target LORA_TARGET
                      要应用 LoRA 的目标模块的名称。使用逗号分隔多个模块。 (默认: None)
--create_new_adapter [CREATE_NEW_ADAPTER]
                      是否创建具有随机初始化权重的新适配器。 (默认: False)
--name_module_trainable NAME_MODULE_TRAINABLE
                      部分参数(冻结)微调的可训练模块的名称。使用逗号分隔多个模块。 (默认: mlp)
--num_layer_trainable NUM_LAYER_TRAINABLE
                      部分参数(冻结)微调的可训练层数。 (默认: 3)
--stage {pt,sft,rm,ppo,dpo}
                      训练中将执行哪个阶段。 (默认: sft)
--finetuning_type {lora,freeze,full}
                      使用哪种微调方法。 (默认: lora)
--upcast_layernorm [UPCAST_LAYERNORM]
                      是否在 fp32 中上升 layernorm 权重。 (默认: False)
--plot_loss [PLOT_LOSS]
                      是否在微调后绘制训练损失。 (默认: False)
--do_sample [DO_SAMPLE]
                      是否使用抽样,否则使用贪婪解码。 (默认: True)
--no_do_sample        是否使用抽样,否则使用贪婪解码。 (默认: False)
--temperature TEMPERATURE
                      用于调整下一个标记概率的值。 (默认: 0.95)
--top_p TOP_P         保留的最概然令牌集,其概率加起来达到 top_p 或更高。 (默认: 0.7)


  --top_k TOP_K         保留的最高概率词汇令牌数量,用于 top-k 过滤。 (默认: 50)
  --num_beams NUM_BEAMS
                        用于波束搜索的波束数量。1 表示不进行波束搜索。 (默认: 1)
  --max_length MAX_LENGTH
                        生成令牌的最大长度。可以被 max_new_tokens 覆盖。 (默认: 512)
  --max_new_tokens MAX_NEW_TOKENS
                        生成的令牌的最大数量,忽略提示中的令牌数量。 (默认: 512)
  --repetition_penalty REPETITION_PENALTY
                        重复惩罚的参数。1.0 表示无惩罚。 (默认: 1.0)
  --length_penalty LENGTH_PENALTY
                        用于基于波束的生成的长度的指数惩罚。 (默认: 1.0)

到了这里,关于LLama Factory 实操记录(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小白也能微调大模型:LLaMA-Factory使用心得

    大模型火了之后,相信不少人都在尝试将预训练大模型应用到自己的场景上,希望得到一个垂类专家,而不是通用大模型。 目前的思路,一是RAG(retrieval augmented generation),在模型的输入prompt中加入尽可能多的“目标领域”的相关知识,引导模型在生成时尽量靠拢目标领域,运

    2024年04月13日
    浏览(50)
  • 快速上手!LLaMa-Factory最新微调实践,轻松实现专属大模型

    Yuan2.0(https://huggingface.co/IEITYuan)是浪潮信息发布的新一代基础语言大模型,该模型拥有优异的数学、代码能力。自发布以来,Yuan2.0已经受到了业界广泛的关注。当前Yuan2.0已经开源参数量分别是102B、51B和2B的3个基础模型,以供研发人员做进一步的开发。 LLM(大语言模型)微

    2024年01月20日
    浏览(52)
  • 自定义数据集使用llama_factory微调模型并导入ollama

    本文所有操作均在linux系统下完成 参考github的安装命令 参考github,使用以下命令启动LLaMA Factory web页面:(web ui界面只支持单卡运行,如需多卡微调请参考github相关部分) 此外可以选择模型下载源,这里推荐国内用户使用魔搭社区下载渠道。  成功启动后会进入web操作界面:

    2024年04月26日
    浏览(48)
  • llama-factory SFT系列教程 (一),大模型 API 部署与使用

    本来今天没有计划学 llama-factory ,逐步跟着github的文档走,发现这框架确实挺方便,逐渐掌握了一些。 最近想使用 SFT 微调大模型,llama-factory 是使用非常广泛的大模型微调框架; 基于 llama_factory 微调 qwen/Qwen-7B,qwen/Qwen-7B-Chat 我使用的是 qwen/Qwen-7B ,如果追求对话效果 qwen/

    2024年04月16日
    浏览(45)
  • LLaMA-Factory可视化界面微调chatglm2;LoRA训练微调模型 简单案例

    参考:https://github.com/huggingface/peft https://github.com/hiyouga/LLaMA-Factory 类似工具还有流萤,注意是做中文微调训练这块;来训练微调的chatglm2需要完整最新文件,不能是量化后的模型;另外测试下来显卡资源要大于20来G才能顺利,这边T4单卡训练中间显存不足,需要开启4bit量化才行

    2024年02月05日
    浏览(53)
  • llama-factory SFT系列教程 (二),大模型在自定义数据集 lora 训练与部署

    文章列表: llama-factory SFT系列教程 (一),大模型 API 部署与使用 llama-factory SFT系列教程 (二),大模型在自定义数据集 lora 训练与部署 llama-factory SFT系列教程 (三),chatglm3-6B 命名实体识别实战 模型名 模型大小 默认模块 Template Baichuan2 7B/13B W_pack baichuan2 BLOOM 560M/1.1B/1.7B/3B/7.1B/176

    2024年04月25日
    浏览(51)
  • llama factory学习笔记

    模型名 模型大小 默认模块 Template Baichuan2 7B/13B W_pack baichuan2 BLOOM 560M/1.1B/1.7B/3B/7.1B/176B query_key_value - BLOOMZ 560M/1.1B/1.7B/3B/7.1B/176B query_key_value - ChatGLM3 6B query_key_value chatglm3 DeepSeek (MoE) 7B/16B/67B q_proj,v_proj deepseek Falcon 7B/40B/180B query_key_value falcon Gemma 2B/7B q_proj,v_proj gemma InternLM2 7B/20B

    2024年04月16日
    浏览(34)
  • Llama3-8B+ LLaMA-Factory 中文微调

    Llama3是目前开源大模型中最优秀的模型之一,但是原生的Llama3模型训练的中文语料占比非常低,因此在中文的表现方便略微欠佳! 本教程就以Llama3-8B-Instruct开源模型为模型基座,通过开源程序LLaMA-Factory来进行中文的微调,提高Llama3的中文能力!LLaMA-Factory是一个开源的模型训

    2024年04月27日
    浏览(47)
  • LLaMA Factory单机微调的实战教程

      大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的

    2024年04月26日
    浏览(35)
  • LLaMA-Factory添加adalora

    感谢https://github.com/tsingcoo/LLaMA-Efficient-Tuning/commit/f3a532f56b4aa7d4200f24d93fade4b2c9042736和https://github.com/huggingface/peft/issues/432的帮助。 1. 修改src/llmtuner/hparams/finetuning_args.py代码 在FinetuningArguments中修改finetuning_type,添加target_r和init_r 修改__post_init__函数 2. 修改src/llmtuner/tuner/core/adapter

    2024年01月17日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包