zero-lora icon indicating copy to clipboard operation
zero-lora copied to clipboard

zero零训练llm调参

Results 79 zero-lora issues
Sort by recently updated
recently updated
newest added
trafficstars

[https://github.com/Lightning-AI/lit-llama/issues/350](https://github.com/Lightning-AI/lit-llama/issues/350) 我们当前的 LoRA 实现仅将其应用于 qv 计算.但是,最近的趋势表明,将其应用于其他地方可以提高性能。 例如,[QLoRA](https://arxiv.org/pdf/2305.14314.pdf)论文报告: 如图 2 所示,在 Alpaca 上进行 LLaMA 7B 微调,我们发现最关键的 LoRA 超参数是总共使用了多少个 LoRA 适配器,并且所有线性变压器块层上的 LoRA 都需要匹配完整的微调性能 我看到其他在线从业者也将其应用于 和 .但我没有任何消息来源可以引用关于这是更好还是更糟lm_headMLP 在[LoRA论文](https://arxiv.org/pdf/2106.09685.pdf)的第7.1节中,作者比较了具有较高等级的较少的LoRA层与具有较小等级的更多层,并发现尽管排名较小,但更多的层获胜。 当然,这并不一定意味着在所有条件相同的情况下,LoRA 层越多越好, 但这是我想到的最好的. ----------

[https://github.com/Lightning-AI/lit-llama/issues/280](https://github.com/Lightning-AI/lit-llama/issues/280) 羊驼版本是在嵌入层中添加了一个额外的令牌来训练的,这就是转换失败的原因。一般来说,如果有一个骆驼模型具有不同的权重/词汇大小等配置,则转换为我们的“7B”定义是行不通的,我们不应该期望它。 您可以尝试通过删除转换脚本中的最后一行来截断嵌入层: [点亮骆驼/脚本/convert_hf_checkpoint.py](https://github.com/Lightning-AI/lit-llama/blob/5df20dbb2084f0406cf4a8f6a5de69b5017fcf89/scripts/convert_hf_checkpoint.py#L89) 第 89 行 in[5df20分贝](https://github.com/Lightning-AI/lit-llama/commit/5df20dbb2084f0406cf4a8f6a5de69b5017fcf89) 如果名称中的“模型.layers”: 通过添加条件: if "embed_tokens" in name: sd[weight_map[name]] = param[:32000] (伪代码)

[https://github.com/Lightning-AI/lit-llama/issues/261](https://github.com/Lightning-AI/lit-llama/issues/261) 我们只保存 lora 权重的原因只是为了节省空间, 因为完整的检查点非常大.但是, 是的, 我们可以为 lora 检查点提供这样的转换, 这是一个很好的建议.实现大致如下: 将预训练权重和 lora 权重从检查点加载到 lora 模型中 (见generate_lora.py) 调用 model.eval() 将 lora 权重合并回常规权重 状态 = model.state_dict() 删除字典中与 lora 对应的所有条目 火炬保存(状态,...) ------- @awaelchli您能提供一些方向吗?对此功能进行...

[https://github.com/Lightning-AI/lit-llama/blob/main/howto/finetune_lora.md](https://github.com/Lightning-AI/lit-llama/blob/main/howto/finetune_lora.md) 使用 LoRA 进行微调 [低秩自适应 (LoRA)](https://arxiv.org/abs/2106.09685) 是一种使用低秩矩阵分解近似更新到 LLM 中线性层的技术.这大大减少了可训练参数的数量,并加快了训练速度,而对模型的最终性能几乎没有影响。我们通过在单个GTX 3090(24GB)GPU上的[Alpaca数据集上的指令](https://github.com/tatsu-lab/stanford_alpaca)微调LLaMA 7B来演示这种方法。 制备 此处的步骤只需执行一次: 按照[自述文件中](https://github.com/Lightning-AI/lit-llama/blob/main/README.md)的说明安装依赖项。 下载并转换权重,并将其保存在文件夹中,如此[处](https://github.com/Lightning-AI/lit-llama/blob/main/howto/download_weights.md)所述。./checkpoints 下载数据并生成指令调优数据集: python scripts/prepare_alpaca.py 另请参阅:[对非结构化数据集进行微调](https://github.com/Lightning-AI/lit-llama/blob/main/howto/unstructured_dataset.md) 运行微调

[https://github.com/huggingface/peft](https://github.com/huggingface/peft) HF-peft官方文档: 新增功能 ✨多适配器支持和以加权组合组合多个 LoRA 适配器 类似:zero-lora,不过是AI制图,llm需要进一步研究 ![image](https://github.com/ziwang-com/zero-lora/assets/11691791/ab9ef554-4be2-426a-81ac-04dd1a95c267)

[https://github.com/Yukaryavka/rinna_gpt-neox_ggml-lora](https://github.com/Yukaryavka/rinna_gpt-neox_ggml-lora) 该存储库包含脚本和合并脚本,这些脚本和合并脚本经过修改,以便在假设使用“rinna/japanese-gpt-neox...” [GPT-NEOX] 模型转换为 GGML。

[https://github.com/AlpinDale/lora-merge](https://github.com/AlpinDale/lora-merge) 大约 用于将 LoRA 适配器与基本模型合并的脚本.

[https://github.com/MaximeRobeyns/llm_finetuner](https://github.com/MaximeRobeyns/llm_finetuner) 法学硕士微调器 generated by stablediffusion 8 位量化语言模型与 LoRA 适配器 [maximerobeyns.github.io/llm_finetuner/](https://maximerobeyns.github.io/llm_finetuner/) 在低内存环境中微调多个大型语言模型。 此存储库提供了围绕 LLM 的包装器 预训练模型权重的 [8 位量化](https://arxiv.org/pdf/2110.02861.pdf),以及 使用 [LoRA 适配器](https://arxiv.org/pdf/2106.09685.pdf)进行微调. (*[通过稳定扩散](https://stability.ai/)生成的徽标) ![image](https://github.com/ziwang-com/zero-lora/assets/11691791/dfc3d777-46e5-4821-8a56-629c552b5d27)

[https://github.com/oobabooga/text-generation-webui/issues/2474](https://github.com/oobabooga/text-generation-webui/issues/2474) 是否可以添加一个选项来将 Lora 与基本模型合并?从本地目录。因为有时它很方便。由于用于合并 Lora 和模型的现有脚本在 Windows 中不起作用.如果它们有效,不仅适用于普通用户,而且适用于该领域训练有素的人。但是,据我了解,Webui 是针对普通用户的,进一步扩展其功能会很好。 脚本在windoze上运行良好(从ooba env运行) 我试图在这里发布脚本,但 github 格式很糟糕。无论如何,寻找merge_peft_adapters.py https://github.com/briancabbott/ChatNow https://github.com/bigcode-project/starcoder https://github.com/mzbac/qlora-fine-tune

[https://github.com/ggerganov/ggml/issues/8](https://github.com/ggerganov/ggml/issues/8) 通过从头开始的小训练美洲驼实现骆驼的向后传递示例 [https://github.com/ggerganov/llama.cpp/pull/1360](https://github.com/ggerganov/llama.cpp/pull/1360) @ggerganov我现在已经成功测试了美洲驼所需的所有向后传递。https://github.com/xaedes/llama.cpp/tree/training-integrate 我必须添加的所有新操作的列表: GGML_OP_ADD1:我想我可以用add(X,repeat(Y,X))代替它 GGML_OP_ADD_AT:查看向后传递所必需的。这会将 src1 添加到视图 (src0),但返回形状为 src0 的张量。也许这个操作可以得到另一个像ACC_VIEW一样的名字? GGML_OP_SUM_ROWS:重复向后传递所必需的:通过对行求和来减少行。形状[A,B,C,D] ->形状[1,b,c,d] GGML_OP_SILU_BACK : 西鲁向后传球所必需的 GGML_OP_RMS_NORM_BACK:也可以使用原语实现,但会牺牲性能。 GGML_OP_GET_ROWS_BACK:get_rows向后传递所必需的:将 src0[i] 行添加到 opt0[src1[i]] 行,返回形状为 opt0 的张量。也许此操作可以得到一个更有意义的名称,例如ADD_ROWS_TO或ACC_ROWS_TO? GGML_OP_DIAG :softmax向后传递是必需的,替代方案是直接实现SOFTMAX_BACK,但DIAG至少可用于其他东西。它将行转换为对角矩阵。 GGML_OP_DIAG_MASK_ZERO : diag_mask_inf向后传递所必需的...