2023-arxiv-LLaMA: Open and Efficient Foundation Language Models
开放和高效的基础语言模型

Paper:https://arxiv.org/abs/2302.13971
Code: https://github.com/facebookresearch/llama
摘要
本文介绍了 LLaMA,这是⼀个包含 7B 到 65B 参数的基础语⾔模型的集合。作者在数万亿个令牌上训练模型,并表明可以仅使⽤公开可⽤的数据集来训练最先进的模型。特别是, LLaMA-13B 在⼤多数基准测试中都优于 GPT-3 (175B),并且 LLaMA 65B与最好的模型Chinchilla-70B和 PaLM-540B具有竞争⼒。
实验
数据集
训练数据集是多个来源的混合,如表 1 所示,涵盖了不同的领域。

总体而言,作者的整个训练数据集在标记化后包含大约 1.4T 标记。对于作者的大部分训练数据,每个标记在训练过程中只使用一次
模型
整体架构仍然是Transformer的解码器模块,该模块参考论文Attention is all you need。下面是在Transformer架构上的进一步的3个改进。
- 使用RMSNorm(即Root Mean square Layer Normalization)对输入数据进行标准化,RMSNorm可以参考论文:Root mean square layer normalization。
原始Normalization:
μ = 1 n ∑ i = 1 n a i , σ = 1 n ∑ i = 1 n ( a i − μ ) 2 \mu=\frac{1}{n} \sum_{i=1}^n a_i, \quad \sigma=\sqrt{\frac{1}{n} \sum_{i=1}^n\left(a_i-\mu\right)^2} μ=n1∑i=1nai,σ=n1∑i=1n(ai−μ)2
RMSNorm:
a ˉ i = a i RMS ( a ) g i , where RMS ( a ) = 1 n ∑ i = 1 n a i 2 \bar{a}_i=\frac{a_i}{\operatorname{RMS}(\mathbf{a})} g_i, \quad \text { where } \operatorname{RMS}(\mathbf{a})=\sqrt{\frac{1}{n} \sum_{i=1}^n a_i^2} aˉi=RMS(a)aigi, where RMS(a)=n1∑i=1nai2 - 使用激活函数SwiGLU, 该函数可以参考PALM论文:Glu variants improve transformer。作者用SwiGLU激活函数代替ReLU非线性,以提高性能。
- 使用Rotary Embeddings进行位置编码,该编码可以参考论文 Roformer: Enhanced transformer with rotary position embedding。作者删除了绝对位置嵌入,取而代之的是在网络的每一层添加了旋转位置嵌入 (RoPE)。
优化器
采用AdamW optimizer优化器,该优化器可以参考论文Decoupled weight decay regularization。具有以下超参数:β1 = 0.9,β2 = 0.95。作者使用余弦学习率计划,使最终学习率等于最大学习率的 10%。作者使用 0.1 的权重衰减和 1.0 的梯度裁剪。并根据模型的大小改变学习率和批量大小。

LLaMA-33B 和 LLaMA65B 在 1.4T tokens上进行了训练。较小的模型是在 1.0T tokens上训练的.
在训练 65B 参数模型时,作者的代码在具有80GB RAM 的 2048 A100 GPU 上处理大约 380 个令牌/秒/GPU。这意味着对包含 1.4T 令牌的数据集进行训练大约需要 21 天
其他有效改进措施
- 使用 随机多头注意力机制(causal multi-head attention) 提高模型的训练速度。该机制的实现借用了xformers库,它的思路是不存储注意力权重,不计算其中注意力得分。
- 手动实现了Transformer的激活函数,而没有用pytorch库的autograd,以得到更优的训练速度。同时使用了并行化技术提高训练速度。这两个改进点可以参考论文:Reducing activation recomputation in large transformer models.
参考
https://blog.csdn.net/a1920993165/article/details/130044242
相关文章:
2023-arxiv-LLaMA: Open and Efficient Foundation Language Models
开放和高效的基础语言模型 Paper:https://arxiv.org/abs/2302.13971 Code: https://github.com/facebookresearch/llama 摘要 本文介绍了 LLaMA,这是⼀个包含 7B 到 65B 参数的基础语⾔模型的集合。作者在数万亿个令牌上训练模型,并表明可以…...
Ctfshow web入门 XXE 模板注入篇 web373-web378 详细题解 全
CTFshow XXE web373 学习资料: (梭哈~) https://www.cnblogs.com/20175211lyz/p/11413335.html https://www.cnblogs.com/zhaijiahui/p/9147595.html https://www.cnblogs.com/r00tuser/p/7255939.html https://mp.weixin.qq.com/s?__bizMz…...
小内存嵌入式设备软件的差分升级设计(学习)
摘要 提出一种改进HDiffPatch算法并在复旦微单片机上实现小内存差分升级的方案,即使用单片机内的Flash空间替代算法占用的RAM空间,从而减少算法对单片机RAM空间的需求,以满足小内存微处理器的差分升级,同时对算法内存分配释放函数…...
小程序具体开发
window 导航栏 属性名类型默认值作用navigationBarTitleText string字字符串导航栏标题内容navigationBarBackgroundColorHexcolor#000000设置导航栏背景颜色(比如荧黄色 #ffa)navigationBarTextStylestringwhite设置导航栏标题的颜色(仅含有…...
《TCP IP网络编程》第十六章
第 16 章 关于 I/O 流分离的其他内容 16.1 分离 I/O 流 「分离 I/O 流」是一种常用表达。有 I/O 工具可区分二者,无论采用哪种方法,都可以认为是分离了 I/O 流。 2次 I/O 流分离: 第一种是第 10 章的「TCP I/O 过程」分离。通 shutdown(soc…...
HTML5 基础标签
目录 前言 标题标签 段落标签 换行标签和水平线标签 文本格式化标签 图像标签 超链接标签 多媒体标签 列表标签 无序列表 有序列表 表格 合并单元格 表单 无语义的布局标签 字符实体 前言 当今互联网时代,网页是我们获取信息、交流和展示自己的重要渠…...
二、Qt的安装(Linux系统下安装Qt6过程)
一、Qt资源下载网址 网址:点击下载http://download.qt.io/ 下载:点击下载(CSDN) 二、下载二进制安装包 进入Qt资源下载网址,进入对应的资源目录,找对应系统平台的二进制安装包选择进行下载,在这这里我们选择Linux下的二…...
Python 中被忽视的核心功能
这篇文章主要介绍了一些在 Python 编程中可能被忽视的核心功能,包括默认参数、海象运算符、*args 和 **kwargs 的使用、变量交换、str 与 repr 的区别、可迭代对象的扩展解包、多个上下文管理器的使用、Python 调试器、collections.Counter 的使用、itertools 的使用…...
Java+Excel+POI+testNG基于数据驱动做一个简单的接口测试【杭州多测师_王sir】
一、创建一个apicases.xlsx放入到eclipse的resource里面,然后refresh刷新一下 二、在pom.xml文件中加入poi和testng的mvn repository、然后在eclipse的对应目录下放入features和plugins,重启eclipse就可以看到testNG了 <!--poi excel解析 --><d…...
2023.8.12号论文阅读
文章目录 TriFormer: A Multi-modal Transformer Framework For Mild Cognitive Impairment Conversion Prediction摘要本文方法实验结果 SwIPE: Efficient and Robust Medical Image Segmentation with Implicit Patch Embeddings摘要本文方法实验结果 TriFormer: A Multi-mod…...
R语言中的函数24:Combinat:combn(), permn()
介绍 combinat中的combn()和permn()函数可以得到所有的排列组合的情况 combn()函数 combn(x, m, funNULL, simplifyTRUE, …)x – 组合的向量源m – 要取的元素的数量fun – 应用于每个组合的函数(可能为空)simplify – 逻辑的,如果是FALSE,返回一个列…...
C++隐式调用和explicit关键字
隐式类型转换 #include <iostream> using namespace std;class Point { public:int x, y;Point(int x 0, int y 0): x(x), y(y) {} };void displayPoint(const Point& p) {cout << "(" << p.x << "," << p.y <&l…...
Git 清除所有本地修改
Git 清除所有本地修改 1. 上才艺 1. 上才艺 git reset --hard && git clean -dfreset 返回到某个节点,不保留修改(删除的是已跟踪的文件)clean 删除的是未跟踪的文件 谢谢...
快速获得图像中像素值的小工具
之前项目中为了做lka中获得rgb图像信息,网上大多方案是确定相关的区域然后输出像素值,这个方法太麻烦,做了一个简单的使用鼠标点击图片某区域,然后直接在终端输出该区域的像素值。下面是源码: import cv2 import matp…...
yolo数据增强
yolo数据增强 🔥 数据集说明 😂一. labelimg 😅1. labelimg数据增强2. labelimg转换为yolo数据集二. labelme 😆1. labelme 分割数据增强2. labelme分割数据集转换yolo分割数据集三. coco 数据集格式1. coco 数据集格式数据增强 并转换至labelme 格式2. coco 数据集格式…...
环保行业如何开发废品回收微信小程序
废品回收是近年来受到越来越多人关注的环保行动。为了推动废品回收的普及和方便,我们可以利用微信小程序进行制作,方便人们随时随地参与废品回收。 首先,我们需要注册并登录乔拓云账号,并进入后台。乔拓云是一个提供微信小程序制作…...
个人对哈希数据结构学习总结 -- 理论篇
个人对哈希数据结构学习总结 -- 理论篇 引言哈希表设计思考哈希冲突Hash Functions冲突解决开放地址法(Open Addressing)分离链表法(Separate Chaining)Two-way Chaining Dynamic Hash Tableschained Hashingextendible hashinglinear hashing说明 spiral storage 使用场景小结…...
在CMamke生成的VS项目中插入程序
在主文件夹的CMakeLists.tex中加入SET(COMPILE_WITH_LSVM OFF CACHE BOOL "Compile with LSVM") 再添加IF(COMPILE_WITH_LSVM) MESSAGE("Compiling with: LSVM") ADD_DEFINITIONS(-DCOMPILE_WITH_LSVM) ADD_SUBDIRECTORY(LSVM) LIST(APPEND SRC LSVM_wrap…...
198、仿真-基于51单片机函数波形发生器调幅度频率波形Proteus仿真(程序+Proteus仿真+原理图+流程图+元器件清单+配套资料等)
毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、原理图 五、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选…...
Django 初级指南:创建你的第一个 Django 项目
Django 是一个强大的 Python Web 框架,它采用了“模型-视图-控制器”(MVC)的设计模式,能够帮助开发者快速、简洁地创建高质量的 Web 应用。这篇文章将引导你创建你的第一个 Django 项目。 一、安装 Django 首先,你需…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
OCR MLLM Evaluation
为什么需要评测体系?——背景与矛盾 能干的事: 看清楚发票、身份证上的字(准确率>90%),速度飞快(眨眼间完成)。干不了的事: 碰到复杂表格(合并单元…...
云原生安全实战:API网关Envoy的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口,负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...
CppCon 2015 学习:REFLECTION TECHNIQUES IN C++
关于 Reflection(反射) 这个概念,总结一下: Reflection(反射)是什么? 反射是对类型的自我检查能力(Introspection) 可以查看类的成员变量、成员函数等信息。反射允许枚…...
MySQL基本操作(续)
第3章:MySQL基本操作(续) 3.3 表操作 表是关系型数据库中存储数据的基本结构,由行和列组成。在MySQL中,表操作包括创建表、查看表结构、修改表和删除表等。本节将详细介绍这些操作。 3.3.1 创建表 在MySQL中&#…...
