首页 / 资料库 / 微软 · 生成式 AI 入门

资料库12 分钟读完MIT大语言模型模型选型微调RAGAzure

探索与对比不同的大语言模型

译自《Exploring and comparing different LLMs》 · 查看英文原文

原文出处Exploring and comparing different LLMs 原作者:Microsoft · 许可证:MIT License 中文译本由诸葛AI学院整理,仅供学习参考,版权归原作者与微软所有。

本课有配套教学视频,可在 YouTube 观看:https://youtu.be/KIRUeDKscfI

上一课我们看了生成式 AI 正在怎样改变技术版图,大语言模型(Large Language Model,LLM)是怎么工作的,以及一家公司,比如我们假设的那家初创企业,如何把它们用到自己的场景里获得增长。这一章要对比不同类型的 LLM,弄清各自的长处和短处。

初创旅程的下一步,是摸清当下 LLM 的整体格局,判断哪些适合我们的场景。

引言

本课将涵盖:

  • 当前格局里的不同类型 LLM。
  • 在 Azure 上针对你的场景测试、迭代、对比不同模型。
  • 如何部署一个 LLM。

学习目标

学完本课后,你应当能够:

  • 为自己的场景选对模型。
  • 明白如何测试、迭代并改进模型的表现。
  • 了解企业要怎样部署模型。

认识不同类型的 LLM

可以按架构、训练数据、用途等多个维度给 LLM 分类。搞清楚这些差别,我们的初创公司才能给场景选对模型,也才知道怎么测试、迭代、改进效果。

LLM 的种类很多。选哪一个,取决于你想拿它做什么、你有什么数据、愿意花多少钱,诸如此类。

你想处理的是文本、音频、视频还是生成图片,对应的模型类型也会不一样。

  • 音频与语音识别。Whisper 这类模型仍是好用的通用语音识别选择,但现在生产环境里也常用更新的语音转文字(speech-to-text)模型,比如 gpt-4o-transcribegpt-4o-mini-transcribe,以及带说话人分离(diarization)的版本。要按你的场景评估语言覆盖、说话人分离、实时支持、延迟和成本。细节见 OpenAI 语音转文字文档

  • 图片生成。DALL-E 和 Midjourney 是名气最大的图片生成选项,不过 OpenAI 现在的图像 API 以 GPT Image 系列为主(如 gpt-image-2),同时 Stable Diffusion、Imagen、Flux 等模型家族也常被选用。对比时看提示词(prompt)遵循度、编辑支持、风格控制、安全要求和许可协议。可参考 OpenAI 图片生成指南 和本课程第 9 章。

  • 文本生成。文本模型如今覆盖面很广:前沿模型、推理模型、低延迟的小模型、开放权重(open-weight)模型都有。当前的例子包括 OpenAI 的 GPT-5.x 系列、Anthropic 的 Claude 4.x 系列、谷歌的 Gemini 3.x 系列、Meta 的 Llama 4 系列,以及 Mistral 的模型。别只看发布时间和价格;要对比任务质量、延迟、上下文窗口(context window)、工具调用、安全表现、区域可用性和总成本。Microsoft Foundry 模型目录 是对比 Azure 上可用模型的好地方。

  • 多模态。现在很多模型处理的不再只有文本。有的能接收图片、音频或视频输入,有的能调用工具,还有专门生成图片、音频、视频的模型。比如 OpenAI 当前的模型支持文本和图片输入;Gemini 按版本不同,可支持文本、代码、图片、音频、视频输入;Llama 4 Scout 和 Maverick 是开放权重的原生多模态模型。围绕一个模型搭工作流之前,先去它的模型卡片(model card)上确认支持哪些输入输出模态。

选好模型,只是拿到了基础能力,往往还不够。公司特有的数据,你总得想办法让 LLM 知道。这事有几条路可走,后面几节会展开。

基础模型与 LLM 的区别

"基础模型"(Foundation Model)这个说法出自斯坦福研究者的论文,指的是满足几条标准的 AI 模型,例如:

  • 用无监督学习或自监督学习训练,即在无标签的多模态数据上训练,训练过程不需要人工标注数据。
  • 体量很大,基于深度神经网络,参数量以十亿计。
  • 通常用来给其他模型打底,也就是当作起点,在其上构建新模型,构建手段可以是微调(fine-tuning)。

原文此处有两张图,一张画基础模型与 LLM 的关系(来源:Babar M Bhatti 发表于 Medium 的 Essential Guide to Foundation Models and Large Language Models),一张出自论文 arXiv:2108.07258,内容都是上一组要点的示意。

再拿 ChatGPT 举个历史例子,把这个区别讲清楚。早期版本的 ChatGPT 以 GPT-3.5 作为基础模型,OpenAI 再用聊天场景的数据和对齐(alignment)技术调出一个更擅长对话的版本,用来做聊天机器人这类场景。如今的 AI 服务常常在好几个模型变体之间动态路由,所以服务名和底层模型名不总是一回事。

开放权重/开源模型与专有模型

给 LLM 分类的另一条线,是看它属于开放权重、开源还是专有。

开源和开放权重模型把模型资产开放出来,供人查看、下载或改造,但许可条款各不相同:有的完全开源,有的只是开放权重、附带使用限制。企业如果要在部署、数据驻留、成本、定制上有更多控制权,这类模型会有用。不过上生产之前,团队仍要把许可条款、服务成本、维护、安全更新、评估质量逐条过一遍。例子包括 Meta Llama 4、部分 Mistral 模型,以及托管在 Hugging Face 上的大量模型。

专有模型由厂商持有并托管。它们往往针对托管的生产环境做过优化,能提供更强的支持、安全体系、工具集成和规模。但客户通常看不到、也改不了模型权重,并且要审阅厂商条款里的隐私、数据保留、合规、可接受使用政策。例子包括 OpenAI 模型Google GeminiAnthropic Claude

嵌入、图片生成、文本与代码生成

还能按产出物给 LLM 分类。

嵌入(embedding)是一类把文本转成数字形式的模型,这个形式就是输入文本的数值表示。有了嵌入,机器更容易理解词与词、句与句之间的关系;它还能当作其他模型的输入,比如分类模型、聚类模型,这些模型在数值数据上表现更好。嵌入模型常用于迁移学习(transfer learning):先在一个数据充足的替代任务上训好模型,再把模型权重(也就是嵌入)复用到其他下游任务。这一类的例子是 OpenAI embeddings

图片生成模型负责产出图片,常用于图片编辑、图片合成、图片转换。这类模型多在大规模图片数据集上训练,比如 LAION-5B,既能生成新图,也能用补绘(inpainting)、超分辨率、上色等技术编辑已有图片。例子包括 GPT Image 系列Stable Diffusion 系列 和 Imagen 模型。

文本与代码生成模型产出的是文字或代码,常用于文本摘要、翻译、问答。文本生成模型多在大规模文本数据集上训练,比如 BookCorpus,用来生成新文本或回答问题。代码生成模型,比如 CodeParrot,多在 GitHub 这类大规模代码数据集上训练,用来生成新代码,或修已有代码的 bug。

原文此处有三张图,分别示意嵌入、图片生成、文本与代码生成这三类模型的输入输出,各配一段上文对应的文字说明即可,图本身没有新增信息。

编码器-解码器与仅解码器

讲 LLM 的架构类型,先打个比方。

假设经理交给你一个任务:给学生出一套测试题。你有两位同事,一位负责出题,一位负责审题。

出题的同事就像仅解码器(decoder-only)模型:看一眼题目主题,看看你已经写了什么,就着这些上下文继续往下生成。它们很会写既好看又有料的内容,但任务如果只是分类、检索、编码信息,它们未必是最佳选择。GPT 和 Llama 系列都是仅解码器模型。

审题的同事像仅编码器(encoder-only)模型:通读写好的课程内容和答案,注意两者之间的关系、理解上下文,但不擅长生成内容。BERT 就是仅编码器模型。

再想象有这么一个人,既能出题又能审题,这就是编码器-解码器(encoder-decoder)模型。BART 和 T5 属于这一类。

服务与模型

再说说服务和模型的区别。服务是云服务商提供的产品,通常是模型、数据和其他组件的组合;模型是服务的核心组件,往往是基础模型,比如 LLM。

服务多为生产环境做过优化,还有图形界面,比裸模型好用。但服务很少免费,多半要订阅或付费,换来的是借用服务方的设备和资源:省了优化开销,也容易扩容。Azure OpenAI 服务是一例,它提供按量付费(pay-as-you-go)的计费方式,用多少付多少;在模型能力之外,还附带企业级安全和一套负责任 AI 的框架。

模型是神经网络这套资产:参数、权重、架构、分词器(tokenizer)和配套配置。要在本地或私有环境里跑模型,你得有合适的硬件、推理服务基础设施、监控,还要拿到匹配的开源/开放权重许可或商业许可。Llama 4、Mistral 这类开放权重模型可以自托管,但算力和运维功底一样少不了。

在 Azure 上测试、迭代,摸清模型性能

团队摸清 LLM 格局、圈出几个合适的候选模型之后,下一步就是拿自己的数据、自己的负载去测。这是个迭代过程,靠实验和度量一步步推进。前面提到的大多数模型(OpenAI 模型、Llama 4 和 Mistral 这类开放权重模型、Hugging Face 上的模型)都能在 Microsoft Foundry Models 里找到。

Microsoft Foundry(由 Azure AI Studio / Azure AI Foundry 演进而来)是 Azure 上构建 AI 应用与智能体的统一平台,帮开发者管好从实验、评估到部署、监控、治理的整个生命周期。它的模型目录能让用户做这些事:

  • 在目录里找到你想要的基础模型,既有 Azure 出售的,也有合作伙伴和社区提供方提供的;可按任务、提供方、许可、部署方式或名称筛选。

  • 查看模型卡片,里面有预期用途、训练数据的详细说明、代码示例,以及内部评估库上的评测结果。

  • 通过模型基准(Model Benchmarks)面板,对比业界各模型、各数据集的基准成绩,判断哪个符合业务场景。

  • 对支持微调的模型,用自定义训练数据做微调,借 Microsoft Foundry 的实验与追踪能力,让模型在特定负载上跑得更准。

  • 把原始预训练模型或微调后的版本部署到远程的实时推理端点,可选托管算力或 serverless 部署,供应用调用。

注意 目录里并非所有模型都支持微调,也不是都支持按量付费部署。模型的能力与限制,以模型卡片为准。

改善 LLM 的效果

到这里,我们和初创团队一起看过了各类 LLM,也认识了一个云平台(Microsoft Foundry),有了它就能对比模型、用测试数据评估、改进表现,再把模型部署到推理端点。

但什么时候该考虑微调一个模型,而不是直接用预训练模型?想让模型在特定负载上表现得更好,还有没有别的办法?

想让 LLM 达到业务需要的效果,办法有好几个。在生产环境部署 LLM 时,可以选择训练程度不同的模型类型,各自的复杂度、成本、质量都不一样。下面列几种:

  • 带上下文的提示工程。核心思路是提问时给足上下文,确保拿到你要的回答。

  • 检索增强生成(Retrieval Augmented Generation,RAG)。你的数据可能存在数据库或某个 web 端点上。为了让提问时带上这些数据(或其中一部分),可以先取回相关内容,拼进用户的提示词里。

  • 微调模型。拿自己的数据对模型继续训练,模型会更精准、更贴合你的需求,但代价可能很高。

原文此处有一张图,画的是企业部署 LLM 的四种方式(带上下文的提示工程、RAG、微调、从头训练)在成本、复杂度、质量上的梯度对比,来源是 Fiddler AI 博客的 Four Ways that Enterprises Deploy LLMs

带上下文的提示工程

预训练的 LLM 在泛化的自然语言任务上已经很好用,哪怕只给一句很短的提示词,比如半句话让它补全、或一个问题,也就是所谓的"zero-shot"(零样本)学习。

但用户越会把问题框清楚,给出详细的请求加示例(也就是上下文),答案就越准、越接近预期。提示词里只含一个示例叫"one-shot"(单样本)学习,含多个示例叫"few-shot"(少样本)学习。起步阶段,带上下文的提示工程是性价比最高的做法。

检索增强生成(RAG)

LLM 有个先天限制:回答问题只能用训练时用过的数据。训练过程结束之后发生的事实它不知道,也访问不到非公开信息(比如公司数据)。

RAG 能绕过这个限制:把外部数据切成文档块,在提示词长度上限之内补进提示词。支撑它的是向量数据库工具(比如 Azure Vector Search),从预先定义好的各路数据源里取回有用的片段,加进提示词的上下文。

企业没有足够的数据、时间或资源去微调 LLM,但又想在特定负载上把结果做得更好、降低幻觉回答、过时回答、无依据回答的风险时,这招很有用。

微调模型

微调是借助迁移学习把模型"适配"到下游任务或某个具体问题的过程。和 few-shot、RAG 不同,微调的产出是一个新模型,权重和偏置都更新了。它需要一组训练样本,每条样本是一个输入(提示词)配上对应的输出(补全)。遇到下面几种情况,微调会是首选:

  • 用较小的任务专用模型。企业想挑个小模型针对窄任务微调,而不是反复去提示一个大的前沿模型,这样更省钱、更快。

  • 在意延迟。场景对延迟敏感,塞不下很长的提示词;或者要学的示例数量超出提示词长度限制。

  • 固化稳定的行为。企业有大量高质量样本,希望模型稳定遵循某种任务模式、输出格式、语气或领域风格。要解决的主要问题若是频繁更新的新事实或私有知识,该用 RAG,而不是只靠微调。

从头训练的模型

从头训练一个 LLM,无疑是最难、最复杂的路线,要有海量数据、专业人才和足够的算力。只有当企业有领域专属的场景、又握有大量领域数据时,才该考虑这条路。

知识检查

想改善 LLM 的生成结果,哪些是好办法?

  1. 带上下文的提示工程
  2. RAG
  3. 微调模型

答案:三个都有用。先用提示工程加上下文快速见效;模型需要最新事实或私有业务数据时上 RAG;有足够多的高质量样本、要求模型稳定遵循某种任务、格式、语气或领域模式时,选微调。

动手挑战

进一步阅读:如何为你的业务使用 RAG

继续学习

学完本课,可以看看微软的生成式 AI 学习合集,继续补课。

下一课我们讲如何负责任地构建生成式 AI 应用

这篇在讲什么,跟咱们的课怎么对?

资料库是大厂公开教材的中文译本,偏原理和工程做法。想看面向中小企业的白话版本,去入门课场景课