What was your goal and/or why did you choose this design?
Our primary objective in embarking on this project was to achieve the development of an artificial intelligence system through the utilization of another artificial intelligence, hence the name "AI by AI." The core functionality of this system involves the inference of the MNIST dataset, a widely recognized collection of handwritten digits frequently employed in the machine learning domain for benchmarking and evaluation purposes. Given its prominence and utility in the field, it was a natural choice for our inaugural foray into this innovative approach.
How did you implement your project? What challenges did you run into and what did you learn?
Given its intricate nature and the time constraints of two months, necessitated an approach that uses both top-down methodologies. We began with high-level programming languages and progressively delved deeper into the project, ultimately arriving at C++ implementation for High-Level Synthesis (HLS). This approach harnessed the wealth of information available in high-level programming languages, facilitated by generative AI. However, maintaining data type consistency across the transition between programming languages proved to be a critical challenge.
One of the most noteworthy challenges we encountered was related to the use of half-precision floating-point data. Ensuring the integrity of data bits while utilizing various techniques to preserve data accuracy became a focal point. Consequently, our final C++ function employs a 16-bit integer data type, all the while executing floating-point operations at the bit level. This innovation was crucial in overcoming the intricacies of handling data types and achieving the desired results.
How would you extend your project or what would you do next time?
Our next steps involve a comprehensive publication of the system we have developed, ensuring that its details and insights are shared with the wider community. Subsequently, we aspire to delve deeper into the world of Convolutional Neural Networks (CNNs) by exploring various implementations using SRAM memories.
Furthermore, our ambitions extend to practical real-time applications, where we intend to integrate the System on Chip (SoC) we've created with external devices. This exciting prospect would enable us to demonstrate the practical utility of our AI-driven IC in real-world scenarios, opening new avenues for innovation and application.