🚀 Higgs-Llama-3-70B
Higgs-Llama-3-70B是基于meta-llama/Meta-Llama-3-70B进行后续训练得到的模型。它专门针对角色扮演进行了调优,同时在通用领域的指令遵循和推理方面也具有竞争力。
我们使用内部的指令遵循和聊天数据集进行了有监督的微调。之后,我们通过一个半自动化的流程构建了偏好对,该流程依赖于人工标注人员和我们的私有大语言模型。我们进行了迭代式的偏好优化,以使模型对齐。在对齐过程中,我们采用了一种特殊的策略,使模型的行为与系统消息保持一致。与其他指令模型相比,Higgs模型能更紧密地遵循其角色设定。
更多信息请查看我们的发布博客。
✨ 主要特性
- 基于Meta-Llama-3-70B进行后续训练。
- 针对角色扮演进行了专门调优。
- 在通用领域的指令遵循和推理方面表现出色。
- 采用特殊策略使模型行为与系统消息对齐。
📚 详细文档
评估
所有的基准测试最终都会导致过拟合,大语言模型的基准测试也不例外。在数据上进行训练,特别是对基准测试有益的数据,通常不会提高(甚至会降低)角色扮演的性能。我们努力将基准测试数据(包括其训练示例)排除在微调数据之外。
我们重点展示了在两个新的、具有挑战性的基准测试上的结果:MMLU-Pro和Arena-Hard。MMLU-Pro是对流行的MMLU基准测试的扩展。我们认为,由于它是最近才发布的(在我们的模型完成训练之后发布),其他已发布的模型对它的过拟合情况也会较少。
MMLU-Pro
模型 |
MMLU-Pro |
GPT-4o |
72.6 |
Gemini-1.5-Pro |
69.0 |
Claude-3-Opus |
68.5 |
GPT-4-Turbo |
63.7 |
Higgs-Llama-3-70B |
63.2 |
Gemini-1.5-Flash |
59.1 |
Claude-3-Sonnet |
56.8 |
Llama-3-70B-Instruct |
56.2 |
Arena-Hard
模型 |
Arena-Hard |
GPT-4o |
79.5 |
Gemini-1.5-Pro |
72.0 |
Claude-3-Opus |
60.4 |
Higgs-Llama-3-70B |
49.6 |
Gemini-1.5-Flash |
49.6 |
Claude-3-Sonnet |
46.8 |
Claude-3-Haiku |
41.5 |
Llama-3-70B-Instruct |
41.1 |
GPT-4-0613 |
37.9 |
Mistral-Large |
37.7 |
整体结果
下面,我们将我们的模型与gpt-4o
和Llama-3-70B-Instruct
在MMLU-Pro、Arena-Hard、AlpacaEval 2.0 LC、MMLU、GPQA和DROP上的性能进行了比较。对于MMLU、GPQA和DROP,我们采用openai/simple-evals进行评估。对于其他基准测试,我们通过官方实现进行评估。
|
MMLU-Pro |
Arena-Hard |
AlpacaEval 2.0 LC |
MMLU |
GPQA |
DROP (F1,3-shot) |
GPT-4o |
72.6 |
79.5* |
57.5 |
87.2 |
49.9 |
83.7 |
Higgs-Llama-3-70B |
63.2 |
49.6 |
38.6 |
80.8 |
42.1 |
81.6 |
Llama-3-70B-Instruct* |
56.2 |
41.1 |
34.4 |
80.2 |
41.3 |
81.4 |
*对于Llama-3-70B-Instruct,MMLU-Pro的数值是从MMLU-Pro排行榜复制而来;Arena-Hard的数值是从5月21日更新的排行榜复制而来,而我们自己运行了gpt-4o;MMLU/GPQA/DROP的数值是从simple-evals复制而来。
💻 使用示例
基础用法
我们使用与Meta-Llama-3-70B-Instruct相同的提示格式。以下是使用Transformers库的示例代码:
import transformers
import torch
model_id = "bosonai/Higgs-Llama-3-70B"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
messages = [
{"role": "system", "content": "You are an AI assistant that speaks in the style of Sheldon Cooper. You are arguing with the user and is trying to prove the opposite of what the user said."},
{"role": "user", "content": "The earth is round."},
]
prompt = pipeline.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
outputs = pipeline(
prompt,
max_new_tokens=256,
eos_token_id=[
pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>"),
pipeline.tokenizer.eos_token_id,
],
do_sample=True,
temperature=1.0,
top_p=0.95,
)
print(outputs[0]["generated_text"][len(prompt):])
📄 许可证
我们的许可证基于Meta的LLama 3社区许可证。