开发者入门GenAI七步法

有了一些经验,你就能够使用GenAI解决一些相当困难的问题,就像每一种新技术一样,学习的最佳方式是亲自实践。

译自 7 Best Practices for Developers Getting Started with GenAI,作者 David Peterson 是Confluent的首席解决方案工程师。他在亚太地区与各行各业合作,设计弹性的Kappa架构,并咨询分布式系统最佳实践以及大型语言模型在创建知识驱动中的作用...

随着可访问的生成式人工智能进入主流,企业纷纷将人工智能融入其技术体系,通过简单语言转化所有人类知识的能力成为现实。对于开发人员而言,虽然面临着巨大的压力,却也伴随着令人振奋的可能性。

如果你有一些经验,通过 GenAI 处理一些相当困难的问题是可行的,而自从 HTML 诞生以来,学习的最佳方式就是亲自动手。让我们看看七个步骤,可以帮助你开始奠定 GenAI 基础,并最终逐步发展成一个功能完备、可扩展的应用程序。

1. 玩转现有的 GenAI 工具

入门 GenAI 的最佳方式是实践,而门槛非常低。市场上现在有许多免费选项,如 Bard、ChatGPT、Bing 和 Anthropic 等,提供了很多学习的选择。

尝试(并鼓励你的团队尝试)使用 GenAI 工具和代码生成解决方案,例如 GitHub Copilot,它与每个流行的集成开发环境(IDE)兼容,充当一种搭档程序员。Copilot 提供程序员建议,帮助解决代码问题,并生成整个函数,使学习和适应 GenAI 变得更快、更容易。

使用这些现成工具时,请注意一点:谨慎使用专有或敏感公司数据,即使只是向工具提供提示。生成式人工智能供应商可能会存储并在将来的训练中使用你的数据,这违反了公司的数据政策和信息安全协议。确保你及早直接向团队传达这一黄金规则。

2. 了解从生成式人工智能中可以得到什么

一旦你开始尝试生成式人工智能,你会很快学会哪些提示会产生什么类型的输出。大多数生成式人工智能工具可以产生各种文本格式,包括:

  • 生成新的故事、思路、文章或任意长度的文本。
  • 将现有文本转换为不同格式,如 JSON、markdown 或 CSV。
  • 将文本翻译为不同语言。
  • 聊天的方式来回交流。
  • 仔细检查文本以呈现特定元素。
  • 总结长篇内容以获取见解。
  • 分析文本的情感。

任何人都可以产生这些种类的生成文本结果,而无需编程技能。你只需输入一个提示,文本就会生成出来。然而,一个大型语言模型(LLM)接受的训练越多,吸收的语言碎片越多,它在生成、修改和分析文本方面的准确性就会随时间而提高。

3. 学习提示工程

部署 GenAI 的关键步骤之一是精通编写提示,这既是一门艺术也是一门科学。虽然提示工程师是一个实际的职业描述,但它也是任何希望提高其使用人工智能水平的人的好别称。一个优秀的提示工程师知道如何开发、完善和优化文本提示,以获得最佳结果并提高整体人工智能系统的性能。

提示工程并不要求特定的学位或背景,但从事此工作的人需要善于清晰地解释事物。这很重要,因为所有可用的大型语言模型都是无状态的,意味着没有长期记忆,每次交互只存在于小会话中。

在提示工程中,以下三个要素变得重要:

  • 上下文:你提出的问题、聊天历史和设置的参数。
  • 知识:大型语言模型已接受的训练以及你通过提示提供的新信息的结合。
  • 形式:你期望信息生成的语气。

上下文、知识和形式的结合塑造了 GenAI 的庞大知识库,使其生成你期望的响应。

4. 探索其他 GenAI 提示方法

到目前为止,我们一直在讨论零样本提示,本质上是指在问题周围提供一些上下文。如果从这种方法中未获得所期望的结果,还有四种其他方式可以提示GenAI。

  • 单次提示:提供你期望的输出类型的示例。如果你想要特定格式,比如 [标题] 和 [4个项目符号],这将特别有用。
  • 少次提示:与单次提示类似,但你会提供三到五个示例,而不仅仅是一个。
  • 让我们逐步思考”:这个技巧在大型语言模型(LLM)上同样有效,也适用于人。如果你有一个包含多个部分的复杂问题,将这个短语放在最后,等待LLM逐步解释。
  • 思维链提示:对于涉及复杂算术或其他推理任务的问题,思维链提示指示工具“展示工作过程”并解释如何得出答案。以下是一个可能的示例:

5. 查看其他 GenAI 工作的例子

一旦熟悉了 GenAI 工具并了解如何编写一个出色提示,不妨查看OpenAI发布的一些示例,了解其他人正在做什么以及可能还有哪些可能性。在实验的过程中,你将更熟悉聊天界面,并学会如何微调它,以便能够熟练地缩小响应范围,甚至将响应转换为CSV文件或其他类型的表格。

思考一下你如何将GenAI的知识应用于业务中,以简化困难或重复的任务,生成创意并使信息易于被更广泛的受众获取。你能构想出哪些新的用例?现在可能实现了什么之前不可能的?

6. 与第三方 GenAI 工具和API集成

考虑通过诸如 ChatGPT、Bard 和 Claude 2 之类的 API 使用 LLMs 的角色。这些工具都有强大的 API 可用,并提供支持的文档,因此入门门槛很低。大多数这些 API 是基于使用量计费的,因此更适合用于尝试。

通常,在 API 集成中,你还可以通过语义搜索和由向量数据库支持的嵌入,将自定义或私有数据集成到 LLM 提示中,通常称为 RAG(检索增强生成)。

解释这两个术语:

  • 语义搜索:使用词嵌入比较查询的含义与其索引中文档的含义,即使没有完全匹配的词也能获得更相关的结果。
  • 嵌入:将对象(如单词、句子或整个文档)转换为多维空间中的数值表示。这使得评估不同实体之间的关系成为可能。

这是一个可能的示例:

这个可视化展示了“猫”和“狗”的概念彼此之间比它们与“人”或“蜘蛛”更接近,而“车辆汽车”最远,是概念中最不相关的。 (这里有更多关于如何使用语义搜索和嵌入的信息.)

7. 从头开始训练自己的模型

这个最后的建议实际上更像是一个“可选的下一步”而不是一个建议。训练自己的 GenAI 模型并不适合所有人,但如果你:

  • 拥有独特且有价值的知识库。
  • 希望执行一些商业大型语言模型(LLM)无法完成的任务。
  • 发现商业LLM的推理成本不合理。
  • 具有特定的安全要求,需要托管自己的LLM数据,并且不愿通过第三方API传递数据。

训练自己的模型的一种方法是使用开源模型,如Llama 2、Mosaic MPT-7B、Falcon或Vicuna,其中许多还提供商业使用许可证。这些通常根据它们具有的参数数量进行标记:7B、13B、40B等。 “B”代表模型的参数数量,以及它可以处理和存储的信息量。数字越高,模型越复杂和精密,但培训和运行的成本也越高。如果你的用例不复杂,并且计划在一台相当强大的现代笔记本电脑上运行模型,选择参数较低的模型是开始的最佳和最经济的方式。

中大型组织可能选择从头开始构建和训练LLM模型。这是一条非常昂贵、资源密集和耗时的AI道路。你需要难以招聘的技术人才,并具有相当长时间的迭代空间,因此对于大多数组织来说,这条道路并不现实。

微调LLM

一些组织选择中间道路:微调基础的开源大型语言模型(LLM),以实现超越模型预训练能力的特定目标。如果你想要创建一个在品牌独特语音中的虚拟助手或建立在真实客户购买基础上的推荐系统,这是一个很好的选择。这些模型会随着你整合高排名用户互动而不断自我训练。实际上,Open AI 报告称,使用这个模型,可以将提示长度减少多达 90%,同时保持性能。此外,Open AI 商业 API 的最新增强使其与支持 ChatGPT 和 Bing AI 的模型一样强大且易于使用。

Confluent 提供了有关构建实时AI应用程序的有用资源。牢记这七个步骤,开始动手实践,从错误中学习,并通过GenAI彻底改变你的组织。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注