Position Overview:
We are seeking a highly skilled Deep Learning Engineer with expertise in C++, Libtorch, CUDA programming, and experience in optimizing and streamlining deep learning models developed in Python. The ideal candidate will play a pivotal role in enhancing the performance, scalability, and integration of machine learning models into production environments.
Key Responsibilities:
1. Deep Learning Model Deployment:
– Convert and integrate Python-based deep learning models into C++ applications using Libtorch.
– Ensure efficient inference pipelines for real-time or batch processing tasks.
2. Optimization and Performance Tuning:
– Optimize model performance for deployment on GPUs using CUDA programming.
– Streamline memory usage and computational efficiency in both training and inference workflows.
3. C++ Development for ML Frameworks:
– Build, test, and maintain robust C++ modules for machine learning applications.
– Extend Libtorch functionality to meet project-specific requirements.
4. Collaborative Development:
– Work closely with data scientists and ML engineers to understand the architecture and behaviour of models.
– Collaborate with software engineers to ensure seamless integration of ML components into broader systems.
5. Testing and Documentation:
– Write unit tests and benchmarks for deployed models and algorithms.
– Create comprehensive documentation for implemented solutions and best practices.
Qualifications:
– Technical Expertise:
– Proficient in C++ and CUDA programming.
– Hands-on experience with Libtorch and PyTorch.
– Strong understanding of GPU programming, memory management, and parallel computation.
– *Deep Learning Knowledge*: (Optional)
– Familiarity with common deep learning architectures (CNNs, RNNs, Transformers, etc.).
– Experience in transitioning Python-based ML workflows to C++ for production.
– Problem-Solving Skills:
– Ability to identify bottlenecks and propose efficient solutions for deployment challenges.
– Collaboration and Communication:
– Effective communication skills to work within cross-functional teams.
– Demonstrated ability to document and explain technical processes clearly.
Preferred Qualifications:
– Experience with NVIDIA tools like TensorRT or cuDNN.
– Familiarity with other deep learning frameworks such as TensorFlow.
– Exposure to real-time or edge computing systems.
This role offers an opportunity to work on cutting-edge projects that leverage your skills in deep learning, C++, and CUDA programming to make a tangible impact. If you’re passionate about optimizing and deploying machine-learning solutions, we’d love to hear from you!