AutoIOT:面向 AIoT 应用的 LLM 驱动自动化自然语言编程
AutoIOT: LLM-Driven Automated Natural Language Programming for AIoT Applications
AI总结:
AutoIOT 提出一种 LLM 驱动的 AIoT 应用自动编程方法,通过自然语言需求自动合成可解释程序并在本地执行,以解决隐私、成本和可解释性问题,实验证明其程序合成能力可匹敌或超越代表性基线。
摘要:
大语言模型(LLMs)的出现深刻改变了我们的生活,革新了与人工智能的交互方式,并降低了使用人工智能的门槛。尽管 LLMs 主要面向自然语言交互而设计,但其蕴含的广泛嵌入式知识使其能够理解数字传感器数据。这一能力使 LLMs 能够通过物联网传感器和执行器与物理世界互动,执行多种多样的 AIoT 任务。因此,这一演进引发了传统 AIoT 应用开发的范式转变,通过自然语言即可促进 AIoT 应用的设计与开发,使其普及到所有人。然而,要充分发挥 LLMs 在 AIoT 应用开发中的潜力,仍需解决一些局限性。首先,现有解决方案通常需要将原始传感器数据传输到 LLM 服务器,这引发了隐私担忧、产生高昂的查询费用,并受到 token 大小的限制。此外,LLMs 的推理过程对用户不透明,使得验证推理结果的鲁棒性和正确性变得困难。本文介绍了 AutoIOT,一个基于 LLM 的 AIoT 应用自动化程序生成器。AutoIOT 使用户能够使用自然语言指定其需求(输入),并自动合成带有文档的可解释程序(输出)。AutoIOT 自动化迭代优化过程,以最少的用户参与提升生成代码的质量。AutoIOT 不仅使 AIoT 任务的执行更具可解释性,还通过合成程序的本地执行缓解了隐私问题并降低了 token 成本。大量实验和用户研究表明,AutoIOT 在各种 AIoT 任务的程序合成方面具有卓越能力。合成出的程序能够匹敌甚至超越一些具有代表性的基线方法。
英文摘要:
The advent of Large Language Models (LLMs) has profoundly transformed our lives, revolutionizing interactions with AI and lowering the barrier to AI usage. While LLMs are primarily designed for natural language interaction, the extensive embedded knowledge empowers them to comprehend digital sensor data. This capability enables LLMs to engage with the physical world through IoT sensors and actuators, performing a myriad of AIoT tasks. Consequently, this evolution triggers a paradigm shift in conventional AIoT application development, democratizing its accessibility to all by facilitating the design and development of AIoT applications via natural language. However, some limitations need to be addressed to unlock the full potential of LLMs in AIoT application development. First, existing solutions often require transferring raw sensor data to LLM servers, which raises privacy concerns, incurs high query fees, and is limited by token size. Moreover, the reasoning processes of LLMs are opaque to users, making it difficult to verify the robustness and correctness of inference results. This paper introduces AutoIOT, an LLM-based automated program generator for AIoT applications. AutoIOT enables users to specify their requirements using natural language (input) and automatically synthesizes interpretable programs with documentation (output). AutoIOT automates the iterative optimization to enhance the quality of generated code with minimum user involvement. AutoIOT not only makes the execution of AIoT tasks more explainable but also mitigates privacy concerns and reduces token costs with local execution of synthesized programs. Extensive experiments and user studies demonstrate AutoIOT's remarkable capability in program synthesis for various AIoT tasks. The synthesized programs can match and even outperform some representative baselines.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。