模型概述
模型特點
模型能力
使用案例
🚀 MaziyarPanahi/Meta-Llama-3-70B-Instruct-GGUF
本項目提供基於meta-llama/Meta-Llama-3-70B-Instruct模型的GGUF和量化模型,旨在為用戶提供高效、便捷的大語言模型使用體驗。
🚀 快速開始
模型下載
你可以按需下載所需的量化模型,而無需克隆整個倉庫,示例命令如下:
huggingface-cli download MaziyarPanahi/Meta-Llama-3-70B-Instruct-GGUF --local-dir . --include '*Q2_K*gguf'
加載GGUF模型
你必須
遵循Llama-3提供的提示模板:
./llama.cpp/main -m Meta-Llama-3-70B-Instruct.Q2_K.gguf -r '<|eot_id|>' --in-prefix "\n<|start_header_id|>user<|end_header_id|>\n\n" --in-suffix "<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n" -p "<|begin_of_text|><|start_header_id|>system<|end_header_id|>\n\nYou are a helpful, smart, kind, and efficient AI assistant. You always fulfill the user's requests to the best of your ability.<|eot_id|>\n<|start_header_id|>user<|end_header_id|>\n\nHi! How are you?<|eot_id|>\n<|start_header_id|>assistant<|end_header_id|>\n\n" -n 1024
✨ 主要特性
模型詳情
- 開發者:Meta
- 模型變體:Llama 3有8B和70B參數兩種大小,包含預訓練和指令微調兩種變體。
- 輸入輸出:模型僅接受文本輸入,輸出為文本和代碼。
- 模型架構:Llama 3是一種自迴歸語言模型,採用優化的Transformer架構。微調版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF)來符合人類對有用性和安全性的偏好。
屬性 | 詳情 |
---|---|
模型類型 | Llama 3家族大語言模型 |
訓練數據 | 公開可用的在線數據的新組合 |
發佈日期 | 2024年4月18日 |
狀態 | 基於離線數據集訓練的靜態模型,未來將根據社區反饋改進模型安全性併發布微調版本 |
許可證 | 自定義商業許可證,詳情見https://llama.meta.com/llama3/license |
預期用途
- 預期用例:Llama 3旨在用於英語的商業和研究用途。指令微調模型適用於類似助手的聊天場景,而預訓練模型可用於各種自然語言生成任務。
- 超出範圍的使用:禁止以任何違反適用法律法規(包括貿易合規法律)的方式使用。禁止以違反可接受使用政策和Llama 3社區許可證的任何其他方式使用。禁止在英語以外的語言中使用。
⚠️ 重要提示
開發者可以在遵守Llama 3社區許可證和可接受使用政策的前提下,對Llama 3模型進行微調以支持英語以外的語言。
📦 安裝指南
本倉庫包含Meta-Llama-3-70B-Instruct的兩個版本,分別用於與Transformers庫和原始llama3
代碼庫配合使用。
使用Transformers庫
以下是使用Transformers庫的示例代碼:
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3-70B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device="cuda",
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
prompt = pipeline.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = pipeline(
prompt,
max_new_tokens=256,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
print(outputs[0]["generated_text"][len(prompt):])
使用原始llama3
代碼庫
請遵循倉庫中的說明。
使用huggingface-cli
下載原始檢查點的示例命令如下:
huggingface-cli download meta-llama/Meta-Llama-3-70B-Instruct --include "original/*" --local-dir Meta-Llama-3-70B-Instruct
對於Hugging Face支持,建議使用Transformers或TGI,但類似的命令也適用。
💻 使用示例
基礎用法
使用Transformers庫進行文本生成的基礎示例:
import transformers
import torch
model_id = "meta-llama/Meta-Llama-3-70B-Instruct"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device="cuda",
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
prompt = pipeline.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = pipeline(
prompt,
max_new_tokens=256,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9,
)
print(outputs[0]["generated_text"][len(prompt):])
高級用法
暫無高級用法示例,可根據具體需求對模型進行微調或結合其他技術實現更復雜的應用。
📚 詳細文檔
硬件和軟件
- 訓練因素:使用自定義訓練庫、Meta的研究超級集群和生產集群進行預訓練。微調、註釋和評估也在第三方雲計算上進行。
- 碳足跡:預訓練在H100 - 80GB類型的硬件上累計使用了770萬個GPU小時的計算資源(TDP為700W)。估計總排放量為2290 tCO2eq,全部由Meta的可持續發展計劃抵消。
模型 | 時間(GPU小時) | 功耗(W) | 碳排放(tCO2eq) |
---|---|---|---|
Llama 3 8B | 130萬 | 700 | 390 |
Llama 3 70B | 640萬 | 700 | 1900 |
總計 | 770萬 | - | 2290 |
訓練數據
- 概述:Llama 3在超過15萬億個來自公開可用來源的標記數據上進行預訓練。微調數據包括公開可用的指令數據集以及超過1000萬個經過人工註釋的示例。預訓練和微調數據集均不包含Meta用戶數據。
- 數據時效性:預訓練數據的截止時間分別為2023年3月(7B模型)和2023年12月(70B模型)。
基準測試
在標準自動基準測試中,Llama 3模型的表現如下:
基礎預訓練模型
類別 | 基準測試 | Llama 3 8B | Llama2 7B | Llama2 13B | Llama 3 70B | Llama2 70B |
---|---|---|---|---|---|---|
通用 | MMLU (5-shot) | 66.6 | 45.7 | 53.8 | 79.5 | 69.7 |
通用 | AGIEval English (3 - 5 shot) | 45.9 | 28.8 | 38.7 | 63.0 | 54.8 |
通用 | CommonSenseQA (7-shot) | 72.6 | 57.6 | 67.6 | 83.8 | 78.7 |
通用 | Winogrande (5-shot) | 76.1 | 73.3 | 75.4 | 83.1 | 81.8 |
通用 | BIG-Bench Hard (3-shot, CoT) | 61.1 | 38.1 | 47.0 | 81.3 | 65.7 |
通用 | ARC-Challenge (25-shot) | 78.6 | 53.7 | 67.6 | 93.0 | 85.3 |
知識推理 | TriviaQA-Wiki (5-shot) | 78.5 | 72.1 | 79.6 | 89.7 | 87.5 |
閱讀理解 | SQuAD (1-shot) | 76.4 | 72.2 | 72.1 | 85.6 | 82.6 |
閱讀理解 | QuAC (1-shot, F1) | 44.4 | 39.6 | 44.9 | 51.1 | 49.4 |
閱讀理解 | BoolQ (0-shot) | 75.7 | 65.5 | 66.9 | 79.0 | 73.1 |
閱讀理解 | DROP (3-shot, F1) | 58.4 | 37.9 | 49.8 | 79.7 | 70.2 |
指令微調模型
基準測試 | Llama 3 8B | Llama 2 7B | Llama 2 13B | Llama 3 70B | Llama 2 70B |
---|---|---|---|---|---|
MMLU (5-shot) | 68.4 | 34.1 | 47.8 | 82.0 | 52.9 |
GPQA (0-shot) | 34.2 | 21.7 | 22.3 | 39.5 | 21.0 |
HumanEval (0-shot) | 62.2 | 7.9 | 14.0 | 81.7 | 25.6 |
GSM-8K (8-shot, CoT) | 79.6 | 25.7 | 77.4 | 93.0 | 57.5 |
MATH (4-shot, CoT) | 30.0 | 3.8 | 6.7 | 50.4 | 11.6 |
責任與安全
- 負責任的AI開發:致力於負責任的AI開發,採取一系列措施限制濫用和危害,並支持開源社區。
- 安全措施:更新了負責任使用指南,提供了包括Meta Llama Guard 2和Code Shield在內的安全保障工具。
- Llama 3-Instruct模型:在模型有用性和模型對齊之間可能存在一定的權衡,開發者應根據具體用例和受眾權衡對齊和有用性的好處。對指令微調模型進行了廣泛的紅隊測試、對抗性評估和安全緩解技術,以降低殘留風險。
安全評估
- CBRNE(化學、生物、放射、核和高當量爆炸物):在模型訓練期間進行迭代測試,評估與CBRNE威脅和其他對抗性風險相關的響應安全性;邀請外部CBRNE專家進行提升測試,評估模型準確提供專家知識並減少潛在CBRNE濫用障礙的能力。
- 網絡安全:使用Meta的網絡安全評估套件CyberSecEval對Llama 3進行評估,結果表明Llama 3在不安全編碼和網絡攻擊輔助方面的表現與具有同等編碼能力的模型相當或更安全。
- 兒童安全:由專家團隊進行兒童安全風險評估,通過微調告知必要的風險緩解措施。在Llama 3模型開發過程中,利用專家紅隊測試擴展評估基準的覆蓋範圍。
社區
積極參與開源聯盟,包括AI聯盟、AI合作組織和MLCommons,為安全標準化和透明度做出貢獻。鼓勵社區採用MLCommons概念驗證評估等分類法,促進安全和內容評估的協作和透明度。Purple Llama工具已開源,供社區使用,並在包括雲服務提供商在內的生態系統合作伙伴中廣泛分發。鼓勵社區為Github倉庫做出貢獻。
🔧 技術細節
Llama 3是一種自迴歸語言模型,採用優化的Transformer架構。微調版本使用監督微調(SFT)和基於人類反饋的強化學習(RLHF)來符合人類對有用性和安全性的偏好。具體的技術實現細節可參考這裡。
📄 許可證
本項目使用自定義商業許可證,詳情見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



