开发者需要了解的生成式人工智能知识

生成式人工智能最近频频登上新闻头条——但它究竟是什么?以下内容将为您解答,并阐述它对开发者的意义。

必你已经听说过一些生成式人工智能(AI)工具,例如ChatGPTDALL-EGitHub Copilot等。它们之所以广受欢迎,是因为它们可以让任何人瞬间创建各种内容,从电子邮件主题行到代码函数再到艺术作品。

生成式人工智能具有革新各行业内容创作的巨大潜力,因此了解它的定义、应用方式和用户群体至关重要。本文将探讨生成式人工智能的定义、工作原理、一些实际应用案例,以及它如何改变人们(包括开发者)的工作方式。

什么是生成式人工智能?

从宏观层面来说,生成式人工智能指的是一类旨在创建新内容(例如文本、图像、视频、音乐或代码)的人工智能模型和工具。生成式人工智能运用多种技术(包括神经网络和深度学习算法)来识别模式并基于这些模式生成新的结果。越来越多的组织和个人(包括软件开发人员和工程师)开始使用生成式人工智能工具来创建内容、代码、图像等等。

生成式人工智能有哪些用途?

你可能听说过 ChatGPT 或新版 Bing等新型生成式人工智能工具的热议,但生成式人工智能远不止一个框架、项目或应用程序那么简单。

传统人工智能系统通过大量数据训练来识别模式,并能够执行特定任务,从而帮助个人和组织。但生成式人工智能更进一步,它利用复杂的系统和模型,根据自然语言提示生成图像、文本或音频等形式的全新输出。

生成式人工智能模型和应用可用于:

  • 文本生成。自 20 世纪 70 年代以来,利用人工智能工具进行文本生成一直处于发展阶段。但近年来,人工智能研究人员已经能够训练生成对抗网络 (GAN) 来生成模拟人类语音的文本。OpenAI的应用程序 ChatGPT就是一个典型的例子。该应用程序已经过数千个文本、书籍、文章和代码库的训练,能够对自然语言提示和问题做出完整的回答。
ChatGPT 中的文本生成示例
ChatGPT 中的文本生成示例
  • 图像生成。生成式人工智能模型可以根据自然语言提示创建新图像,这是目前工具和应用程序中最流行的技术之一。文本到图像生成的目标是创建一幅能够准确表达给定提示内容的图像。例如,当我们向流行的AI图像生成器DALL-E 2输入文本提示“一幅柴犬进行塔罗牌占卜的印象派油画”时,我们会得到类似这样的图像(没错,它确实很棒):
这是DALL-E 2人工智能生成的图像,画面中一只柴犬正在占卜塔罗牌。
这是DALL-E 2人工智能生成的图像,画面中一只柴犬正在占卜塔罗牌。
  • 视频生成。生成式人工智能模型,例如稳定扩散(Stable Diffusion),可以通过文本提示或图像参考,应用指定的样式,从现有视频创建新视频。GitHub 上的一个名为stable-diffusion-videos 的项目提供了一些实用示例和技巧,指导如何使用稳定扩散创建音乐视频以及可以根据文本提示进行变形的视频。

这是一个使用 [Imagen Video](https://imagen.research.google/) 中的扩散模型,根据文本提示创建的视频示例。

  • 代码生成。与其费力地在互联网或开发者社区中搜索代码示例,不如使用生成式 AI 模型,它可以根据自然语言提示生成新的代码,提供建议来完善部分已编写的代码,甚至还能将代码从一种编程语言翻译成另一种。GitHub Copilot 的工作原理大致如此:它使用 OpenAI 的 Codex 模型,直接在开发者编辑器中提供代码建议。但是,与使用任何软件开发工具一样,我们建议您在将生成的代码合并到生产环境之前进行审查。
  • 数据生成。创建新数据(称为合成数据)并扩充现有数据集是生成式人工智能的另一个常见应用场景。这涉及从现有数据集中生成新样本,以增加数据集的大小并改进基于该数据集训练的机器学习模型,同时由于模型并非使用真实用户数据,因此也提供了一层隐私保护。合成数据生成不仅可用于机器学习训练,还能创建有用且有意义的数据——许多自动驾驶汽车公司,例如CruiseWaymo ,都 利用人工智能生成的合成数据来训练感知系统,使车辆在实际运行中能够应对各种情况。

  • 语言翻译。自然语言理解 (NLU) 模型与生成式人工智能相结合,已成为提供即时语言翻译的热门选择。这类工具能够帮助企业打破语言障碍,扩大客户群体的可及性,例如,企业能够以客户的母语提供支持或文档。通过复杂的深度学习算法,生成式人工智能能够理解源文本的上下文,并以另一种语言构建相应的句子。这种方法同样适用于编程语言,例如,将所需的函数从 Python 翻译成 Java。

总之,尽管生成式人工智能是一项相对较新的技术,但它已被应用于消费者和商业领域。其应用场景以及由此产生的应用数量将不断发展,以满足更加独特和具体的需求。

生成式人工智能是如何工作的?

生成式人工智能模型的工作原理是利用神经网络从大量数据中识别模式,然后生成新的原创数据或内容。

那么,神经网络究竟是什么呢?简单来说,它们利用相互连接的节点,其灵感来源于人脑中的神经元。这些网络是机器学习和深度学习模型的基础,它们使用复杂的算法结构来处理大量数据,例如文本、代码或图像。训练这些神经网络需要调整神经元之间连接的权重或参数,以最小化预测输出和期望输出之间的差异,这使得网络能够从错误中学习,并根据数据做出更准确的预测。

机器学习和人工智能有什么区别?

机器学习是人工智能领域的一个分支学科,它利用一系列复杂的算法来识别模式并从数据中学习。人工智能指的是开发能够利用计算机系统模拟人类智能执行任务的模型和应用程序。

算法是机器学习和生成式人工智能模型的关键组成部分。除了帮助机器从数据中学习之外,算法还用于优化输出的准确性,并根据输入数据做出决策或提出建议。

虽然算法有助于实现这些流程的自动化,但构建生成式人工智能模型极其复杂,因为它们需要海量数据和计算资源。个人和组织需要大型数据集来训练这些模型,而生成高质量数据可能既耗时又昂贵。

毋庸赘言,这些模型非常复杂。需要证据吗?以下是一些常见的生成式人工智能模型及其工作原理:

  • 大型语言模型 (LLM):LLM 是一种机器学习模型,能够处理和生成自然语言文本。大型语言模型发展中最显著的进步之一是海量文本数据的可用性,例如书籍、网站和社交媒体帖子。这些数据可用于训练模型,使其能够在各种上下文中预测和生成自然语言回复。因此,大型语言模型具有多种实际应用,例如虚拟助手、聊天机器人或文本生成器(如 ChatGPT)。
  • 生成对抗网络(GAN):GAN 是生成式人工智能中最常用的模型之一,它采用两种不同的神经网络。GAN 由两种不同类型的神经网络组成:生成器和判别器。生成器网络根据随机噪声信号生成新的数据,例如图像或音频;而判别器则经过训练,能够区分训练集中的真实数据和生成器生成的数据。

在训练过程中,生成器会尝试生成能够欺骗判别器网络的数据,使其误认为是真实数据。这种“对抗”过程会持续进行,直到生成器能够生成与训练集中真实数据完全无法区分的数据为止。这个过程有助于两个网络在各自的任务中不断进步,最终生成更真实、更高质量的数据。

一张图示,展示了生成对抗网络的工作原理。图片 [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en) האדם-החושב on wikipedia
一张图示,展示了生成对抗网络的工作原理。图片 [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en) האדם-החושב on wikipedia
  • 基于Transformer的模型:基于Transformer的模型通过跟踪序列数据之间的关系来学习上下文和含义,这意味着这些模型非常擅长自然语言处理任务,例如机器翻译、语言建模和问答。这些模型已被应用于流行的语言模型,例如GPT-4(生成式预训练Transformer 4),并且也被应用于其他需要对序列数据进行建模的任务,例如图像识别。
  • 变分自编码器模型(VAE):这类模型与生成对抗网络(GAN)类似,都使用两种不同的神经网络:编码器和解码器。VAE 可以将大量数据压缩成更小的表示形式,并利用这种表示形式生成与原始数据相似的新数据。VAE 常用于图像、视频和音频生成——有趣的是,你可以使用像CelebA这样的数据集训练 VAE ,该数据集包含超过 20 万张名人照片,从而生成完全不存在的人物肖像。
微笑向量,是由 [Tom White](https://aiartists.org/tom-white) 使用在 CelebA 数据集上训练的 VAE 发现的概念向量。
微笑向量,是Tom White使用在 CelebA 数据集上训练的 VAE 发现的概念向量。

生成式人工智能的实际应用

生成式人工智能的影响正迅速显现,但它仍处于发展初期。尽管如此,我们已经看到大量应用程序、产品和开源项目正在使用生成式人工智能模型,为个人、组织(当然也包括开发者)实现特定目标。

尽管生成式人工智能技术仍在不断发展,但它已经有一些切实可行的实际应用。以下仅列举其中几个:

编码

无论是新手还是经验丰富的开发者,都可以利用生成式人工智能来改进编码流程。生成式人工智能编码工具可以帮助自动化一些重复性任务,例如测试,以及生成完整的代码,甚至生成全新的代码。GitHub 拥有自己的人工智能驱动型结对编程工具GitHub Copilot,它利用生成式人工智能为开发者提供代码建议。此外,GitHub还发布了 GitHub Copilot X,它将生成式人工智能引入到开发者体验的更多方面,包括编辑器、拉取请求、文档、命令行界面等等。

无障碍

生成式人工智能有望通过多种方式,例如语音转文本、文本转语音音频生成或辅助技术,极大地改善残障人士的无障碍体验。我们GitHub Copilot工具最令人兴奋的功能之一是其语音激活功能,它允许不善于使用键盘的开发者通过语音进行编码。通过利用生成式人工智能的强大功能,这类工具正在为更具包容性和无障碍性的技术未来铺平道路。

开源软件与生成式人工智能之间的关系

开源软件多年来一直是软件开发的强大动力,如今它也正在引领人工智能的未来。像PyTorchTensorFlow这样的开源框架被用于驱动众多人工智能应用,而一些基于这些框架构建的人工智能模型也正在开源。不出所料,其中很多成果都发布在 GitHub 上——例如稳定扩散模型。通过开发库、框架和工具,开源社区让开发者能够构建、试验和协作开发生成式人工智能模型,同时绕过了传统的资金壁垒。这也有助于人工智能的普及,使那些可能没有资源开发自有模型的个人和小企业也能使用人工智能。

赌博

生成式人工智能能够将游戏体验提升到一个新的高度(明白我的意思吗?😉),它可以通过生成新角色、故事情节、设计元素等等来实现这一点。例如,游戏《This Girl Does Not Exist》的开发商就曾表示,游戏中的每一个元素——从故事情节到美术设计,甚至音乐——都是完全由人工智能生成的。这种生成式人工智能的应用,能够让游戏工作室为用户创造新颖有趣的内容,而且不会增加开发人员的工作量,从而使他们能够腾出精力专注于游戏的其他方面,例如故事创作。

网页设计

设计师可以利用生成式人工智能工具实现设计流程自动化,从而节省大量时间和资源,实现更精简高效的工作流程。此外,将这些工具融入开发流程,可以创建高度定制化的设计和徽标,提升用户体验,增强用户与网站或应用程序的互动。生成式人工智能工具还可以用于处理一些繁琐的工作,例如创建针对不同设备优化且可适应不同设备的设计布局。例如,设计师可以使用 designs.ai 等工具快速生成网站的徽标、横幅或模型。

微软和其他行业参与者正越来越多地在搜索中使用生成式人工智能模型,以打造更加个性化的体验。这包括查询扩展,即生成相关关键词以减少搜索次数。因此,搜索引擎不再返回链接列表,而是借助生成式人工智能,这些改进后的模型能够以自然语言回复的形式返回搜索结果。必应目前已与 OpenAI 合作,推出了人工智能驱动的功能,可以回答复杂问题,并允许用户在聊天框中提出后续问题,以获得更精准的回复。

卫生保健

人们对生成式人工智能在医疗保健领域的潜在应用越来越感兴趣,认为它有助于改进疾病检测和诊断、推进医学研究并加速制药领域的发展。生成式人工智能有望用于分析海量数据,模拟化学结构,并预测哪些化合物对新药研发最为有效。NVIDIA Clara就是一个专为医学成像和医疗保健研究而设计的生成式人工智能模型。(此外,Gartner 预测,到 2025 年,超过 30% 的新药和新材料将通过生成式人工智能模型发现。)

有趣的事实:你知道吗?ChatGPT 最近在没有临床医生任何干预的情况下通过了美国医疗执照考试

市场营销和广告

在营销领域,内容为王——而生成式人工智能让海量内容的快速生成变得前所未有的轻松。许多公司、代理商和内容创作者已经开始使用生成式人工智能工具来创建社交媒体帖子图片,或撰写标题、产品描述、博客文章、电子邮件主题等等。生成式人工智能还可以帮助企业快速为个人用户创建定制化的、引人入胜的内容,从而实现广告体验的个性化。撰稿人、营销人员和内容创作者可以利用Jasper等工具生成文案,使用Surfer SEO优化自然搜索排名,或使用albert.ai个性化数字广告内容。

艺术与设计

正如我们前面所见,人工智能的强大功能可以瞬间创造出令人惊叹的肖像(例如:预知未来的柴犬🐕)。艺术家和设计师都在利用这些人工智能工具寻找灵感。例如,建筑师可以快速创建物体或环境的3D模型,而艺术家则可以利用人工智能为他们的肖像作品注入新的活力,例如为原图添加立体主义风格。需要证据吗?设计师们已经开始使用人工智能图像生成器,例如MidjourneyMicrosoft Designer,只需输入Discord命令即可创建高质量的图像。

金融

最近一次关于科技趋势及其对金融行业影响的讨论中,麻省理工学院斯隆商学院数字经济计划的研究员迈克尔·施拉格表示:“我认为,我们将越来越多地看到生成式人工智能被用于金融预测和情景构建。” 这很可能是未来的发展方向——生成式人工智能可以用于分析大量数据,从而检测欺诈、管理风险并为决策提供信息。这在金融服务行业有着显而易见的用途。

制造业

制造商正开始转向生成式人工智能解决方案,以辅助产品设计、质量控制和预测性维护。生成式人工智能可用于分析历史数据,从而改进机器故障预测,并帮助制造商制定维护计划。凯捷咨询公司的一项研究表明,超过半数的欧洲制造商正在实施某种人工智能解决方案(尽管目前这些并非生成式人工智能解决方案)。这主要是因为与人类相比,机器更容易快速分析海量的制造数据。

AI 作为合作伙伴:生成式 AI 模型和工具的关注点较为狭窄,最擅长生成内容、代码和图像。GitHub 的一项研究发现,GitHub Copilot 可以帮助开发者将编码速度提升高达 55%,这凸显了生成式 AI 模型和工具如何提高整体生产力和效率。诸如此类的指标表明,生成式 AI 工具正在改变人们和团队的工作方式,同时也强调了这些工具如何作为人类工作的补充。

构建生成式人工智能模型的障碍

虽然生成式人工智能模型正被用于驱动各种应用程序,但任何构建或使用此类模型的组织都将面临两个关键挑战:

计算能力和数据量/质量。生成式人工智能需要大量的计算资源、强大的GPU和大量的内存。这类硬件成本高昂,这也使得许多个人或组织难以构建内部解决方案。

训练生成式人工智能模型以创建准确的输出也需要大量高质量数据。如果训练数据存在偏差或不完整,模型可能会生成不准确或无用的内容(这就是为什么生成式人工智能设计工具很难重现人手的原因)。

评论