paint-brush
在没有先阅读本文的情况下,请勿构建人工智能项目经过@igorluchenkov
1,290 讀數
1,290 讀數

在没有先阅读本文的情况下,请勿构建人工智能项目

经过 Igor Luchenkov4m2024/03/17
Read on Terminal Reader

太長; 讀書

想建立一个人工智能项目吗?了解挑战以及如何克服它们。本文介绍了如何应用最佳软件实践来构建炫酷的人工智能产品。
featured image - 在没有先阅读本文的情况下,请勿构建人工智能项目
Igor Luchenkov HackerNoon profile picture


您是否对 ChatGPT 的功能感到兴奋,或者您刚刚完成 ML 课程并准备好使用这些技术来构建很酷的功能?


在这两种情况下,您都必须知道在构建第一个人工智能功能时面临着哪些挑战。我希望我一年前就知道这一切。


首先,你确定你需要人工智能吗?

谷歌的机器学习规则建议从基于启发式的简单算法开始,该算法可以完成工作,只有当启发式变得难以维护时才转向机器学习解决方案。


添加人工智能来解决问题会给您带来额外的挑战,例如:

  • 可解释性- 为什么解决方案对客户来说如此有效
  • 数据隐私- 是否有任何第三方解决方案可以处理客户的敏感数据
  • 维护/实施成本- 您构建的东西从第一天起就不太可能具有最佳目标性能,并且您将不得不花费更多时间来改进模型


没有计划=没有成功

该项目是关于什么的?它将解决什么客户问题?我们期望改进哪些指标?已知的系统限制有哪些?


在实施之前,必须回答所有这些问题。在规划过程中发现的潜在陷阱越多越好,因为改变成本现阶段相对较低。


笔记在哪里?

你应该记录一切——问题陈述、指标、期望的结果、测试用例、研究日志、设计文档、里程碑。


编写文档可以让您记住更少的事情。其他人可以快速加入您的项目或在其他项目中使用您的工作成果。


从小而简单的开始

通过保持功能的第一个版本简单,您可以快速构建它、衡量影响、了解见解并继续迭代。构建一个小东西还可以让您建立一个基线性能,您将在进一步的迭代中改进该基线性能。


创建一个可以完成许多事情并处理所有可能的用例的系统是一项令人兴奋的挑战。然而,制作滑板在造车之前总是好的。


你做了你的研究吗?

如果该问题对该领域来说是新问题并且尚未有人解决,请考虑对其进行研究。您想测试解决问题是否可行。


研究结果是一个最小的工作原型,表明算法可以解决该问题。研究还可以表明不存在可行的解决方案,这是极好的学习——这就是为什么你在项目开始时执行此步骤的原因。


不要高估!

您的概念验证可能看起来很棒并引起炒作,但原型和适用于所有用户的生产级解决方案之间还有大量工作要做。


当使用新技术时,你能做的最好的事情就是避免承诺快速完成工作。慢慢来,熟悉技术和问题空间,将工作分成多个小里程碑并分别进行估计。


当您发现事情没有按计划进行时,请与团队沟通并确保每个人都了解时间表/项目已更改。


编写测试

使用人工智能进行开发时,必须应用相同的软件工程原理。您的解决方案将会不断发展,您必须确保它按预期工作。自动化测试减少手动测试所花费的时间,让您有更多时间专注于问题和解决方案。


是时候传来悲伤的消息了……

即使经过几个月的努力,您的模型也可能表现不佳。这可能会令人沮丧,但这是机器学习开发过程的一部分。您必须承认失败是可能的,并准备在必要时调整您的方法。


重要的是要记住,每一次失败都是为未来学习和改进的机会。


结论

构建人工智能驱动的功能需要仔细规划、研究和实施。从小事做起、记录一切并定期与团队沟通至关重要。并且永远记住在实施任何事情之前评估人工智能是否必要。


请记住,失败是可能的,但这是学习和改进的机会。唯一永不失败的人就是那些从未尝试过的人。


有用的资源:


也出现在这里