博客
关于我
创建大模型的新方法 - 配比两个模型
阅读量:797 次
发布时间:2023-04-04

本文共 1109 字,大约阅读时间需要 3 分钟。

大模型的创建现在有了新的方法,这种方法可以类比于炼金术中的巫师法则。

工具1:Medusa

Medusa 为 LLM 添加了额外的"头",用于同时预测多个未来代币。在使用 Medusa 增强模型时,原始模型保持不变,只有新增的头部在训练过程中进行微调。在生成过程中,这些头每个都会为相应位置生成多个可能的单词。通过基于树的注意力机制,处理并组合这些选项。最终,采用典型的接受方案,从候选者中挑选最长的合理前缀以进行进一步解码。

工具2:MergeKit

MergeKit 是一个用于合并预训练语言模型的工具包,支持多种合并方法,包括 TIES、线性和 slerp 方法。此外,该工具包还可以从其他模型中选择特定的层来分段组装语言模型 bakllama.py。

合并模型脚本:main.py

要使用脚本合并模型 main.py,需指定最终模型的输出目录以及要使用的 --merge 选项合并的模型。根据所选的合并方法,可能需要额外参数,如 --density、--weight 和 --base-model。

支持以下合并方法:

  • 默认方法(TIES):需要一个基础模型,可以指定每个模型的重量和密度。
  • 线性方法:不需要基础模型,必须指定所有模型的权重。
  • SLERP 方法:正好需要两个模型,需指定单个权重来设置两个模型之间的插值参数。
  • 带层权重插值梯度的 SLERP:支持自定义层梯度权重。
  • 示例命令:

    python main.py ./output-model --cuda --merge garage-bAInd/Platypus2-13B --weight 0.3 --density 0.5 \--merge WizardLM/WizardLM-13B-V1.2 --weight 0.5 --density 0.5

    分段层组合:bakllama.py

    bakllama.py 脚本允许从其他预训练模型中获取特定层来分段组建模型。使用 YAML 配置文件定义要从各源模型获取的层,并可选指定嵌入和 LM 头组件的源。

    配置文件需包含以下字段:

    • layer_slices:图层切片对象列表,每个对象指定要从源模型获取的层范围。
    • embedding_source:可选字段,指定嵌入层的模型,默认为 layer_slices 中的第一个模型。
    • lm_head_source:可选字段,指定 LM 头的模型,默认为 layer_slices 中的最后一个模型。

    使用命令运行脚本:

    python bakllama.py path/to/your/config.yml ./output-model-directory

    转载地址:http://jnrfk.baihongyu.com/

    你可能感兴趣的文章
    Webpack 之 basic chunk graph
    查看>>
    Mysql5.7版本单机版my.cnf配置文件
    查看>>
    mysql5.7的安装和Navicat的安装
    查看>>
    mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
    查看>>
    Mysql8 数据库安装及主从配置 | Spring Cloud 2
    查看>>
    mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
    查看>>
    MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
    查看>>
    MYSQL8.0以上忘记root密码
    查看>>
    Mysql8.0以上重置初始密码的方法
    查看>>
    mysql8.0新特性-自增变量的持久化
    查看>>
    Mysql8.0注意url变更写法
    查看>>
    Mysql8.0的特性
    查看>>
    MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    查看>>
    MySQL8修改密码的方法
    查看>>
    Mysql8在Centos上安装后忘记root密码如何重新设置
    查看>>
    Mysql8在Windows上离线安装时忘记root密码
    查看>>
    MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案
    查看>>
    mysql8的安装与卸载
    查看>>
    MySQL8,体验不一样的安装方式!
    查看>>
    MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
    查看>>