开源模型Mistral 7B+Amazon SageMaker部署指南

一、Mistral 7B简述

Mistral AI 是一家总部位于法国的 AI 公司,其使命是将公开可用的模型提升至最先进的性能水平。他们专注于构建快速而安全的大型语言模型(LLM),此类模型可用于从聊天机器人到代码生成等各种任务。不久前其发布了一个开源模型Mistral 7B,支持英语文本生成任务并具备自然编码能力。它为实现低延迟进行过优化,并且相对其规模,该模型对内存的要求较低,可提供高吞吐量。该模型体积虽小,但功能强大,可支持从文本摘要和分类到文本完善和代码补全等多种使用案例。

Mistral 7B 的基础使用了 Transformer 的思想,其使用分组查询注意力和滑动窗口注意力来实现更快的推理(低延迟)并处理更长的序列。其中组查询注意力是一种结合了多查询和多头注意力的架构,以实现接近多头注意力的输出质量和与多查询注意力相当的速度。

滑动窗口注意力使用变压器的堆叠层来关注过去超出窗口大小的内容,以增加上下文长度。Mistral 7B 具有 8,000 个令牌的上下文长度,具有低延迟和高吞吐量,并且与较大的模型替代方案相比具有强大的性能,在 7B 模型大小下提供较低的内存要求,该模型在宽松的Apache 2.0 许可证下提供,可以不受限制地使用。

另外其还引入了稀疏专家组合Sparse Mixture of Experts (SMoE),Sparse Mixture of Experts (MoE)是允许通过仅激活每个token的整体模型的子集来将吞吐量与内存成本解耦的一种方法。这种方法的工作原理是将复杂的任务划分为更小、更易于管理的子任务,每个子任务都由专门的迷你模型或"专家"处理,在这种策略中,每个token被分配给一个或多个"专家"并且只由这些专家处理。其中:

  1. 专家层:较小的神经网络,经过训练,在特定领域具有很高的技能。每个专家处理相同的输入,但处理方式与其独特的专业相一致。

  2. 门控网络:这是MoE架构的决策者。它评估哪位专家最适合给定的输入数据。网络计算输入与每个专家之间的兼容性分数,然后使用这些分数来确定每个专家在任务中的参与程度。这些组件共同确保正确的专家处理正确的任务。

门控网络有效地将每个输入路由给最合适的专家,而专家则专注于他们的特定优势领域。这种协作培训带来了更加通用和强大的整体模型。

与其他模型相比,Mistral 7B具有:

  1. 在所有基准测试中优于Llama 2 13B

  2. 在许多基准测试中优于Llama 1 34B

  3. 在代码方面接近CodeLlama 7B的性能,同时在英语任务中表现良好

  4. 使用分组查询注意力(GQA)进行更快的推理

  5. 使用滑动窗口注意力(SWA)以更小的成本处理更长的序列

  6. Apache 2.0许可证,可以无限制地使用。

二、使用Amazon SageMaker访问并部署Mistral 7B

现在已经可以通过Amazon SageMaker JumpStart一键部署由 Mistral AI 开发的 Mistral 7B 基础模型来运行推理,只需在Amazon SageMaker Studio中单击几下即可发现并部署 Mistral 7B,或者通过 SageMaker Python SDK 以编程方式发现和部署 Mistral 7B,从而利用Amazon SageMaker Pipelines、Amazon SageMaker Debugger或容器日志等 SageMaker 功能获得模型性能和 MLOps 控制。该模型部署在 AWS 安全环境中并受您的 VPC 控制,有助于确保数据安全。

首先进入SageMaker Studio 中:https://www.amazonaws.cn/sagemaker/studio/

访问 SageMaker JumpStart,进入 SageMaker JumpStart ,然后在Foundation Models: Text Generation carousel中找到Mistral 7B:

其次,选择模型卡来查看有关模型的详细信息,例如许可证、用于训练的数据以及如何使用。点击deploy开始部署。

要使用笔记本进行部署,我们首先选择 Mistral 7B 模型,由model_id. 您可以使用以下代码在 SageMaker 上部署任何选定的模型:

python 复制代码
from sagemaker.jumpstart.model import JumpStartModel 
model = JumpStartModel(model_id="huggingface-llm-mistral-7b-instruct") 
predictor = model.deploy()

这会使用默认配置在 SageMaker 上部署模型,包括默认实例类型 (ml.g5.2xlarge) 和默认 VPC 配置。您可以通过在JumpStartModel中指定非默认值来更改这些配置。部署后,您可以通过 SageMaker 预测器对部署的终端节点运行推理:

python 复制代码
payload = {"inputs": "<s>[INST] Hello! [/INST]"} 
predictor.predict(payload)

另外,Mistral 7B 和 Mixtral 8x7B,很快将在 Amazon Bedrock 上推出,借助这两种 Mistral AI 模型,可以为使用案例灵活选择最优的高性能 LLM,在 Amazon Bedrock 上构建并扩展生成式 AI 应用程序。

参考资料:

官网:https://mistral.ai/news/announcing-mistral-7b/

https://generativeai.pub/mistral-ai-the-rising-star-in-conversational-ai-valued-at-2-billion-88d1b69d8fe0

仓库:https://github.com/mistralai/mistral-src

专家moe:https://zhuanlan.zhihu.com/p/674698482

钩子:https://mp.weixin.qq.com/s/XuWVdV90oDe0DOHjpT8zpw

相关推荐
RAG专家1 小时前
【Mixture-of-RAG】将文本和表格与大型语言模型相结合
人工智能·语言模型·rag·检索增强生成
星期天要睡觉4 小时前
自然语言处理(NLP)——自然语言处理原理、发展历程、核心技术
人工智能·自然语言处理
低音钢琴4 小时前
【人工智能系列:机器学习学习和进阶01】机器学习初学者指南:理解核心算法与应用
人工智能·算法·机器学习
大千AI助手5 小时前
Hoeffding树:数据流挖掘中的高效分类算法详解
人工智能·机器学习·分类·数据挖掘·流数据··hoeffding树
新知图书5 小时前
大模型微调定义与分类
人工智能·大模型应用开发·大模型应用
山烛5 小时前
一文读懂YOLOv4:目标检测领域的技术融合与性能突破
人工智能·yolo·目标检测·计算机视觉·yolov4
大千AI助手5 小时前
独热编码:分类数据处理的基石技术
人工智能·机器学习·分类·数据挖掘·特征工程·one-hot·独热编码
钱彬 (Qian Bin)6 小时前
项目实践4—全球证件智能识别系统(Qt客户端开发+FastAPI后端人工智能服务开发)
人工智能·qt·fastapi
钱彬 (Qian Bin)6 小时前
项目实践3—全球证件智能识别系统(Qt客户端开发+FastAPI后端人工智能服务开发)
人工智能·qt·fastapi
Microsoft Word6 小时前
向量数据库与RAG
数据库·人工智能·向量数据库·rag