2024年每个开发人员都需要掌握的生成式人工智能技能

2024年每个开发人员都需要掌握的生成式人工智能技能

你准备好进行人工智能驱动的开发了吗?

不,我说的不是GitHub、Co-Pilot或其他人工智能代码助手。我说的是人工智能集成,就像我们在过去几年中看到的云开发一样。随着人工智能产品的发展和迭代,越来越多的开发人员需要了解如何将人工智能创新融入现有应用程序。

幸运的是,你可以通过优先发展正确的技能来应对这种情况。

今天我们就来谈谈:

  1. 开发人员技能发展框架
  2. 如何从零开始成为生成式人工智能开发人员
  3. 关于2024年的人工智能集成,每个开发人员都应该知道些什么
  4. 数据分析师需要了解的2024年人工智能整合知识

让我们直接进入主题!如果你想了解更多关于人工智能的相关内容,可以阅读以下这些文章:
软件工程师:2023年让你减少繁忙工作的8大最佳人工智能工具!
人工智能取代人工之前要问的4个问题
如何一眼识别人工智能生成的图像!
一个新的人工智能野兽苏醒了!

作为开发人员,我们的技能是不断积累或“叠加”的。

无论你使用何种特定技术或工具,软件工程都建立在解决问题的技能基础之上。这一共同基础不仅限于解决问题的技能。不同专业的软件工程师使用相同的编程语言和框架,有时是为了实现截然不同的最终目标。

下面是开发人员技能的金字塔或“stack”,以说明我想表达的意思。

 图片来自作者

这是技能堆叠的一般描述,适用于各学科的软件开发人员。如你所见,对人工智能的理解位于金字塔的中间,与许多其他开发人员的API和云知识处于同一水平。

人工智能集成建立在与之前相同的通用技能前提之上。因此,从零开始成为生成式人工智能开发人员是有可能的。

我将简要介绍一些常用技能,这些技能可以让你开始构建自己的人工智能应用,并最终让你在2024年及以后做好就业准备。

由于软件技能是相辅相成的,对新开发人员来说,坏消息是在真正开始人工智能工作之前,你必须学习所有的基础知识。不过,只要有合适的资源和有针对性的学习计划,就有可能掌握必要的技能和经验,成为一名真正的人工智能开发人员。

下面是一条从完全的新手到成熟的人工智能开发者的快速通道:

  1. 学习编程:解决问题的技能和Python基础知识。
  2. Python项目:实验简单的Python项目并构建真实世界的软件。
  3. 数据结构和算法:首次体验高级计算机科学概念。
  4. Object Oriented Programming (OOP):OOP是构建现代可扩展应用程序的先决条件。
  5. Cloud and API Design:学习如何有效利用云计算构建模块并与之互动。
  6. 数据科学基础:人工智能和机器学习在很大程度上建立在数据科学基础之上。(稍后将详细介绍)
  7. 机器学习和人工智能:学习这些技术背后的理论和基础知识会让它们更容易消化。然后,你需要进行动手实践。

虽然这看起来相对简单,但重要的是要认识到,每个步骤都需要相当长的时间才能真正理解。匆忙完成任何一个步骤都会影响你的理解能力,最终导致你的学习进度落后。编程是一项终生追求的事业,需要不断学习新知识,即使是经验丰富的开发人员也不例外。

长话短说,要不断充实自己的技能堆栈!

就像2010年代初的云计算开发革命一样,如今我们正处于人工智能革命的浪潮之中。因此,人工智能集成正迅速成为许多开发人员的需求。正如云开发为创建可扩展的网络应用程序创造了一种全新的混合模式一样,我预测在不久的将来,我们也将看到人工智能开发领域发生类似的变化。

这意味着什么?这意味着更多的开发人员将不得不适应在现有人工智能工具之上构建应用程序。

值得庆幸的是,利用人工智能和构建实际的人工智能模型本身是有区别的。除非你真的在OpenAI或Anthropic这样的人工智能组织工作,或者在谷歌和Facebook这样的大型科技公司的人工智能团队工作,否则你并不需要了解人工智能或机器学习的复杂性。

那么,你需要了解哪些人工智能知识才能有效地利用它们呢?

大型语言模型是为ChatGPT和Google Bard等应用程序提供支持的人工智能模型类型。这些工具背后的LLMs分别是GPT4和Google Gemini。

作为开发人员,了解大语言模型的基本工作原理对于理解如何使用它们至关重要。归根结底,人工智能其实就是一个美化了的自动完成工具。因此,了解引擎盖下的工作原理非常重要,这样你就可以根据具体的使用情况进行定制。

关于任何给定的LLM,需要了解一些基本问题:

  1. 它是如何优化的?
  2. 对哪些数据进行了训练?
  3. 它是否有专门的用例?有什么弱点?
  4. 有什么样的隐私或安全规定?是否足够?

LangChain是一个开发由LLMs支持的应用程序的框架。该框架分为几个部分:

  1. Python和JavaScript库:这些库包含框架的基本核心功能。
  2. LangChain模板:用于执行一系列任务的参考架构
  3. LangServe:用于将LangChains部署为REST API的库
  4. LangSmith:用于监控、调试和评估LangChains或其他LLM框架的平台

LangChain只是一种工具,它允许开发人员将现有的LLMs甚至整个Gen AI系统集成到定制的应用程序中。

如果你是当前的开发人员,上述步骤仍然适用,只是在某些方面可能走得更远。

由于很多开发人员已经掌握了基础知识,我将深入探讨所有开发人员都应该了解的数据科学和机器学习概念。

说到机器学习,所有开发人员都应该熟悉以下几个主题。

机器学习算法可分为以下三种类型。

  • 监督学习:线性回归、逻辑回归和决策树。
  • 无监督学习:K均值聚类和分层聚类
  • 强化学习:基于记忆的高效探索(MEME)
  • 神经网络和深度学习:LLMs的核心架构组件以及多层面人工智能模型中的处理层。
  • 模型评估和调整:人工智能组织测试和调整其模型所依据的基准和评估。

数据科学基础知识通常比人工智能基础知识更容易理解。让我们来看看需要了解的一些基本概念。

  • 统计和概率:了解假设检验和数据分布背后的基本数学概念。
  • 数据可视化:准备使用或参考Matplotlib、Seaborn和Bokeh等数据可视化工具和库。
  • 数据预处理:了解如何在解析数据前清理数据并确定数据范围。
  • 线性代数:大多数不亲自构建或分析人工智能的开发人员不需要太多常规范围之外的数学知识,但重新熟悉向量和矩阵等概念始终是个好主意。

现在,你已经对作为开发人员需要了解的概念有了一个大致的了解,下面让我们来介绍一下数据分析师可能需要的技能。

在高层次上,数据分析师需要了解人工智能模型的训练数据、核心功能以及如何理解其输出结果。

对于像GPT-4这样的模型来说,这种高层次的理解可能比较困难。训练数据是如此庞大,以至于需要大量的研究才能完全理解幕后的情况。

而对于更小、更细分的模型,了解它们的功能—从训练数据到输出—就变得容易多了。

数据分析师了解LLMs的最佳方法之一就是研究LLMs产生的输出。保留提示及其输出的记录,最终努力预测这个LLM在收到提示时会返回的合理输出。通过将提示标准化,你可以更好地了解如何利用LLMs。

数据分析师需要高度重视提示工程。在为内部和外部工具实施Gen AI时,了解如何最大限度地利用Gen AI至关重要。相反,数据分析师还需要了解LLMs的局限性,以及如何绕过Gen AI的弱点。

未来,合乎道德的人工智能开发实践将更加优先。因此,无论是构建模型的工程师还是利用模型的团队,都需要对如何使生成式人工智能尽可能安全有一个共同的认识。

对于数据分析师来说,这意味着要在现有的LLMs上建立一个实质性的保护层,使其不超出预期的使用范围。目前的人工智能都是庞大的统计模型,很容易被欺骗。要让生成式人工智能不泄露敏感信息、不产生幻觉或假设它不知道的事情,就会面临挑战。

人工智能和机器学习是构建下一代软件应用程序的基础。因此,无论你的专业是什么,大多数开发人员都需要了解如何在未来数月或数年内利用人工智能。

你对LLM的理解和创新准备得越充分,它对你的职业生涯的影响就越大。

感谢阅读!你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Fahim ul Haq
翻译作者:Qing
美工编辑:过儿
校对审稿:Jason
原文链接:https://learningdaily.dev/generative-ai-skills-every-dev-needs-to-know-in-2024-a149e1b778bb