language:
-
en
pipeline_tag: text-generation
tags:
-
facebook
-
meta
-
pytorch
-
llama
-
llama-3
license: llama3
new_version: meta-llama/Llama-3.1-8B-Instruct
extra_gated_prompt: >-
META LLAMA 3 社区许可协议
Meta Llama 3 版本发布日期:2024年4月18日
"协议"指本文规定的关于Llama材料使用、复制、分发和修改的条款与条件。
"文档"指Meta在https://llama.meta.com/get-started/发布的Meta Llama 3配套规范、手册和文档。
"被许可方"或"您"指达到适用法律规定的法定同意年龄,且有权代表雇主或其他实体(若您代表其签署本协议)接受本协议的个人或实体。
"Meta Llama 3"指Meta在https://llama.meta.com/llama-downloads发布的基础大语言模型及软件算法,包括机器学习模型代码、训练模型权重、推理代码、训练代码、微调代码等。
"Llama材料"指根据本协议提供的Meta专有Meta Llama 3和文档(及其任何部分)的统称。
"Meta"或"我们"指Meta Platforms爱尔兰有限公司(若您位于欧洲经济区或瑞士)或Meta Platforms公司(若您位于欧洲经济区或瑞士以外地区)。
- 许可权利与再分发
a. 权利授予。根据Meta在Llama材料中体现的知识产权或其他权利,授予您非排他性、全球性、不可转让且免版税的有限许可,以使用、复制、分发、创建衍生作品和修改Llama材料。
b. 再分发与使用
i. 若您分发Llama材料(或其衍生作品),或使用它们的产品/服务(包括其他AI模型),必须:(A)随材料提供本协议副本;(B)在相关网站、用户界面等显著位置标注"基于Meta Llama 3构建"。若用Llama材料创建/训练AI模型并分发,还需在模型名称前添加"Llama 3"。
ii. 若从被许可方获得Llama材料作为集成终端产品的一部分,则本协议第2条不适用。
iii. 必须在分发的所有Llama材料副本中包含声明文件:"Meta Llama 3根据Meta Llama 3社区许可授权,版权所有© Meta Platforms, Inc.保留所有权利。"
iv. 使用Llama材料需遵守适用法律法规(包括贸易合规法规)及《Llama材料可接受使用政策》(https://llama.meta.com/llama3/use-policy)。
v. 不得使用Llama材料或其输出来改进其他大语言模型(Meta Llama 3及其衍生作品除外)。
-
附加商业条款。若在版本发布日,被许可方(或其关联公司)产品服务的月活跃用户在之前日历月超过7亿,必须向Meta申请商业许可,否则无权行使本协议下的权利。
-
免责声明。除非法律要求,Llama材料及其输出按"原样"提供,Meta放弃所有明示或默示保证,包括适销性、特定用途适用性等。您需自行承担使用风险。
-
责任限制。Meta及其关联公司对因本协议产生的任何间接、特殊、后果性损害概不负责,即使已被告知可能性。
-
知识产权
a. 本协议未授予商标权。使用对方商标需符合合理惯例或第5(a)条规定。Meta授予您使用"Llama 3"标识的有限许可,须遵守Meta品牌指南。
b. 除Meta对Llama材料的所有权外,您对自行创建的衍生作品拥有所有权。
c. 若您对Meta提起知识产权诉讼,则本协议授予的许可自动终止,且您需赔偿Meta因此产生的第三方索赔。
-
期限与终止。协议自您接受或访问材料时生效,直至终止。违约时Meta可终止协议。终止后您应停止使用并删除材料。第3、4、7条在终止后仍然有效。
-
适用法律。本协议受加州法律管辖,排除冲突法原则。《联合国国际货物销售合同公约》不适用。争议由加州法院专属管辖。
Meta Llama 3可接受使用政策
Meta致力于促进Llama 3的安全公平使用。使用即表示同意本政策(最新版见https://llama.meta.com/llama3/use-policy)。
禁止用途
不得用于:
- 违法或侵犯他人权利,包括:
- 暴力恐怖活动、儿童剥削、人口贩卖、向未成年人分发非法信息等
- 骚扰、歧视行为
- 无执照的专业实践
- 非法处理敏感个人信息
- 侵犯第三方权利
- 创建恶意软件
- 可能造成人身伤害的活动,包括:
- 欺骗行为,包括:
- 生成虚假信息、垃圾内容、冒充他人、伪造人工生成内容
- 未向终端用户披露AI系统已知风险
违规举报渠道:
* 模型问题:https://github.com/meta-llama/llama3
* 风险输出:developers.facebook.com/llama_output_feedback
* 安全漏洞:facebook.com/whitehat/info
* 政策违规:LlamaUseReport@meta.com
extra_gated_fields:
名: text
姓: text
出生日期: date_picker
国家: country
所属机构: text
地理位置: ip_location
点击提交即表示接受许可条款,并同意根据Meta隐私政策处理所提供信息: checkbox
extra_gated_description: 所提供信息将根据Meta隐私政策收集、存储和处理。
extra_gated_button_content: 提交
widget:
- example_title: 问候
messages:
- role: user
content: 你好我叫朱利安!最近怎么样?
- example_title: 冬季假期
messages:
- role: system
content: 你是一个乐于助人的诚实助手。请简洁真实地回答。
- role: user
content: 能推荐个适合冬季度假的地方吗?
- example_title: 编程助手
messages:
- role: system
content: 你是一个专业的编程助手。请简洁真实地回答。
- role: user
content: 写个计算第n个斐波那契数的函数。
inference:
parameters:
max_new_tokens: 300
stop:
- <|end_of_text|>
- <|eot_id|>
Meta-Llama-3-8B-Instruct GGUF模型
IQ-DynamicGate超低位量化(1-2比特)
我们最新的量化方法为超低位模型(1-2比特)引入精度自适应量化,在Llama-3-8B上实现了基准验证的改进。该方法采用分层策略,在保持极致内存效率的同时保障精度。
基准测试环境
所有测试基于Llama-3-8B-Instruct:
- 标准困惑度评估流程
- 2048token上下文窗口
- 所有量化版本使用相同提示集
方法
- 动态精度分配:
- 首尾25%层 → IQ4_XS(选定层)
- 中间50% → IQ2_XXS/IQ3_S(提升效率)
- 关键组件保护:
- 嵌入/输出层使用Q5_K
- 相比标准1-2bit减少38%误差传播
量化性能对比(Llama-3-8B)
量化类型 |
标准PPL |
DynamicGate PPL |
ΔPPL |
标准大小 |
DG大小 |
Δ大小 |
标准速度 |
DG速度 |
IQ2_XXS |
11.30 |
9.84 |
-12.9% |
2.5G |
2.6G |
+0.1G |
234s |
246s |
IQ2_XS |
11.72 |
11.63 |
-0.8% |
2.7G |
2.8G |
+0.1G |
242s |
246s |
IQ2_S |
14.31 |
9.02 |
-36.9% |
2.7G |
2.9G |
+0.2G |
238s |
244s |
IQ1_M |
27.46 |
15.41 |
-43.9% |
2.2G |
2.5G |
+0.3G |
206s |
212s |
IQ1_S |
53.07 |
32.00 |
-39.7% |
2.1G |
2.4G |
+0.3G |
184s |
209s |
说明:
- PPL = 困惑度(越低越好)
- ΔPPL = 相比标准量化的变化率
- 速度 = 推理时间(CPU avx2,2048token上下文)
- 大小差异反映混合量化开销
关键改进:
- 🔥 IQ1_M 困惑度降低43.9%(27.46 → 15.41)
- 🚀 IQ2_S 在仅增加0.2GB情况下降低36.9%困惑度
- ⚡ IQ1_S 在1比特量化下仍保持39.7%更高精度
权衡点:
- 所有变体均有小幅体积增加(0.1-0.3GB)
- 推理速度保持相近(<5%差异)
适用场景
📌 GPU显存优化
✔ 内存受限部署
✔ 可容忍1-2比特误差的CPU和边缘设备
✔ 超低位量化研究
模型格式选择指南
根据硬件能力和内存限制选择合适的模型格式。
BF16(脑浮点16)– 支持BF16加速时使用
- 专为快速计算设计的16位浮点格式
- 提供类似FP32的动态范围但内存占用更低
- 推荐支持BF16加速的硬件(检查设备规格)
- 相比FP32减少内存占用的同时适合高性能推理
📌 使用场景:
✔ 硬件支持BF16(如新款GPU/TPU)
✔ 需要更高精度同时节省内存
✔ 计划重新量化模型
📌 避免场景:
❌ 硬件不支持BF16(可能回退到FP32导致减速)
❌ 需要兼容缺乏BF16优化的老旧设备
F16(浮点16)– 比BF16支持更广泛
- 16位浮点格式,精度高但数值范围小于BF16
- 支持大多数FP16加速设备(包括多数GPU和部分CPU)
- 数值精度略低于BF16但通常满足推理需求
📌 使用场景:
✔ 硬件支持FP16但不支持BF16
✔ 需要速度、内存和精度平衡
✔ 在GPU等优化FP16计算的设备上运行
📌 避免场景:
❌ 设备缺乏原生FP16支持(可能低于预期速度)
❌ 存在内存限制
量化模型(Q4_K, Q6_K, Q8等) – 适用于CPU和低显存推理
量化在尽可能保持精度的同时减小模型体积和内存占用。
- 低位模型(Q4_K) → 最小内存占用,精度较低
- 高位模型(Q6_K, Q8_0) → 更好精度,需要更多内存
📌 使用场景:
✔ 在CPU上运行优化模型
✔ 设备显存不足无法加载全精度模型
✔ 需要减少内存占用同时保持合理精度
📌 避免场景:
❌ 需要最高精度(全精度模型更优)
❌ 硬件有足够显存支持更高精度格式(BF16/F16)
超低位量化(IQ3_XS, IQ3_S, IQ3_M, Q4_K, Q4_0)
这些模型针对极致内存效率优化,适合低功耗设备或内存是关键约束的大规模部署。
-
IQ3_XS:3比特超低位量化,极致内存效率
- 适用:超低内存设备(连Q4_K都过大时)
- 代价:相比高位量化精度更低
-
IQ3_S:小分块实现最大内存效率
-
IQ3_M:中等分块,精度优于IQ3_S