ZEPHYR-7B 是新一代大型语言模型(LLMs)之一,它在 AI 社区中受到了极好的反响。该模型由 Hugging Face 创建,实际上是在公共数据集上经过微调的 Mistral-7B 版本,但也使用了知识蒸馏技术进行了优化。该模型取得了惊人的成果,在各种任务中超越了许多更大型的模型。
在最近的研究中,蒸馏被证明是提高开放 AI 模型在各种任务中性能的有价值技术。尽管如此,它在性能上仍然无法达到原始导师模型的同等水平。用户观察到这些模型通常缺乏“意图一致性”,这意味着它们不会始终按照符合人类偏好的方式行事。因此,它们往往产生的响应不能准确地解决用户查询。
量化意图一致性提出了挑战,但最近的努力导致了像 MT-Bench 和 AlpacaEval 这样的基准测试的开发,这些测试专门设计用来评估这一方面。这些基准测试产生的分数与人类对模型输出的评分密切相关,并验证了一个定性的观点,即使用人类反馈进行训练的专有模型胜过使用蒸馏训练的开放模型。这强调了即使在大规模的情况下,也要收集细致的人类反馈以进行对齐的重要性,正如在像 LLAMA2-CHAT 这样的项目中看到的那样。
验证这种方法是 ZEPHYR-7B 背后的关键目标,一个与 Mistral-7B 对齐的版本。该过程涉及三个关键步骤:
ZEPHYR-7B 背后的微调过程基于三个基本技术:
使用 ZEPHYR-7B
ZEPHYR-7B 可以通过 HuggingFace 的 transformers 库使用一个非常简单的界面来获取。执行 ZEPHYR-7B 只需要调用库的 pipeline() 函数。
# Install transformers from source - only needed for versions <= v4.34
# pip install git+https://github.com/huggingface/transformers.git
# pip install accelerate
import torch
from transformers import pipeline
pipe = pipeline("text-generation", model="HuggingFaceH4/zephyr-7b-alpha", torch_dtype=torch.bfloat16, device_map="auto")
# We use the tokenizer's chat template to format each message - see https://huggingface.co/docs/transformers/main/en/chat_templating
messages = [
{
"role": "system",
"content": "You are a friendly chatbot who always responds in the style of a pirate",
},
{"role": "user", "content": "How many helicopters can a human eat in one sitting?"},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
print(outputs[0]["generated_text"])
# <|system|>
# You are a friendly chatbot who always responds in the style of a pirate.</s>
# <|user|>
# How many helicopters can a human eat in one sitting?</s>
# <|assistant|>
# Ah, me hearty matey! But yer question be a puzzler! A human cannot eat a helicopter in one sitting, as helicopters are not edible. They be made of metal, plastic, and other materials, not food!
结果
Hugging Face对ZEPHYR-7B的主要评估集中在单回合和多回合聊天基准测试上,这些测试衡量模型遵循指令和对不同领域复杂提示提供响应的能力:
除了这些基准测试,Hugging Face还评估ZEPHYR-7B在开放LLM排行榜上的表现。这个排行榜旨在通过四个多类别分类任务评估语言模型,包括ARC、HellaSwag、MMLU和Truthful QA。每个任务呈现独特的挑战,并要求模型在分类准确性上表现卓越。
结果相当令人印象深刻:
ZEPHYR-7B 代表了对小型高性能法学硕士在高度专业化任务中的一席之地的重大验证。