做一个学校网站怎么做,寻找网站建设公司,创新驱动发展战略的意义,网页设计素材收集原文#xff1a;创建大模型的新方法 - 配比两个模型 - 知乎
现在#xff0c;创建大模型的新方法还可以使用配比两个模型- 正如炼金术巫师那样。 工具1 medusa#xff1a;https://github.com/FasterDecoding/Medusa
Medusa 为 LLM 添加了额外的“头”#xff0c;以同时预测…原文创建大模型的新方法 - 配比两个模型 - 知乎
现在创建大模型的新方法还可以使用配比两个模型- 正如炼金术巫师那样。 工具1 medusahttps://github.com/FasterDecoding/Medusa
Medusa 为 LLM 添加了额外的“头”以同时预测多个未来代币。当使用 Medusa 增强模型时原始模型保持不变只有新的头部在训练过程中进行微调。在生成过程中这些头每个都会为相应位置生成多个可能的单词。然后使用基于树的注意力机制组合和处理这些选项。最后采用典型的接受方案从候选者中挑选最长的合理前缀以进行进一步解码。 工具2 mergekit:
https://github.com/cg123/mergekit/tree/main
mergekit是一个用于合并预先训练的语言模型的工具包使用多种合并方法包括 TIES、线性和 slerp 合并。该工具包还可以使用从其他模型中选择的层来分段组装语言模型bakllama.py。
refhttps://github.com/cg123/mergekit/tree/main#merging-models-with-mainpy合并模型main.py
用法
要使用脚本合并模型main.py请指定最终模型的输出目录以及要使用该--merge选项合并的模型。根据所选的合并方法可能需要其他参数例如--density、--weight和。--base-model
该脚本支持以下合并方法
解决合并模型时的干扰默认方法“ties” 需要一个基础模型。可以指定每个模型的重量和密度。 线性 不需要基础模型。必须指定要合并的所有模型的权重。 SLERP 正好需要两个模型。必须指定单个权重来设置两个模型之间的插值参数。 例子
与 TIES 方法合并并指定每个模型的权重和密度 python main.py ./output-model --base-model TheBloke/Llama-2-13B-fp16 --cuda \ --merge WizardLM/WizardLM-13B-V1.2 --weight 0.3 --density 0.5 \ --merge garage-bAInd/Platypus2-13B --weight 0.5 --density 0.5与线性方法合并并设置模型权重 python main.py ./output-model --cuda --method linear \ --merge garage-bAInd/Platypus2-13B --weight 0.6 \ --merge WizardLM/WizardLM-13B-V1.2 --weight 0.2与SLERP方法合并并设置插值参数 python main.py ./output-model --cuda --method slerp --base-model garage-bAInd/Platypus2-13B \ --merge WizardLM/WizardLM-13B-V1.2 --weight 0.5具有层权重插值梯度的 SLERP python main.py ./output-model --cuda --method slerp --base-model garage-bAInd/Platypus2-13B \ --merge WizardLM/WizardLM-13B-V1.2 --layer-gradient [0, 0.3, 0.7, 0, 0.1, 1.0]
python main.py --help有关所有可用选项的详细信息请参阅脚本的帮助消息 ( )。
efhttps://github.com/cg123/mergekit/tree/main#piecewise-layer-combinations-with-bakllamapy分段层组合bakllama.py
该bakllama.py脚本允许您使用从其他预训练模型中获取的层分段组装模型。
配置
要使用 bakllama.py 脚本您需要创建一个 YAML 配置文件在其中定义要从各种源模型使用的层并可选择指定嵌入和 LM 头组件的源。
配置文件应具有以下字段
layer_slices图层切片对象的列表每个对象指定要从源模型获取的图层范围。 model源模型的标识符或路径。start起始图层索引含。end结束层索引不包括。scale可选层权重的比例因子。 embedding_source可选从中获取嵌入层的模型。如果未指定则默认为 layer_slices 中列出的第一个模型。lm_head_source可选采用 LM 头的模型。如果未指定则默认为 layer_slices 中列出的最后一个模型。
用法
创建 YAML 配置文件后使用bakllama.py配置文件和输出路径作为参数运行脚本
python bakllama.py path/to/your/config.yml ./output-model-directory
工具2
其他参考https://www.toutiao.com/video/7323120863611224611/?log_from4c1c2792567a5_1705195584743