创建大模型的新方法 - 配比两个模型
默认方法(TIES):需要一个基础模型,可以指定每个模型的重量和密度。 线性方法:不需要基础模型,必须指定所有模型的权重。 SLERP 方法:正好需要两个模型,需指定单个权重来设置两个模型之间的插值参数。 带层权重插值梯度的 SLERP:支持自定义层梯度权重。
发布日期:2025-06-07 17:35:38
浏览次数:3
分类:精选文章
本文共 1109 字,大约阅读时间需要 3 分钟。
大模型的创建现在有了新的方法,这种方法可以类比于炼金术中的巫师法则。
工具1:Medusa
Medusa 为 LLM 添加了额外的"头",用于同时预测多个未来代币。在使用 Medusa 增强模型时,原始模型保持不变,只有新增的头部在训练过程中进行微调。在生成过程中,这些头每个都会为相应位置生成多个可能的单词。通过基于树的注意力机制,处理并组合这些选项。最终,采用典型的接受方案,从候选者中挑选最长的合理前缀以进行进一步解码。
工具2:MergeKit
MergeKit 是一个用于合并预训练语言模型的工具包,支持多种合并方法,包括 TIES、线性和 slerp 方法。此外,该工具包还可以从其他模型中选择特定的层来分段组装语言模型 bakllama.py。
合并模型脚本:main.py
要使用脚本合并模型 main.py,需指定最终模型的输出目录以及要使用的 --merge 选项合并的模型。根据所选的合并方法,可能需要额外参数,如 --density、--weight 和 --base-model。
支持以下合并方法:
示例命令:
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
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2026年05月29日 08时59分11秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP应用程序连接Oracle数据库Demo(附Oracle客户端安装文件)
2023-03-01
PHP开发api接口安全验证
2023-03-01
PHP开发规范PSR
2023-03-01
PHP开发遇到错误0001
2023-03-01
php异常处理
2023-03-01
PHP引入了泛型和集合两大重要特性,大大改善 PHP 代码的可维护性和可读性
2023-03-01
PHP引擎php.ini参数优化
2023-03-01
PHP引用(&)使用详解
2023-03-01
php引用及垃圾回收
2023-03-01
php当前时间的集中写法
2023-03-01
php微信 开发笔记,微信WebApp开发总结笔记
2023-03-01
php微信公众号开发access_token获取
2023-03-01
php微信公众号开发微信认证开发者
2023-03-01
php微信公众号开发用户基本信息
2023-03-01
php怎么将对象变成数组,php怎么将对象转换成数组
2023-03-01
RabbitMQ - 消息堆积问题的最佳解决方案?惰性队列
2023-03-01
php怎样比较两数大小,jquery如何判断两个数值的大小
2023-03-01
PHP性能监控 - 开启xhprof(一)
2023-03-01
PHP性能监控 - 怎么看xhprof报告(二)
2023-03-01