大模型学习笔记3【大模型】LLaMA学习笔记

文章目录

学习内容

  • 完整学习LLaMA

LLaMA

  • 2023年2月,由FaceBook公开了LLaMA,包含7B,13B,30B,65B。
  • 2023年7月,发布LLaMA2,包含7B,13B,65B。
    • 可商用
    • 模型架构不变,但训练数据增加了40%
    • 34B模型由于未满足安全要求并未发布
    • 包含基座模型和Chat模型:LLaMA 2 - chat

论文部分介绍:

  • 数据来源于公开数据集
  • 目的:在推理预算有限的情况下,达到更好的效果。
  • LLaMA 13B在大多数测试中优于GBT3-175B,65B相比当时最好的模型也有竞争力。
  • 主要工作:通过更多的token训练语言模型。
  • 主要针对英语进行训练,也使用了部分其他语言。

LLaMA模型结构

和 GPT 系列一样,LLaMA 模型也是 Decoder-only 架构,但结合前人的工作做了一些改进,比如:

  • Pre-normalization [GPT3]. 为了提高训练稳定性,LLaMA 对每个 transformer 子层的输入进行归一化,使用 RMSNorm 归一化函数,Pre-normalization 由Zhang和Sennrich(2019)引入。
  • SwiGLU 激活函数 [PaLM]. 将 ReLU 非线性替换为 SwiGLU 激活函数,且使用 2 3 4 d \frac{2}{3} 4d 324d 而不是 PaLM 论文中的 4d,SwiGLU 由 Shazeer(2020)引入以提高性能。
  • Rotary Embeddings [GPTNeo]. 模型的输入不再使用 positional embeddings,而是在网络的每一层添加了 positional embeddings (RoPE),RoPE 方法由Su等人(2021)引入。

LLaMA下载和使用

  • 模型申请:地址
  • 模型代码:地址(可以使用download脚本,只保留7b)
  • 我对校验不太了解,大家可以校验一下,我就肉眼看大小校验了。
  • 模型无法运行LLaMA初始权重,需要用transformers的脚本,convert_llama_weight_to_hf.py
  • 简单推理函数脚本和其中的文件

好用的开源项目Chinese-Alpaca

  • 本地GPU、CPU部署

  • 开源中文LLaMA模型,和指令微调的Alpaca大模型

  • 在原模型的基础上,扩充vocab词表,使用中文数据进行"继续训练",并使用中文指令数据进行微调。

  • 该仓库的中包含的大模型。Chinese-LLaMA-7B是在原版LLaMA-7B的基础上,在20GB的通用中文语料库上进行预训练。Chinese-LLaMA-Plus-7B是在原版LLaMA-7B的基础上,在120GB的通用中文语料库上进行预训练

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7af06255ff3449f![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f101912c719443749e4b3d7a7ead3f67.png)

    ea26e0bbd92aba9b6.jpeg)

  • 完全使用LoRA进行预训练和微调,需要原版的LLaMA模型。

  • LoRA居然能有这么强......太离谱了。

Chinese-Alpaca使用

  • 根据官方教程即可,仅记录不同之处。
  • 单LoRA权重合并效果一般,建议使用多LoRA合并。(Plus和Pro)

量化

  • 量化:使用llama.cpp进行量化
  • 加入-t和别的参数之后效果极快

评估

  • 使用wikitext或自己构建数据集评估困惑度
  • 也可以使用GPT4或人类打分
相关推荐
牛奶咖啡1316 分钟前
学习设计模式《十二》——命令模式
学习·设计模式·命令模式·队列请求·宏命令·可撤销恢复操作·参数化配置
余厌厌厌24 分钟前
go语言学习 第9章:映射(Map)
服务器·学习·golang
委婉待续25 分钟前
Qt的学习(一)
开发语言·qt·学习
哆啦A梦的口袋呀1 小时前
基于Python学习《Head First设计模式》第七章 适配器和外观模式
python·学习·设计模式
笑鸿的学习笔记1 小时前
虚幻引擎5-Unreal Engine笔记之SET节点的输出引脚获取设置后的最新变量值
笔记·ue5·虚幻
恰薯条的屑海鸥1 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十期-Over Permission 模块)
学习·安全·web安全·渗透测试·网络安全学习
草莓熊Lotso1 小时前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
东京老树根2 小时前
SAP学习笔记 - 开发27 - 前端Fiori开发 Routing and Navigation(路由和导航)
笔记·学习
UQI-LIUWJ4 小时前
LLM 笔记:Speculative Decoding 投机采样
笔记
凤年徐6 小时前
【数据结构初阶】单链表
c语言·开发语言·数据结构·c++·经验分享·笔记·链表