最强英文开源模型Llama2架构与技术细节探秘

2023-11-21 04:04

本文主要是介绍最强英文开源模型Llama2架构与技术细节探秘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

prerequisite: 最强英文开源模型LLaMA架构探秘,从原理到源码

Llama2

在这里插入图片描述
Meta AI于2023年7月19日宣布开源LLaMA模型的二代版本Llama2,并在原来基础上允许免费用于研究和商用。

作为LLaMA的延续和升级,Llama2的训练数据扩充了40%,达到2万亿token,并且可处理的上下文增倍,达到4096个token。整体finetuning过程使用了1百万人工标记数据。开源的基座模型包括7B13B70B3个版本,并提供了对话增强版本的Llama chat和代码增强版本的Code Llama,供开发者和研究人员使用。
在这里插入图片描述
在这里插入图片描述

两代模型架构区别

请添加图片描述
Llama 2和初代模型相比,仍然延续Transformer’s decoder-only架构,仍然使用Pre-normalization、SwiGLU激活函数、旋转嵌入编码(RoPE),区别仅在于前述的40%↑的训练数据、更长的上下文和分组查询注意力机制(GQA, Grouped-Query Attention)。

Group-Query Attention

GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints

引入GQA的主要目的是提升推理速度,这种注意力机制有transformer的Multi-head Attention简化而来,再辅以KV cache的checkpoint机制进一步提速。
在这里插入图片描述
如上图:

  • 左边是transformer原始的Multi-head Attention,它有H个query,key,value,即每个query单独配一个key和value
  • 右边是其他研究者提出的Multi-query Attention,它在多个query共享同一个key和value
  • 中间则是折中的Grouped-query Attention,它将query进行了分组,仅在组内共享同一个key和value

具体而言,Llama2使用了8组KV映射,即GQA-8,实测效果上接近MHA,推理速度上接近MQA,尽可能做到了效果和速度兼得。
在这里插入图片描述
在这里插入图片描述

对比其他模型

在这里插入图片描述
Llama2在一众开源模型中遥遥领先。

笔者注:模型架构没有太大变化,GQA只是推理加速,但效果提升,那也就是说明主要得益于新增的那40%的数据。坦白讲,大模型阶段模型架构已经不那么重要了,可以保证一定的推理速度即可,效果上dataset is all you need。
在这里插入图片描述
但在闭源模型的比较上,Llama2仅领先PaLM,且仅能做到在MMLUGSM8K两个数据集上接近GPT3.5,与PaLM-2-L和GPT-4相比,仍然落后不少。

Llama-chat训练流程

请添加图片描述
下面我们来聊一聊llama-chat的训练流程,详见原技术论文,以下仅做流程概述:

  1. 自监督预训练
  2. 监督精调
  3. RLHF
    a. 自人类偏好数据集中训练2个奖励模型,分别是Safety Reward ModelHelpful Reward Model ,一个用于对人类偏好进行奖励建模,一个对安全合规进行奖励建模
    b. 先使用Helpful Reward模型进行RLHF,基于Rejection Sampling和PPO
    c. 在helpful的基础上进一步提升安全性,使用Safety Reward Model进行RLHF,也是基于Reject Sampling和PPO,实验证明,Safety RLHF能在不损害helpfulness的前提下有更好的长尾safety棒性

重要的细节上:

  1. PPO(Proximal Policy Optimization),即标准的RLHF使用的方法
  2. Rejection Sampling fine-tuning(拒绝采样微调):采样模型的k个输出,并选择奖励模型认为最好的样本作为输出进行梯度更新

两种RL算法的区别是:

  • 广度上:PPO仅进行一次生成;Reject Sampling会生成k个样本,从中选取奖励最大化的样本
  • 深度上:PPO的第t步训练过程的样本是t-1步更新的模型策略函数;Reject Sampling的训练过程相当于对模型当前策略下的所有输出进行采样,相当于是构建了一个新的数据集,然后在进行类似于SFT的微调

Meta仅在最大的Llama2 70B使用了Reject Sampling,其余模型仅使用了PPO。

Code-Llama

2023年8月24日,Meta推出了面向代码的可商用代码大模型Code Llama,开源了3个版本7B/13B/34B。支持多种编程语言,包括Python、C++、Java、PHP、Typescript (Javascript)、C#和Bash。
在这里插入图片描述
训练流程如下图:
在这里插入图片描述
如图所示,包含3个分支模型,每个分支模型的第一步都是使用500B的token进行Code TrainingInfilling code training

  1. Code Llama-Python(面向python语言的代码模型),第一步之后先用100B token的python代码进行训练,然后再使用20B的token在长上下文的场景上进行finetuning得到最终模型
  2. Code Llama(通用代码模型),第一步之后使用20B的token在长上下文的场景上进行finetuning得到最终模型
  3. Code Llama-Instruct(面向对话的代码模型),第一步之后同Code Llama使用20B的token在长上下文的场景上进行finetuning,然后再在5B的token上进行指令精调

训练集详情如下:
在这里插入图片描述
细节上:

  1. Code Training即使用代码数据进行训练
  2. Code Infilling值得是根据代码上下文预测残缺的代码部分,仅针对代码文本进行挖空预测,方法与Bert的挖空预测类似:
    a. 从完整的代码中选择一部分进行掩码(mask)并替换为<MASK>符号,构成上下文作为输入
    b. 然后采用自回归的方式对mask进行预测

模型效果对比上,神秘的unnatural版本在HumanEval的pass@1上领先GPT-3,接近于GPT-4(5%左右差距),其余部分明显领先PaLM系列和StarCoder系列模型:
在这里插入图片描述

参考文献

  1. https://ai.meta.com/llama/
  2. Llama 2: Open Foundation and Fine-Tuned Chat Models
  3. 大模型技术实践(二)|关于Llama 2你需要知道的那些事儿
  4. GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints
  5. 大规模预训练语言模型方法与实践,崔一鸣,北京BAAI,2023年8月26日
  6. https://ai.meta.com/blog/code-llama-large-language-model-coding/
  7. Code Llama: Open Foundation Models for Code

这篇关于最强英文开源模型Llama2架构与技术细节探秘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/399685

相关文章

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言