- Applying ML for real applications: house value prediction, stock price prediction, flower identification, face recognization, ... or others. You could refer to https://www.dezyre.com/article/top-10-machine-learning-projects-for-beginners-in-2021/397, but you should do more than the existing source code (proposing new things, either using a newest algorithm or show the effort of improving the accuracy).
- Understanding one step of ML optimization, such as computational convolution optimization, parameter factorization, network pruning, and network quantization. You could read papers about new algorithms, and then analyze different algorithms with experiments. See more details at https://arxiv.org/pdf/2101.09671.pdf
- Research on the internals of different machine learning frameworks, such as PyTorch or TensorFlow. Topics include but not limited to memory management, or graph handling, or comparing the performance of different framework (model deployment).
- Design object tracking with machine learning, and comparing to traditional traditional object detection algorithms.
- Use machine learning for identifying different types of performance issues, such as NUMA architecture, field reorganization, array grouping.
- Use machine learning for identifying different types of cache issues
- Improving a specific step of machine learning, such as memory usage, or scheduling for multiple ML frameworks.
- Investigation of a research topic, such as methods of inference acceleration (especially under the resource-limited environment), or memory reduction of inference or training.
Students could use google Colab for coding, which is free.
More server usage: https://www.umass.edu/ials/mghpcc