主流开源大模型概览
开源大语言模型(LLM, Large Language Model)日新月异,工程师选型不应只看“谁最强”,而要关注“谁最适合业务场景”。
大模型生态与主流模型概览
开源大模型生态主要分为三大类:国际主力模型、国内主力模型、社区增强/衍生模型。下方流程图展示了各类代表模型及其关系。
工程视角总结如下:
- 国际主力模型:英文与代码能力强,生态成熟。
- 国内主力模型:中文能力突出,许可证清晰,适合政企/私有化部署。
- 社区增强模型:轻量化、对话质量提升,补丁价值高。
主流开源模型对比总表
下表是工程师选型的核心参考,涵盖参数规模、训练数据、许可证、本地推理支持、多模态能力及优劣势。
| 模型 | 参数规模 | 许可证 | 多模态 | 本地推理支持 | 优势 | 劣势 |
|---|---|---|---|---|---|---|
| Llama 3 / Llama 2 | 8B / 70B | Meta 许可(部分商用限制) | 有(Llama3-Vision) | ✅ 全面支持(GGUF/llama.cpp/vLLM) | 英文强、生态最大、社区工具最丰富 | 许可证仍非纯开源 |
| Mistral / Mixtral | 7B / 8×7B MoE | Apache 2.0 | 有 | ✅ 极佳 | 小模型能力强、MoE 吞吐高、本地部署轻量 | 中文较弱、训练数据更偏西方 |
| Phi-3 系列 | 3B / 7B | MIT | 有 | ✅ 极佳 | 体积小、推理快、性价比最高 | 深推理能力弱 |
| Qwen(通义千问) | 0.5B–110B | Apache 2.0 | 有(Qwen-VL) | ✅ 优秀 | 中文最强之一、代码强、权重开放度高 | 国际生态稍弱 |
| DeepSeek(各代) | 1.5B–671B | MIT | 有(DeepSeek-VL) | ✅ 极佳 | 中文理解及推理极强、训练效率领先、私有化适配好 | 海外生态弱、文档更新频繁 |
| ChatGLM / GLM4 | 6B / 9B / 130B | Apache 2.0 | 有 | ✅ 良好 | 中文问答优秀、本地部署轻量级 | 推理能力不如同规模新模型 |
| Baichuan 系列 | 7B / 13B | 商用需申请 | 无 | ✅ 良好 | 均衡、稳定、兼容性好 | 商用许可略繁琐 |
| InternLM(上海 AI 实验室) | 7B / 20B | Apache 2.0 | 有(InternLM-XComposer) | ✅ 良好 | 学术背景强、中文能力好 | 英文表现一般 |
工程师可直接从“许可证、本地推理、优势/劣势”快速做项目选型。
模型能力定位图
下方定位图展示各主流模型的生态位分布,帮助理解其核心能力与适用场景。
简要解读:
- DeepSeek:全能型偏推理
- Qwen:全能型偏语言/创造力
- Mistral / Phi3:推理/工程导向
- GLM4 / Llama3:偏语言与生成任务
- Baichuan:综合能力均衡
主流开源模型一句话总结
| 模型 | 一句话总结 |
|---|---|
| Llama 3 / 2 | 生态基石、兼容性最广,默认选项。 |
| Mistral / Mixtral | 小模型里的性能怪兽,MoE 能把吞吐提高一档。 |
| Phi-3 | 如果你想便宜又好用,Phi 是最强轻量模型。 |
| Qwen | 中文理解 + 代码生成 = 性能最均衡的国产模型。 |
| DeepSeek | 推理能力最强的国产模型,性价比高。 |
| ChatGLM / GLM4 | 中文问答最稳的小型模型。 |
| Baichuan | 中英均衡的老牌国产模型,适合集成。 |
| InternLM | 学术背景强,适合科研/教育场景。 |
大模型任务空间全景
大语言模型并不是“一个模型干所有事”的工具,更像 Kubernetes 生态里的不同组件,各有职责分离。下方流程图展示了主流模型的任务空间划分。
工程师可以类比云原生组件理解模型分工:
- Embedding 模型 = etcd(存储/索引)
- 通用 Chat 模型 = API Server(对外交互)
- 代码模型 = Operator(专门做一类活)
模型用途映射表
下表是工程师选型的核心参考,涵盖主流开源大语言模型在不同任务领域的适配性。
通过此表,开发者可快速定位每个模型的最佳用途,避免“用错模型”导致工程灾难。
| 模型 | 对话 | 代码生成 | 多模态 | RAG | 领域任务 | 备注 |
|---|---|---|---|---|---|---|
| Qwen 系列 | ✅✅ | ✅ | ✅✅(VL) | ✅✅ | ✅ | 中文最全能模型 |
| DeepSeek 系列 | ✅✅ | ✅ | ✅(VL) | ✅✅ | ✅ | 推理能力极强 |
| Llama 3 | ✅✅ | ✅ | ✅(Vision) | ✅✅ | 中等 | 生态最大 |
| Mistral / Mixtral | ✅ | ✅ | ❌ | ✅ | ❌ | 轻量性能强 |
| Phi-3 | ✅ | ❌ | ❌ | ✅ | ❌ | 轻量极致性价比 |
| ChatGLM / GLM4 | ✅✅ | ❌ | ✅ | ✅ | ✅(中文) | 中文对话表现好 |
| CodeLlama | ❌ | ✅✅ | ❌ | ❌ | ❌ | 专为代码而生 |
| DeepSeek-Coder | ❌ | ✅✅✅ | ❌ | ❌ | ✅(编程) | 目前最强开源代码模型 |
| LLaVA / Qwen-VL / MiniCPM-V | ✅ | ❌ | ✅✅✅ | ❌ | ❌ | 图像理解最强 |
✅ 越多 ✅ = 越适合,✅✅ = 该领域优秀,✅✅✅ = 该领域最佳
也许你会好奇,为什么会有这么多大模型?原因如下:
- 输入模态多样(文本 / 图像 / 代码 / 语音)
- 任务类型不同
- 数据来源不同
- 使用场景不同(对话/推理/编码)
- 行业需求不同(医疗/法律/金融)
这就像 Kubernetes 有 Deployment、StatefulSet、DaemonSet 一样,同一个 API Server 不可能解决所有问题。
按用途分类的四大模型家族
工程师选型时,建议先按用途分类,再选具体模型。下文分为通用对话、代码生成、多模态、领域专用四大类。
通用对话模型(General Chat Models)
通用对话模型面向开放域问答、多轮对话、任务执行,适合 Slack 助手、网站客服、知识助手等场景。下表总结其能力特点与适用场景。
| 适用场景 | 能力特点 |
|---|---|
| Slack 助手、网站客服、知识助手 | 擅长对话、语言理解、任务执行 |
| RAG 输出、问答系统 | 与企业知识库结合效果好 |
代表模型:
- Qwen-Chat / Qwen2.5-Chat
- DeepSeek-Chat / DeepSeek-R1
- Llama3-Chat
- ChatGLM
- Vicuna(Llama 衍生)
代码模型不适合对话任务,因为训练分布不同,闲聊时容易“说不明白”。
代码生成模型(Code LLM)
代码生成模型专为代码任务训练,只做一件事:写好代码。下表总结其典型任务类型。
| 任务 | 说明 |
|---|---|
| 单函数补全 | 持续生成上下文一致的代码 |
| 代码审查 | 找出缺陷、重写方案 |
| 生成测试 | 单元测试/集成测试 |
| 代码解释 | 理解复杂逻辑 |
代表模型:
- DeepSeek-Coder(最强开源代码模型)
- CodeLlama(稳定成熟)
- StarCoder
- Phi-3 Code
代码模型用于普通对话会表现糟糕,因为训练分布不同。
多模态模型(Vision / Audio / Image Generation)
多模态模型像 K8s 插件体系中的 CNI、CSI、CRI,每种模态就是一个“接口”,模型能理解不同格式的输入。下表总结主流多模态类型与代表模型。
| 模态 | 输入 | 输出 | 代表模型 |
|---|---|---|---|
| 图像→文本 | Image | Text | Qwen-VL、LLaVA |
| 文本→图像(扩散) | Text | Image | Stable Diffusion、Flux |
| 语音→文本(ASR) | Audio | Text | Whisper |
| 文本→语音(TTS) | Text | Audio | CosyVoice、GPT-SoVITS |
常见应用包括看图问答、OCR 文档解析、视频/图像内容审核、多模态 Agent。多模态模型有明确的 I/O 边界,不是通用 Chat 模型。
领域专用模型(Domain LLM)
领域专用模型像 Kubernetes Operator,针对某一垂直领域深度优化。下表总结常见领域、示例模型与应用场景。
| 领域 | 示例模型 | 应用 |
|---|---|---|
| 医疗 | Med-PaLM、国内多个医疗 LLM | 辅诊、报告生成 |
| 法律 | Lawyer LLM | 案例分析、合同生成 |
| 学术 | Galactica | 文献总结 |
| 金融 | FinGPT | 报表、金融问答 |
领域模型对专业知识理解深,但通用能力不如 Chat 模型。
模型职责边界图
下方流程图展示了各类模型的职责分工,强调“不能用一个模型干全部”。
工程师可类比 Kubernetes 组件理解:
- Chat 模型 = API Server
- Code 模型 = Operator
- Embedding = etcd/索引层
- 向量数据库 = 控制平面数据存储
任务类型(Task Types)
任务类型描述模型主要做什么。下表总结主流任务类型及输入输出。
| Task Type | 输入 | 输出 | 示例 |
|---|---|---|---|
| Text Generation | Text | Text | 对话、写作、总结 |
| Embedding | Text | Vector | RAG 语义检索 |
| Text Classification | Text | Label | 垃圾邮件检测 |
| Translation | Text | Text | 中英翻译 |
| Summarization | Text | Text | 长文压缩 |
| Image-to-Text | Image | Text | OCR、看图问答 |
| Text-to-Image | Text | Image | 生成图片 |
这些就是“模型的岗位职责”。
模型能力(Capabilities)
能力描述模型能怎么被使用。下表总结主流能力及其意义。
| 能力 | 意义 |
|---|---|
| Batch | 支持并发推理,提高吞吐 |
| LoRA 微调 | 轻量定制企业场景 |
| Function Calling | 通过模型调用外部 API(如查询天气/数据库) |
| 长上下文 | 处理长文档的基础能力 |
典型 Prompt 模板
根据模型类型分别给出最佳实践 Prompt 模板,工程师可直接用于生产。
通用对话模型(Chat)
专业助手(结构化):
你是一名专业的技术助手,请根据以下要求回答:
- 使用简体中文
- 输出结构化内容(标题、列表、代码块)
- 避免泛泛而谈,直接给出最优解
- 必要时给出示例与对比表
问题:{{用户问题}}
代码生成模型(Code LLM)
生成代码(最强模板):
你是一名高级软件工程师,只输出可运行代码,不解释不多话。
要求:
- 使用 {{语言}}
- 保证代码可运行
- 无多余注释
- 如未指定框架,选择社区主流方案
任务:写一个 {{功能描述}}
代码审查(Review):
请作为资深代码审查员,对下面代码进行审查:
{{代码}}
请输出:
1. 潜在错误
2. 不合理设计
3. 安全问题
4. 可优化点
5. 改进后的版本
RAG(Embedding 检索)
你是一名知识库问答模型,请严格基于“上下文”回答,不得编造。
【上下文】
{{context}}
【问题】
{{query}}
请遵循:
- 若答案不在上下文中,必须回答“上下文未包含对此问题的答案”
- 引用上下文的句子作为证据
多模态(视觉)
请分析以下图像内容,为我执行任务:
任务目标:{{task}}
请输出结构化结果,并解释关键区域。
<image>
文生图(Stable Diffusion / Flux)
<lora:style:0.7>
Prompt: {{主体 + 风格}}
Lighting: cinematic light
Detail: ultra detail
Negative prompt: blurry, low quality, distorted
ASR / TTS
ASR(Whisper)不需要 Prompt,但可以补充任务前缀:
请将音频内容完整、准确转写为简体中文,并保留标点。
TTS 典型:
请将下列内容转换为自然、清晰的中文语音:
{{text}}
情绪:平静清晰
语速:正常
工程避坑指南
工程师常见误区总结如下:
- 不要用对话模型写代码,会生成会话风格、“看似合理但不可运行”的代码。
- 不要用代码模型对话,常识与自然语言能力弱。
- 不要用多模态模型做 RAG,Embedding 和检索效果极差。
- 不要让一个模型做所有任务,分布不同表现会崩坏。
- 不要忽略许可证,特别是 commercial use 限制。
总结
选模型时先问:“我到底要它做什么?”用途决定模型:对话 / 代码 / 图像 / 领域。再确认任务类型、能力要求(如 Function Calling、长上下文)、部署环境(本地 vs 云)。多模型协作远优于单模型大锅饭,生态优先:Qwen / Llama / DeepSeek 的组合最稳。