Mistral 7B:新一代LLM的黎明
Published on
AI领域对创新并不陌生,但是偶尔会出现像Mistral 7B这样的奇迹,创造着新的标杆。由 Mistral AI开发,这款 LLM不仅仅关乎尺寸,还关乎效率、准确性和多功能性。
想要了解最新的LLM新闻吗?查看最新的 LLM排行榜!
Mistral 7B是什么?
推出Mistral 7B引起了AI和NLP社区的兴奋和好奇。它在Hugging Face等平台的存在,以及Mistral AI提供的广泛文档,促进了其在各个领域的使用。
性能基准测试
对于LLM,性能至关重要。Mistral 7B通过超越包括著名的Llama 2 13B在内的竞争对手,证明了自己的实力。但数字只是表面现象。Mistral 7B的真正实力体现在其复杂的架构和功能上。
Mistral 7B的性能基准测试,尤其是在代码、数学和推理方面优于LLaMA 1 34B等模型,使其成为开发者和研究者喜爱的选择。它能够接近CodeLlama 7B在代码相关任务上的性能进一步凸显了其能力。
Mistral 7B的适应性和多功能性
Mistral 7B的一个突出特点是其适应性。无论是用于聊天机器人、内容生成、代码补全还是研究,Mistral 7B都展示了它在各种应用中的多功能性。
Mistral 7B:设置和部署
对于那些希望利用Mistral 7B的强大能力的人,这里有一个详细的指南:
1. 与Mistral 7B的在线体验:
在进行设置之前,可以通过 在线演示 (opens in a new tab) 来感受Mistral 7B。
2. 获取Mistral 7B:
可以通过Torrent在这里 下载模型 (opens in a new tab)。发布代码为ab979f50d7d406ab8d0b07d09806c72c
。
3. 使用Docker运行Mistral 7B:
对于那些使用启用GPU的主机的用户,可以使用Docker运行Mistral 7B。以下是使用Docker运行模型的示例代码:
docker run --gpus all \
-e HF_TOKEN=$HF_TOKEN -p 8000:8000 \
ghcr.io/mistralai/harmattan/vllm-public:latest \
--host 0.0.0.0 \
--model mistralai/Mistral-7B-v0.1
注意: 将 $HF_TOKEN
替换为您的 Hugging Face 用户访问令牌。
4. 使用vLLM直接部署:
对于那些更喜欢直接部署的用户,Mistral 7B支持在启用了Cuda 11.8的GPU主机上使用vLLM。以下是一个逐步指南:
- 安装:
使用pip安装vLLM:pip install vllm
- Hugging Face Hub登录:
登录Hugging Face hub:huggingface-cli login
- 启动服务器:
使用以下命令启动服务器:python -u -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --model mistralai/Mistral-7B-v0.1
Mistral 7B的架构创新
Mistral 7B之所以脱颖而出,不仅因为其性能,还因为其独特的架构创新。让我们详细探索一下这些创新:
滑动窗口注意力(SWA)
滑动窗口注意力使模型的每个层可以关注前4,096个隐藏状态。这种机制提供了与滑动窗口序列长度成比例的线性计算成本。其优势在于实时应用程序中快速响应时间的需求。
分组查询注意力(GQA)
GQA旨在加速推理,确保Mistral 7B能够快速响应,适用于需要实时交互的应用。
设置和部署 Mistral 7B
Mistral 7B在部署上提供了灵活性。无论您是要在本地设备上运行它,还是在云平台上部署它,这里都有一个详细的指南:
使用Docker运行 Mistral 7B
对于那些使用启用GPU的主机的用户,可以使用Docker运行 Mistral 7B。以下是一个逐步指南:
-
拉取Docker镜像:
首先,您需要拉取包含了vLLM(一个快速Python推理服务器)以及运行 Mistral 7B 所需的所有内容的 Docker 镜像。docker pull ghcr.io/mistralai/harmattan/vllm-public:latest
-
使用Docker运行模型: 镜像拉取完成后,您可以使用以下命令运行模型:
docker run --gpus all \ -e HF_TOKEN=$HF_TOKEN -p 8000:8000 \ ghcr.io/mistralai/harmattan/vllm-public:latest \ --host 0.0.0.0 \ --model mistralai/Mistral-7B-v0.1
注意: 将
$HF_TOKEN
替换为您的 Hugging Face 用户访问令牌。
使用vLLM直接部署
对于直接部署,Mistral 7B支持在启用了Cuda 11.8的GPU主机上使用vLLM。以下是设置的方法:
-
安装:
使用pip安装vLLM:pip install vllm
-
登录Hugging Face Hub:
在使用该模型之前,您需要登录Hugging Face hub:huggingface-cli login
-
启动服务器:
具备先决条件后,使用以下命令启动服务器:python -u -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --model mistralai/Mistral-7B-v0.1
如何在本地运行 Mistral 7B
一旦Mistral 7B设置并运行起来,您就可以与它进行交互。有关如何使用该模型的详细步骤,请参阅与模型交互 (opens in a new tab)页面。本指南提供了向模型发送请求、理解响应以及为特定任务微调模型的见解。
设置环境
在与Mistral 7B进行交互之前,您需要设置环境:
-
安装OpenAI Python包:
这个包可以方便地与模型进行交互。pip install openai
-
配置OpenAI模块:
将模块指向部署了Mistral 7B的服务器。import openai openai.api_base = "http://your-server-ip-or-hostname:8000/v1" openai.api_key = "none" # vLLM server is not authenticated
使用Mistral 7B生成文本补全
Mistral 7B可以完成给定的提示,提供连贯和相关上下文的文本。以下是触发完成的方法:
-
文本完成的示例代码:
completion = openai.Completion.create( model="mistralai/Mistral-7B-Instruct-v0.1", prompt="The mistral is", temperature=0.7, max_tokens=200, stop="." ) print(completion.to_dict_recursive())
此代码将输出如下的完成结果:
{ 'id': 'cmpl-87f6980633bb45f5aecd551bc35335e6', 'object': 'text_completion', 'created': 1695651536, 'model': 'mistralai/Mistral-7B-Instruct-v0.1', 'choices': [{ 'index': 0, 'text': ' a cold, dry, northeasterly wind that blows over the Mediterranean Sea', 'logprobs': None, 'finish_reason': 'stop' }], 'usage': {'prompt_tokens': 5, 'total_tokens': 23, 'completion_tokens': 18} }
进行交互式聊天
Mistral 7B还可以用于交互式聊天,为用户的查询提供对话式回应。
- 聊天交互的示例代码:
messages = [{"role": "user", "content": "What is the bash command to list all files in a folder and sort them by last modification?"}] chat_completion = openai.ChatCompletion.create( model="mistralai/Mistral-7B-Instruct-v0.1", temperature=1, max_tokens=1024, messages=messages )
这段代码启动了与模型的对话,模型将为用户的查询提供相关回应。
使用SkyPilot部署Mistral 7B
SkyPilot为在各种云平台上部署像Mistral 7B这样的LLM提供了无缝体验。它承诺最大程度的成本节约、最佳的GPU可用性和托管执行。以下是使用SkyPilot部署Mistral 7B的详细指南:
SkyPilot配置
-
创建配置文件:
首先创建一个配置文件,指示SkyPilot部署您的推理服务器的具体情况。这将利用Mistral AI提供的预构建的Docker容器。配置文件应该如下所示:envs: MODEL_NAME: mistralai/Mistral-7B-v0.1 resources: cloud: aws accelerators: V100:1 ports: - 8000 run: | docker run --gpus all -p 8000:8000 ghcr.io/mistralai/harmattan/vllm-public:latest \\ --host 0.0.0.0 \\ --model $MODEL_NAME \\ --tensor-parallel-size $SKYPILOT_NUM_GPUS_PER_NODE
-
设置环境变量:
您需要设置特定的环境变量,以便SkyPilot可以获取推理服务器容器和模型权重。 -
启动推理服务器:
设置好环境变量后,可以使用以下命令启动推理服务器:sky launch mistral-7b-v0.1.yaml --region us-east-1
**注意:**以这种方式部署会使模型在全球范围内可访问。确保对其进行安全保护很重要。您可以将其仅公开在您的私有网络上(修改
--host
Docker选项),在前端添加负载均衡器和身份验证机制,或者适当配置实例的网络设置。
使用配额和云提供商
有一点需要注意的是,许多云提供商对于使用强大GPU实例需要明确的访问请求。有关此方面的指导,请参阅SkyPilot的指南 (opens in a new tab)。
结论:Mistral AI的未来路线图
虽然Mistral 7B是一个重要的里程碑,但Mistral AI的旅程并不会在这里停止。该公司致力于推动自然语言处理和人工智能的界限,我们可以期待未来有更多的创新、改进和突破性的模型。
常见问题(FAQ)
-
什么是Mistral 7B?
Mistral 7B是由Mistral AI开发的先进的大型语言模型(LLM)。它的设计目标是在与代码、数学和推理相关的任务中超越许多现有模型。 -
如何在本地或云上部署Mistral 7B?
Mistral 7B提供了灵活的部署选项。您可以使用Docker在本地运行它,也可以使用SkyPilot在AWS、GCP或Azure等云平台上部署它。 -
Mistral 7B是开源的吗?
是的,Mistral 7B是在Apache 2.0许可下发布的,使其成为开源并且对更广泛的社区可用。 -
Mistral 7B在性能方面如何与其他LLM相比?
Mistral 7B在性能方面表现出色,超过了像LLaMA 1 34B这样的模型,并且在与代码相关的任务上接近CodeLlama 7B的能力。
想了解最新的LLM新闻吗?查看最新的LLM排行榜!