Show HN: Deploy and Retrain Cutting Edge ML Image Recognition via REST API
I really think these types of services miss the big picture. The hard part of creating these services in-house is not wrapping things up in a single discrete unit of deployment like a Docker container, and it&#x27;s not even following research or tutorials for how to actually train a fine-tuned or transfer-learned modification to a popular pre-trained model.<p>Those are the easy parts that it&#x27;s not that interesting to pay someone else to do.<p>The hard parts are always<p>(1) your own data cleaning, pre-treatment and ingestion pipeline to get the data ready in the first place and into a conformable and reproducible state for tracking trained models and experiments; and<p>(2) [most important] writing the acceptance testing and model checking plumbing code to validate that trained models are working as expected on custom use cases with custom KPIs or metrics that business stakeholders want (e.g. basic accuracy metrics built in to most modeling tools only matter to the team training the model -- other people could not care less; they want summarization in &#x27;business&#x27; terms and demonstrations of accuracy that reflect exact customer or stakeholder use cases).<p>Because of (1) and especially (2), you still need to employ expensive in-house machine learning staff to understand how to evaluate your models, even if those models are consumed from a third-party service like this one, or like Google&#x27;s AutoML or AWS Rekognition.<p>It&#x27;s why this idea of &quot;machine learning for people who don&#x27;t know machine learning&quot; seems so silly and cost-ineffective to me. You still have to pay the salary cost to have in-house modeling experts who can understand diagnostics, bugs, training errors, etc., for these third-party models and who can understand any methodological issues with data preparation and pre-treatment, and who can translate machine learning diagnostic jargon into meaningful metrics and demos for specific stakeholder use cases.<p>Finally, you also still need some mix of machine learning infrastructure expertise to understand if the cost-per-request of paying for these third party services is actually worth it, especially when adjusted for the level of accuracy you need for your specific application (something that is always suspiciously hard to get information about on the pricing pages of these services).<p>Often times you don&#x27;t need to offload for the sake of autoscalability features, and you do need to verify if the latency and throughput of the third party service are acceptable for the performance constraints of your specific problem, as well as what overall cost they equate to in terms of supporting your expected throughput for your traffic to the service.<p>Basically, it seems like the value add these services want to advertise is that you can outsource the problem of developing a machine learning model, even when you need to provide your own data for fine-tuning.<p>But you can only outsource the <i>tiny</i> amount of work that would have been the implementation of some training code and the execution of some training regimen to arrive at the deployable model artifact (e.g. a trained model wrapped in a Docker container).<p>This is probably only 10% of the work at best, and it&#x27;s also the &quot;fun part&quot; that the machine learning engineers you still have to employee are going to be grumpy about outsourcing rather than keeping their skills sharp and tailoring the model more uniquely to your specific business problem.<p>The other 90% of the work, particularly understanding model diagnostics in an acceptance testing sort of way that ties directly to a real use case, is still there and fundamentally cannot be outsourced unless you&#x27;re prepared to just fully pay for an entire third party consultant to do the entire project.<p>Either way, I just don&#x27;t see why this type of service would be valuable to companies. They might get fooled into thinking if they have a precocious general engineer who can sort of figure some stuff out, then they can offload for the remaining effort, and save a bunch of money on the cost of headcount for expensive machine learning engineers.<p>But I think they&#x27;ll quickly get burnt by that idea, and have a weird situation where they thought they paid for a service like this for scalability purposes, but where the lack of in-house machine learning expertise is what really limits scalability, and they end up with a very nasty form of vendor lock-in.