From https://wikitech.wikimedia.org/wiki/Machine_Learning/LiftWing#Hosting_a_model:
- What use case is the model going to support/resolve?
Detection of potentially copyrighted image uploads on Commons. T340546: [XL] Analysis of deletion requests on Commons highlighted that logos account for a significant chunk of files that undergo a deletion request, then get deleted from Commons. See also T340546#9583762.
- Do you have a model card? If you don't know what it is, please check https://meta.wikimedia.org/wiki/Machine_learning_models.
Not yet.
- What team created/trained/etc.. the model?
Structured Content, main developer @mfossati .
- What tools and frameworks have you used?
Keras 3.0.4
TensorFlow 2.15.0 backend
KerasCV 0.8.1
EfficientNet V2 backbone, B0 variant pre-trained on ImageNet. See https://keras.io/api/keras_cv/models/#backbone-presets
- What kind of data was the model trained with, and what kind of data the model is going to need in production (for example, calls to internal/external services, special datasources for features, etc..) ?
Commons images. The model will require an image file and will output whether the given file is a logo or not.
- If you have a minimal codebase that you used to run the first tests with the model, could you please share it?
Training;
evaluation;
demo classification.
- State what team will own the model and please share some main point of contacts (see more info in Ownership of a model).
Structured Content, main point of contact @mfossati, tech lead @Cparle.
- What is the current latency and throughput of the model, if you have tested it? We don't need anything precise at this stage, just some ballparks numbers to figure out how the model performs with the expected inputs. For example, does the model take ms/seconds/etc.. to respond to queries? How does it react when 1/10/20/etc.. requests in parallel are made? If you don't have these numbers don't worry, open the task and we'll figure something out while we discuss about next steps!
Not there yet.
- Is there an expected frequency in which the model will have to be retrained with new data?
To be discussed. Note that current performances are already high, which may lower the priority of re-training. See T352748: [SPIKE] Image classifier prototype.
- What are the resources required to train the model and what was the dataset size?
Training on CPUs with 36 threads was reasonable: I haven't exactly measured the training time, it took a few hours.
Scaling it up to GPUs would be nice to have.
The dataset size is 1.1 GB with 23,325 training samples.
- Have you checked if the output of your model is safe from a human rights point of view? Is there any risk of it being offensive for somebody? Even if you have any slight worry or corner case, please tell us!
The output is a confidence score of an image being a logo, so I think it's safe. As a side note, we discussed something similar with Legal as part of T350020: Access request to deleted image files in the production Swift cluster.