{"id":2805,"date":"2019-11-12T06:35:12","date_gmt":"2019-11-12T06:35:12","guid":{"rendered":"https:\/\/www.aiproblog.com\/index.php\/2019\/11\/12\/artificial-intelligence-on-edge-devices-an-engineering-led-approach\/"},"modified":"2019-11-12T06:35:12","modified_gmt":"2019-11-12T06:35:12","slug":"artificial-intelligence-on-edge-devices-an-engineering-led-approach","status":"publish","type":"post","link":"https:\/\/www.aiproblog.com\/index.php\/2019\/11\/12\/artificial-intelligence-on-edge-devices-an-engineering-led-approach\/","title":{"rendered":"Artificial Intelligence on Edge devices: an engineering led approach"},"content":{"rendered":"<p>Author: ajit jaokar<\/p>\n<div>\n<p><a href=\"https:\/\/www.conted.ox.ac.uk\/courses\/artificial-intelligence-cloud-and-edge-implementations\">Artificial Intelligence \u2013 Cloud and Edge implementations<\/a> takes an engineering-led approach for the deployment of AI to Edge devices within the framework of the cloud.<\/p>\n<p>We often use the word \u2018engineering\u2019 in casual conversation. However, in this context, we attach a specific meaning to Engineering. <strong>Engineering<\/strong>\u00a0is the use of\u00a0<strong>scientific principles<\/strong>\u00a0to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings. The\u00a0American Engineers&#8217; Council for Professional Development defines engineering as:\u00a0(specific emphasis of interest highlighted)<\/p>\n<p><em>The <strong>creative application<\/strong> of <strong>scientific principles<\/strong> to design or develop structures, machines, apparatus, or manufacturing processes, or works utilizing them<\/em><\/p>\n<ul>\n<li><strong><em>singly or in combination<\/em><\/strong><em>; or<\/em><\/li>\n<li><em>to construct or operate the same with full cognizance of their <strong>design<\/strong>; or<\/em><\/li>\n<li><em>to forecast their behavior under <strong>specific operating conditions<\/strong>;<\/em><\/li>\n<\/ul>\n<p><em>all as respects an intended <strong>function, economics of operation and safety to life and property<\/strong>.<\/em><\/p>\n<p>\u00a0<\/p>\n<p>Engineering has many disciplines such as Mechanical Engineering, Chemical engineering etc.<\/p>\n<p>(definitions and descriptions of engineering adapted from Wikipedia)<\/p>\n<p>\u00a0<\/p>\n<p>But when we consider the deployment of AI to Edge devices, we consider an interdisciplinary engineering approach. AI on Edge devices could include many areas like Drones, Edge analytics, embedded FPGA etc.<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<h1>Engineering Methodology<\/h1>\n<p>Some initial comments:<\/p>\n<ol>\n<li><strong>Science seeks boundary conditions<\/strong> so that the body of knowledge can be expanded beyond these conditions in an incremental manner. <strong>Engineers identify boundaries (constraints)<\/strong> and work within these constraints to create a product that can be used by people to solve problems.<\/li>\n<li>Science takes major steps forward (<strong>scientific revolution\/paradigm shifts<\/strong>) through <a href=\"https:\/\/en.wikipedia.org\/wiki\/Paradigm_shift\">Paradigm shifts as postulated by Kuhn<\/a><\/li>\n<li>Engineering also creates its own body of new knowledge that includes applied science but is not limited to applied science. Ref <a href=\"https:\/\/en.wikipedia.org\/wiki\/What_Engineers_Know_and_How_They_Know_It\">What Engineers Know and How They Know It<\/a>. Both science and engineering involve problem solving tools like <a href=\"https:\/\/en.wikipedia.org\/wiki\/TRIZ\">TRIZ<\/a><\/li>\n<\/ol>\n<p>Thus:<\/p>\n<ul>\n<li>Engineers apply mathematics and sciences to find novel solutions to problems or to improve existing solutions.<\/li>\n<li>If multiple solutions exist, engineers weigh each <strong>design choice based<\/strong> on their merit and choose the solution that best matches the requirements.<\/li>\n<li><strong>Engineers identify, understand, and interpret the constraints<\/strong> on a design in order to yield a successful result. Constraints may include available resources, physical, imaginative or technical limitations, flexibility for future modifications and additions, and other factors, such as requirements for cost,\u00a0safety, marketability, productivity, and\u00a0serviceability.<\/li>\n<li><strong>The technical solution is just the first step<\/strong>. It is generally insufficient to build a technically successful product, rather, it must also meet further requirements.<\/li>\n<li>By understanding the constraints, engineers derive\u00a0specifications\u00a0for the <strong>limits within which a viable object<\/strong> or system may be produced and operated.<\/li>\n<li><strong>Unlike scientists, Engineers operate within a social context<\/strong>. By its very nature engineering has interconnections with society, culture and human behavior. The results of engineering activity influence changes to the environment, society and economies, and its application brings with it a responsibility and public safety.<\/li>\n<li>To embody an invention <strong>the engineer must put his idea in concrete terms<\/strong>, and design something that people can use<\/li>\n<li>Since a design should be <strong>realistic and functional<\/strong>, it must have its geometry, dimensions, and characteristics data defined.<\/li>\n<li>Engineering relates to <strong>art and aesthetics<\/strong> \u2013 ex Leonardo Da Vinci work and Steve Jobs approach<\/li>\n<\/ul>\n<p>(above section adapted from wikipedia)<\/p>\n<p>\u00a0<\/p>\n<h1>Implications for AI and Edge<\/h1>\n<p>Looking back at the definition of Engineering above, we can infer some key themes which apply for deployment of AI and Edge computing in the cloud:<\/p>\n<ul>\n<li>Creative application of technology (in our case AI, Edge, Cloud)<\/li>\n<li>Solve business problems i.e. understanding business problems and using AI, Edge and Cloud to improve a business process (Digital transformation)<\/li>\n<li>Applying to a value chain (end to end deployment of AI)<\/li>\n<li>Design considerations including performance considerations<\/li>\n<li>Working within constraints \/ tolerances and specific operating conditions<\/li>\n<li>Considering safety and security<\/li>\n<li>Understanding scale<\/li>\n<li>Working with physical constraints \u2013 for example device constraints<\/li>\n<li>Understanding and managing the full value chain across multiple platforms<\/li>\n<li>A design driven by AI i.e. self-learning<\/li>\n<li>Edge (IoT) provides a feedback loop to the process to drive processes<\/li>\n<li>The model is trained in the cloud and deployed on the edge<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>Hence, we have a big picture view as below. We model problems in the real world through ML\/ DL algorithms and implement the model through AI and Cloud. The model is deployed on the edge and the edge device provides a feedback loop to improve the business process.<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/3708462621?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/3708462621?profile=RESIZE_710x\" class=\"align-full\"><\/a>\u00a0<\/p>\n<p>In this model, IoT \/ Edge extends beyond basic telemetry. The telemetry function captures data from edge devices and stores it in a data based in the cloud. We can then perform analytics on that data and build models based on the data. The models could be trained and deployed to edge devices. The architecture could also include streaming analytics and also include microservices\/ serverless design principles. Finally, CICD \/ DevOps philosophy is a key part of the process as we explain below.<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<h1>CICD for Edge devices<\/h1>\n<p><strong>In this vision, containers are central to the whole process.<\/strong><\/p>\n<p>When deployed to edge devices, containers can encapsulate deployment environments for a range of diverse hardware.<\/p>\n<p>CICD (Continious integration &#8211; continuous deployment) is a logical extension to containers on edge devices.\u00a0 Essentially, CICD and the DevOps philosophy streamlines software development. Through collaboration and automated testing, the quality of the software is improved. (CI part i.e. continuous integration). The CD (continuous deployment) part enables you to rapidly update Edge devices \u2013 either for patch \/ code updates or model updates,<\/p>\n<p>Edge devices need to also cater for a wide range of execution environments such as CPUs, GPUs, FPGAs etc. Containers lend themselves well to this philosophy. We can see this from the facebook paper below <a href=\"https:\/\/research.fb.com\/wp-content\/uploads\/2018\/12\/Machine-Learning-at-Facebook-Understanding-Inference-at-the-Edge.pdf\">Machine Learning at Facebook Understanding Inference at the Edge<\/a><\/p>\n<p>\u00a0<\/p>\n<p><a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/3708464661?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/3708464661?profile=RESIZE_710x\" class=\"align-full\"><\/a>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><strong><em>Ultimately, we see this philosophy (AI + Cloud + Edge) deployed as containers in CICD mode to transform whole industries as industry specific containers \u2013 spanning cloud and the edge<\/em><\/strong><\/p>\n<p><strong><em>\u00a0<\/em><\/strong><\/p>\n<p>\u00a0<a href=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/3708465896?profile=original\" target=\"_blank\" rel=\"noopener noreferrer\"><img decoding=\"async\" src=\"https:\/\/storage.ning.com\/topology\/rest\/1.0\/file\/get\/3708465896?profile=RESIZE_710x\" class=\"align-full\"><\/a><\/p>\n<p>\u00a0<\/p>\n<h1>Conclusion<\/h1>\n<p><a href=\"https:\/\/www.conted.ox.ac.uk\/courses\/artificial-intelligence-cloud-and-edge-implementations\">Artificial Intelligence \u2013 Cloud and Edge implementations<\/a> takes an engineering-led approach for the deployment of AI to Edge devices within the framework of the cloud. The interplay between AI, Cloud and Edge is a rapidly evolving domain. \u00a0Ultimately, we see this philosophy (AI + Cloud + Edge) deployed as containers in CICD mode to transform whole industries as industry specific containers \u2013 spanning cloud and the edge. The second batch of the course is now live and accepting applications (21 March &#8211; 27 June 2020)<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<\/div>\n<p><a href=\"https:\/\/www.datasciencecentral.com\/xn\/detail\/6448529:BlogPost:907287\">Go to Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Author: ajit jaokar Artificial Intelligence \u2013 Cloud and Edge implementations takes an engineering-led approach for the deployment of AI to Edge devices within the framework [&hellip;] <span class=\"read-more-link\"><a class=\"read-more\" href=\"https:\/\/www.aiproblog.com\/index.php\/2019\/11\/12\/artificial-intelligence-on-edge-devices-an-engineering-led-approach\/\">Read More<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":467,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[26],"tags":[],"_links":{"self":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2805"}],"collection":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/comments?post=2805"}],"version-history":[{"count":0,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/posts\/2805\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media\/474"}],"wp:attachment":[{"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/media?parent=2805"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/categories?post=2805"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aiproblog.com\/index.php\/wp-json\/wp\/v2\/tags?post=2805"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}