欢迎来到白日依山尽

白日依山尽

这就翻车了?Reflection 70B遭质疑基模为Llama 3,作者:重新训练一口咬定

时间:2024-10-04 09:35:56 出处:发扬阅读(143)

专题:聚焦AI

这就翻车了?Reflection 70B遭质疑基模为Llama 3,作者:重新训练一口咬定

机器之心报道

编辑:杜伟

最近,翻车开源大模型社区再次「热闹」了起来,遭质疑作者重新主角是基模 AI 写作初创公司 HyperWrite 开发的新模型 Reflection 70B。

它的训练底层模型建立在 Meta Llama 3.1 70B Instruct 上,并使用原始的翻车 Llama chat 格式,确保了与现有工具和 pipeline 的遭质疑作者重新一口咬定兼容性。

这个模型横扫了 MMLU、基模MATH、训练IFEval、翻车GSM8K,遭质疑作者重新在每项基准测试上都超过了 GPT-4o,基模还击败了 405B 的训练 Llama 3.1。

凭借如此惊艳的翻车效果,Reflection 70B 被冠以开源大模型新王。遭质疑作者重新该模型更是基模由两位开发者(HyperWrite CEO Matt Shumer 和 Glaive AI 创始人 Sahil Chaudhary)花了 3 周完成,效率可谓惊人。

Reflection 70B 能不能经受住社区的考验呢?今天 AI 模型独立分析机构 Artificial Analysis 进行了独立评估测试,结果有点出乎意料。

该机构表示,围魏救赵Reflection Llama 3.1 70B 的 MMLU 得分仅与 Llama 3 70B 相同,并且明显低于 Llama 3.1 70B

还有科学推理与知识(GPQA)和定量推理(MATH)基准测试的结果,同样不如 Llama 3.1 70B。

图源:https://x.com/ArtificialAnlys/status/1832457791010959539

此外,Reddit 上 LocalLLaMA 社区的一个帖子比较了 Reflection 70B 与Llama 3.1、Llama 3 权重的差异,结果显示,Reflection 模型似乎是弥天大谎使用了经过 LoRA 调整的 Llama 3 而不是 Llama 3.1

贴主还提供了以上模型权重比较结果的代码来源。

from transformers import AutoModelForCausalLM, AutoTokenizerimport torchimport matplotlib.pyplot as pltimport seaborn as snsbase_model_name = "meta-llama/Meta-Llama-3-70B-Instruct"chat_model_name = "mattshumer/Reflection-Llama-3.1-70B"base_model = AutoModelForCausalLM.from_pretrained(base_model_name, torch_dtype=torch.bfloat16)chat_model = AutoModelForCausalLM.from_pretrained(chat_model_name, torch_dtype=torch.bfloat16)def calculate_weight_diff(base_weight, chat_weight):return torch.abs(base_weight - chat_weight).mean().item()def calculate_layer_diffs(base_model, chat_model):layer_diffs = []for base_layer, chat_layer in zip(base_model.model.layers, chat_model.model.layers):layer_diff = { 'input_layernorm': calculate_weight_diff(base_layer.input_layernorm.weight, chat_layer.input_layernorm.weight),# 'mlp_down_proj': calculate_weight_diff(base_layer.mlp.down_proj.weight, chat_layer.mlp.down_proj.weight),# 'mlp_gate_proj': calculate_weight_diff(base_layer.mlp.gate_proj.weight, chat_layer.mlp.gate_proj.weight),# 'mlp_up_proj': calculate_weight_diff(base_layer.mlp.up_proj.weight, chat_layer.mlp.up_proj.weight),'post_attention_layernorm': calculate_weight_diff(base_layer.post_attention_layernorm.weight, chat_layer.post_attention_layernorm.weight),'self_attn_q_proj': calculate_weight_diff(base_layer.self_attn.q_proj.weight, chat_layer.self_attn.q_proj.weight),'self_attn_k_proj': calculate_weight_diff(base_layer.self_attn.k_proj.weight, chat_layer.self_attn.k_proj.weight),'self_attn_v_proj': calculate_weight_diff(base_layer.self_attn.v_proj.weight, chat_layer.self_attn.v_proj.weight),'self_attn_o_proj': calculate_weight_diff(base_layer.self_attn.o_proj.weight, chat_layer.self_attn.o_proj.weight)}layer_diffs.append(layer_diff)return layer_diffsdef visualize_layer_diffs(layer_diffs):num_layers = len(layer_diffs)num_components = len(layer_diffs[0])fig, axs = plt.subplots(1, num_components, figsize=(24, 8))fig.suptitle(f"{ base_model_name} <> { chat_model_name}", fontsize=16)for i, component in enumerate(layer_diffs[0].keys()):component_diffs = [[layer_diff[component]] for layer_diff in layer_diffs]sns.heatmap(component_diffs, annot=True, fmt=".6f", cmap="YlGnBu", ax=axs[i], cbar_kws={ "shrink": 0.8})axs[i].set_title(component)axs[i].set_xlabel("Layer")axs[i].set_ylabel("Difference")axs[i].set_xticks([])axs[i].set_yticks(range(num_layers))axs[i].set_yticklabels(range(num_layers))axs[i].invert_yaxis()plt.tight_layout()plt.show()layer_diffs = calculate_layer_diffs(base_model, chat_model)visualize_layer_diffs(layer_diffs)

还有人贴出了 Matt Shumer 在 Hugging Face 对 Reflection 70B 配置文件名称的更改,可以看到从 Llama 3 70B Instruct 到 Llama 3.1 70B Instruct 的变化。

这样的事实摆在眼前,似乎让人不得不信。各路网友也开始发声附和,有人表示自己从一开始就怀疑它是 Llama 3,当用德语问模型一些事情时,它却用英语回答。短小精悍这种行为对于 Llama 3 非常常见。

还有人奇怪为什么 Reflection 70B 模型一开始就得到了如此多的炒作和关注,毕竟第一个谈论它是「顶级开源模型」的人是开发者本人(Matt)。而且更确切地说,模型是微调的。

更有人开始质疑开发者(Matt),认为他只是这家公司(GlaiveAI)的利益相关者,试图通过炒作来增加价值,实际上却对这项技术一无所知。冠冕堂皇

在被质疑 Reflection 70B 的基础模型可能是 Llama 3 而非 Llama 3.1 70B 时,Matt Shumer 坐不住了,现身进行了澄清,并表示是 Hugging Face 权重出现了问题

就在几个小时前,Matt Shumer 称已经重新上传了权重,但仍然存在问题。同时他们开始重新训练模型并上传,从而消除任何可能出现的情至意尽问题,应该很快就会完成

当被问到为何需要重新训练时,Matt Shumer 表示本不需要这样做,但已经尝试了所有方法。无论做什么,Hugging Face 上 Reflection 70B 模型都会出现问题,导致离预期中的性能差得远。

当然 Matt Shumer 还面临更多质疑,比如对 GlaiveAI 的六神无主投资情况、为什么 Hugging Face 上的基础模型为 Llama 3 而不是 Llama 3.1 以及基准中有关 LORAing 的问题。

Matt Shumer 一一进行了解释。(以下标引用)

1. 我是一个超级小的投资者(1000 美元),只是一次支持性的投资,因为我认为 Sahil Chaudhary 很棒。

2. 至于为什么基础模型是 Llama 3,我们不知道。这就是为什么我们从头开始再训练,应该很快完成。虎落平阳 

3. 那些尝试了 Playground 并拥有早期访问权限的用户获得了与托管 API 截然不同的体验,我们需要弄清楚这一点。 

4. 不确定什么是 LORAing,但我们检查了污染,将在下周与 405B(或更早)一起发布数据集,到时候可以查看。

至于重新训练后的 Reflection 70B 表现如何?我们拭目以待。

分享到:

温馨提示:以上内容和图片整理于网络,仅供参考,希望对您有帮助!如有侵权行为请联系删除!

友情链接: