Artificial intelligence (AI) technologies have dramatically advanced in recent years, resulting in revolutionary changes in people's lives. Empowered by edge computing, AI workloads are migrating from centralized cloud architectures to distributed edge systems, introducing a new paradigm called edge AI. While edge AI has the promise of bringing significant increases in autonomy and intelligence into everyday lives through common edge devices, it also raises new challenges, especially for the development of its algorithms and the deployment of its services, which call for novel design methodologies catered to these unique challenges. In this paper, we provide a comprehensive survey of the latest enabling design methodologies that span the entire edge AI development stack. We suggest that the key methodologies for effective edge AI development are single-layer specialization and cross-layer co-design. We discuss representative methodologies in each category in detail, including on-device training methods, specialized software design, dedicated hardware design, benchmarking and design automation, software/hardware co-design, software/compiler co-design, and compiler/hardware co-design. Moreover, we attempt to reveal hidden cross-layer design opportunities that can further boost the solution quality of future edge AI and provide insights into future directions and emerging areas that require increased research focus.
翻译:近年来,人工智能(AI)技术取得了巨大进步,导致人们生活发生了革命性的变化。通过边缘计算,人工智能工作量正在从中央云层结构向分布式边缘系统转移,引入了称为边缘AI的新范式。虽然边缘AI有望通过共同边缘装置使日常生活中的自主和智能大幅增加,但它也提出了新的挑战,特别是在发展其算法和部署其服务方面,这需要针对这些独特挑战制定新的设计方法。在本文件中,我们提供了对跨越整个边缘AI开发堆的最新赋能设计方法的全面调查。我们建议,有效边缘AI开发的关键方法是单层专门化和跨层共同设计。我们详细讨论每个类别的代表性方法,包括设计设计工具培训方法、专门软件设计、专用硬件设计、基准和设计自动化、软件/硬软件共同设计、软件/组合设计、以及编译/硬软件共同设计。此外,我们试图揭示隐藏的跨层设计机会,可以进一步提升未来边缘AI的解决方案质量和跨层共同设计。我们详细讨论了每个类别中的代表性方法,包括设计方法、专门软件设计、专门设计、专用硬件设计、基准和设计、软件联合设计、软件/硬软件联合设计、软件设计、软件/硬件设计等设计。我们试图揭示未来研究领域需要更多研究领域。