Key Responsibilities
Develop, Train, and Optimize ML Models
- Develop machine learning models tailored for deployment on edge devices.
- Train models using relevant datasets, optimizing for performance and efficiency.
Deploy ML Models to Edge Devices
- Integrate trained models into existing systems deployed on edge devices.
- Ensure seamless integration with edge hardware and firmware.
Maintain Firmware for Edge Devices
- Develop and maintain firmware running on edge devices.
- Optimize firmware to support efficient operation of ML models within hardware constraints.
Implement Real-time Data Processing
- Design and implement data processing pipelines for real-time applications.
- Manage local data storage and ensure data quality and integrity.
Evaluate and Improve Model Performance
- Continuously monitor and evaluate the performance of deployed ML models.
- Troubleshoot issues and implement updates or improvements as necessary.
Key Skills
Optimization Techniques
- Proficiency in optimizing and compressing ML models for edge deployment.
- Knowledge of quantization, pruning, and other techniques to reduce model size and computational requirements.
Embedded Systems and Edge Computing
- Understanding of embedded systems and edge computing architectures.
- Familiarity with hardware and software constraints of edge devices, including microcontrollers and IoT platforms.
Real-time Operating Systems and Firmware Development
- Experience with real-time operating systems (RTOS) and firmware development.
- Ability to develop and optimize firmware for edge devices.
ML Frameworks for Edge Deployment
- Familiarity with ML frameworks suitable for edge deployment, such as TensorFlow Lite, PyTorch Mobile, and ONNX Runtime.
- Capability to write efficient, low-level code for performance-critical applications.
Programming Skills
- Strong proficiency in programming languages used in edge ML, such as Python and C/C++.
- Ability to write efficient code considering hardware constraints.
Data Management on Edge Devices
- Experience in collecting, preprocessing, and managing data locally on edge devices.
- Ability to handle data streams, implement real-time data processing, and ensure data quality in resource-constrained environments.
This role requires a blend of machine learning expertise, embedded systems knowledge, and proficiency in optimizing models for deployment on edge devices. Candidates should be comfortable with both software and hardware aspects, ensuring efficient and reliable operation of ML applications in edge computing environments.