To the best of our knowledge, modern scientific computing tools do not provide native support for service-level AD, limiting all autodiff processing to a single component. However it is certainly possible to combine multiple tools to create AD-capable components that can communicate over network. Typically such solution would involve an AD-native framework (e.g., JAX, TensorFlow, PyTorch, Julia) and a service layer that exposes gradient-specific endpoints. Service layer can be implemented using general-purpose web application frameworks (e.g. Flask or Django) or specialised serving solutions (e.g. Ray Serve, AWS SageMaker, Goolge Vertex AI). Crucially, there is no standardized gradient APIs, no REST/gRPC protocols to follow, so all of these solutions for service-level AD require large effort to define AD-relevant endpoints, input and output schemas. Additionally, it is necessary to factor in orchestration of distributed gradient calculation jobs and workflows.
0 commit comments