How do iOS devices perform on-device machine learning on photos while most of the photos are uploaded to iCloud?
Obviously the phone cannot do its work without the data - so it performs the on-device ML right after the photo was taken, before it is uploaded to iCloud and deleted on device - or if that wasn't possible - it downloads the photo data from iCloud and performs the on-device ML (without necessarily storing the photo on the device).
Whether or not that is a &quot;bandwidth waste&quot; is fully subjective. If you care about the privacy benefits on performing ML on-device, it is not a waste - if you do not care, it could be seen as a waste.
UPDATE: With your edit, you added a question on what happens if you add new information after the fact - for example changing a name, adding a photo to a specific detected person, etc. Actually the phone does not need to download all photos again to do the whole thing all over.
When the phone has the original image, it can extract features from the photo using machine learning. It is not known exactly which features iPhoto look at, but imagine extracting numbers such as the distance between the eyes, the color of the eye, etc. Another type of machine learning then can group thee numbers into classifications of individuals, which you them can name.
These numbers are stored on the phone and allow for you to update certain information and “recalculate” the detected persons without actually needing the full image data again.