license: llama2
Xwin-LM:强大、稳定且可复现的大语言模型对齐技术
用Xwin-LM提升你的大语言模型对齐能力!
Xwin-LM致力于研发并开源大语言模型的对齐技术,包括监督微调(SFT)、奖励模型(RM)、拒绝采样、人类反馈强化学习(RLHF)等。我们的首个基于Llama2基础模型的版本在AlpacaEval排行榜上位列第一,更是首个在该基准测试中超越GPT-4的模型。项目将持续更新。
最新动态
模型卡片
基准测试
下表展示了Xwin-LM在AlpacaEval上的表现,评估其在805个问题上对Text-Davinci-003的胜率。为了全面评估,我们首次提供了对ChatGPT和GPT-4的胜率。我们的Xwin-LM模型家族在所有指标上都建立了新的最先进性能。值得注意的是,Xwin-LM-70B-V0.1首次超越了GPT-4,对Text-Davinci-003的胜率达到95.57%,对GPT-4的胜率达到60.61%。
模型 |
AlpacaEval (胜率 %) |
AlpacaEval (胜率 %) |
AlpacaEval (胜率 %) |
|
对比 Text-Davinci-003 |
对比 ChatGPT |
对比 GPT4 |
Xwin-LM-70B-V0.1 |
95.57 |
87.50 |
60.61 |
GPT-4 |
95.28 |
84.66 |
50.00 |
WizardLM-70B-V1.0 |
92.91 |
80.19 |
46.70 |
Llama-2-70B-Chat |
92.66 |
81.97 |
51.19 |
Xwin-LM-13B-V0.1 |
91.76 |
81.79 |
55.30 |
ChatGPT |
89.37 |
50.00 |
16.60 |
WizardLM-13B-V1.2 |
89.17 |
75.75 |
41.91 |
Xwin-LM-7B-V0.1 |
87.35 |
76.40 |
47.57 |
Llama-2-13B-Chat |
81.09 |
64.22 |
30.92 |
提示 |
GTP4 响应 |
Xwin-LM 响应 |
我把一个盘子放在苹果上,然后把盘子从厨房拿到餐厅。苹果现在在哪里 |
苹果现在在餐厅里,因为当你把盘子从厨房移到餐厅时,苹果就在盘子下面。 |
苹果还在厨房里,因为你只移动了盘子。苹果在盘子下面,所以如果你想将苹果带到餐厅,你应该直接移动苹果,或者将苹果放在盘子上,然后将盘子拿到餐厅。 |
回答以下问题。 法语中“good evening”怎么说。 |
法语中,“good evening”说作“bonsoir”。 |
法语中,“good evening”翻译为“bonsoir”。这个问候语用于傍晚和夜间时段,通常在下午6点后使用。它是“bon”(意为“好”)和“soir”(意为“傍晚”)的组合。发音为“bone-swahr”。 |
Xwin-LM在NLP基础任务上的表现。
下表比较了Xwin-LM与其他大语言模型在Open LLM Leaderboard中NLP基础任务上的表现。
模型 |
MMLU 5-shot |
ARC 25-shot |
TruthfulQA 0-shot |
HellaSwag 10-shot |
平均 |
Text-davinci-003 |
56.9 |
85.2 |
59.3 |
82.2 |
70.9 |
Vicuna-13b 1.1 |
51.3 |
53.0 |
51.8 |
80.1 |
59.1 |
Guanaco 30B |
57.6 |
63.7 |
50.7 |
85.1 |
64.3 |
WizardLM-7B 1.0 |
42.7 |
51.6 |
44.7 |
77.7 |
54.2 |
WizardLM-13B 1.0 |
52.3 |
57.2 |
50.5 |
81.0 |
60.2 |
WizardLM-30B 1.0 |
58.8 |
62.5 |
52.4 |
83.3 |
64.2 |
Llama-2-7B-Chat |
48.3 |
52.9 |
45.6 |
78.6 |
56.4 |
Llama-2-13B-Chat |
54.6 |
59.0 |
44.1 |
81.9 |
59.9 |
Llama-2-70B-Chat |
63.9 |
64.6 |
52.8 |
85.9 |
66.8 |
Xwin-LM-7B-V0.1 |
49.7 |
56.2 |
48.1 |
79.5 |
58.4 |
Xwin-LM-13B-V0.1 |
56.6 |
62.4 |
45.5 |
83.0 |
61.9 |
Xwin-LM-70B-V0.1 |
69.6 |
70.5 |
60.1 |
87.1 |
71.8 |
推理
对话模板
为了获得理想的结果,在使用我们的模型进行推理时,请严格遵循对话模板。我们的模型采用了Vicuna建立的提示格式,并支持多轮对话。
一位好奇的用户和一位人工智能助手之间的对话。助手对用户的问题提供有用、详细且礼貌的回答。用户:你好!助手:你好。</s>用户:你是谁?助手:我是Xwin-LM。</s>......
HuggingFace示例
from transformers import AutoTokenizer, AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("Xwin-LM/Xwin-LM-7B-V0.1")
tokenizer = AutoTokenizer.from_pretrained("Xwin-LM/Xwin-LM-7B-V0.1")
(
prompt := "一位好奇的用户和一位人工智能助手之间的对话。"
"助手对用户的问题提供有用、详细且礼貌的回答。"
"用户:你好,你能帮我吗?"
"助手:"
)
inputs = tokenizer(prompt, return_tensors="pt")
samples = model.generate(**inputs, max_new_tokens=4096, temperature=0.7)
output = tokenizer.decode(samples[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(output)
vllm示例
由于Xwin-LM基于Llama2,它也支持使用vllm进行快速推理。请参考vllm获取详细的安装说明。
from vllm import LLM, SamplingParams
(
prompt := "一位好奇的用户和一位人工智能助手之间的对话。"
"助手对用户的问题提供有用、详细且礼貌的回答。"
"用户:你好,你能帮我吗?"
"助手:"
)
sampling_params = SamplingParams(temperature=0.7, max_tokens=4096)
llm = LLM(model="Xwin-LM/Xwin-LM-7B-V0.1")
outputs = llm.generate([prompt,], sampling_params)
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(generated_text)
待办事项
- [ ] 发布源代码
- [ ] 发布更多能力,如数学、推理等。
引用
如果你使用了本仓库的数据或代码,请考虑引用我们的工作。
@software{xwin-lm,
title = {Xwin-LM},
author = {Xwin-LM Team},
url = {https://github.com/Xwin-LM/Xwin-LM},
version = {pre-release},
year = {2023},
month = {9},
}
致谢
感谢Llama 2、FastChat、AlpacaFarm和vllm。