你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure Database for PostgreSQL 灵活服务器生成式 AI
适用于: Azure Database for PostgreSQL 灵活服务器
生成式 AI (GenAI) 指一类人工智能算法,该算法可学习已有多媒体内容并生成新内容。 可以使用提示和微调等技术自定义生成的内容。 GenAI 算法应用特定的机器学习模型:
- 用于生成文本的转换器和递归神经网络 (RNN)。
- 用于生成图像的生成式对抗网络 (GAN)。
- 用于生成图像等的变分自编码器 (VAE)。
GenAI 用于图像和音乐合成、医疗保健以及文本自动完成、文本摘要生成和翻译等常见任务。 GenAI 技术可实现聚类分析、分段、语义搜索和建议、主题建模、问答和异常检测等针对数据的功能。
OpenAI
OpenAI 是一家人工智能 (AI) 研究机构和技术公司,以其在人工智能和机器学习领域的开创性工作而闻名。 他们的使命是确保人工智能 (AGI) - 即高度自主的 AI 系统 - 在最具经济价值的工作中的表现优于人类,从而能够为全人类造福。 OpenAI 推出了最先进的生成式模型,如 GPT-3、GPT-3.5 和 GPT-4(经过预训练的生成式转换器)。
Azure OpenAI 是 Azure 的 LLM 服务产品,可帮助利用 Azure 生成 GenAI 应用程序。 Azure OpenAI 服务通过 OpenAI GPT-4、GPT-3、Codex、DALL-E 和 Whisper 模型为客户提供高级语言 AI,并能够实现 Azure 的安全性和企业承诺。 Azure OpenAI 与 OpenAI 共同开发 API,确保兼容性的同时能够实现二者之间的平稳过渡。
使用 Azure OpenAI,客户可在运行与 OpenAI 相同的模型时获得 Microsoft Azure 的安全功能。 Azure OpenAI 提供专用网络、区域可用性和负责任 AI 内容筛选功能。
详细了解 Azure OpenAI。
大型语言模型 (LLM)
大型语言模型 (LLM) 是一类基于大量文本数据训练的 AI 模型,可理解和生成类似人类的语言。 LLM 通常基于深度学习体系结构(如转换器),因其能够执行多种自然语言理解和生成任务而闻名。 为 ChatGPT 提供支持的 OpenAI 的 GPT 就是一个 LLM。
大型语言模型的主要特性和功能包括:
- 缩放:在 LLM 体系结构中使用的参数数量方面,提供巨大的缩放性。 GPT-3(生成预训练转换器 3)等模型包含数亿到数万亿个参数,使其能够捕获语言中的复杂模式。
- 预训练:LLM 使用收集自 Internet 的海量文本数据语料进行了预训练,这使其能够学习语法、句法、语义以及有关语言和世界的广泛知识。
- 微调:经过预训练后,可使用较小的特定于任务的数据集针对特定任务或领域对 LLM 进行微调。 经过这种微调过程,模型能够适应更专业化的任务,例如文本分类、翻译、生成摘要和问答。
GPT
GPT 代表经过预训练的生成式转换器 (Generative Pretrained Transformer),是 OpenAI 开发的一系列大型语言模型。 GPT 模型是使用来自 Internet 的大量数据进行了预先训练的神经网络,能够理解和生成类人的文本。
以下概括性介绍了主要 GPT 模型及其主要特征:
GPT-3:2020 年 6 月发布,是 GPT 系列中的知名模型。 它有 1750 亿个参数,是目前全球规模最大、功能最强的语言模型之一。 GPT-3 在广泛的自然语言理解和生成任务中表现卓著。 它可以执行文本完成、翻译、问答等广泛任务,并且达到人类水平的流畅度。 GPT-3 提供各种规模的模型,小至 125M 个参数,大至 175B 个参数。
GPT-4:是 OpenAI 的最新 GPT 模型,有 1.76 万亿个参数。
矢量化
矢量是线性代数和几何学中使用的数学概念,用于表示同时具有大小和方向的数量。 在机器学习上下文中,矢量通常用于表示数据点或特征。
以下是一些重要的矢量属性和运算:
- 大小:矢量的长度或尺寸(通常表示为其范数),代表矢量所表示的数据的大小。 它是一个非负实数。
- 方向:指示基于一个参照点或坐标系它所表示的数量的方向或角度。
- 分量:矢量可沿不同轴或维度分解为其各个分量。 在二维笛卡尔坐标系中,矢量可表示为 (x, y),其中 x 和 y 分别是其沿 x 轴和 y 轴的分量。 n 维中的一个矢量是一个 n 元组 {x1, x2… xn}。
- 加法和标量乘法:矢量可相加形成新的矢量,并可乘以标量(实数)。
- 点积和叉积:矢量可使用点积(标量积)和叉积(矢量积)相结合。
矢量数据库
矢量数据库(也称为矢量数据库管理系统 (DBMS))是一种数据库系统,旨在使用户能够有效存储、管理和查询矢量数据。 传统的关系数据库主要处理表中的结构化数据,而矢量数据库则针对表示为矢量的多维数据点的存储和检索进行了优化。 对于涉及相似性搜索、地理空间数据、建议系统和聚类分析等操作的应用程序,这些数据库非常有用。
以下是矢量数据库的一些关键特征:
- 矢量存储:矢量数据库将数据点存储为具有多个维度的矢量。 每个维度表示数据点的一个特征或属性。 这些矢量可表示广泛的数据类型,包括数值数据、分类数据和文本数据。
- 高效的矢量操作:矢量数据库针对矢量运算的执行进行了优化,如矢量加法、减法、点积和相似性计算(例如余弦相似性或欧几里得距离)。
- 高效搜索:高效的索引机制对于快速检索相似矢量至关重要。 矢量数据库使用多种不同索引机制来实现快速检索。
- 查询语言:提供专为矢量操作和相似性搜索设计的查询语言和 API。 这些查询语言使用户能够有效表达其搜索条件。
- 相似性搜索:擅长相似性搜索,使用户能够查找与给定查询点相似的数据点。 此特征在搜索和建议系统中很有价值。
- 地理空间数据处理:某些矢量数据库专用于地理空间数据,非常适合提供基于位置的服务、GIS(地理信息系统)和地图相关任务等的应用程序。
- 支持多种数据类型:矢量数据库可以存储和管理各种类型的数据,包括矢量、图像、文本等。
PostgreSQL 可借助pgvector
扩展拥有矢量数据库的功能。
嵌入
嵌入是机器学习和自然语言处理 (NLP) 中的一个概念,涉及将对象(如单词、文档或实体)表示为多维空间中的矢量。 这类矢量通常密度较大,这意味着它们有较多维度,需要通过多种技术(包括神经网络)来习得。 嵌入的目的是捕获连续矢量空间中对象之间的语义关系和相似性。
常见的嵌入类型包括:
- 单词:在 NLP 中,单词嵌入将单词表示为矢量。 每个单词被映射为高维空间中的一个矢量,在空间中具有相似含义或上下文的单词在位置上彼此接近。
Word2Vec
和GloVe
是常用的单词嵌入技术。 - 文档:文档嵌入将文档表示为矢量。
Doc2Vec
是常见的创建文档嵌入的技术。 - 图像:图像可表示为用于捕获视觉特征的嵌入,可支持对象识别等任务。
嵌入是以机器学习模型可轻松处理的形式表示复杂高维数据的核心所在。 它们可使用大型数据集进行训练,然后充当各种任务的功能并供 LLM 使用。
PostgreSQL 可获得使用 Azure AI 扩展 OpenAI 集成生成矢量嵌入的功能。
方案
生成式 AI 可广泛应用于各领域和行业,包括技术、医疗保健、娱乐、金融、制造等。 下面是可以使用生成式 AI 完成的一些常见任务:
- 语义搜索:
- GenAI 可实现对数据进行语义搜索而非词法搜索。 后者查找与查询完全匹配的项,而语义搜索查找满足搜索查询意向的内容。
- 聊天机器人和虚拟助手:
- 开发能参与可感知上下文的对话的聊天机器人,例如为实现客户自助而开发。
- 建议系统:
- 通过生成各项或用户的嵌入或表示形式来改进建议算法。
- 聚类分析和分段:
- GenAI 生成的嵌入使聚类分析算法能对数据进行聚类,以便将相似数据归组到一起。 这可支持客户细分等方案,使广告商可根据客户特性采用不同的客户接触方式。
- 内容生成:
- 文本生成:为聊天机器人、小说/诗歌创作和自然语言理解等应用程序生成类人的文本。
- 图像生成:为图表、娱乐和广告创建逼真图像、艺术内容或设计。
- 视频生成:为电影、游戏和营销生成视频、动画或视频效果。
- 音乐生成。
- 转换:
- 将文本从一种语言翻译为另一种语言。
- 摘要生成:
- 对长篇文章或文档进行归纳总结以提取关键信息。
- 数据增强:
- 生成额外数据示例以扩展和改进机器学习 (ML) 模型的训练数据集。
- 为所需场景创建现实世界中难以收集或收集成本昂贵的合成数据(例如医学成像)。
- 药品发现:
- 为药物研究生成分子结构和预测可能的候选药。
- 游戏开发:
- 创建游戏内容,包括级别、角色和纹理。
- 生成逼真的游戏内环境和景观。
- 数据降噪和完整化:
- 通过生成干净数据示例来清除干扰数据。
- 填写数据集中缺失或不完整的数据。
后续步骤
请访问以下文章,了解如何使用 Azure Database for PostgreSQL 灵活服务器和 Azure OpenAI 执行语义搜索,以及如何利用 Azure 认知服务的强大功能来分析情绪、检测语言、提取关键短语以及可以应用于文本的更高级的操作。