keys to success
AI for your business
Part III: The next level
Scalability and performance
Methods that don't scale or fit the required performance can kill an AI project. Scalability and speed must be taken into account from the start when it comes to the choice or design of an algorithm. Scalability is typically achieved by distributing the computational load on a cloud server. Speed gains can be achieved in a number of ways:
- choice of the algorithm
- using GPUs
- running a profiler to spot bottlenecks
- parallelization
- compiler optimizations
- tuning the algorithm parameters
- using an optimized programming language for all or certain parts of the project
- using high performance libraries
- using heuristics to guide the algorithm
Confidentiality
Using secure servers or processing data on the user's device are certainly useful when it comes to confidential data. It is also possible to process encoded data. Homomorphic encryption is an interesting new technology.
Consider a DNA test for example. Imagine a patient who does not want that their data is shared outside of their local medical institution. At the same time, many companies with different technologies are able to interpret a DNA sequence and associate it with different risks. Using homomorphic enryption, the DNA of the patient could be encrypted by the local medical institution, processed (encrypted) by a foreign company, and the result which is encrypted can then only by decrypted using the key that only the patient has access to.
Future proof implementations
A well-architectured and documented software is important in any IT project. For your AI project, you want to additionally consider:
- easy to re-train when additional data is available
- easy to switch between different methods in a pipeline
- easy to add extra functionalities, e.g. if you have a pedestrian and car detector, it should not require a redesign to add bike detection
When designing the system, take into account what is likely to become better and focus on solving essential problems or parts that general research will not deal with.