当前位置: 首页 > ai >正文

Llama:开源的急先锋

Llama:开源的急先锋

Llama1:开放、高效的基础语言模型

Llama1使用了完全开源的数据,性能媲美GPT-3,可以在社区研究开源使用,只是不能商用。

Llama1提出的Scaling Law

业内普遍认为如果要达到同一个性能指标,训练更大大模型会更划算,因为训练的成本会降低,较大的模型会更快的收敛,但是llama不这么认为,llama认为虽然训练成本会降低,但是推理的成本会提高,推理代价会比训练代价更加重要。

Llama还建议10B的模型用200B的token训练,相同的计算预算,增加训练数据比扩大模型有效。

llama1的训练数据

Llama1使用公开渠道获取的数据
对CommonCrawl(2017-220)数据集进行了去重,去除非英文数据,使用线性模型进行质量分类过滤。书和维基百科训练了两个epoch,其他则是一个。
上下文长度为2048,2048个A100-80G GPU,训练21天。
在这里插入图片描述

注:
Common Crawl 是一个非营利性组织(501©(3)),由 Gil Elbaz 于 2007 年创立。它通过大规模分布式爬虫系统定期抓取互联网上的网页数据,并将这些数据免费提供给公众。

自 2008 年以来,Common Crawl 已积累了数十亿个网页,数据量达数十 PB。每月都会进行一次爬取

llama1的模型结构

和GPT一样使用了transformer的Decader架构,做出以下修改:

  1. 和GPT3一样将Normalization从每个子层的输出位置移动到了输入位置
  2. 将Layer Norm改为RMS Norm
  3. 采用了旋转位置编码
  4. 采用了silu激活函数,可以提高精度,计算代价较高。

二、Llama2:开放的基础的微调聊天模型

相比Llama1:Llama2更加open,它可以用于商用,训练的数据量更大,训练了ChatModel,对标chatGPT。

Llama2的训练

Llama2的训练数据比Llama1多了40%,达到了2Ttoken,训练上下文从2048增加到4096,训练了172万个GPU小时,相当于2048个GPU训练35小时。

使用10万条监督数据进行监督微调,使用了100万条人类偏好数据进行强化学习。

训练流程:
在大量文本上进行自回归的预训练–>使用监督数据进行监督微调–>使用人类偏好数据训练安全奖励模型和有用奖励模型对模型进行强化学习训练–>Llama2-chat

Llama2的模型架构

  1. 引入了GQA(分组查询注意力机制)

三、Llama3:开源的微调聊天模型

目标:做最好的开源大模型,可以和最好的商用大模型媲美。

Llama3的模型架构

字典从三万两千个token扩充到12万八千个token。扩充四倍,原来一个中文被编码成多个token,现在一个中文被编码成一个个token。提高了推理效率
采用GQA(分组查询注意力机制)
训练时的训练长度从4096扩充到8192

Llama3的训练数据

训练数据采用了15T的token的数据集,全部来自公开数据,是llama2的7倍大小,同时代码数据也多了四倍。由研究表明代码数据可以增强模型的推理能力。
数据集中有5%的高质量非英语数据,涵盖30多种语言,对数据进行了清洗过滤,由Llama2生成训练数据来帮助训练文本分类器,微调阶段处理开源数据集,还人工标注了1000万样本。

缩放定律

制定了一系列缩放定律,通过小模型表现可以在大模型训练前预测大模型的表现。

根据之前Scaling Law推算8B模型对应2000亿Token,但是Meta发现即使15万亿Token训练,性能还可以提升。

在两个定制的24k GPU集群上训练。有效训练时间超过95%,比Llama2提高了3倍。

模型训练(GPU小时)GPU训练Token
Llama1 65B1.0MA100 80G1.4万亿
Llama2 70B1.7MA100 80G2万亿
Llama3 70B7.7MH100 80G15万亿

指令微调

从Llama2-chat到Llama3-Instruct,可以看出现在的模型不仅仅是用来聊条,更多的是做指令跟随。

指令微调用到了SFT、拒绝采样、PPO、DPO
Llama2-chat到Llama3-Instruct,可以看出现在的模型不仅仅是用来聊条,更多的是做指令跟随。

指令微调用到了SFT、拒绝采样、PPO、DPO

http://www.xdnf.cn/news/6105.html

相关文章:

  • 基于springboot+vue的医院门诊管理系统
  • 南审计院考研分享会 经验总结
  • Android多媒体——媒体start流程分析(十三)
  • PinkWallet如何打通数字资产与传统金融的最后一公里
  • Vue百日学习计划Day1-3天详细计划-Gemini版
  • 计算机组成与体系结构:缓存设计概述(Cache Design Overview)
  • spring中的@MapperScan注解详解
  • 【RabbitMq】无法打开 RabbitMq 管理插件的问题
  • Python基础入门
  • 文件名是 ‪E:\20250512_191204.mp4, EV软件录屏,未保存直接关机损坏, 如何修复?
  • 机器学习入门案例:鸢尾花分类与AI辅助
  • 机器人示教操作
  • 微型PCB打样厂家选型指南
  • 全局优化搜索高次方程的解
  • C++学习之打车软件git版本控制
  • RabbitMQ 快速上手:安装配置与 HelloWorld 实践(二)
  • 【SSL证书系列】客户端如何验证https网站服务器发的证书是否由受信任的根证书签发机构签发
  • 【原创】使用阿里云存放一个临时共享的文件
  • FunASR:语音识别与合成一体化,企业级开发实战详解
  • 论MCU如何在Fatfs中使用Flash接口的方法
  • 前端面试每日三题 - Day 34
  • 白盒测试——基本路径测试法
  • copy_paste
  • 如何实现一个运动会计分系统?(C语言版)
  • 高速系统设计实例设计分析二
  • Java—类与对象(一)
  • LLM(大语言模型)部署加速方法——PagedAttention
  • c# 倒序方法
  • 【Java】 volatile 和 synchronized 的比较及使用场景
  • 【RabbitMQ】路由模式和通配符模式的具体实现