Press "Enter" to skip to content

我们对Mixtral 8x7B Mistral新开源LLM的了解

这个新模型利用了创新的专家架构的混合。

Created Using DALL-E

我最近开始了一个以人工智能为焦点的教育通讯,已经有超过160,000个订阅者了。TheSequence是一个非常务实(没有炒作、没有新闻等)面向机器学习的通讯,每篇阅读只需5分钟。目标是让您及时了解机器学习项目、研究论文和概念的最新情况。请尝试通过以下订阅:

TheSequence | Jesus Rodriguez | Substack

机器学习、人工智能和数据的最佳信息来源…

thesequence.substack.com

Mistral AI是推动开源语言模型(LLMs)界限的最具创新性的公司之一。Mistral的首个版本:Mistral 7B已成为市场上最受欢迎的开源LLMs之一。几天前,他们发布了一个混合模型Mixtral 8x7B的种子链接,引人入胜

Mixtral 8x7B之所以有趣,是因为它探索了一种与大多数LLMs采用的整体式方法相对立的新架构范例。该模型基于一种专家混合方法构建,虽然这种方法并不新鲜,但在LLMs领域尚未得到验证。

关于Mixtral 8x7B的资料并不多,但下面我列出了一些可能相关的细节:

架构

Mixtral 8x7B基于稀疏专家混合(SMoE)架构,将稀疏建模技术与专家混合框架相结合。

在深度学习理论中,稀疏模型因其潜力而越来越受到认可。与传统的密集模型不同,稀疏模型使用一种称为条件计算的方法。这种技术允许Mistral将特定输入定向到其庞大网络中的指定专家。这种方法有几个优势,最明显的优势之一是能够扩展模型的大小而不会成比例地增加计算需求。这种可扩展性不仅高效,而且对环境可持续性也至关重要,这对于实现AI模型的高性能至关重要。此外,神经网络中的稀疏性会导致自然分割,在多任务和持续学习场景中具有益处。密集模型通常在这些任务中存在困难,面临负面干扰或灾难性遗忘等问题,即一次学习太多任务或按顺序学习可以导致对较早任务的性能下降。

Mistral的SMoE组件由多个专家组成,每个专家都是一个简单的前馈神经网络。这些专家由可训练的门控网络进行管理。门控网络的作用至关重要:它确定应该对每个特定输入启用哪些专家的组合。这个选择过程是稀疏的,意味着只有少数专家被选择为任何给定的输入。Mistral的整个网络,包括专家和门控系统,在反向传播中进行优化。这种综合训练方法确保了Mistral的所有部分协同工作,在处理和分析数据方面优化其性能。

图片来源:https://arxiv.org/abs/1701.06538

Mixtral 8x7B

Mixtral 8x7B基于SMoE架构。这个模型以其开放权重架构而闻名,在Apache 2.0许可下免费获取。在AI基准测试领域,Mistral展示了强大的能力,在大部分评估中超过了Llama 2 70B模型,并提供了六倍的推理速度。它作为最高效的开放权重模型,在成本与性能评估中表现出色。值得注意的是,Mistral在标准基准测试中与GPT3.5的性能相媲美甚至超越。

Mistral的能力是多方面的。它可以轻松地处理广泛的上下文,能管理高达32,000个标记。它的语言能力涵盖多种语言,包括英语、法语、意大利语、德语和西班牙语。在代码生成领域,Mistral显示出了非凡的实力。此外,当作为指令跟踪模型进行优化时,它在MT-Bench上取得了惊人的8.3分。

Mixtral 8x7B某些网络依赖于仅解码器模型。它的架构特点是一个前馈块,它从8个不同的参数组中选择。对于每个层中的每个标记,一个专门的路由器网络选择其中两个被称为“专家”的组来处理标记。然后将它们的输出进行加法组合。这种创新技术使得Mistral能够增加其参数数量,同时控制成本和延迟。实质上,Mistral拥有450亿个参数,但每个标记仅使用120亿个。因此,它能以与只有120亿个参数的模型相同的效率和成本处理输入并生成输出。

Mistral的训练使用来自开放网络的数据进行,同时关注开发其专家和路由器网络。这种方法是Mistral在AI领域中拥有先进能力和效率的基础,将其置于开放模型稀疏架构的前沿。

除了基础版本,Mistral还发布了Mixtral 8x7B Instruct,这是一个通过监督微调和直接优化偏好(DPO)进行了优化的指令跟踪模型。

性能

Mistral对Mistral 8x7B在不同基准测试中进行了评估,在这些测试中,该模型达到了LLaMA 2 70B和GPT 3.5等更大模型的性能。

图片来源:Mistral AI

以下图表分别显示了不同关键能力在推断预算上的性能:

图片来源:Mistral AI

使用Mixtral 8x7B

Mixtral 8x7B刚刚发布,因此还未在许多平台上进行产品化。使用该模型的首选方式是通过刚宣布的Mistral平台:

from mistralai.client import MistralClientfrom mistralai.models.chat_completion import ChatMessageapi_key = os.environ["MISTRAL_API_KEY"]model = "mistral-small"client = MistralClient(api_key=api_key)messages = [    ChatMessage(role="user", content="最好的法国奶酪是什么?")]# 无流媒体chat_response = client.chat(    model=model,    messages=messages,)# 使用流模式for chunk in client.chat_stream(model=model, messages=messages):    print(chunk)

此外,我们可以通过Hugging Face使用该模型

from transformers import AutoModelForCausalLM, AutoTokenizermodel_id = "mistralai/Mixtral-8x7B-v0.1"tokenizer = AutoTokenizer.from_pretrained(model_id)model = AutoModelForCausalLM.from_pretrained(model_id)text = "你好,我的名字是"inputs = tokenizer(text, return_tensors="pt")outputs = model.generate(**inputs, max_new_tokens=20)print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Mixtral 8x7B代表着开源LLM演进的一个有趣的步骤。希望在接下来的几周内能揭示更多关于该模型的细节。

Leave a Reply

Your email address will not be published. Required fields are marked *