Live data from Hacker News

Machine learning is still too hard for software engineers

nyckel.com

121–130 of 154 posts

Re: Machine learning is still too hard for software engineers

#121

"Machine Learning is too difficult" ... says company selling "ML platform [which] can be used by anyone and it only takes minutes to train your first model." No, actually, you're just being dishonest. Even if you hide TensorFlow and the keras models behind a nice GUI, people still need that mathematics knowledge to succeed. And yes, pre-training is great. But you need a shitload of stochastic analysis to make sure th…

Unfortunately there are a shitload of ML ‘experts’ out there who do not know what they are doing but still get results that are good enough to not get fired and receive copious amounts of money every year. These tools help doing that; companies generally don’t see the difference anyway and they don’t know how to set or evaluate KPIs on these ventures; they don’t even know what or why they are asking for; they just kn…

Except, of course, that they are becoming obsolete because if all of your AI progress is a black box operated by someone else, you have precisely 0 competitive advantage over someone else being equally clueless and purchasing from the same vendor.

Re: Machine learning is still too hard for software engineers

#122
post #78

"Machine Learning is too difficult" ... says company selling "ML platform [which] can be used by anyone and it only takes minutes to train your first model." No, actually, you're just being dishonest. Even if you hide TensorFlow and the keras models behind a nice GUI, people still need that mathematics knowledge to succeed. And yes, pre-training is great. But you need a shitload of stochastic analysis to make sure th…

While driving, do you understand how the engine ECU of your car computes how much fuel to inject into the cylinder, how the ECUs distribute the power, and the braking force on individual wheels, or how your rear wheel steering calculates the turning angle of the rear wheels based on your seed and steering input? You don't need to know most of the details how your car works in order to drive. You need much more knowle…

Except that we can build cars that work. Whereas for DL AI, in most practical applications, there is like 10% edge cases where things just randomly explode. But don't take it from me, just read "Distributional Reinforcement Learning with Quantile Regression" by Google Brain and Deepmind and they'll tell you

"Even at 200 million frames, there are 10% of games where all algorithms reach less than 10% of human. This final point in particular shows us that all of our recent advances continue to be severely limited on a small subset of the Atari 2600 games."

In short, current AI approaches cannot even reliably win video games from 40 years ago, no matter how much $$$ you burn on GPU power.

How do you expect a non-expert to know if their problem is in the 10% that works well, the 80% that works tolerably, but worse than traditional algorithms, or the 10% where all bets are off?

Re: Machine learning is still too hard for software engineers

#123
post #19

I've dived into ML (and DL) with 17 years of software development experience. I'd say it's much easier than software. Yes, there's A TON to learn and experiment with, but still much less than with software. I was able to feel confident enough after just 1.5 years learning and kaggling, and passed easily ML interviews to SF Bay Area companies (hint -- all data science people are extremely glad to see software experien…

Can you share how you switched into ML? How and what did you study? Any tips?

For English-speakers -- Kaggle forums. Top kaggler (Giba) said he learned everything just reading Kaggle forums (he was an electric engineer).

I personally mostly talked to friends, Kaggle, and 1-2 Coursera classes.

PS: Kaggle is pretty far from real production ML, but good enough to dive in.

Re: Machine learning is still too hard for software engineers

#124

Most CS grads coming onto the engineer market now will have ML exposure through their chosen college courses. As this wave of knowledge makes its way through the industry, the value of ML specialist knowledge will decline, especially as off-the-shelf pre-trained models improve. Very few companies then will be able to justify the luxury of a dedicated in-house data science/ML engineering team. In other words, most sof…

> in the same way most software engineers today are Docker/cloud proficient engineers oh shit, are we all supposed to be now?

Docker is a tool where one reads the documentation and be able to use it. ML, much like math, is a discipline. Sure you can read textbooks and the latest papers. But deep understanding and experience are what make it useful. Sadly these will take much longer.

Re: Machine learning is still too hard for software engineers

#125

Earlier quoted context omitted.

Unfortunately there are a shitload of ML ‘experts’ out there who do not know what they are doing but still get results that are good enough to not get fired and receive copious amounts of money every year. These tools help doing that; companies generally don’t see the difference anyway and they don’t know how to set or evaluate KPIs on these ventures; they don’t even know what or why they are asking for; they just kn…

Except, of course, that they are becoming obsolete because if all of your AI progress is a black box operated by someone else, you have precisely 0 competitive advantage over someone else being equally clueless and purchasing from the same vendor.

Sure, but that gave all the ‘less than good’ employees still about a decade to fill up for the coming dip and the next shiny thing.

Also; most ‘black box’ solutions still are not that friendly.

Re: Machine learning is still too hard for software engineers

#126
post #93

"Machine Learning is too difficult" ... says company selling "ML platform [which] can be used by anyone and it only takes minutes to train your first model." No, actually, you're just being dishonest. Even if you hide TensorFlow and the keras models behind a nice GUI, people still need that mathematics knowledge to succeed. And yes, pre-training is great. But you need a shitload of stochastic analysis to make sure th…

Thanks for your comments fxtentacle! I work at Nyckel. In fact, I'm the "ml guy" at Nyckel. I have a PhD in ML and did some research at Berkeley, but I mostly consider myself a ML engineer. My most recent job was in the self-driving car industry, leading a ML team there. Knowing the math/stats is helpful when navigating the vast set of models to choose from when fitting your data. Although I'd argue that some sort of…

Thanks for your reply, beijbom.

I believe it is a very common mistake for intelligent people to assume that others will behave at least reasonable. But in my experience, when people do AI without understanding it, all bets are off.

"Sure, if they throw in a picture from anywhere else, they are toast, but why would they?" Since you list a Barcodeless Scanner as an example, the manufacturer of strawberries might run a promotion for blueberries on their box. For a non-expert user, it is unimaginable that a model trained on 3D blueberries might be triggered by a 2D photo of blueberries.

Also, I'm going to go with your legume example. As soon as each new truck arrives, the intern runs out and takes photos of the legumes in their boxes for the AI training. He uploads the images to your website and trains a model. TADA! The model is deployed to production and starts causing issues. But the people working alongside the fancy new celebrated machine don't want to lose their job, so they silently fix what's going wrong. You've just reduced productivity by introducing a costly machine.

Turns out, the different suppliers arrive at different times of day, so the lighting is different. And different suppliers use different box types. But without expert domain knowledge, you wouldn't even consider that this might be a problem. Also, why do you assume the customer will verify their model on independently sampled production data? To someone lacking the domain knowledge, using the exact same set of photos for training and for verification seems just fine. Actually, it's a lot less work that way.

That's what I tried to get at with my blind driver analogy. An untrained person will do things that seem absurdly unreasonable to us. But to them, it's the logical choice. They lack the knowledge to properly understand why what they are doing might be problematic.

Based on your description, however, it sounds like you (and your team of experts) are actively working with this customer and giving them feedback on what to do and how to do it. Have you considered making that part of your offering?

"Use Nyckel to integrate state of the art machine learning into your application. Anyone can curate their data set with our ML platform. A quick chat with an experienced AI engineer helps identify the best model and training procedure for your use case. It only takes minutes to finish your first model. Once created, your functions can be invoked in real-time using our API."

I'm pretty sure any serious business user would be happy to spend $100 for a 15 minute chat with someone that checks that their data is OK and their approach is reasonable. And it's also a nice way to segment out those that'll never become paid users anyway.

Re: Machine learning is still too hard for software engineers

#127
post #7

I'd argue software engineering is still too hard for ML engineers. Most of ML (not research but commercial applications of what's already been demonstrated) is now well within the realm of engineering, but there are few standard practices, bodies of knowledge, or agreed on processes for doing anything. These are problems that engineering formalism solve, not another auto-ml tool. Maybe I'm saying the same thing as th…

In my experience, both are true. I'm more on the ML side, and I can tell I don't have the kind of routine and habits that good software engineers have, though I'm learning. But on the other hand, and I've seen this from software engineers who've made the transition to ML, and clearly have a good handle on the concepts (in one case even published papers in ML journals), they don't seem to have the intuition that allow…

Absolutely agree, the major challenge has been to explain to software engineers that the pick up an algo from github, monkey see monkey do a tutorial followed by automl or grid search is pretty irrelevant nowadays.

If you can’t implement any existing algorithm from a scientific paper it is pretty hard to understand the flexibility that is required designing a training pipeline.

In terms of tech stacks, cloud providers’ sample architectures and code samples are a base for cloud components and API understanding and not actual implementations.

Re: Machine learning is still too hard for software engineers

#128

So, I went directly into data science after an econ degree, worked there for 2 years and then transitioned to SWE (at startups). First, I am 100% certain ML will become a part of the standard SWE toolkit (just like apis, docker, sql, etc..). However, to the relative "hardness" I would say ML currently is much less things but they can be really hard to get your head around (like starting to think in embeddings and vec…

Your career path seems really interesting. Do you have a blog or some kind of work showcase where we can follow your journey and work?

happy to hear that. I fell in the trap of "to write a blog i have to code it myself haha" but il get back to you when its public:)

Re: Machine learning is still too hard for software engineers

#129
The article contains lists with bullet items and then suggests that if these were "easy", ML would be more accessible. Well true, but much of the "difficulty" is in establishing faith that the models are meaningful and valuable.

The article is talking about applications where the value is less-or-equal to the work of learning and applying some library (it mentions days or weeks). What is the actual value of applying ML in these cases?

Re: Machine learning is still too hard for software engineers

#130

In general, getting a phd is the best way to go but it is not the only way. "The AI Epiphany" channel by Aleksa Gordić is worth watching. Check out his origin story: https://www.youtube.com/watch?v=SgaN-4po_cA He works at DeepMind. He is self taught; without a phd.

Aleksa is great. Also check out Jeremy Howard from fast.ai - also no PhD but amazing teacher and contributes actively to research. Chris Olah (Google Brain, OpenAI, etc) go to university at all. PhD definitely not required.

You're heralding literal geniuses like Jeremy Howard as examples of "PhD not required". Yes, if you are Jeremy Howard or Leonardo DaVinci, sure you'll excel at this stuff without studying a degree.
Post reply on HN