论文阅读_tinyllama_轻量级大模型

这篇具有很好参考价值的文章主要介绍了论文阅读_tinyllama_轻量级大模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

英文名称: 'TinyLlama: An Open-Source Small Language Model'
中文名称: 'TinyLlama: 一个开源的小型语言模型
链接: http://arxiv.org/abs/2401.02385v1
代码: https://github.com/jzhang38/TinyLlama
作者: Peiyuan Zhang, Guangtao Zeng, Tianduo Wang, Wei Lu机构: 新加坡科技与设计大学日期: 2024-01-04

1 读后感

文中介绍了 TinyLlama 一种开源的轻量级大语言模型。作者发布了所有相关信息,包括的预训练代码、所有中间模型检查点以及数据处理步骤的细节。TinyLlama 可以在移动设备上支持最终用户应用程序,并作为测试语言模型的轻量级平台。

TinyLlama 相对于 Llama2,在架构和算法上都没有太多改进,但有一些微调,旨在测试用更多 token,更小模型的训练结果,以及提交训练效率的方法。

论文正文 5 页左右。

2 摘要:

目标:TinyLlama 是在约 1T tokens 上进行了约 3 轮 (epochs) 的预训练的,大小为 1.1B 的紧凑型语言模型。

方法:基于 Llama 2 的架构和分词器,它利用了开源社区的各种新技术,实现了更好的计算效率。

结论:在一系列下游任务中,明显优于具有相似尺寸的现有开源语言模型。

论文阅读_tinyllama_轻量级大模型,论文阅读
论文阅读_tinyllama_轻量级大模型,论文阅读

3 引言

自然语言处理的最新进展在很大程度上是通过扩大语言模型规模来推动的。一些实证研究表明,要训练最优模型,模型的大小和训练数据量应以相同的速度增加。

也有实验证明,当使用更多数据训练时,较小模型训练较长时间的情况下,较小的模型可以匹配甚至优于较大的模型。

文中工作的重点是探索使用非常大量的数据训练具有参数量较小的模型,且开源了 TinyLlama。

4 预训练

4.1 预训练数据

采用自然语言数据和代码数据混合预训练 TinyLlama,从 SlimPajama 获取自然语言数据(1.2 T tokens),从 Starcoderdata 获取代码数据(86 种编程语言,约 250 B token)。采用 Llama 的分词器来处理数据。

将两个语料库结合起来后,总共有大约 950B Token 用于预训练。训练 3 轮 (epochs)。在训练过程中,以自然语言数据和代码数据之间大约 7:3 的比例采样。

4.2 架构

采用与 Llama 2 类似的模型架构

论文阅读_tinyllama_轻量级大模型,论文阅读
论文阅读_tinyllama_轻量级大模型,论文阅读

位置嵌入使用 RoPE 旋转位置嵌入;归一化使用 RMSNorm 提高训练效率;激活函数使用 SwiGLU;注意力使用 Grouped-query Attention 分组查询,以减少内存带宽开销并加快推理速度,它可在多个头之间共享键和值表示,而不牺牲太多性能。

4.3 速度优化

完全分片数据并行(FSDP)

在训练期间,集成了 FSDP,以有效地利用多 GPU 和多节点设置,显著提高了训练效率。

Flash Attention

集成了 Flash Attention 2 优化的注意力机制,以提高计算吞吐量。

xFormers

用原始的 SwiGLU 模块替换了 xFormers 中的融合 SwiGLU 模块。以减少内存占用,使 1.1B 模型能在 40GB 的 GPU RAM 训练。

论文阅读_tinyllama_轻量级大模型,论文阅读
论文阅读_tinyllama_轻量级大模型,论文阅读

图 1:训练速度比较。

性能分析及与其他型号的比较

将训练吞吐量提高到每个 A100-40G GPU 每秒 24,000 token。与其他模型相比,如图所示,TinyLlama-1.1B 模型只需要 3,456 个 A100 GPU 小时即可训练 300B token,在训练中节省大量时间和资源。

4.4 训练

基于 lit-gpt 构建框架,在预训练阶段采用了自回归语言建模目标,与 Llama 2 的设置一致。文中使用 16 个 A100-40G GPU 预训练了 TinyLlama。

5 结果

在广泛常识推理和解决问题的任务上评估了 TinyLlama,将其与大小相似的模型进行比较。

5.1 常识推理评测

论文阅读_tinyllama_轻量级大模型,论文阅读
论文阅读_tinyllama_轻量级大模型,论文阅读

图 2 展示了训练过程中性能的变化:

论文阅读_tinyllama_轻量级大模型,论文阅读
论文阅读_tinyllama_轻量级大模型,论文阅读

图 2:预训练期间常识推理基准的性能演变,与 Pythia-1.4B 性能比较。文章来源地址https://www.toymoban.com/news/detail-813979.html

5.2 解决问题评测

论文阅读_tinyllama_轻量级大模型,论文阅读

到了这里,关于论文阅读_tinyllama_轻量级大模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 文字识别(OCR)专题——基于NCNN轻量级PaddleOCRv4模型C++推理

    PaddleOCR 提供了基于深度学习的文本检测、识别和方向检测等功能。其主要推荐的 PP-OCR 算法在国内外的企业开发者中得到广泛应用。在短短的几年时间里,PP-OCR 的累计 Star 数已经超过了32.2k,常常出现在 GitHub Trending 和 Paperswithcode 的日榜和月榜第一位,被认为是当前OCR领域最

    2024年03月11日
    浏览(86)
  • 【图像分类】【深度学习】【轻量级网络】【Pytorch版本】ShuffleNet_V1模型算法详解

    ShuffleNet_V1是由旷视科技的Zhang, Xiangyu等人在《ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices【CVPR-2018】》【论文地址】一文中提出的模型,是一种采用了逐点组卷积和通道混洗的轻量级CNN网络,在保持精度的同时大大降低了计算成本。 一般的卷积是全通道卷

    2024年01月20日
    浏览(49)
  • 图像分类】【深度学习】【轻量级网络】【Pytorch版本】EfficientNet_V2模型算法详解

    EfficientNet_V2是由谷歌公司的Tan, Mingxing等人《EfficientNetV2: Smaller Models and Faster Training【 ICML-2021】》【论文地址】一文中提出的改进模型,在EfficientNet_V1的基础上,引入渐进式学习策略、自适应正则强度调整机制使得训练更快,进一步关注模型的推理速度与训练速度。 随着模型

    2024年01月25日
    浏览(50)
  • 英文论文(sci)解读复现【NO.21】一种基于空间坐标的轻量级目标检测器无人机航空图像的自注意

    此前出了目标检测算法改进专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读发表高水平学术期刊中的 SCI论文 ,并对相应的SCI期刊进行介绍,帮助大家解

    2024年02月19日
    浏览(48)
  • git轻量级服务器gogs、gitea,非轻量级gitbucket

    本文来源:git轻量级服务器gogs、gitea,非轻量级gitbucket, 或 gitcode/gogs,gitea.md 结论: gogs、gitea很相似 确实轻, gitbucket基于java 不轻, 这三者都不支持组织树(嵌套组织 nested group) 只能一层组织。 个人用,基于gogs、gitea,两层结构树 简易办法: 把用户当成第一层节点、该用户的

    2024年02月07日
    浏览(72)
  • 轻量灵动: 革新轻量级服务开发

    从 JDK 8 升级到 JDK 17 可以让你的应用程序受益于新的功能、性能改进和安全增强。下面是一些 JDK 8 升级到 JDK 17 的最佳实战: 1.1、确定升级的必要性:首先,你需要评估你的应用程序是否需要升级到 JDK 17。查看 JDK 17 的新特性、改进和修复的 bug,以确定它们对你的应用程序

    2024年02月07日
    浏览(55)
  • 轻量级 HTTP 请求组件

    Apache HttpClient 是著名的 HTTP 客户端请求工具——现在我们模拟它打造一套简单小巧的请求工具库, 封装 Java 类库里面的 HttpURLConnection 对象来完成日常的 HTTP 请求,诸如 GET、HEAD、POST 等等,并尝试应用 Java 8 函数式风格来制定 API。 组件源码在:https://gitee.com/sp42_admin/ajaxjs/tr

    2024年02月01日
    浏览(67)
  • C++轻量级单元测试框架

    单元测试是构建稳定、高质量的程序、服务或系统的必不可少的一环。通过单元测试,我们可以在开发过程中及时发现和修复代码中的问题,提高代码的质量和可维护性。同时,单元测试也可以帮助我们更好地理解代码的功能和实现细节,从而更好地进行代码重构和优化。

    2023年04月25日
    浏览(72)
  • 108中超轻量级的加载动画!

    大家好,我是【程序视点】小二哥! 今天要上的菜不是 Animate.js,也不是 Move.js,而是能提供108种加载动画的库: Whirl . 话不多说,直接来看例子。 以上只是冰山一角。whirl的CSS加载动画集合中有108种选项供你挑选。选中喜欢的动画后,点击“Grab the CSS on Github!”。 将跳转到

    2024年02月03日
    浏览(51)
  • Tomcat轻量级服务器

    目录 1.常见系统架构  C-S架构 B-S架构 2.B-S架构系统的通信步骤 3.常见WEB服服务器软件 4.Tomcat服务器的配置 下载安装 环境变量配置 测试环境变量是否配置成功 测试Tomcat服务器是否配置成功  Tomcat窗口一闪而过的解决步骤 Tomcat解决乱码 介绍: C-S架构即Client/Server(客户端/服务

    2023年04月14日
    浏览(136)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包