Llama-3-8B-Instruct-v0.8 项目介绍
项目背景
Llama-3-8B-Instruct-v0.8 是由 MaziyarPanahi 开发的文本生成模型,建立在 Llama-3-8B-Instruct-v0.4 模型的基础上。此模型使用了 Transformer 架构,与许多现代自然语言处理模型相似,专注于文本生成任务。它支持的应用包括自动文本生成、基于上下文的对话等。
模型量化
该模型采用了 GGUF 量化技术,能在保留主要功能的同时,提高计算效率并减少所需资源。这意味着用户可以在更低的硬件配置下运行模型,而不会显著降低性能。
排名与性能
Llama-3-8B-Instruct-v0.8 在 Open LLM Leaderboard 排行榜上排名第五,成为表现最好的 8B 级模型之一。它在多个基准测试中表现优异,包括:
- AI2 Reasoning Challenge (25-Shot):取得了 71.67 的标准化准确率。
- HellaSwag (10-Shot):取得了 87.77 的标准化准确率。
- MMLU (5-Shot):取得了 68.3 的准确率。
- TruthfulQA (0-shot):准确率达到了 63.9%。
此外,Llama-3-8B-Instruct-v0.8 在多项其他测试中也取得了显著的准确率和性能表现。
使用说明
要使用 Llama-3-8B-Instruct-v0.8 模型,用户需要在 Hugging Face 的 transformers 库中调用该模型。以下是基本使用示例:
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
from transformers import pipeline
import torch
model_id = "MaziyarPanahi/Llama-3-8B-Instruct-v0.8"
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(
model_id,
trust_remote_code=True
)
streamer = TextStreamer(tokenizer)
pipeline = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
model_kwargs={"torch_dtype": torch.bfloat16},
streamer=streamer
)
messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]
prompt = 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=512,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.95,
)
print(outputs[0]["generated_text"][len(prompt):])
以上示例展示了如何在对话系统中集成和使用此模型,并运用 ChatML 提示模板为具体应用场景生成文本。
小结
Llama-3-8B-Instruct-v0.8 是一个强大的文本生成模型,适用于多种应用场景,从复杂的推理任务到基于上下文的文本生成。它的高性能和灵活性使其成为研究和开发人员的理想选择。通过使用 Transformer 架构及其优化技术,用户可以在模型执行效率和性能之间实现良好的平衡。