58行代码把Llama 3扩展到100万上下文,任何微调版都适用 | 最新快讯

        量子位公众号 QbitAI

  堂堂开源之王 Llama 3,原版上下文窗口居然只有……8k,让到嘴边的一句“真香”又咽回去了。

  在 32k 起步,100k 寻常的今天,这是故意要给开源社区留做贡献的空间吗?

  开源社区当然不会放过这个机会:

  现在只需 58 行代码,任何 Llama 3 70b 的微调版本都能自动扩展到 1048k(一百万)上下文。

  背后是一个 LoRA,从扩展好上下文的 Llama 3 70B Instruct 微调版本中提取出来,文件只有 800mb

  接下来使用 Mergekit,就可以与其他同架构模型一起运行或直接合并到模型中。

  所使用的 1048k 上下文微调版本,刚刚在流行的大海捞针测试中达到全绿(100% 准确率)的成绩。

  不得不说,开源的进步速度是指数级的。

  1048k 上下文 LoRA 怎么炼成的

  首先 1048k 上下文版 Llama 3 微调模型来自 Gradient AI,一个企业 AI 解决方案初创公司。

  而对应的 LoRA 来自开发者Eric Hartford,通过比较微调模型与原版的差异,提取出参数的变化。

  他先制作了 524k 上下文版,随后又更新了 1048k 版本。

  首先,Gradient 团队先在原版 Llama 3 70B Instruct 的基础上继续训练,得到 Llama-3-70B-Instruct-Gradient-1048k。

  具体方法如下:

  • 调整位置编码:用 NTK-aware 插值初始化 RoPE theta 的最佳调度,进行优化,防止扩展长度后丢失高频信息
  • 渐进式训练:使用 UC 伯克利 Pieter Abbeel 团队提出的 Blockwise RingAttention 方法扩展模型的上下文长度

  值得注意的是,团队通过自定义网络拓扑在 Ring Attention 之上分层并行化,更好地利用大型 GPU 集群来应对设备之间传递许多 KV blocks 带来的网络瓶颈。

  最终使模型的训练速度提高了 33 倍。

  长文本检索性能评估中,只在最难的版本中,当“针”藏在文本中间部分时容易出错。

  有了扩展好上下文的微调模型之后,使用开源工具 Mergekit 比较微调模型和基础模型,提取参数的差异成为 LoRA。

  同样使用 Mergekit,就可以把提取好的 LoRA 合并到其他同架构模型中了。

  合并代码也由 Eric Hartford 开源在 GitHub 上,只有 58 行。

  目前尚不清楚这种 LoRA 合并是否适用于在中文上微调的 Llama 3。

  不过可以看到,中文开发者社区已经关注到了这一进展。

  524k 版本 LoRA:

  https://huggingface.co/cognitivecomputations/Llama-3-70B-Gradient-524k-adapter

  1048k 版本 LoRA:

  https://huggingface.co/cognitivecomputations/Llama-3-70B-Gradient-1048k-adapter

  合并代码:

  https://gist.github.com/ehartford/731e3f7079db234fa1b79a01e09859ac

  参考链接:

  [1]https://twitter.com/erhartford/status/1786887884211138784

来自: 网易科技

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/596142.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Llama3-Tutorial之LMDeploy高效部署Llama3实践

Llama3-Tutorial之LMDeploy高效部署Llama3实践 Llama 3 近期重磅发布,发布了 8B 和 70B 参数量的模型,lmdeploy团队对 Llama 3 部署进行了光速支持!!! 书生浦语和机智流社区同学光速投稿了 LMDeploy 高效量化部署 Llam…

对于子数组问题的动态规划

前言 先讲讲我对于这个问题的理解吧 当谈到解决子数组问题时,动态规划(DP)是一个强大的工具,它在处理各种算法挑战时发挥着重要作用。动态规划是一种思想,它通过将问题分解成更小的子问题并以一种递归的方式解决它们,然后利用这些…

【华为】IPSec VPN手动配置

【华为】IPSec VPN手动配置 拓扑配置ISP - 2AR1NAT - Easy IPIPSec VPN AR3NATIPsec VPN PC检验 配置文档AR1AR2 拓扑 配置 配置步骤 1、配置IP地址,ISP 路由器用 Lo0 模拟互联网 2、漳州和福州两个出口路由器配置默认路由指向ISP路由器 3、进行 IPsec VPN配置&…

Redission分布式锁 watch dog 看门狗机制

为了避免Redis实现的分布式锁超时,Redisson中引入了watch dog的机制,他可以帮助我们在Redisson实例被关闭前,不断的延长锁的有效期。 自动续租:当一个Redisson客户端实例获取到一个分布式锁时,如果没有指定锁的超时时…

笔记86:关于【#ifndef + #define + #endif】的用法

当你在编写一个头文件(例如 pid_controller.h)时,你可能会在多个源文件中包含它,以便在这些源文件中使用该头文件定义的函数、类或其他声明。如果你在多个源文件中都包含了同一个头文件,那么当你将整个工程统一编译&am…

银行卡实名认证API接口快速对接

银行卡实名认证API接口又叫银行卡核验类API接口、银行卡验证类API接口、银联核验类API接口,根据入参字段不同,分银行卡二要素验证API接口,银行卡三要素验证API接口,银行卡四要素验证API接口。其中,银行卡二要素验证API接口是验证开…

锂电池SOH估计 | Matlab实现基于ALO-SVR模型的锂电池SOH估计

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 锂电池SOH估计 | Matlab实现基于ALO-SVR模型的锂电池SOH估计 蚁狮优化支持向量机锂电池健康状态SOH估计; 具体流程如下; 1、分析锂离子电池老化数据集,从中选取具有代表电池性能衰减…

【自用】了解移动存储卡的基本信息

前言 本文是看B站视频做的一个简单笔记,方便日后自己快速回顾,内容主要介绍了存储卡基本参数,了解卡面上的数字、图标代表的含义。对于日后如何挑选判断一张存储卡的好坏、判别一张存储卡是否合格有一定帮助。 视频参考链接:【硬…

深入剖析Tomcat(六) Tomcat各组件的生命周期控制

Catalina中有很多组件,像上一章提到的四种容器,载入器,映射器等都是一种组件。每个组件在对外提供服务之前都需要有个启动过程;组件在销毁之前,也需要有个关闭过程;例如servlet容器关闭时,需要调…

OpenNJet应用引擎——云原生时代的Web服务新选择

文章目录 OpenNJet应用引擎——云原生时代的Web服务新选择引言:数字化转型的推动力:OpenNJet应用引擎为什么选择OpenNJet? OpenNJet的核心优势1. 云原生功能增强2. 安全加固3. 代码重构与性能优化4. 动态加载机制5. 多样化的产品形态6. 易于集…

产业空间集聚DO指数计算

1.前言 创始人 :Duranton and Overman(2005) 目前应用较多的产业集聚度量指数主要基于两类,一是根据不同空间地理单元中产业经济规模的均衡性进行构造,如空间基尼系数与EG指数;二是基于微观企业地理位置信息形成的产业…

嵌入式系统应用-拓展-FLASH之操作 SFUD (Serial Flash Universal Driver)之KEIL应用

这里已经假设SFUD代码已经移植到工程下面成功了,如果读者对SFUD移植还不了解。可以参考笔者这篇文章:SFUD (Serial Flash Universal Driver)之KEIL移植 这里主要介绍测试和应用 1 硬件设计 这里采用windbond 的W25Q32这款芯片用于SFUD测试。 W25Q32是…

LLM⊗KG范式下的知识图谱问答实现框架思想阅读

分享一张有趣的图,意思是在分类场景下,使用大模型和fasttext的效果,评论也很逗。 这其实背后的逻辑是,在类别众多的分类场景下,尤其是在标注数据量不缺的情况下,大模型的收益是否能够比有监督模型的收益更多…

[渗透利器]全能工具=信息收集->漏洞扫描->EXP调用

前言 hxd开发的工具,大致模块有(信息收集,漏洞扫描,暴力破解,POC/EXP,常用编码) 工具使用 下载后解压 安装环境 pip install -r requirements.txt 注意,该工具继承了两种不同的使…

HTML_CSS学习:定位

一、相对定位 相关代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>相对定位</title><style>.outer{width: 500px;background-color: #999ff0;border: 1px solid #000;p…

OpenHarmony实战开发-上传文件

Web组件支持前端页面选择文件上传功能&#xff0c;应用开发者可以使用onShowFileSelector()接口来处理前端页面文件上传的请求。 下面的示例中&#xff0c;当用户在前端页面点击文件上传按钮&#xff0c;应用侧在onShowFileSelector()接口中收到文件上传请求&#xff0c;在此接…

不考408的985,不想考408的有福了!吉林大学计算机考研考情分析

吉林大学&#xff08;Jilin University&#xff09;简称吉大&#xff0c;位于吉林长春&#xff0c;始建于1946年&#xff0c;是中华人民共和国教育部直属的综合性全国重点大学&#xff0c;国家“双一流”、“211工程”、“985工程”、“2011计划”重点建设的著名学府&#xff0…

我是如何带团队从0到1做了AI中台

经历心得 我从18年初就开始带这小团队开始做项目&#xff0c;比如最初的数字广东的协同办公项目&#xff0c;以及粤信签小程序等&#xff0c;所以&#xff0c;在团队管理&#xff0c;人员安排&#xff0c;工作分工&#xff0c;项目拆解等方面都有一定的经验。 19年中旬&#…

基于TL431和CSA的恒压与负压输出

Hello uu们,51去那里玩了呀?该收心回来上班了,嘿嘿! 为什么会有这个命题,因为我的手头只有这些东西如何去实现呢?让我们一起来看电路图吧.电路图如下图1所示 图1:CSA恒压输出电路 图1中,R1给U2提供偏置,Q1给R1提供电流,当U1-VOUT输出大于2.5V时候,U2内部的三极管CE导通,使得…

Kalign 3:大型数据集的多序列比对

之前一直用的是muscle&#xff0c;看到一个文章使用了Kalign&#xff0c;尝试一下吧 安装 wget -c https://github.com/TimoLassmann/kalign/archive/refs/tags/v3.4.0.tar.gz tar -zxvf v3.4.0.tar.gz cd kalign-3.4.0 mkdir build cd build cmake .. make make test su…
最新文章