Implicit Training Models in Spark MLlib?
Implicit feedback simply means that given a ratings-dataset, the zeroes are treated as "nothing was rated" as opposed to "the user rated this as a zero". The algorithm they use is based on the one in this paper. The code is pretty difficult to read but available here.

That being said, if you do have binary product choice variables (i.e., user A chose product B, but not the actual ratings), the implicit training could also work as is, even if was not originally designed for it.