Mindtech Global Ltd, a UK based start-up, has announced container support to allow running multiple instances of their Chameleon synthetic data generation tool on clustered platforms. This approach enables full use of available to compute resources leading to a significant reduction in training cycle times for neural networks using Synthetic data.
Scalability by design
Mindtech’s Chameleon was built from the outset with the capability to scale for generating large amounts of data to meet the demands of training visual neural networks for AI systems. The simulator incorporates a scripting engine, enabling easy capabilities for repeated simulation runs, changing single variables at a time. The scenario editor is intended to allow the quick and easy creation of multiple different sequences, to create the data required for the intended use case.
The Scenario editor and simulation scripting engine between them ensures that the Chameleon tools can easily be used to generate huge amounts of data. To allow the user to effectively exploit this requires that simulation and rendering hardware be fully utilized. To achieve this the tools were designed to fully employ all resources available, taking advantage of multi-thread processors and GPU accelerators available on the system hosting the simulator. To further enhance this capability, Mindtech has updated the simulator and encapsulated it in a containerized form, to allow the use of such technologies as Singularity and Docker. This in turns allows deployment within a clustered environment like Kubernetes. This new functionality allows for deployment at server and cloud-scale, enhancing the ability to utilize computer resources available.
The need for scalability
The creation of the virtual worlds, used to create Mindtech’s high-quality synthetic data, requires the use of sophisticated 3D rendering techniques, as well as significant processor power, delivered by GPU accelerators, to help ensure the virtual world behaves in a realistic, “life-like” manner. Each training task for a neural network will require hundreds of thousands or even millions of images, each individually rendered, and annotated for the training task. The use of containers allows the user to run multiple simulation runs in parallel, vastly reducing the time to create data, and shortening the overall training cycle for neural networks.