damccorm commented on issue #21437:
URL: https://github.com/apache/beam/issues/21437#issuecomment-1263620466

   > I think we should borrow from best practice patterns in beam I/O's. And 
return errors along with the error message in the Prediction object.
   
   +1, I think this is a good experience. It's worth noting that we don't force 
ModelHandlers to always return a PredictionResult (maybe we should?), but we 
can at least do this for our handlers. This logic will probably need to live in 
the modelHandler anyways.
   
   > Config 1- Fail if any error
   
   I'm probably -1 on this, I'd prefer to avoid a proliferation of options and 
to be a little more opinionated here. Failing is generally a bad experience 
IMO; in streaming pipelines this will potentially cause the pipeline to get 
stuck, in batch we fail the whole job. This is also a pretty trivial map 
operation in the next step if that's really what you want to do.
   
   > Config 2- Retry error n times ( maybe n = 3 ?)
   
   Retries are more interesting to me, I guess my question there is how often 
do models actually fail inference in a retryable way? I would anticipate most 
retries to be non-retryable, and am inclined to not do this flag either.
   
   -----------------------
   
   > We're working with a batch of data. If inference fails, do we consider 
that to be 1 num_failed_inferences? Or perhaps it should be renamed to 
num_failed_batch_inferences? It may depend on framework, but is there a way to 
figure out which specific data points in a batch fail? In which case we can 
also track num_failed_inferences.
   
   IMO handling this at the batch level is fine, anything more complex is 
probably more trouble than its worth.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to