首页 > 其他分享 >Llama3技术文档

Llama3技术文档

时间:2024-08-27 11:49:30浏览次数:9  
标签:SFT 训练 模型 Llama3 技术 文档 上下文 数据 适配器

Introduction

基础模型开发包含两个阶段:

  1. 预训练阶段(a pre-training stage)。以简单的任务如预测下一个字的方式大规模训练。
  2. 后训练阶段(a post-training stage)。调优为来指令跟随(follow instructions),对齐人类偏好(align with human preferences),提高特定能力(如编程和推理)
    我们相信在高质量基础模型开发中有三个杠杆:
  3. 数据。相对于之前版本,提高了数据数量和质量。Llama 3 15T Llama2 1.8T。
  4. 规模。405B旗舰模型。
  5. 复杂度控制。最大化稳定性,选择标准dense transformer而不是专家混合模型(a mixture-of-experts model)。采用相对简单的后训练策略,采用supervised finetuning (SFT), rejection sampling (RS), and direct preference optimization(DPO)而不是更加复杂的强化学习算法。

Llama3包含8B,70B和405B。

General Overview

Llama3

  1. pre-training。模型学习语言结构和大量知识。8K tokens窗口在15.6T上训练405B。后面8K增大到128K。
  2. post-training。多轮SFT和DPO。让模型跟随指令和成为期望的助手。
    以上模型能有丰富的功能,回答问题,写代码,推理,使用工具。
    另外使用组合方法添加了图像、视频和语音功能。研究了三个额外的阶段:
  3. Multi-modal encoder pre-training(多模态编码器预训练).为图像和语音训练单独的编码器。图像是以图像-文本对方式训练,是模型学习图像和文本描述间关系。语音则是自监督方法,屏蔽部分输入,重建被屏蔽部分(完形填空)。
  4. Vision adapter training(视觉适配器训练).适配器是将预训练图像编码器集成到预训练的语言模型里面,主要有一系列cross-attention层组成。训练适配器时,会更新图像编码器,但不更新语言模型参数。还在图像适配器上使用视频-文本数据训练视频适配器,使模型能够跨帧聚合。
  5. Speech adapter training(语音适配器训练)。通过适配器将语音编码器集成到进来,适配器和编码器联合更新,但不更新语言模型。

Pre-Training

包含大规模训练语料管理和过滤、模型结构和大小、模型高效训练、训练方案。

预训练数据

收集截止2023年底,应用去重和清理机制,删除包含个人信息和成人内容。

网络数据

清洗过程:

  1. PII(personally identifiable information)和安全过滤。
  2. 文本提前和清洗。
  3. 重复数据清洗。包含URL-level de-duplication,Document-level de-duplication(使用global minHASH),Line-level de-duplication(ccNet).
    启发式过滤Heuristic filtering
    删除低质量文档、异常值和重复文档。
  4. 使用n-gram coverage ratio删除重复行。
  5. dirty word 统计过滤成人网站。
  6. 使用token分布的Kullback-Leibler divergence,过滤分布包含异常标识的文档。
    Model-based quality filtering模型指令过滤
    代码和推理数据
    多语言数据

数据混合比例

为了获得高质量的语言模型,需要仔细确定不同数据源的比例。

  1. Knowledge classification.开发一个分类器对数据分类,过多的要进行下采样。
  2. Scaling laws for data mix. 在混合数据上训练小模型进行实验,最终确定下来50%常识,25%数学和推理,17%编码,8%多语言。

退火数据

模型结构

与Llama2相比改动:

  1. GQA(grouped query attention)with 8 key-value heads。提高推理速度和减少缓存。
  2. 128K字典。
  3. RoFE 频率参数提高到50万,支持长上下文。
    Scaling Laws缩放法则

高效训练

16K H100 GPU
4D并行包含tensor并行,pipeline并行,context并行,数据并行。
可靠性和运营
每天至少一次训练中断

训练方案

预训练分为三个阶段,1初始化预训练。2.长上下文预训练。3.退火。

初始化预训练

AdamW
base_lr 8x10-5
a linear warm up of 8,000 steps
a cosine learning rate schedule decaying to 8x10-7 over 1,200,000 steps
早期小batchsize提高稳定性,后面改用大batch提高效率

长上下文预训练

8K到128K 分为六个阶段逐步进行

退火

后40M数据训练时,lr线性减到0,并对高质量数据上采样

Post-Training

modeling

先用前面预训练好的checkpoint和偏好数据训练reward model
再SFT预训练好模型
DPO做进一步调整

聊天对话格式

奖励模型

SFT

DPO

对比PPO发现,DPO需要的计算更少且性能更好

模型平均Model Averaging

最后,对每个RM、SFT或者DPO模型平均。

迭代轮次Iterative Rounds

上述进行6轮,每轮都从新模型中采样合成的数据。

后处理数据Post-training Data

偏好数据

SFT数据

Data Processing and Quality Control

使用基于模型的技术来删除低质量训练样本

  1. 主题分类,粗和细
  2. 质量评分
  3. 难度评分
  4. 重复语义删除。RoBERT聚类。

Capabilities能力

代码,多语言,数据推理,长上下文,工具使用,事实性Factuality,操纵性

  1. 代码。通过培训代码专家(a code expert),生成合成SFT数据,通过系统提示改进格式和创建过滤器来删除不良样本。
  2. 多语言。
  3. 推理。推理是执行多步步骤计算并得到正确答案的能力。
  4. 长上下文。SFT中必须调整方案(recipe)去平衡短和长上下文能力。人类标注很困难,主要依靠合成数据。最终观察到长上下文0.1%和原始短上下文数据混合可以优惠短、长上下文性能。
  5. 工具使用。单步工具()和多步工具(ReAct)。
  6. 事实性。训练后让模型知道它知道什么。开发了一种知识探索技术(a knowledge probing technique)。
  7. 操作性。相应长度,格式,语气和角色/个性等。

结果

评估预训练模型和后训练模型以及安全性。

预训练模型

基准(Standard Benchmarks)

评估类别:1.常识推理。2知识。3.阅读理解。4.数据、推理和问题解决。5.长上下文。6.代码。7.对抗评价。8.综合评价。

模型鲁棒性

对抗性基准

污染性分析(Contamination Analysis)

后训练模型

常识和指令跟随基准(General Knowledge and Instruction-Following Benchmarks)

MMLU和MMLU-Pro
IFEval

能力考试

编码基准

使用pass@N指标
HumanEval,MBPP

多语言基准

数据和推理基准

长上下文基准

工具使用表现

评测集
人类评价,使用人工评估来测试模型的工具使用能力,重点是代码执行。

人类评估

人工打分

安全性

评估llama3以安全和负责人方式生成内容的能力,同时最大限度提供有用信息。

推理(Inference)

管道并行

FP8量化

视觉实验

语音实验(Speech Experiments)

相关工作

结论

标签:SFT,训练,模型,Llama3,技术,文档,上下文,数据,适配器
From: https://www.cnblogs.com/dingz/p/18382386

相关文章

  • SRE 必备知识 - Kafka 探秘之零拷贝技术
    如果你了解过Kafka,那么它用到的一个性能优化技术可能会引起你的注意--操作系统的零拷贝(zero-copy)优化。零拷贝操作可以避免对数据的非必要拷贝,当然,并非是说完全没有拷贝。在Kafka的场景下,操作系统可以从pagecache拷贝数据到socketbuffer,直接绕过Kafkabroker这个......
  • 基于SpringBoot+Vue影城管理系统的设计和实现(源码+文档+部署讲解)
    博主介绍:全网粉丝10W+,CSDN博客专家、全栈领域优质创作者,3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型。研究方向:SpringBoot、Vue.JS、MyBatisPlus、Redis、SpringSecurity、MySQL、小程序、Android、Uniapp等。博主说明:本文项目编号......
  • 基于SpringBoot+Vue服装商城系统的设计和实现(源码+文档+部署讲解)
    博主介绍:全网粉丝10W+,CSDN博客专家、全栈领域优质创作者,3年JAVA全栈开发经验,专注JAVA技术、系统定制、远程指导,致力于企业数字化转型。研究方向:SpringBoot、Vue.JS、MyBatisPlus、Redis、SpringSecurity、MySQL、小程序、Android、Uniapp等。博主说明:本文项目编号......
  • Apache SeaTunnel技术架构演进及其在AI领域的应用
    随着数据集成需求的增长,ApacheSeaTunnel作为新一代的数据同步引擎,不仅在技术架构上不断演进,也在AI领域展现出其独特的应用价值。在CommunityOverCodeAsia2024大会上,ApacheSeaTunnelPMCChair高俊深入探讨SeaTunnel的技术演进路径,分析其在AI领域的应用案例,并展望未来的发展......
  • 地下水环境模拟:GMS技术应用与案例分析
    本文主要是地下水数值模拟软件GMS操作内容,强调三维地质结构建模、水文地质模型概化、边界条件设定、参数反演和模型校核等关键环节。通过对案例模型的实操强化,掌握地下水数值模拟软件GMS的全过程实际操作技术的基本技能,而且可以深刻理解模拟过程中的关键环节,以解决实际问题......
  • 西安电子科技大学2021级计算机科学与技术专业重要成绩排名参考
    前言此成绩排名匿名覆盖所有计算机专业同学,从全部必修成绩导出保研课程,不保证与教务处开局排名一致,但总体趋势不变;非官方性仅供参考,对个别排名变动性不负任何责任!如果你觉得此种匿名行为还是有所冒犯,请直接划过本页面!分享目的据了解这是第一份学长流出给学弟学妹参考的成......
  • 3D轻量化新利器!Archicad采用HOOPS技术,提升BIM应用竞赛力
    行业:建筑行业挑战:如何实际发现不同软件之间的数据格式的协同与转换?如何提供高级软件的性能和轻量化渲染效果?如何增加新的功能和扩展性?解决方案:HOOPSExchange为其解决3D模型格式转换问题,HOOPSVisualize与HOOPSCommunicator的应用,为其解决可视化和Web端3D模型轻量化问题。......
  • 国产游戏技术:创新驱动下的全球影响力
    国产游戏技术能否引领全球?前言技术亮点:国产游戏的创新之路面临的挑战:技术创新与市场适应发展机遇:拥抱新技术,拓展国际市场IT技术创新:推动行业发展的新引擎人才需求:技术人才的紧缺与机遇结语:国产游戏的全球影响力前言  近年来,国产游戏行业蓬勃发展,技术水平不断提升,多......
  • 【万字文档+源码】基于springboot+vue的精品水果线上销售网站-可用于毕设-课程设计-练
    博主简介:......
  • java一键生成数据库说明文档html格式
    要验收项目了,要写数据库文档,一大堆表太费劲了,直接生成一个吧,本来想用个别人的轮子,网上看了几个,感觉效果不怎么好,自己动手写一个吧。抽空再把字典表补充进去就OK了先看效果:目录快速导航生成效果关键代码try{ StringprefixTables="sys_monitor_db_ha......