深度学习论文: LLaMA: Open and Efficient Foundation Language Models

深度学习论文: LLaMA: Open and Efficient Foundation Language Models
LLaMA: Open and Efficient Foundation Language Models
PDF:https://arxiv.org/pdf/2302.13971.pdf
PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks

1 概述

本文介绍了LLaMA,这是一系列基础而先进的语言模型,其参数规模横跨7亿至65亿不等,展现了强大的语言处理能力。研究表明,通过大规模公开数据的训练,LLaMA系列模型成功打破了对专有或受限数据集的依赖,达到了业界最前沿(SOTA)的性能水平。本研究的核心目标是通过显著增加训练中的token数量,开发出在不同推理场景下均能展现出卓越性能的语言模型。

LLaMA模型家族以其多样的参数配置,为语言模型领域带来了新的竞争力量。特别值得注意的是,即便是参数规模仅为GPT-3十分之一的LLaMA-13B版本,也在多数基准测试中超越了GPT-3,展现了其高效与强大。这一成果不仅提升了语言模型的性能边界,更旨在推动LLMs的普及,使得更多研究者能够在单个GPU的资源限制下,轻松访问并深入研究这些大型模型。
在这里插入图片描述
进一步地,在LLaMA系列中,65亿参数的顶级版本在性能上足以与Chinchilla、PaLM-540B等业界顶尖的大型语言模型相抗衡。尤为关键的是,LLaMA的训练完全基于公开数据,秉持开源精神,与许多依赖非公开或未详尽记录数据集的现有模型形成鲜明对比。尽管市场上已存在如OPT、GPT-NeoX、BLOOM和GLM等使用公开数据的模型,但它们在性能上尚未能与PaLM-62B或Chinchilla等顶尖模型相提并论。LLaMA的出现,无疑为语言模型领域注入了新的活力,也为未来的研究和应用开辟了更广阔的道路。

2 Approach

2-1 Pre-training Data

本训练数据集是精心构建的多元化数据集合,其数据来源广泛且覆盖多个领域,具体比例及处理方法如下:

英文CommonCrawl [67%]:
  • 精心预处理了2017年至2020年的五个CommonCrawl数据转储,采用CCNet管道(Wenzek等人,2020),确保数据质量。
  • 在行级别上进行去重操作,减少重复内容。
  • 利用fastText线性分类器识别并剔除非英文页面,保持语言一致性。
  • 通过n-gram语言模型过滤低质量内容,提升数据集质量。
  • 训练线性模型对页面进行分类,保留与维基百科参考相关的页面,丢弃其他低质量页面。
C4 [15%]:
  • 鉴于C4数据集在多样化预处理方面的优势,将其纳入以进一步提升模型性能。
  • 预处理包括去重和语言识别,确保数据纯净。
  • 质量过滤更多依赖于启发式规则,如标点符号、单词和句子数量等,筛选高质量内容。
Github [4.5%]:
  • 从Google BigQuery获取公开Github数据集,筛选符合Apache、BSD和MIT许可的开源项目。
  • 基于行长度和字母数字字符比例等启发式规则过滤低质量文件。
  • 使用正则表达式去除样板文字,如标题等,清理数据。
  • 在文件级别上进行精确匹配去重,确保数据唯一性。
维基百科 [4.5%]:
  • 添加2022年6月至8月期间的维基百科转储,涵盖20种使用拉丁或西里尔字母的语言。
  • 移除超链接、评论和其他格式化样板文字,使数据更纯净。
Gutenberg and Books3 [4.5%]:
  • 包含Gutenberg 项目和ThePile的Books3部分,提供公共领域书籍资源。
  • 在书籍级别上进行去重,移除内容重叠超过90%的书籍,避免数据冗余。
ArXiv [2.5%]:
  • 处理arXiv Latex文件,引入科学领域高质量数据。
  • 去除论文的引言部分和参考文献,专注于核心研究内容。
  • 去除.tex文件中的注释,并内联扩展用户编写的定义和宏,确保内容一致性和完整性。
Stack Exchange [2%]:
  • 引入Stack Exchange数据转储,包含多样化领域的高质量问题和答案。
  • 保留28个最大网站的数据,去除HTML标签,并按答案得分排序,优先使用高质量答案。
分词器:
  • 采用字节对编码(BPE)算法(Sennrich等人,2015),结合SentencePiece(Kudo和Richardson,2018)实现,对数据进行高效分词。
  • 将所有数字拆分成单个数字,并对未知UTF-8字符进行字节级分解,确保分词准确性和灵活性。

整个训练数据集分词后大约包含1.4T个token,其中大部分token在训练中仅使用一次,但计划对维基百科和图书领域数据进行大约两个周期的训练,以充分利用资源。
在这里插入图片描述

2-2 Architecture

基于近期在大语言模型领域的进展,提出的网络架构基于Transformer(Vaswani等,2017),并融入了多项优化改进,这些改进灵感来源于不同的先进模型如PaLM和GPTNeo。

预归一化 [GPT3灵感]

为了增强训练过程的稳定性,采用了预归一化策略,即在每个Transformer子层的输入处进行归一化,而非传统的输出处。这一优化借鉴了GPT3的做法,并采用了Zhang和Sennrich(2019)提出的RMSNorm归一化函数,以进一步提升性能。

SwiGLU激活函数 [PaLM启发]

为了提升模型的非线性表达能力和整体性能,将ReLU激活函数替换为SwiGLU激活函数。SwiGLU由Shazeer(2020)提出,并在PaLM等模型中展现出优势。在此基础上进行了微调,采用2^3/4d的维度设置,以适应我们的网络架构需求。

旋转位置嵌入 [GPTNeo创新]

为了更有效地处理序列中的位置信息,摒弃了传统的绝对位置嵌入,转而采用Su等人(2021)提出的旋转位置嵌入(RoPE)。这种嵌入方式在每个Transformer层的输入中动态地引入位置信息,有助于模型更好地理解和生成具有位置依赖性的文本。

通过上述优化,提出的网络架构在保持Transformer强大能力的同时,进一步提升了训练稳定性、非线性表达能力和对位置信息的处理能力,从而有望在大语言模型任务中取得更优的表现。
在这里插入图片描述

2-3 Optimizer

模型采用AdamW优化器训练,设置β1为0.9,β2为0.95,并使用余弦退火学习率计划,最终学习率是初始最大值的10%。同时使用权重衰减和梯度裁剪,使用2000步预热,并根据模型大小调整学习率和批量大小。

2-4 Efficient implementation

为了提升训练效率,采用了优化的因果多头注意力实现,减少了内存和时间消耗,并通过检查点技术减少了反向传播中的重复计算。同时实现了模型和序列并行性,以及尽可能重叠激活计算和GPU间的通信。

3 Main results

Common Sense Reasoning

在这里插入图片描述

Closed-book Question Answering

在这里插入图片描述
在这里插入图片描述

Reading Comprehension

在这里插入图片描述

Mathematical reasoning

在这里插入图片描述

Code generation

在这里插入图片描述

Massive Multitask Language Understanding

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅谈重要组件JSR223介绍

浅谈重要组件JSR223介绍 JSR223 脚本组件是一个极其强大的特性,它允许用户利用各种脚本语言编写复杂的测试逻辑,极大地增强了 JMeter 的灵活性和功能。本文将对 JSR223 进行详细介绍,并解释如何在 JMeter 测试计划中有效地应用它。 JSR223 …

数据开源 | Magic Data大模型高质量十万轮对话数据集

能够自然的与人类进行聊天交谈,是现今的大语言模型 (LLM) 区别于传统语言模型的重要能力之一,近日OpenAI推出的GPT-4o给我们展示了这样的可能性。 对话于人类来说是与生俱来的,但构建具备对话能力的大模型是一项不小的挑战,收集高…

基于Android平台开发,仿头条新闻app

1. 项目模块功能思维导图 2. 项目涉及到的技术点 数据来源:聚合数据API使用okhttp网络请求框架获取api数据使用gson库解析json数据使用RecyclerViewadapter实现新闻列表使用SQLite数据库实现用户登录,注册,浏览历史记录使用SharedPreference…

一、银河麒麟在VMware虚拟机中如何永久更改窗口分辨率大小?

1 在/etc/X11/xorg.conf.d目录下创建一个xorg.conf文件,该文件决定系统启动后默认的分辨率 2 填写如下内容 Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验17 开放最短路径优先OSPF

一、实验目的 1.验证OSPF协议的作用; 二、实验要求 1.使用Cisco Packet Tracer仿真平台; 2.观看B站湖科大教书匠仿真实验视频,完成对应实验。 三、实验内容 1.构建网络拓扑; 2.验证OSPF协议的作用。 四、实验步骤 1.构建网…

AutoMQ 与蚂蚁数科达成战略合作

近期,AutoMQ 与蚂蚁数科正式签署战略合作协议,将和蚂蚁数科云原生 PaaS 平台 SOFAStack 在产品研发、生态集成、市场合作、技术社区影响力等多方面开展深度合作。 AutoMQ 是业内领先的消息和流存储服务提供商,基于云原生基础设施重新设计了 …

解密 AI 客服:LangChain+ChatGPT 打造智能客服新时代

你需要了解 ChatGPT ChatGPT 是 OpenAI 开发的一种基于人工智能技术的自然语言处理模型。它可以通过对大量文本数据进行训练,自动生成高质量的回答和对话。ChatGPT 具有高效、准确、自然的特点,可以帮助人们更加高效地处理信息和交流。 ChatGPT 有很多…

el-from中校验,如果某一项需要另一项填写才能校验

使用validateField <el-form:model"params":rules"rules":scroll-to-error"true"ref"refrom"v-else><el-form-item label"用户姓名" prop"name"><el-input placeholder"请输入用户姓名"…

Spring Boot 常用 Starter

Spring Boot Starter 是 Spring Boot 提供的一系列预定义的依赖集合&#xff0c;旨在帮助开发者快速构建应用。这些 Starter 包含了常见的依赖和配置&#xff0c;极大地简化了项目的初始化和开发过程。本文将介绍一些常用的 Spring Boot Starter&#xff0c;并通过实际示例展示…

机器学习实现自然语言处理的背后技术详解

引言 自然语言处理&#xff08;NLP&#xff09;是机器学习领域中的一个重要分支&#xff0c;它涉及到让计算机理解和生成人类语言。随着深度学习技术的快速发展&#xff0c;NLP在许多应用领域取得了显著的成果&#xff0c;如机器翻译、情感分析、文本摘要等。本文将深入探讨机…

全网最简单的Java设计模式【五】Java单例模式 饿汉式详解

Java单例模式 饿汉式详解 【创作】 不易&#xff0c;【点赞】 是情义&#xff0c;【关注】 是动力&#xff0c;【收藏】 是回忆。 示例代码地址&#xff1a;https://gitee.com/code-in-java/csdn-blog.git 一、概念与原理 Java中的单例模式是一种确保一个类只有一个实例&#…

图片海报怎么做成二维码展示?二维码分享图片的制作技巧

怎么把图片的宣传海报做成二维码呢&#xff1f;在做活动或者产品宣传时&#xff0c;都会制作精美的图片海报&#xff0c;除了打印传单或者制作展板的方式来展示外&#xff0c;将海报图片生成二维码&#xff0c;通过分享二维码来实现图片海报的快速传播&#xff0c;能够有效提升…

大话光学原理:2.最短时间原理、“魔法石”与彩虹

一、最短时间原理 1662年左右&#xff0c;费马在一张信纸的边角&#xff0c;用他那著名的潦草笔迹&#xff0c;随意地写下了一行字&#xff1a;“光在两点间选择的路&#xff0c;总是耗时最少的。”这句话&#xff0c;简单而深邃&#xff0c;像是一颗悄然种下的种子&#xff0c…

After Detailer让图像自动修复

After Detailer&#xff08;简称adetailer&#xff09;是一个Stable Diffusion的自动Web-UI扩展&#xff0c;它能够自动化修复图像中的不完整部分&#xff0c;例如模糊的人脸等常见问题。在这篇文章中&#xff0c;你将了解它的工作原理、如何使用它&#xff0c;以及一些常见的使…

品牌策划学习资源全攻略:从入门到精通的推荐清单!

这里再分享一些网站书籍和杂志给大家。 TOPYS创意内容平台&#xff1a; 专注于创意内容分享&#xff0c;涵盖广告、设计、艺术等多个领域&#xff0c;是广告设计人寻找创意灵感的好去处。 Dribbble&#xff1a; 设计师社区&#xff0c;用户可以浏览到全球设计师的优秀作品&…

Python中的生成器表达式与列表推导式的不同点。

Python中的生成器表达式&#xff08;Generator Expressions&#xff09;和列表推导式&#xff08;List Comprehensions&#xff09;在功能上相似&#xff0c;但它们在内存使用和处理方式上有着显著的不同。 列表推导式&#xff08;List Comprehensions&#xff09; 列表推导式…

使用webrtc-streamer查看rtsp实时视频

1.下载webrtc-streamer 2.解压运行webrtc-streamer.exe 在浏览器访问127.0.0.1:8000&#xff0c;点击窗口可以看到本机上各窗口实时状态&#xff0c;点击摄像头可以显示摄像头画面。 5.安装phpstudy&#xff0c;并建立网站。&#xff08;具体过程自己网上搜&#xff09; 6.打开…

面试官:说说你项目中的单点登录?

单点登录&#xff08;SSO&#xff09;概念 定义&#xff1a;用户仅需一次登录&#xff0c;即可访问所有相互信任的应用程序或系统。目的&#xff1a;提升用户体验&#xff0c;简化登录流程&#xff0c;降低忘记密码和登录疲劳问题&#xff0c;提高系统安全性。 SSO实现技术 O…

【探索Linux】P.38(传输层 —— TCP协议通信连接管理机制简介 | TCP连接状态转换)

阅读导航 引言一、TCP协议通信连接管理机制二、连接状态转换1. TCP状态转换图2. 状态转换过程3. 理解TIME_WAIT状态&#xff08;1&#xff09;目的和作用&#xff08;2&#xff09;状态转换&#xff08;3&#xff09;特殊情况&#xff08;4&#xff09;影响和优化 4. 理解 CLOS…

多模态大模型时代下的文档图像智能分析与处理_多模态ocr

0. 前言1. 人工智能发展历程 1.1 传统机器学习1.2 深度学习1.3 多模态大模型时代 2. CCIG 文档图像智能分析与处理论坛 2.1 文档图像智能分析与处理的重要性和挑战2.2 文档图像智能分析与处理高峰论坛2.3 走进合合信息 3. 文档图像智能分析与处理 3.1 文档图像分析与预处理3.2 …