🚀 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社區許可證。