通过 Amazon CodeWhisperer 优化可持续性 机器学习博客

使用 Amazon CodeWhisperer 优化可持续性

关键要点

本文探讨了如何通过增强资源效率,使用 Amazon CodeWhisperer 进行代码优化以支持可持续发展。高效的计算资源使用可以减少处理代码所需的能量,并帮助公司整体降低能耗。通过构建高效的微服务,开发者能利用 Amazon CodeWhisperer 来提高工作效率,优化代码质量和安全性,从而实现更环保的软件开发。

本文将探讨 Amazon CodeWhisperer 如何帮助实现可持续性通过提升资源使用效率。计算资源高效编码是一种旨在减少处理某一行代码所需能量的技术,从而帮助公司整体降低能耗。在云计算的时代,开发者们正利用开放源代码库和可用的高性能处理能力,来构建需要高效、性能良好和具有弹性的规模化微服务。然而,现代应用程序通常由庞大的代码组成,需耗费大量计算资源。尽管直接的环境影响可能不显著,但性能不佳的代码通过加大能耗、延长硬件使用时间和使用过时的算法等因素来放大现代应用的碳足迹。在本文中,我们将探讨 Amazon CodeWhisperer 如何解决这些问题,减少您代码的环境影响。

Amazon CodeWhisperer 是一款生成式 AI 编码助手,通过基于现有代码和自然语言注释提出建议,加快软件开发,从而减少整体开发工作量,节省时间用于头脑风暴、解决复杂问题和创作差异化代码。Amazon CodeWhisperer 可以帮助开发者简化工作流程、提升代码质量、增强安全性、生成强大的测试套件,并编写计算资源友好的代码,从而优化可持续性。它可作为 Visual StudioCode 工具包的一部分,支持 AWS Cloud9、JupyterLab、Amazon SageMaker Studio、AWS Lambda、AWS Glue 和 JetBrains IntelliJ IDEA。Amazon CodeWhisperer 目前支持 Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C、Shell 脚本、SQL 和 Scala 等多种语言。

未优化代码对云计算与应用程序碳足迹的影响

AWS 的基础设施比中位数 surveyed 美国企业数据中心的能效高出 36 倍,并且是平均欧洲企业数据中心的 5 倍。因此,AWS 可以帮助降低工作负荷的碳足迹高达 96。借助 Amazon CodeWhisperer,您可以编写质量更高的代码,减少资源使用和能耗,满足可扩展的目标,同时享受 AWS 的节能基础设施。

资源使用增加

未优化的代码可能导致云计算资源的低效使用,因此可能需要更多的虚拟机(VM)或容器,增加资源分配、能耗和相关的碳足迹。您可能会遇到以下方面的增加:

资源说明CPU 利用率未优化的代码通常包含低效算法或编码实践,需要过多的 CPU 运行周期。内存使用量低效的内存管理可能导致不必要的内存分配、释放或数据重复。磁盘 I/O 操作低效代码可能会执行过多的输入/输出 (I/O) 操作。网络使用量由于数据传输技术低效或重复通信,未优化的代码可能导致网络流量过大。

能耗增加

支撑基础设施的应用若使用低效代码,则会消耗更多的计算能力。由于低效、冗长的代码过度使用计算资源,导致能耗和热量增加,从而需要更多能量来进行冷却。 除了服务器外,冷却系统、供电基础设施和其它辅助元素也会消耗能量。

可扩展性挑战

在应用开发中,未优化的代码可能导致可扩展性问题。这类代码在任务增长时可能无法有效扩展,需耗费更多资源和能量。正如之前提到的,低效或浪费的代码在规模上会有复合效应。

从优化客户在某些数据中心运行的代码中获取的能量节约考虑,云服务提供商如 AWS在全球有数十个数据中心。

Amazon CodeWhisperer 使用机器学习(ML)和大语言模型为代码提供实时建议,结合原始代码和自然语言注释,提供能更高效的代码建议。通过采用算法改进、有效内存管理以及减少不必要的I/O操作的策略,可以优化代码,从而提升程序的基础设施使用效率。

代码生成、补全与建议

让我们看看 Amazon CodeWhisperer 在哪些场景中能发挥作用。

yt加速器官网入口

通过自动生成重复或复杂的代码,代码生成工具能够减少人为错误,并专注于平台特定的优化。借助现有的模式或模板,这些工具可以生成更符合可持续性最佳实践的代码。开发者可以生成符合特定编码标准的代码,从而在整个项目中提供更一致和可靠的代码。生成的代码因为去除了人为编码的差异,往往更加高效和易读,有助于提升开发速度。它可以自动实施减少应用程序大小和长度的方法,例如删除多余代码、改善变量存储或使用压缩方法。这些优化能帮助降低内存消耗,从而提升整体系统效率。

生成式 AI 有潜力通过优化资源分配使编程更具可持续性。从整体审视应用程序的碳足迹至关重要。像 Amazon CodeGuru Profiler 这样的工具可以收集性能数据,以优化组件间的延迟。该分析服务检查代码运行情况,找出潜在的改进点。开发者可以根据这些发现手动优化自动生成的代码,进一步提升能效。生成式 AI、性能分析以及人工监督的结合形成了一个持续改进代码效率与降低环境影响的反馈循环。

以下截图展示了 CodeGuru Profiler 在延迟模式下生成的结果,包括网络和磁盘 I/O。在这个案例中,应用程序在 ImageProcessorextractTasks 的时间消耗最大,几乎所有时间都在可运行状态,也就是说并没有等待任何内容。您可以通过将模式更改为延迟模式来查看这些线程状态,这能帮助您了解影响应用程序时钟时间的因素。如需更多信息,请参考 使用 Amazon CodeGuru Profiler 降低组织的碳足迹。

生成测试用例

Amazon CodeWhisperer 可以建议测试用例,并通过考虑边界值、边缘案例以及其他可能需要测试的问题来验证代码的功能。此外,Amazon CodeWhisperer 还可以简化创建单元测试的重复代码。如果您需要利用 INSERT 语句创建示例数据,Amazon CodeWhisperer 可以根据模式生成必要的 INSERT 语句。通过识别和优化资源密集型的测试用例或去除冗余用例,总体软件测试的资源需求也能减少。改进的测试套件有助于使应用程序更具环保特性,增强能效、降低资源消费、减少浪费和减少工作负荷的碳足迹。

如需更深入体验 Amazon CodeWhisperer,请参考 使用 Amazon CodeWhisperer 优化软件开发。该文展示了 Amazon SageMaker Studio 中的 Amazon CodeWhisperer 提供的代码建议,并演示了根据注释加载和分析数据集的建议代码。

结论

在本文中,我们了解了 Amazon CodeWhisperer 如何帮助开发者编写经过优化的、更加可持续的代码。利用先进的 ML 模型,Amazon CodeWhisperer 分析您的代码并提供个性化的效率改进建议,从而降低成本并帮助减少碳足迹。

通过建议微小的调整和替代方法,Amazon CodeWhisperer 使开发者能够显著降低资源使用和排放而不牺牲功能性。无论您是寻求优化现有代码库,还是希望确保新项目资源的高效使用,Amazon CodeWhisperer 都可以成为不可或缺的助手。要了解有关 Amazon CodeWhisperer 和 AWS 可持续性资源在代码优化方面的更多信息,请考虑以下后续步骤:

使用 Amazon CodeWhisperer 开始了解 Amazon CodeWhisperer 如何加速和提升软件开发使用 Amazon CodeWhisperer 构建无服务器应用学习 AWS WellArchitected 可持续性支柱 软件和架构模式在更新代码后,请务必查看实时应用程序的运行时性能数据,以及 AWS CodeGuru Profiler 可以帮助您优化应用性能的建议。

关于作者

Isha Dua 是一名高级解决方案架构师,位于旧金山湾区。她帮助 AWS 企业客户理解他们的目标与挑战,并指导他们如何以云原生方式架构其应用,同时确保弹性与可扩展性。她对机器学习技术和环境可持续性充满热情。

Ajjay Govindaram 是 AWS 的高级解决方案架构师。他与使用 AI/ML 解决复杂商业问题的战略客户合作,凭借丰富的经验提供技术指导及设计支持。知晓从应用架构到大数据、分析和机器学习等各个领域。他喜欢在休息时听音乐、享受户外和陪伴他所爱的人。

Erick Irigoyen 是亚马逊网络服务公司的解决方案架构师,专注于半导体和电子行业的客户。他与客户密切合作,理解他们的商业挑战,并帮助识别 AWS 如何能实现其战略目标。他的工作主要集中在人工智能和机器学习 (AI/ML) 相关的项目。加入 AWS 之前,他曾在德勤的高级分析实践中担任高级顾问,负责美国多个项目的分析与 AI/ML 工作。他拥有旧金山大学的商业学士学位和北卡罗来纳州立大学的分析硕士学位。

通过 Amazon CodeWhisperer 优化可持续性 机器学习博客

加载评论

生成性人工智能时代的数据治理 大数据博客

生成性人工智能时代的数据治理 大数据博客

生成式人工智能时代的数据治理by Krishna Rupanagunta Raghvender Arni 和 Imtiaz Sayed 于 2024年2月29日发布在 AWS 大数据, 企业治理与控制, 生成式人工智能, 中级 (200) 永久链接 评论关键要点生成式人工智能的成功依赖于强大的数据治...

订阅邮箱