Top research group, DeepWok labs, speeds up productivity with powerful CI
- Improved Efficiency
- Reduced Manual Tasks
- Enhanced Collaboration
The DeepWok ML research group uses BeetleboxCI for their cutting-edge AI research to speed productivity and improve their infrastructure
DeepWok ML research group, where its members are from Imperial College and University of Cambridge, has adopted BeetleboxCI for the end-to-end testing of their AI research to allow more efficient deployment. Using BeetleboxCI, they have streamlined their entire workflow and saved hours on development for their MASE project.
Pioneering Machine-Learning Tools.
As part of its research into machine-learning, they have developed a set of exploration tools. These tools allow developers to run their machine learning models on high performance, low power chips known as Field Programmable Gate Arrays (FPGAs).
The tools cover the complete machine-learning process from initial training to implementing the final hardware system. It can even link FPGA chips together to implement larger AI models and was released as an open-source project.
Challenges in Open-Source Project Maintenance and IT Infrastructure.
Maintaining a bug-free open-source project is difficult at the best of times, but their IT infrastructure made it challenging.
The team had three separate on-premises servers: one devoted to training with GPUs, another devoted to general-purpose computing and a final devoted to running FPGA workloads. Running an end-to-end test meant separately running tasks on each server and transferring files manually.
This led to inefficiency and difficulty in generating research results.
To solve these inefficiencies the researchers had attempted to use GitHub Actions, but this could not be used with their on-premises servers. GitHub Actions was unable to run tests for the multiple server class FPGAs that needed to be programmed simultaneously.
Research Goals and CI System Requirements
It became clear that the researchers needed a CI system that could:
- Navigate the intricacies of their infrastructure and handle the transfer of data across servers without any manual intervention.
- Handle both GPU devices for training and programming multiple FPGA devices simultaneously for hardware acceleration.
- Build an automated flow to ensure the open-source version remains error free.
- Support new research projects and enable researchers to run multiple projects without interfering with one another, whilst still allowing better collaboration.
They reached out to the Beetlebox team to see if they could meet this challenge.
Implementation Process and Workflow Design
The first step for the Beetlebox team was to plan the tools, techniques and strategies that were needed to meet the researcher’s objectives. The team started with the testing and deployment infrastructure.
The system was split into target end devices and the host system. In this case, the end devices being the FPGA boards and the host system being the three servers.
Thanks to BeetleboxCI’s unique device management features developers can specifically pinpoint the exact devices for tests to run on and handle communicating with them over multiple different protocols, such as SSH, JTAG or UART.
Once the infrastructure has been established, the team moved onto designing the automated pipelines.
With other CI platforms, building and testing on FPGA technology can take a significant amount of time to set up. BeetleboxCI, however, supports the AMD (formerly Xilinx) tools from Vivado to Vitis and provides examples and tutorials of using these devices. Combined with the teams’ experience, this made creating these pipelines faster and less disruptive than integrating other CI systems.
Finally, the Beetlebox team worked closely with the researchers to establish a release flow for them through GitHub.
To ensure the open-source version remained error-free, a flow was established so that a separate private repo could be used without fear of introducing bugs to the public repo. When a release version is ready, a pull request is made to merge the changes from the private repo to the public.
The Impact of Efficient CI
Whilst the project is still ongoing, the anticipated benefits of implementing BeetleboxCI are expected to be substantial. The researchers will have a fully functioning automated pipeline that streamlines their research workflows and enhances productivity.
By leveraging BeetleboxCI’s robust capabilities, the researchers aim to achieve seamless integration across its research process from initial training to analysing their research results. This automation is poised to reduce manual intervention, streamline complex tasks, and quicken the generation of research.
Moreover, BeetleboxCI’s features can allow for enhanced collaboration between researchers, whilst also allowing them to pursue multiple projects using the same hardware without interfering with one another.
Anticipated Results and Benefits
- Significant reduction in manual intervention and time spent transferring files between servers.
- Improved efficiency in running research projects, allowing researchers to focus more on analysis and experimentation.
- Enhanced collaboration and scalability, with support for multiple projects running simultaneously without interference.
Challenges and Future Plans
While the implementation of BeetleboxCI has been smooth thus far, challenges may arise as the project progresses. However, the Beetlebox team remains committed to providing ongoing support and assistance to address any issues that may arise.
Looking ahead, the researchers plan to explore additional features and optimizations to further enhance the efficiency and effectiveness of their research workflows.
The adoption of BeetleboxCI represents a significant step forward for the academic institution in its pursuit of cutting-edge AI research.
As the project continues to evolve, BeetleboxCI is poised to play a pivotal role in driving innovation and advancing the frontiers of machine learning and artificial intelligence.
Ready to get going?
Get in contact with us today and learn how we can help with your automation bottlenecks.