🚀超越gpt-4o-mini!最适合企业的24B参数大模型Mistral Small 3!部署Mistral-Small-24B-Instruct-2501 替代deepseek!支持Roo Code!
Mistral-Small-24B-Instruct-2501 是 Mistral AI 开发的指令遵循语言模型。它拥有 240 亿个参数,并针对遵循指令和生成高质量文本进行了专门训练。尽管名为 “Small”,但它在各种任务中展现出强大的性能,堪比甚至超越一些规模更大的模型。
本篇笔记所对应的视频:
- 👉👉👉 通过哔哩哔哩观看
- 👉👉👉 通过YouTube观看
- 👉👉👉 我的开源项目
- 👉👉👉 请我喝咖啡
- 👉👉👉 我的微信:stoeng 【加我请注明来意】
- 👉👉👉 承接大模型微调、RAG、AI智能体、AI相关应用开发等项目。
Mistral AI 简介
Mistral AI 是一家法国的初创公司,专注于开发最先进的大型语言模型 (LLM)。 该公司由前 Meta 和 Google 的研究人员于 2023 年 5 月创立,致力于通过开源和合作的方式推动 LLM 领域的发展。Mistral AI 尤其关注模型的效率和可访问性,旨在使更广泛的用户能够受益于 LLM 技术。他们致力于推进 LLM 领域的研究,特别是在提高模型效率和对齐方面。 Mistral AI 积极拥抱开源精神,例如发布了高效注意力机制的代码,并为开源 LLM 库做出了贡献。
Mistral-Small-24B-Instruct-2501 的主要特点和优势
Mistral-Small-24B-Instruct-2501 具备以下主要特点和优势:
- 强大的指令遵循能力: 该模型经过专门训练,能够准确理解和遵循用户的指令,生成符合预期结果的文本。
- 高性能: 尽管规模相对较小,Mistral-Small-24B-Instruct-2501 在各种基准测试中表现出色,其性能可与甚至超越一些参数规模更大的模型。 该模型在使用大量文本和代码数据集进行训练后,又通过从人类反馈中进行强化学习来进一步提高性能。
- 高效性: Mistral AI 致力于提高模型的效率,Mistral-Small-24B-Instruct-2501 在推理速度和计算资源消耗方面具有优势。
与其他类似模型的比较 (GPT-3, LLaMA)
与其他流行的 LLM(如 GPT-3 和 LLaMA)相比,Mistral-Small-24B-Instruct-2501 具有以下优势:
- 更强的指令遵循能力: Mistral-Small-24B-Instruct-2501 在指令遵循方面的表现优于 GPT-3 和 LLaMA,能够更准确地理解用户意图并生成更符合预期的结果。
- 更高的效率: Mistral-Small-24B-Instruct-2501 在参数规模更小的情况下实现了与 GPT-3 和 LLaMA 相当甚至更好的性能,这意味着它在推理速度和计算资源消耗方面更具优势。 这使得 Mistral-Small-24B-Instruct-2501 成为在资源受限环境中部署的理想选择。
- 更开放的生态: Mistral AI 积极参与开源社区,并发布了部分模型代码和技术细节,这与 OpenAI 的 GPT-3 和 Meta 的 LLaMA 相比更加开放。
Mistral-Small-24B-Instruct-2501 的潜在应用场景
Mistral-Small-24B-Instruct-2501 具有广泛的应用场景,包括:
- 文本生成: 创作故事、诗歌、文章、摘要等各种类型的文本内容。 例如,Mistral-Small-24B-Instruct-2501 可以根据用户提供的关键词或主题生成创意故事,或根据长篇文章生成简洁准确的摘要。
- 代码生成: 根据指令生成代码,辅助程序员开发。 该模型可以根据自然语言描述生成多种编程语言的代码,并协助进行代码调试和优化。
- 机器翻译: 实现高质量的机器翻译,打破语言障碍。 Mistral-Small-24B-Instruct-2501 可以用于翻译不同语言的文本,例如将英文文档翻译成中文,或将法语网站翻译成西班牙语。
- 问答系统: 构建智能问答系统,提供准确、全面的答案。 例如,可以将 Mistral-Small-24B-Instruct-2501 集成到客服系统中,自动回答用户提出的常见问题,或用于构建基于知识库的问答系统。
- 聊天机器人: 开发更智能、更自然的聊天机器人,提升用户体验。 Mistral-Small-24B-Instruct-2501 可以用于构建能够进行自然对话的聊天机器人,例如虚拟助手、娱乐型聊天机器人等。
- 教育辅助: 为学生提供个性化的学习辅导和答疑解惑。 该模型可以根据学生的学习情况和问题,提供针对性的学习建议和解答,并生成练习题和学习资料。
如何获取和使用 Mistral-Small-24B-Instruct-2501
目前,Mistral AI 尚未公开发布 Mistral-Small-24B-Instruct-2501 的完整模型或 API 访问权限。 想要获取和使用该模型,可以通过参与 Mistral AI 的合作伙伴计划获取访问权限。 Mistral AI 未来也可能开放 API 访问权限,允许开发者将 Mistral-Small-24B-Instruct-2501 集成到自己的应用程序中。 关注 Mistral AI 的官方网站和社区公告,以获取最新信息。
获取更多技术细节和文档
Mistral AI 在其官方网站和 GitHub 仓库上发布了部分模型代码和技术细节。您可以访问以下资源了解更多信息:
- Mistral AI 官方网站: https://mistral.ai/
- Mistral AI GitHub 仓库: https://github.com/mistralai
性能评估和基准测试结果
目前,公开可获取的关于 Mistral-Small-24B-Instruct-2501 的性能评估和基准测试结果有限。 Mistral AI 在其博客和技术报告中可能会发布一些相关信息。
总结
Mistral-Small-24B-Instruct-2501 是 Mistral AI 开发的一款强大的指令遵循语言模型,尽管规模相对较小,但其性能和效率令人印象深刻。 该模型在文本生成、代码生成、机器翻译等领域具有广泛的应用潜力。 Mistral AI 坚持模型效率和开源的理念,为 LLM 领域带来了新的活力。Mistral-Small-24B-Instruct-2501 的出现表明,即使是参数规模较小的模型,也能在性能上与大型模型相媲美,这为 LLM 的更广泛应用打开了大门。随着 Mistral AI 持续推进研发和开源工作, Mistral-Small-24B-Instruct-2501 及其后续版本有望在 LLM 领域发挥更大的作用,并推动人工智能技术在各个领域的应用和发展。
🚀本地部署
# ollama部署
curl -fsSL https://ollama.com/install.sh | sh
ollama run mistral-small
ollama run mistral-small:24b-instruct-2501-q4_K_M
ollama run mistral-small:24b-instruct-2501-q8_0
ollama run mistral-small:24b-instruct-2501-fp16
# vLLM部署
conda create -n mistral_env python=3.10
conda activate mistral_env
pip install --upgrade torchvision vllm xformers
pip install --upgrade vllm
pip install --upgrade mistral_common
huggingface-cli login
vllm serve mistralai/Mistral-Small-24B-Instruct-2501 --tokenizer_mode mistral --config_format mistral --load_format mistral --enable-auto-tool-choice --tool-call-parser mistral
代码
!pip install mistralai gradio requests
import os
from mistralai import Mistral
from google.colab import userdata
api_key = userdata.get('MISTRAL_API_KEY')
model = "mistral-small-latest"
client = Mistral(api_key=api_key)
chat_response = client.chat.complete(
model = model,
messages = [
{
"role": "user",
"content": "写一篇200字的科幻小说?",
},
]
)
print(chat_response.choices[0].message.content)
import os
import json
import requests
import gradio as gr
from google.colab import userdata
# 配置API
API_KEY = userdata.get('FIREWORKS_API_KEY')
API_URL = "https://api.fireworks.ai/inference/v1/chat/completions"
def generate_response(message, history):
"""
使用Fireworks AI API生成响应
"""
try:
# 准备请求数据
payload = {
"model": "accounts/fireworks/models/mistral-small-24b-instruct-2501",
"max_tokens": 4096,
"top_p": 1,
"top_k": 40,
"presence_penalty": 0,
"frequency_penalty": 0,
"temperature": 0.6,
"messages": [
{
"role": "user",
"content": message
}
]
}
headers = {
"Accept": "application/json",
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}
# 发送请求
response = requests.post(
API_URL,
headers=headers,
data=json.dumps(payload)
)
# 检查响应状态
response.raise_for_status()
# 解析响应
result = response.json()
return result['choices'][0]['message']['content']
except Exception as e:
return f"发生错误: {str(e)}"
# 自定义CSS样式
custom_css = """
#component-0 {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
flex-direction: column;
}
#chatbot {
flex-grow: 1;
overflow-y: auto;
margin: 20px;
padding: 20px;
}
#input-container {
position: fixed;
bottom: 0;
left: 0;
right: 0;
padding: 20px;
background-color: white;
box-shadow: 0 -2px 5px rgba(0,0,0,0.1);
}
.message {
padding: 15px;
margin: 10px 0;
border-radius: 10px;
}
.user-message {
background-color: #f0f0f0;
}
.bot-message {
background-color: #e6f3ff;
}
"""
# 创建Gradio界面
with gr.Blocks(css=custom_css) as demo:
gr.Markdown("# Fireworks AI 聊天界面")
chatbot = gr.Chatbot(
elem_id="chatbot",
bubble_full_width=False,
show_label=False,
height=600
)
with gr.Row(elem_id="input-container"):
with gr.Column(scale=20):
input_text = gr.Textbox(
placeholder="输入消息...",
label="输入",
lines=1,
max_lines=5,
show_label=False
)
with gr.Column(scale=1, min_width=50):
submit_btn = gr.Button("发送", variant="primary")
# 清空对话按钮
clear_btn = gr.Button("清空对话", variant="secondary")
# 事件处理
def user_input(user_message, history):
return "", history + [[user_message, None]]
def bot_response(history):
user_message = history[-1][0]
bot_message = generate_response(user_message, history)
history[-1][1] = bot_message
return history
def clear_history():
return []
input_text.submit(
user_input,
[input_text, chatbot],
[input_text, chatbot],
queue=False
).then(
bot_response,
chatbot,
chatbot
)
submit_btn.click(
user_input,
[input_text, chatbot],
[input_text, chatbot],
queue=False
).then(
bot_response,
chatbot,
chatbot
)
clear_btn.click(clear_history, None, chatbot)
# 启动界面
demo.launch(
share=True,
height=800,
)
测试题目
彭平是一个计算机编程专家,姚欣是一位数学家。 其实,所有的计算机编程专家都是数学家。 我们知道,今天国内大多数综合性大学都在培养着计算机编程专家。 据此,我们可以认为: A.彭平是由综合性大学所培养的。 B.大多数计算机编程专家是由综合性大学所培养的。 C.姚欣并不是毕业于综合性大学。 D.有些数学家是计算机编程专家。
✅D
一只青蛙掉进了井里,此时井里的水面距离井口10米。 青蛙每天可以往上爬2米,然后滑落1米。井里的水每天上涨1米。 请问青蛙几天能爬出井口。
The fact that John had had to have had his car repaired before the race had had a significant impact on his performance, which, ironically, had had the unintended consequence of improving his overall standing in the championship.
✅约翰不得不在比赛前维修他的汽车这件事严重影响了他的表现,而具有讽刺意味的是,这反而意外地提升了他在锦标赛中的整体排名。
The more I thought about why she had said what she had said when she had said it, the less sense it made to me that she would have said it had she known what I know now about what was actually happening then.
✅当我越是思考她当时为什么要说那些话,越觉得如果她知道我现在所了解的当时实际发生的事情,她就不会说出那些话,这完全说不通。
Comments