Method of creation of FPGA based implementation of artificial intelligence as a service
Аннотации
The subject of study in this article is the technologies of Field Programmable Gate Array (FPGA), methods, and tools for prototyping of hardware accelerators of Artificial Intelligence (AI) and providing it as a service. The goal is to reduce the efforts of creation and modification of FPGA implementation of Artificial Intelligent projects and provide such solutions as a service. Task: to analyze the possibilities of heterogeneous computing for the implementation of AI projects; analyze advanced FPGA technologies and accelerator cards that allow the organization of a service; analyze the languages, frameworks, and integrated environments for the creation of Artificial Intelligence projects for FPGA implementation; propose a technique for modifiable FPGA project prototyping to ensure a long period of compatibility with integrated environments and target devices; propose a technique for the prototyping of FPGA services with high performance to improve the efficiency of FPGA based AI projects; propose a sequence of optimization of neural networks for FPGA implementation; and pro-vide an example of the practical implementation of the research results. According to the tasks, the following results were obtained. Analysis of the biggest companies and vendors of FPGA technology is performed. Existing heterogeneous technologies and potential non-electronic mediums for AI computations are discussed. FPGA accelerator cards with a large amount of High Bandwidth Memory (HBM) on the same chip package for implementation of AI projects are analyzed and compared. Languages, frameworks, and technologies as well as the capabilities of libraries and integrated environments for prototyping of FPGA projects for the AI applications are analyzed in detail. The sequence of prototyping of FPGA projects that are stable to changes in the environment is proposed. The sequence of prototyping of highly efficient pipelined projects for data processing is proposed. The steps of optimization of neural networks for FPGA implementation of AI applications are provided. An example of practical use of the results of research, including the use of sequences is provided. Conclusions. One of the main contributions of this research is the proposed method of creation of FPGA based implementation of AI projects in the form of services. Proposed sequence of neural network optimization for FPGA allows the reduction of the complexity of the initial program model by more than five times for hardware implementation depending on the required accuracy. The described solutions allow the construction of completely scalable and modifiable FPGA implementations of AI projects to provide it as a service. Предметом вивчення в даній статті є технології FPGA, методи та інструментальні засоби для проєктування апаратних прискорювачів для реалізації штучного інтелекту (ШІ) і надання його в якості сервісу. Метою роботи є зменшення трудовитрат на створення і модифікацію FPGA реалізації проєктів штучного інтелекту та надання таких рішень як сервісу. Завдання: проаналізувати можливості використання гетеро-генних обчислень для реалізації проєктів штучного інтелекту; проаналізувати передові технології FPGA і карти прискорювачів, що роблять можливою організацію сервісу; проаналізувати мови, фреймворки та інтегровані середовища розробки для створення FPGA реалізації проєктів штучного інтелекту; запропонувати послідовність створення проєктів FPGA, які передбачають можливість легкої модифікації, для забезпечення тривалого періоду сумісності з інтегрованими середовищами та цільовими пристроями і картами прискорювачів; запропонувати послідовність створення FPGA сервісів з високою продуктивністю для підвищення ефективності проєктів AI на їх основі; запропонувати послідовність оптимізації нейронних мереж для реалізації в FPGA; навести приклад практичної реалізації результатів дослідження. Відповідно до поставлених завдань, були отримані наступні результати. Проведено аналіз найбільших компаній і виробників FPGA. Обговорюються існуючі гетерогенні технології обчислення та потенційні неелектронні середовища для ви-конання ШІ обчислень. Виконано аналіз та порівняння карт FPGA прискорювачів з великим об’ємом дина-мічної пам’яті всередині корпусу чіпа для реалізації обчислень проєктів ШІ. Детально аналізуються мови, фреймворки та технології, а також можливості бібліотек для побудови проєктів ШІ. Запропоновано послідовність прототипування FPGA проєктів, стійких до змін середовища. Запропоновано послідовність прототипування FPGA проєктів для високоефективної конвеєрної обробки даних. Наведено етапи оптимізації нейронних мереж для реалізації в FPGA. Наведено приклад практичного використання результатів дослідження. Висновки: Один із головних внесків цього дослідження полягає в запропонованому методі створення реалізації проєктів штучного інтелекту на основі FPGA у формі сервісів. Запропонована послідовність оптимізації нейронної мережі для FPGA дозволяє знизити складність вихідної програмної моделі більш ніж у 5 разів для апаратної реалізації в залежності від необхідної точності. Описані рішення дозволяють будувати повністю масштабовні та модифіковні реалізації FPGA проєктів штучного інтелекту, щоб надавати їх як сервіс.