ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
这就翻车了?Reflection 70B遭质疑基模为Llama 3,作者:重新训练
5625点击    2024-09-08 15:47

最近,开源大模型社区再次「热闹」了起来,主角是 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, AutoTokenizer

import torch

import matplotlib.pyplot as plt

import seaborn as sns


base_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_diffs


def 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))


还有人贴出了 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 表现如何?我们拭目以待。


文章来自于“机器之心”,作者“杜伟”。




关键词: Llama 3 , AI , HyperWrite , Reflection 70B
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
免费使用GPT-4o

【免费】ffa.chat是一个完全免费的GPT-4o镜像站点,无需魔法付费,即可无限制使用GPT-4o等多个海外模型产品。

在线使用:https://ffa.chat/

2
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner