模型简介
模型特点
模型能力
使用案例
🚀 Meta-Llama-3-8B-Instruct GGUF模型
Meta-Llama-3-8B-Instruct GGUF模型是Meta推出的大语言模型,具有多种量化版本,可根据不同的硬件条件和使用场景进行选择。该模型在多个基准测试中表现出色,适用于商业和研究用途。
🚀 快速开始
模型选择
根据你的硬件能力和内存限制,选择合适的模型格式:
- BF16:适用于支持BF16加速的硬件,具有较高的计算速度和精度。
- F16:更广泛支持的16位浮点格式,在大多数支持FP16加速的设备上可用。
- 量化模型:如Q4_K、Q6_K、Q8等,可减少模型大小和内存使用,同时保持一定的准确性。
- 极低比特量化模型:如IQ3_XS、IQ3_S等,优化了极端内存效率,适用于低功耗设备或大规模部署。
使用示例
使用Transformers库
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
terminators = [
pipeline.tokenizer.eos_token_id,
pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = pipeline(
messages,
max_new_tokens=256,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
print(outputs[0]["generated_text"][-1])
使用Transformers AutoModelForCausalLM
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "meta-llama/Meta-Llama-3-8B-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = model.generate(
input_ids,
max_new_tokens=256,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
response = outputs[0][input_ids.shape[-1]:]
print(tokenizer.decode(response, skip_special_tokens=True))
✨ 主要特性
超低比特量化
引入了精确自适应量化方法,用于超低比特模型(1 - 2比特),在Llama-3-8B上有显著的性能提升。通过层特定策略,在保持极端内存效率的同时保留准确性。
多种模型格式
提供BF16、F16、量化模型等多种格式,满足不同硬件和内存需求。
良好的性能表现
在多个基准测试中表现出色,优于许多开源聊天模型。
安全性和可靠性
进行了广泛的红队测试和对抗性评估,实施了安全缓解技术,降低了残留风险。同时,改进了微调过程,减少了模型错误拒绝回答提示的可能性。
📦 安装指南
本仓库包含Meta-Llama-3-8B-Instruct的两个版本,可用于transformers库和原始llama3
代码库。
使用transformers库
确保你已经安装了transformers
和torch
库:
pip install transformers torch
使用原始llama3
代码库
请按照仓库中的说明进行操作。
💻 使用示例
基础用法
上述快速开始部分的代码示例展示了如何使用transformers
库进行对话推理。
高级用法
你可以根据自己的需求调整模型的参数,如max_new_tokens
、temperature
、top_p
等,以获得不同的生成效果。
📚 详细文档
模型详情
- 开发者:Meta
- 变体:Llama 3有8B和70B参数两种大小,包括预训练和指令微调版本。
- 输入:仅接受文本输入。
- 输出:生成文本和代码。
- 模型架构:自回归语言模型,使用优化的Transformer架构。微调版本使用监督微调(SFT)和基于人类反馈的强化学习(RLHF)来与人类偏好对齐。
预期用途
- 预期用例:用于英语的商业和研究用途。指令微调模型适用于类似助手的聊天,预训练模型可用于各种自然语言生成任务。
- 超出范围:违反适用法律法规(包括贸易合规法律)的使用;违反可接受使用政策和Llama 3社区许可证的使用;非英语语言的使用。
硬件和软件
- 训练因素:使用自定义训练库、Meta的研究超级集群和生产集群进行预训练。微调、注释和评估也在第三方云计算上进行。
- 碳足迹:预训练使用了770万个GPU小时的H100 - 80GB硬件计算,估计总排放量为2290 tCO2eq,全部由Meta的可持续发展计划抵消。
训练数据
- 概述:Llama 3在超过15万亿个公开可用的令牌数据上进行预训练。微调数据包括公开可用的指令数据集以及超过1000万个手动注释的示例。
- 数据新鲜度:8B模型的预训练数据截止到2023年3月,70B模型截止到2023年12月。
基准测试
在标准自动基准测试中,Llama 3模型表现出色,优于许多Llama 2模型。具体结果请参考文档中的表格。
责任与安全
- 负责任的AI开发:致力于负责任的AI开发,采取了一系列措施来限制滥用和危害,并支持开源社区。
- 安全工具:提供了Meta Llama Guard 2和Code Shield等安全工具,帮助开发者实现模型和系统级别的安全。
- 安全评估:对模型在CBRNE、网络安全、儿童安全等方面进行了评估,并采取了相应的安全措施。
伦理考虑和限制
虽然Llama 3的核心价值观是开放、包容和有用,但作为一种新技术,它仍然存在一些风险。开发者在部署应用之前,应进行针对特定应用的安全测试和调整,并参考负责任使用指南。
🔧 技术细节
量化方法
- 动态精度分配:前/后25%的层使用IQ4_XS(选定层),中间50%使用IQ2_XXS/IQ3_S(提高效率)。
- 关键组件保护:嵌入层/输出层使用Q5_K,与标准1 - 2比特量化相比,减少了38%的误差传播。
量化性能比较
量化方式 | 标准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 |
📄 许可证
本模型使用Llama 3社区许可证,具体条款请参考https://llama.meta.com/llama3/license。
引用说明
@article{llama3modelcard,
title={Llama 3 Model Card},
author={AI@Meta},
year={2024},
url = {https://github.com/meta-llama/llama3/blob/main/MODEL_CARD.md}
}
贡献者
Aaditya Singh; Aaron Grattafiori; Abhimanyu Dubey; Abhinav Jauhri; Abhinav Pandey; Abhishek Kadian; Adam Kelsey; Adi Gangidi; Ahmad Al-Dahle; Ahuva Goldstand; Aiesha Letman; Ajay Menon; Akhil Mathur; Alan Schelten; Alex Vaughan; Amy Yang; Andrei Lupu; Andres Alvarado; Andrew Gallagher; Andrew Gu; Andrew Ho; Andrew Poulton; Andrew Ryan; Angela Fan; Ankit Ramchandani; Anthony Hartshorn; Archi Mitra; Archie Sravankumar; Artem Korenev; Arun Rao; Ashley Gabriel; Ashwin Bharambe; Assaf Eisenman; Aston Zhang; Aurelien Rodriguez; Austen Gregerson; Ava Spataru; Baptiste Roziere; Ben Maurer; Benjamin Leonhardi; Bernie Huang; Bhargavi Paranjape; Bing Liu; Binh Tang; Bobbie Chern; Brani Stojkovic; Brian Fuller; Catalina Mejia Arenas; Chao Zhou; Charlotte Caucheteux; Chaya Nayak; Ching-Hsiang Chu; Chloe Bi; Chris Cai; Chris Cox; Chris Marra; Chris McConnell; Christian Keller; Christoph Feichtenhofer; Christophe Touret; Chunyang Wu; Corinne Wong; Cristian Canton Ferrer; Damien Allonsius; Daniel Kreymer; Daniel Haziza; Daniel Li; Danielle Pintz; Danny Livshits; Danny Wyatt; David Adkins; David Esiobu; David Xu; Davide Testuggine; Delia David; Devi Parikh; Dhruv Choudhary; Dhruv Mahajan; Diana Liskovich; Diego Garcia-Olano; Diego Perino; Dieuwke Hupkes; Dingkang Wang; Dustin Holland; Egor Lakomkin; Elina Lobanova; Xiaoqing Ellen Tan; Emily Dinan; Eric Smith; Erik Brinkman; Esteban Arcaute; Filip Radenovic; Firat Ozgenel; Francesco Caggioni; Frank Seide; Frank Zhang; Gabriel Synnaeve; Gabriella Schwarz; Gabrielle Lee; Gada Badeer; Georgia Anderson; Graeme Nail; Gregoire Mialon; Guan Pang; Guillem Cucurell; Hailey Nguyen; Hannah Korevaar; Hannah Wang; Haroun Habeeb; Harrison Rudolph; Henry Aspegren; Hu Xu; Hugo Touvron; Iga Kozlowska; Igor Molybog; Igor Tufanov; Iliyan Zarov; Imanol Arrieta Ibarra; Irina-Elena Veliche; Isabel Kloumann; Ishan Misra; Ivan Evtimov; Jacob Xu; Jade Copet; Jake Weissman; Jan Geffert; Jana Vranes; Japhet Asher; Jason Park; Jay Mahadeokar; Jean-Baptiste Gaya; Jeet Shah; Jelmer van der Linde; Jennifer Chan; Jenny Hong; Jenya Lee; Jeremy Fu; Jeremy Teboul; Jianfeng Chi; Jianyu Huang; Jie Wang; Jiecao Yu; Joanna Bitton; Joe Spisak; Joelle Pineau; Jon Carvill; Jongsoo Park; Joseph Rocca; Joshua Johnstun; Junteng Jia; Kalyan Vasuden Alwala; Kam Hou U; Kate Plawiak; Kartikeya Upasani; Kaushik Veeraraghavan; Ke Li; Kenneth Heafield; Kevin Stone; Khalid El-Arini; Krithika Iyer; Kshitiz Malik; Kuenley Chiu; Kunal Bhalla; Kyle Huang; Lakshya Garg; Lauren Rantala-Yeary; Laurens van der Maaten; Lawrence Chen; Leandro Silva; Lee Bell; Lei Zhang; Liang Tan; Louis Martin; Lovish Madaan; Luca Wehrstedt; Lukas Blecher; Luke de Oliveira; Madeline Muzzi; Madian Khabsa; Manav Avlani; Mannat Singh; Manohar Paluri; Mark Zuckerberg; Marcin Kardas; Martynas Mankus; Mathew Oldham; Mathieu Rita; Matthew Lennie; Maya Pavlova; Meghan Keneally; Melanie Kambadur; Mihir Patel; Mikayel Samvelyan; Mike Clark; Mike Lewis; Min Si; Mitesh Kumar Singh; Mo Metanat; Mona Hassan; Naman Goyal; Narjes Torabi; Nicolas Usunier; Nikolay Bashlykov; Nikolay Bogoychev; Niladri Chatterji; Ning Dong; Oliver Aobo Yang; Olivier Duchenne; Onur Celebi; Parth Parekh; Patrick Alrassy; Paul Saab; Pavan Balaji; Pedro Rittner; Pengchuan Zhang; Pengwei Li; Petar Vasic; Peter Weng; Polina Zvyagina; Prajjwal Bhargava; Pratik Dubal; Praveen Krishnan; Punit Singh Koura; Qing He; Rachel Rodriguez; Ragavan Srinivasan; Rahul Mitra; Ramon Calderer; Raymond Li; Robert Stojnic; Roberta Raileanu; Robin Battey; Rocky Wang; Rohit Girdhar; Rohit Patel; Romain Sauvestre; Ronnie Polidoro; Roshan Sumbaly; Ross Taylor; Ruan Silva; Rui Hou; Rui Wang; Russ Howes; Ruty Rinott; Saghar Hosseini; Sai Jayesh Bondu; Samyak Datta; Sanjay Singh; Sara Chugh; Sargun Dhillon; Satadru Pan; Sean Bell; Sergey Edunov; Shaoliang Nie; Sharan Narang; Sharath Raparthy; Shaun Lindsay; Sheng Feng; Sheng Shen; Shenghao Lin; Shiva Shankar; Shruti Bhosale; Shun Zhang; Simon Vandenhende; Sinong Wang; Seohyun Sonia Kim; Soumya Batra; Sten Sootla; Steve Kehoe; Suchin Gururangan; Sumit Gupta; Sunny Virk; Sydney Borodinsky; Tamar Glaser; Tamar Herman; Tamara Best; Tara Fowler; Thomas Georgiou; Thomas Scialom; Tianhe Li; Todor Mihaylov; Tong Xiao; Ujjwal Karn; Vedanuj Goswami; Vibhor Gupta; Vignesh Ramanathan; Viktor Kerkez; Vinay Satish Kumar; Vincent Gonguet; Vish Vogeti; Vlad Poenaru; Vlad Tiberiu Mihailescu; Vladan Petrovic; Vladimir Ivanov; Wei Li; Weiwei Chu; Wenhan Xiong; Wenyin Fu; Wes Bouaziz; Whitney Meers; Will Constable; Xavier Martinet; Xiaojian Wu; Xinbo Gao; Xinfeng Xie; Xuchao Jia; Yaelle Goldschlag; Yann LeCun; Yashesh Gaur; Yasmine Babaei; Ye Qi; Yenda Li; Yi Wen; Yiwen Song; Youngjin Nam; Yuchen Hao; Yuchen Zhang; Yun Wang; Yuning Mao; Yuzi He; Zacharie Delpierre Coudert; Zachary DeVito; Zahra Hankir; Zhaoduo Wen; Zheng Yan; Zhengxing Chen; Zhenyu Yang; Zoe Papakipos
注意事项
⚠️ 重要提示
使用本模型时,请遵守适用法律法规和可接受使用政策。同时,由于模型可能存在一定的局限性,在部署应用之前,请进行充分的安全测试和调整。
💡 使用建议
根据自己的硬件和内存情况选择合适的模型格式。在使用过程中,可以根据需要调整模型的参数,以获得更好的生成效果。



