LLaMa

文章目录

  • Problems
    • 403
  • 代码文件
  • LLaMA: Open and Efficient Foundation Language Models
    • 方法
      • 预训练数据
      • 结构
      • 优化器
      • 一些加速的方法
    • 结果
      • Common Sense Reasoning
      • Closed-book Question Answering
      • Reading Comprehension
      • Massive Multitask Language Understanding
    • Instruction Finetuning
    • 附录
      • Question Answering
      • Generations from LLaMA-65B
      • Generations from LLaMA-I
  • Llama 2: Open Foundation and Fine-Tuned Chat Models
    • pretraining methodology
      • Pretraining Data
      • Training Details
    • fine-tuning methodology
      • Supervised Fine-Tuning(SFT)
      • Reinforcement Learning with Human Feedback (RLHF)

Problems

403

reclone and request.

代码文件

两个测试样例:

  1. example_text_completion.py: 文本补全示例;
  2. example_chat_completion.py: 对话生成示例.
torchrun --nproc_per_node 1 example_text_completion.py \--ckpt_dir llama-2-7b/ \--tokenizer_path tokenizer.model \--max_seq_len 128 --max_batch_size 4
torchrun --nproc_per_node 1 example_chat_completion.py \--ckpt_dir llama-2-7b-chat/ \--tokenizer_path tokenizer.model \--max_seq_len 512 --max_batch_size 6

ckpt_dir: 模型文件路径
tokenizer_path: 分词器文件路径

对于示例一, prompt中提供了需要补全的文本.

对于示例二, prompt以字典形式组织对话. 每个item包含rolecontent两个关键字.

  1. role:user: 用户, 用以输入文本;
  2. role:assistant: 系统, 用以输出文本;
  3. role:system: 对系统生成对话的要求;

LLaMA: Open and Efficient Foundation Language Models

发展:
scale models -> scale data -> fast inference and scale tokens

本文的要点:
通过在更多的token上训练, 使得在不同推理开销下, 达到最佳的性能.

方法

LLaMA采用Auto Regression的方式进行预训练.

预训练数据

公开数据.

请添加图片描述

tokenizer的方法为: bytepair encoding(BPE). 总共包含1.4T个tokens.

结构

采用了之前一些被证明可行的方法:

  1. RMSNorm from GPT3;
  2. SwiGLU from PaLM;
  3. RoPE from GPTNeo.

优化器

  1. AdamW ( β 1 = 0.9 , β 2 = 0.95 , w e i g h t d e c a y = 0.1 \beta_1=0.9, \beta_2=0.95, weight~decay=0.1 β1=0.9,β2=0.95,weight decay=0.1);
  2. warmup 2000 step and cosine learning rate schedule;
  3. gradient clippping = 1.0;

一些加速的方法

  1. causal multi-head attention;
  2. reduce the amount of activations that recomputed during the backward pass.

2048块80G的A100训练21天.

结果

Common Sense Reasoning

请添加图片描述

zero-shot.

CSR : 基于问题和常识性选择, 让模型做出判断.

请添加图片描述

Closed-book Question Answering

请添加图片描述

请添加图片描述

不依赖于外部信息源, 只凭借训练时学习得到的信息完成问答任务.

自由文本的评估指标. exact match perfromance

Reading Comprehension

请添加图片描述

在这里插入图片描述

Massive Multitask Language Understanding

请添加图片描述

在这里插入图片描述

Mathematical reasoning 和 Code Generation就不再赘述.

Instruction Finetuning

待补充

附录

Question Answering

请添加图片描述
对于Natural Questions 和 TriviaQA 使用1-shot设定. 预先打印字符串:Answer these questions:\n在问题和答案之前.

Generations from LLaMA-65B

Without instruction finetuning.

Prompts are in bold.

Only present part of them.

请添加图片描述

请添加图片描述

Generations from LLaMA-I

请添加图片描述

Llama 2: Open Foundation and Fine-Tuned Chat Models

LLAMA2 : 新的训练数据组织形式, 更大的预训练语料库, 更长的上下文, grouped-query attention.

LLAMA2 : 针对对话场景的微调版本.

pretraining methodology

Pretraining Data

  1. a new mix of data , not including data from Meta’s products or services;
  2. 移除包含私人信息的数据;
  3. 2 trillion tokens and up-sampling the most factual sources.

Training Details

除了RMSNorm, RoPE and SwiGLU, 增加了GQA.

其余与LLaMA 1一致.

fine-tuning methodology

Supervised Fine-Tuning(SFT)

使用公开的instruction tuning data.

提取高质量的部分数据, 模型的效果仍然得到提升. Quality is All You Need.

发现人类写的注释和模型生成+人工检查的注释效果差不多.

微调细节:

  1. cosine learning rate schedule;
  2. initial lr = 2e-5;
  3. weight decay = 0.1;
  4. batch size = 64;
  5. sequence length = 4096.

Reinforcement Learning with Human Feedback (RLHF)

人类从模型的两个输出中选择喜欢的一个. 该反馈随后用于训练一个奖励模型. 该模型学习人类的偏好模式.

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

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

相关文章

【实验记录】AGW | Visible-Infrared Re-ID

【RT】Visible Thermal Re-IDDeep Learning for Person Re-identification: A Survey and Outlook中提出了一个针对单/跨模态行人重识别的baseline:AGW 做过两次,在测试阶段有问题,现在再重做一次🤔Code RTX3090 修改数据集路…

【空间-光谱联合注意网络:多时相遥感图像】

A Spatial–Spectral Joint Attention Network for Change Detection in Multispectral Imagery (一种用于多光谱图像变化检测的空间-光谱联合注意网络) 变化检测是通过比较双时相图像来确定和评估变化,这是遥感领域的一项具有挑战性的任务…

c++图像的边缘检测

图像的边缘检测 cv::Canny 是 OpenCV 中用于进行边缘检测的函数,特别是用于检测图像中的边缘。Canny 边缘检测是一种广泛使用的技术,它能够识别图像中的边缘,这些边缘通常表示对象之间的边界或图像中的显著特征 void cv::Canny(const cv::M…

【lesson7】git的介绍及使用

文章目录 什么是gitgit的历史git使用在gitee上创建仓库git clone HTTPS地址git add .git add 文件名git commit “日志”git pushgit loggit rm 文件名git statusgit pull 什么是git git是版本控制器,那么什么是版本控制器呢? 下面讲个故事为大家讲解一…

运算放大器(四):输入偏置电流

一、定义 运放输入级一般由 或 MOSFET 构成,理想情况下,运放的输入端没有电流流入。实际上为保证放大器工作在线性范围,运放的输入端一般设计成基极(栅极)开路,由外电路提供电流的方式,所以需要…

c++-string

文章目录 前言一、STL库介绍二、标准库中的string类1、string类介绍2、string类使用3.1 string类的构造函数3.2 string类对象的容量操作3.3 string类对象的遍历操作3.4 string类对象的访问操作3.5 string类对象的修改操作3.6 string类对象的字符串操作 三、模拟实现string类四、…

Prettier - Code formatter格式化规则文件

文章目录 前言安装使用 前言 先前公司在规范代码时,由于个人业务繁忙跟技术总监是后端出身用的IDEA不熟悉vsCode;以及大多数时都自己一个人负责一个项目,当时并不看重这些;最近在整理vue3tsvite的脚手架模板(平时工作用的react),开始整理格式化代码,方便之后 vue 和 react 中应…

element plus table 拖拽

element plus table 拖拽 sortablejs package.json "sortable.js": "^0.3.0","sortablejs": "^1.14.0", "vuedraggable": "^2.24.3",我的table 是在 el-dialog 里面的 在开发过程中出现过两个问题 1.进入加载 …

【力扣2154】将找到的值乘以 2

👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析 一、题目描述 题目链接:将找到的值乘以 2 给你一个整数数组 nums ,另给…

百度实习一面(知识图谱部门)

百度面经(知识图谱部)一面 1.自我介绍 介绍完了,打开共享,对着简历一点一点问 2.ffmpeg在项目中是怎么使用的 回答了ffmpeg在项目中使用的命令,用来干了什么 3.为什么使用toml配置,了解过yml配置吗&am…

Mock.js之Element-ui搭建首页导航与左侧菜单

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《Spring与Mybatis集成整合》《springMvc使用》 ⛺️ 生活的理想,为了不断更新自己 ! 1、Mock.js的使用 1.1.什么是Mock.js Mock.js是一个模拟数据的生成器,用来帮助前…

【前端面试题】2023年 国庆 前端面试真题之JS篇

人的一生,总是难免有浮沉。不会永远如旭日东升,也不会永远痛苦潦倒。反复地一浮一沉,对于一个人来说,正是磨练。因此,浮在上面的,不必骄傲;沉在底下的,更用不着悲观。必须以率直、谦…

Linux内核源码分析 (B.2)深入理解 Linux 物理内存管理

Linux内核源码分析 (B.2)深入理解 Linux 物理内存管理 文章目录 Linux内核源码分析 (B.2)深入理解 Linux 物理内存管理1. 前文回顾2. 从 CPU 角度看物理内存模型2.1 FLATMEM 平坦内存模型2.2 DISCONTIGMEM 非连续内存模型2.3 SPARSEMEM 稀疏内存模型2.3.1 物理内存热插拔 3. 从…

DM8归档管理

开启归档 归档的格式: ARCH_NAME_DB_MAGIC[SEQNO]_日期时间.log ARCH_NAME 是在 dmarch.ini中配置的 LOCAL/REMOTE 归档名称 DB_MAGIC 是生成日志的数据库魔数 SEQNO 代表DSC 节点号,日期时间是归档日志文件的创建时间。 eg:ARCHIVE_LOCAL1_…

解决kali beef启动失败问题及实战

文章目录 一、解决方法二、靶场实战应用1.首先打开dvwa这个靶场,设置难度为low2.打开xss-stored3.准备payload4.提交payload5.利用 一、解决方法 首先需卸载 ruby apt remove ruby 卸载 beef apt remove beef-xss 重新安装ruby apt-get install ruby apt-get insta…

Swift SwiftUI 修改 List 背景颜色

Preview: Code: .listRowBackground(Color(.yellow)).scrollContentBackground(.hidden) .background(.linearGradient(colors: [.white, .accentColor], startPoint: .top, endPoint: .bottom))喜欢或对你有帮助,点个赞吧,自己先点个嘿嘿。 有错误或者…

JVM高级性能调试

标准的JVM是配置为了高吞吐量,吞吐量是为了科学计算和后台运行使用,而互联网商业应用,更多是为追求更短的响应时间,更低的延迟Latency(说白了就是更快速度),当用户打开网页没有快速响应&#xf…

Android StringFog 字符串自动加密

一、StringFog 作用 一款自动对dex/aar/jar文件中的字符串进行加密Android插件工具,正如名字所言,给字符串加上一层雾霭,使人难以窥视其真面目。可以用于增加反编译难度,防止字符串代码重复。 支持java/kotlin。支持app打包生成…

Labelme分割标注软件

Labelme分割标注软件 1、环境配置与安装1.1 创建conda虚拟环境(建议)1.2 安装Labelme 2、简单使用2.1 创建label标签文件2.2 启动labelme2.3 打开文件/文件夹2.4 设置保存结果路径2.5 标注目标2.6 保存json文件格式 3 格式转换3.1 转换语义分割标签3.2 转换实例分割标签 相关重…

从零开始之了解电机及其控制(1)磁场与磁力

(链接:从零开始之电机FOC控制_foc电机_一只小白啊的博客-CSDN博客)之后,总感觉整个流程都知道,但是深入到具体细节时,就不知所措,感觉啥也不懂一样。 那么为什么要用FOC控制无刷电机呢&#xff…