本文档提供了生成式人工智能系统底层基本原理和技术的概述。在这里,您将学习什么是生成式人工智能、大型语言模型(LLMs)如何工作、不同类型的 LLMs、提示工程基础以及负责任的 AI 实践。
有关设置开发环境的信息,请参阅 课程结构和设置。有关构建应用程序的具体实现细节,请参阅 构建生成式 AI 应用程序。
生成式人工智能是指能够生成新内容的人工智能系统,包括文本、图像、音频和其他类型的媒体。其革命性之处在于它使人工智能民主化——用户可以使用自然语言提示与之交互,而无需专门的编程知识。
现代生成式人工智能背后的关键技术是大型语言模型(LLMs),它们经过海量文本数据的训练,能够理解并生成类似人类的文本。
LLMs 接收文本作为输入并生成文本作为输出。该过程涉及几个关键步骤:
"Hello world" → ["Hello", "world"] → [15339, 995]
分词器将文本分解为词元,并将每个词元映射到数字索引。在生成过程中,模型一次预测一个词元,并将其作为下一个预测的输入,以扩展窗口模式进行。
来源
大型语言模型可以根据其架构、访问权限和功能进行多种分类。
来源
有几种方法可以改进 LLM 针对特定用例的结果,从简单的提示技术到更复杂的模型定制不等。
| 方法 | 描述 | 何时使用 | 复杂性 | 数据要求 |
|---|---|---|---|---|
| 提示工程 | 精心设计有效的提示以指导模型的输出 | 快速解决方案、探索 | 低 | 无 |
| RAG | 检索外部信息以增强提示 | 当需要外部知识时 | 中等 | 外部知识源 |
| 微调 | 在特定数据上进行额外训练 | 领域特定应用 | 高 | 高质量带标签数据 |
| 训练 | 从头开始构建模型 | 高度专业化的需求 | 非常高 | 海量数据 |
来源
提示工程是设计输入以从 LLM 中获得最佳输出的过程。它是有效使用生成式人工智能的关键技能。
使用 LLMs 时的两个重要参数是:
温度:控制输出中的随机性。值范围从 0(确定性)到 1(更随机)。较低的值会产生更一致的输出,而较高的值会引入更多创意和变化。
词元:模型处理的文本单位。模型对输入和输出的总和有词元限制。有效管理词元对于保持在这些限制内很重要。
来源
负责任地使用生成式人工智能需要了解其局限性和潜在风险。
| 风险 | 描述 | 缓解策略 |
|---|---|---|
| 幻觉 | AI 生成虚假或误导性信息 | 事实核查、RAG、清晰的局限性说明 |
| 偏见 | 对某些群体的对待不公平 | 多样化的训练数据、偏见测试、人工审查 |
| 隐私顾虑 | 敏感信息暴露 | 数据最小化、同意、安全处理 |
| 过度依赖 | 对 AI 输出的过度信任 | 用户教育、关于 AI 局限性的透明度 |
| 滥用 | 将 AI 用于有害目的 | 道德准则、访问控制、监控 |
来源
为 AI 应用程序设计有效的用户体验需要特别的考虑。
来源
有几种将生成式人工智能集成到应用程序中的模式。
函数调用允许您定义模型可以“调用”以提供结构化数据的函数。这使得响应格式一致并能与外部系统集成。
函数调用结构示例
来源
RAG 是一种通过从外部来源检索相关信息并将其包含在提示中来增强 LLM 响应的技术。
来源
生成式人工智能可用于构建各种类型的应用程序。
| 应用类型 | 主要功能 | 用例 | 代码组件 |
|---|---|---|---|
| 文本生成 | 创建原创文本内容 | 内容创作、摘要 | openai.Completion.create() |
| 聊天应用 | 交互式对话界面 | 客户支持、虚拟助手 | openai.ChatCompletion.create() |
| 搜索应用 | 使用嵌入进行语义搜索 | 文档检索、知识库 | openai.Embedding.create() |
| 图像生成 | 根据文本描述创建图像 | 设计、插图、创意内容 | openai.Image.create() |
| 低代码应用程序 | 具有 AI 功能的视觉开发 | 业务应用程序、工作流自动化 | Power Platform、AI Builder |
来源
本页涵盖了生成式人工智能的核心概念,包括:
这些基础概念为本课程后续课程的更详细探索奠定了基础。
来源