开源模型实战指南:基于 Generative AI for Beginners 课程第 16 讲全面解读开源 LLM 家族
【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners
本文基于 generative-ai-for-beginners 课程第 16 讲(开源模型,印尼语译本见 translations/id/16-open-source-models/README.md)撰写。课程共 21 讲,本讲聚焦开源与开放模型的定义、优势、主流模型家族(Llama、Mistral、Falcon)的选型对比,以及如何在 Hugging Face 与 Azure AI Foundry(Microsoft Foundry)模型目录中快速上手。读完本文,你将掌握:判断"开源模型"与"开放模型"的差异标准、三大开放模型家族各自的技术特色与适用场景,以及一套可落地的模型筛选与对比方法。
学习目标
- 理解什么是开源模型(Open Source Models);
- 理解使用开源模型带来的核心收益;
- 探索 Hugging Face 与 Microsoft Foundry 模型目录(原 Azure AI Studio)中可用的开放模型。
什么是开源模型?
开源软件(Open Source Software)在不同技术领域的发展中一直扮演着关键角色。开放源代码促进会(Open Source Initiative,简称 OSI)为软件被归类为开源定义过10 条标准(OSD),核心要求是:源代码必须在 OSI 批准的许可证下公开共享。
虽然 LLM 的研发与软件开发有相似之处,但二者过程并不完全相同。这引发了社区对"LLM 语境下开源定义"的大量讨论。要让一个模型符合传统意义上的开源定义,以下信息必须公开可得:
- 用于训练模型的数据集(Datasets);
- 作为训练一部分的完整模型权重(Full model weights);
- 评估代码(The evaluation code);
- 微调代码(The fine-tuning code);
- 完整模型权重与训练指标(Full model weights and training metrics)。
目前只有极少数模型能满足上述全部标准。由艾伦人工智能研究所(Allen Institute for Artificial Intelligence,简称AllenAI)创建的 OLMo 模型 正是符合这一类别的代表。
由于大多数模型在撰写本文时可能尚未满足上述全部标准,本讲(以及本文)统一使用"开放模型(Open Models)"这一称呼。
关联阅读:关于专有(闭源)模型与开源模型的详细对比,可参见课程第 2 讲 探索与对比不同 LLM;关于微调机制的深入讲解,可参见课程第 18 讲 微调 LLM。
使用开放模型的三大收益
高度可定制(Highly Customizable)
由于开放模型随发布附带详细的训练信息,研究人员和开发者可以修改模型内部结构。这使创建高度专精的模型成为可能——针对特定任务或研究领域进行微调,例如代码生成、数学运算和生物学等垂直场景。这与课程第 18 讲 微调 LLM 所讲的内容一脉相承:微调(fine-tuning)通过对预训练模型追加新数据进行再训练,从而在特定任务上获得更精准、更相关的"自定义模型",同时还能减少 few-shot 示例的 token 消耗、降低调用成本。
成本(Cost)
使用和部署这些模型的每 token 成本低于专有模型。在构建生成式 AI 应用时,必须针对你的具体用例评估"性能 vs 价格"这一关键权衡:
图片来源:Artificial Analysis
灵活性(Flexibility)
使用开放模型让你在"使用不同模型"或"组合多个模型"上拥有充分的灵活性。典型例子是 HuggingChat 助手(HuggingChat Assistants):用户可以直接在界面中切换当前使用的模型:
探索不同的开放模型家族
Llama 2(Meta)
Llama 2 由 Meta 开发,是一个针对聊天类应用优化的开放模型。这得益于其微调方法——训练中包含了大量对话数据与人类反馈。通过这种方式,模型输出更符合人类期望,从而带来更好的用户体验。
常见的 Llama 微调版本示例:
- Japanese Llama(ELYZA-japanese-Llama-2-7b):专精于日语的微调版本;
- Llama Pro(LLaMA-Pro-8B):对基础模型的增强版本。
仓库延伸(Meta 家族的新进展):课程第 21 讲 Building With the Meta Family Models 进一步介绍了 Llama 3.1 与 Llama 3.2 两大新成员:
- Llama 3.1(70B Instruct / 405B Instruct):上下文窗口从 Llama 3 的 8k 提升至128k tokens,最大输出 token 从 2048 提升至 4096,多语言支持更佳,并具备原生函数调用能力,内置 Brave Search 与 Wolfram Alpha 两个工具,适用于更复杂的 RAG 与合成数据生成场景;
- Llama 3.2(11B / 90B Vision Instruct,以及 1B / 3B 纯文本变体):引入多模态能力(同时理解文本与图像提示),1B / 3B 小体量变体可部署在边缘 / 移动设备上,提供低延迟体验。
Mistral
Mistral 是一个将高性能与高效率作为核心追求的开放模型。它采用**专家混合(Mixture-of-Experts,MoE)**架构:把一组专精的专家模型组合进一个统一系统中,根据输入动态选择启用特定的专家子集。由于每个模型只处理自己擅长的输入,计算效率显著提升。
常见的 Mistral 微调版本示例:
- BioMistral:专注于医学领域;
- OpenMath Mistral(NVIDIA):执行数学计算。
仓库延伸(Mistral 家族的新进展):课程第 20 讲 Building with Mistral Models 详细介绍了三个不同定位的 Mistral 模型:
- Mistral Large 2:旗舰模型,面向企业级应用。上下文窗口达128k(上一代为 32k),数学与编码任务准确率明显提升,支持 13 种以上语言的多语言能力,在 RAG、函数调用(支持并行/串行)与代码生成(Python、Java、TypeScript、C++)上表现出色;
- Mistral Small:定位为小语言模型(SLM),相比 Large/NeMo 成本下降约 80%,延迟更低、部署更灵活,适合摘要、情感分析、翻译等文本任务与高频调用场景;
- Mistral NeMo:唯一的Apache 2.0 许可证免费开放模型,被视为 Mistral 7B 的升级。使用 Tekken 分词器(而非常见的 tiktoken),在更多语言与代码上表现更优;基础模型开放微调,并支持原生函数调用。
关联阅读:小语言模型(SLM)与 LLM 在规模、理解力、算力、偏见与推理速度五个维度的系统对比,参见课程第 19 讲 Introduction to Small Language Models。
Falcon(TII)
Falcon 是由技术创新研究院(Technology Innovation Institute,简称TII)创建的 LLM。Falcon-40B使用 400 亿参数训练,在更低的算力预算下表现出优于 GPT-3 的性能。这得益于它采用FlashAttention 算法与 multiquery attention,显著削减了推理时的内存需求。由于推理时间更短,Falcon-40B 非常适合聊天应用。
常见的 Falcon 微调版本示例:
- OpenAssistant(falcon-40b-sft-top1-560):构建在开放模型之上的助手;
- GPT4ALL(nomic-ai/gpt4all-falcon):性能高于基础模型的增强版本。
如何选择开放模型
对于如何选择开放模型,没有唯一答案。以下是文档给出的三条实用路径:
- 按任务筛选:一个很好的起点是使用 Microsoft Foundry 模型目录(原 Azure AI Studio 的模型目录)的"按任务筛选(filter by task)"功能,这能帮助你理解模型被训练用来完成哪些类型的任务。
- 参考排行榜:Hugging Face 维护着LLM Leaderboard,可以按特定指标查看表现最佳的模型。
- 跨类型对比:当需要跨不同类型比较 LLM 时,Artificial Analysis 是另一个优秀的资源:
图片来源:Artificial Analysis
此外,如果你正在处理某个特定用例,搜索聚焦于相同领域的微调版本往往非常有效。同时,在多个开放模型上做实验、观察它们是否符合你和用户的期望,也是值得推荐的实践。
补充对比视角:课程第 2 讲 探索与对比不同 LLM 指出,LLM 可按架构、训练数据与用例进行多维分类(文本生成、语音识别、图像生成、多模态等),选型时应综合比较任务质量、延迟、上下文窗口、工具调用能力、安全行为、区域可用性与总成本,而不是只看发布日期或价格。
下一步行动
开放模型最大的优势在于:你可以非常快速地开始使用它们。查看 Azure AI Foundry 模型目录,其中收录了专门的 Hugging Face 模型集合,上面讨论到的这些模型都在其中。课程主仓库 README.md 也提供了完整的 21 讲索引、代码示例与配套学习资源,方便你继续深入。
继续学习
完成本讲后,你还可以继续:
- 第 18 讲 微调 LLM——深入理解微调的动机、方法与局限;
- 第 20 讲 基于 Mistral 模型构建——通过可运行的 Python 代码体验 Mistral Large 2 的 RAG 示例、Mistral Small/Large 延迟对比与 NeMo 分词器对比;
- 第 21 讲 基于 Meta 家族模型构建——通过代码示例体验 Llama 3.1 原生函数调用与 Llama 3.2 多模态图像理解;
- 第 19 讲 小语言模型(SLM)——了解 SLM 与 LLM 的差异,以及 Microsoft Phi-3/3.5 家族的实际推理方式。
翻译说明:本文依据仓库印尼语译本 translations/id/16-open-source-models/README.md 编写,其英文原文见 16-open-source-models/README.md。文中涉及的模型名称、指标与结论均以课程文档与仓库源码为准,具体数据可能随时间变化,请以 Hugging Face 模型卡片及官方模型目录的最新信息为准。
【免费下载链接】generative-ai-for-beginners21 Lessons, Get Started Building with Generative AI项目地址: https://gitcode.com/GitHub_Trending/ge/generative-ai-for-beginners
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考