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

文章目录

  • 学习内容
  • LLaMA
  • LLaMA模型结构
  • LLaMA下载和使用
  • 好用的开源项目[Chinese-Alpaca](https://github.com/ymcui/Chinese-LLaMA-Alpaca)
  • Chinese-Alpaca使用
  • 量化
  • 评估

学习内容

  • 完整学习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在这里插入图片描述
    ea26e0bbd92aba9b6.jpeg)

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

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

Chinese-Alpaca使用

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

量化

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

评估

  • 使用wikitext或自己构建数据集评估困惑度
  • 也可以使用GPT4或人类打分

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

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

相关文章

echarts柱状选中shadow阴影背景宽度设置

使用line,宽度增大到所需要的宽度,设置下颜色透明度就行 tooltip: {trigger: axis,//把阴影的层级往下降z:-15,axisPointer: {type: line,lineStyle: {color: rgba(150,150,150,0.3),width: 44,type: solid,},}, }, series: [{type: bar,barWidth:20,//…

探究Executors创建的线程池(如newFixedThreadPool)其核心线程数等参数的可调整性

java中提供Executors类来创建一些固定模板参数的线程池,如下图(newWorkStealingPool除外,这个是创建ForkJoinPool的,这里忽略): 拿newFixedThreadPool方法创建线程池为例,newFixedThreadPool是…

24位DAC转换的FPGA设计及将其封装成自定义IP核的方法

在vivado设计中,为了方便的使用Block Desgin进行设计,可以使用vivado软件把自己编写的代码封装成IP核,封装后的IP核和原来的代码具有相同的功能。本文以实现24位DA转换(含并串转换,使用的数模转换器为CL4660)为例,介绍VIVADO封装IP核的方法及调用方法,以及DAC转换的详细…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第54课-poplang语音编程控制机器人

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第54课-poplang语音编程控制机器人 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的…

代码随想录——柠檬水找零(Leetcode860)

题目链接 贪心 class Solution {public boolean lemonadeChange(int[] bills) {if(bills[0] 10 || bills[0] 20 || bills[1] 20){return false;}int count5 1;int count10 0;for(int i 1; i < bills.length; i){if(bills[i] 5){count5;}if(bills[i] 10){count10;…

uniapp跨域问题解决

找到menifest文件&#xff0c;在文件的最后添加如下代码&#xff1a; // h5 解决跨域问题"h5":{"devServer": {"proxy": {"/adminapi": {"target": "https://www.demo.com", // 目标访问网址"changeOrigin…

freemarker生成pdf,同时pdf插入页脚,以及数据量大时批量处理

最近公司有个需求&#xff0c;就是想根据一个模板生成一个pdf文档&#xff0c;当即我就想到了freemarker这个远古老东西&#xff0c;毕竟freemarker在模板渲染方面还是非常有优势的。 准备依赖&#xff1a; <dependency><groupId>org.springframework.boot</gr…

大华设备接入GB28181/GAT1400视频汇聚管理平台EasyCVR安防监控系统的具体操作步骤

智慧城市/视频汇聚/安防监控平台EasyCVR兼容性强&#xff0c;支持多协议接入&#xff0c;包括国标GB/T 28181协议、GA/T 1400协议、部标JT808协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SDK等&#xff0c;并能对外分发RTMP、…

vue H5页面video 视频流自动播放, 解决ios不能自动播放问题

视频组件 <videostyle"width: 100%; height: 100%;object-fit: fill"class"player"refplayer_big_boxcontrolspreloadautoplay //自动播放muted //是否静音playsinline"true"x5-playsinline""webkit-playsinline"tru…

Vanchip新一代WiFi产品全新亮相

1‧ 研讨会介绍 随着 Wi-Fi7 时代的到来&#xff0c;高频信号衰减较高&#xff0c;因此需要外挂 FEM 电路以提高发射信号的增益&#xff0c;从而保障远距离通信的效果和范围。WiFi-FEM 逐渐成为智慧手机、路由器等终端产品中的标配芯片。Vanchip 针对客户的迫切需求&#x…

AI+若依框架(低代码开发)

一、若依介绍 1.版本介绍 若依为满足多样化的开发需求&#xff0c;提供了多个版本 RuoYi-Vue&#xff08;SpringBootVue的单体项目&#xff09; RuoYi-Cloud&#xff08;SpringCloudVue的微服务版本项目&#xff09; RuoYi-App&#xff08;UniappVue移动版本&#xff09; Ru…

Linux_管道通信

目录 一、匿名管道 1、介绍进程间通信 2、理解管道 3、管道通信 4、用户角度看匿名管道 5、内核角度看匿名管道 6、代码实现匿名管道 6.1 创建子进程 6.2 实现通信 7、匿名管道阻塞情况 8、匿名管道的读写原子性 二、命名管道 1、命名管道 1.1 命名管道通信 …

14-4 深入探究小型语言模型 (SLM)

大型语言模型 (LLM) 已经流行了一段时间。最近&#xff0c;小型语言模型 (SLM) 增强了我们处理和使用各种自然语言和编程语言的能力。但是&#xff0c;一些用户查询需要比在通用语言上训练的模型所能提供的更高的准确性和领域知识。此外&#xff0c;还需要定制小型语言模型&…

IDEA:插件和配置推荐(2024版)

文章目录 一、插件1.1 主题1.2 代码缩略图1.3 Maven插件2.4 彩虹括号2.5 翻译插件2.6 图标插件2.7 MyBatis插件2.8 阿里巴巴开发规范 二、全局配置2.1 主题2.2 字符编码2.3 注释颜色2.4 自动导包2.5 鼠标控制界面大小 三、新项目设置3.1 Maven3.2 SDK 四、恢复初始化 一、插件 …

flutter开发实战-Charles抓包设置,dio网络代理

flutter开发实战-Charles抓包设置 在开发过程中抓包&#xff0c;可以看到请求参数等数据&#xff0c;方便分析问题。flutter上使用Charles抓包设置。dio需要设置网络代理。 一、dio设置网络代理 在调试模式下需要抓包调试&#xff0c;所以需要使用代理&#xff0c;并且仅用H…

操作系统缓存与缓冲

缓存与缓冲 缓冲区是一块临时存储数据的区域&#xff0c;这些数据后面会被传输到其他设备上。缓冲区更像消息队列&#xff0c;用以弥补高速设备和低速设备通信时的速度差&#xff0c;平衡读写速度。例如&#xff1a;IO中内核缓冲区Ring Buffer。 缓存&#xff1a;存在于速度相…

鸿蒙应用开发之Badge容器

在开发应用的时候,经常需要一些提示,特别当用户打开应用时,有一些事情需要提醒一下用户,但是不能自动打开这个窗口提示,这样会让用户比较烦。所以设计一些提示显示来告诉用户,这里有新东西了,赶紧来点击一下查看。 比如像下面例子显示的界面: 在这里显示红点的地方,就…

区块链加载解析方法

一.区块链加载解析 对于数据的下载主要包括三种方式&#xff1a; 1.实现比特币网络协议&#xff0c;通过该协议和其他比特币全节点建立联系&#xff0c;然后同步区块数据。 2.通过比特币节点提供的API服务下载区块链数据。 3.通过blickchain.com提供的rest服务下载区块数据…

Python可实现各种算法库之algorithms使用详解

概要 在软件开发和计算机科学领域,算法是解决问题的核心工具。Python 作为一种广泛使用的编程语言,提供了多种内置和第三方库来实现各种算法。algorithms 库是一个集合了多种常用算法和数据结构的 Python 库,旨在帮助开发者快速实现和应用这些算法。本文将详细介绍 algorit…

【 2024!深入了解 大语言模型(LLM)微调方法(总结)】

引言 众所周知&#xff0c;大语言模型(LLM)正在飞速发展&#xff0c;各行业都有了自己的大模型。其中&#xff0c;大模型微调技术在此过程中起到了非常关键的作用&#xff0c;它提升了模型的生成效率和适应性&#xff0c;使其能够在多样化的应用场景中发挥更大的价值。 那么&…