About The Position

The Opportunity Photoshop ART is seeking a Senior Applied Scientist - Machine Learning Systems Engineer- Photoshop to join our inpainting R&D team focused on making significant progress in image generation/restoration, low level vision, image editing with an eventual posture toward productization. Individuals in this role are expected to be expert in identified research areas such as artificial intelligence, machine learning, computer vision, and image processing. Strong preference will be given to candidates with experience in light transport, image formation, or physically based rendering, and in leveraging synthetic 3D scene data for training or analyzing learning-based models. This includes work on scene relighting, illumination transfer, harmonization, or appearance editing, as well as familiarity with generating or using simulated data to improve model controllability and realism with an eye toward productization. The ideal candidate will have a keen interest in producing new science to advance Adobe products. What you'll Do Work towards long-term results-oriented research goals, while identifying intermediate achievements. Contribute to research that can be applied to Adobe product development. Help integrating novel research work into Adobe’s product. Lead and collaborate on research projects across different Adobe divisions.

Requirements

  • Education: Master’s or PhD's degree in Computer Science, Electrical Engineering, or a related field with a focus on Parallel Computing or Systems.
  • Foundational Systems Programming: Proficiency in Python and C++ , with a solid understanding of memory management and concurrency.
  • Hands-on ML Frameworks: Experience working with PyTorch or JAX, specifically moving beyond simple model training into distributed setups (e.g., PyTorch FSDP, DeepSpeed).
  • GPU Awareness: A strong grasp of GPU architecture (SRAM vs. HBM, warps, and thread blocks) and how these impact the performance of ML workloads.
  • Analytical Mindset: A "measure twice, cut once" approach to engineering—you enjoy looking at execution traces and flame graphs to find 10% wins.

Nice To Haves

  • Experience contributing to open-source efficiency libraries (e.g., vLLM , FlashAttention, or TensorRT-LLM ).
  • Exposure to low-level communication libraries like NCCL and an understanding of collective operations (AllReduce, AllGather).
  • Familiarity with containerization ( Docker/Kubernetes ) and job scheduling in a headless Linux environment.
  • Knowledge of modern model architectures like Mixture-of-Experts (MoE) or Diffusion Transformers (DiT

Responsibilities

  • Kernel Development & Optimization: Write and maintain high-performance GPU kernels using Triton or CUDA to accelerate custom model layers and operations.
  • Training Efficiency: Support the scaling of large-scale training runs. You will help implement and debug distributed training strategies including ZeRO , Tensor Parallelism , and Pipeline Parallelism .
  • Inference Acceleration: Implement state-of-the-art inference techniques such as quantization (FP8/INT8) , speculative decoding , and KV cache optimizations to reduce latency and cost-per-token.
  • Performance Profiling: Conduct deep-dive bottleneck analysis using tools like PyTorch Profiler , NVIDIA Nsight , and Nsight Systems to identify stalls in compute, memory bandwidth, or NCCL communication.
  • System Maintenance: Collaborate on the "Model Factory" pipeline to ensure training jobs are fault-tolerant and utilize cluster resources efficiently across InfiniBand/RoCE networks.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service