Live data from Hacker News

Machine learning is still too hard for software engineers

nyckel.com

141–150 of 154 posts

Re: Machine learning is still too hard for software engineers

#141
post #112

Earlier quoted context omitted.

Most folks can get away with logistic or linear regression. A tiny portion of those might need to move to random forest. And an even tinier portion may justify deep neural networks. The vast majority of ML is not deep learning, nor is it necessary. We're talking very boring typical business cases.

Yeah, this fixation with deep learning is kinda weird, given that most companies don't have vast amounts of images/text lying around and a pressing business need to understand them. I'm a big fan of starting simple, which means linear/log regression (normally with lasso, as it does variable selection). Then, if you can prove business value, it may make sense to start trying to use more unstructured data.

I think it is because linear regression is not science fiction enough even if that is the best that can be done on the data. We didn't hire this AI guy to do simple regressions!

Re: Machine learning is still too hard for software engineers

#142

Earlier quoted context omitted.

Not to disagree with your point, but your comment really reminded me of the following scene from Breaking Bad: https://www.youtube.com/watch?v=W_dxteeedgs

Haha, I’d never seen that. I suppose my comment is a bit over-the-top compared to my comment history, but it’s somewhat of a touchy point for me when someone jumps into a new field and claims it’s easy and that they’re an expert without being able to back up the claim (some rare people can do this with a new field; most cannot).

Is it though? When I run the hello world for whatever GAN or pytorch, what exactly am I going to do if I get an unexpected error message? Or if the results are off? Would I even know the results are off? I don't even know if pytorch is used for GAN.

Re: Machine learning is still too hard for software engineers

#143
post #80

Earlier quoted context omitted.

The "deep learning is a black box" meme is about 5 years past it's due date. It's not as tight as for convex models but we do understand what's going on inside, just not perfectly yet.

I think we're talking about different levels of understanding. For things like convex optimization, we have optimality results. For deep learning we have "try to stop training early because it tends to get overfit if you run it too long", "increase the number of parameters in the transformer to magically get uncanny impressions of written text out". These are not the same kind of understanding. If I hand you a 175B p…

Well, the thing is, we do know how human brains work, just not perfectly. A black box is something you can't look inside and don't understand, which we left behind years ago. We can even interpret parts of it. And if you hand me a 175B parameter language model without skip connections I can tell you exactly what will happen because we understand what role they play and how attention decays rank.

Note I'm not saying we perfectly understand everything, or that our understanding is as solid as that involving convex models or linear regression. But "black box" just isn't true anymore and just adding unnecessary mystique. We are somewhere between Newton and the Lord Kelvin and Faraday era of physics, no longer in the ancient alchemist days

Re: Machine learning is still too hard for software engineers

#144
post #96

Earlier quoted context omitted.

> It's rare to find people who can both run and test all the infrastructure and model code It's also unnecessary to do so as long as your institutional processes are capable of synthesizing multiple peoples' competencies across multiple disciplines. How do you think any machine more complicated than a train car was designed? Do my mechanical engineers need to understand the intricacies of avionics? > it's really incr…

> It's also unnecessary to do so as long as your institutional processes are capable of synthesizing multiple peoples' competencies across multiple disciplines. You clearly work at much better run companies than I do ;)

I sincerely wish you luck! Yeah terrible managers are awful. The feedback loop of "my boss won't do shit to help me so I'll figure it out on myself" to "I'm competent in every single technology here and could run the show myself with enough time" to "management recognizes my skills and puts everything on my plate even though I have no time" is pretty dangerous.

Re: Machine learning is still too hard for software engineers

#145

Earlier quoted context omitted.

Yeah, this fixation with deep learning is kinda weird, given that most companies don't have vast amounts of images/text lying around and a pressing business need to understand them. I'm a big fan of starting simple, which means linear/log regression (normally with lasso, as it does variable selection). Then, if you can prove business value, it may make sense to start trying to use more unstructured data.

I think it is because linear regression is not science fiction enough even if that is the best that can be done on the data. We didn't hire this AI guy to do simple regressions!

Anyone's who hires an AI person unknowingly, probably doesn't know the difference.

I mean, you can call it optimization with a specially chosen sparse function if you like.

Re: Machine learning is still too hard for software engineers

#146

Earlier quoted context omitted.

I think it is because linear regression is not science fiction enough even if that is the best that can be done on the data. We didn't hire this AI guy to do simple regressions!

Anyone's who hires an AI person unknowingly, probably doesn't know the difference. I mean, you can call it optimization with a specially chosen sparse function if you like.

From experience, there are lots of companies looking precisely for an "AI person" who is going to use a bunch of complicated sounding buzzwords and build some overly complex thing without evaluating simpler options. This kind of person gets way more attention than someone who suggests that what the company wants to do can probably be accomplished with a simple shell script, or someone that tells them AI is not magic and in the absence of some data capturing a relationship it can't really do anything. It's a hyped up field and has attracted lots of people who care about hype. (I work in the field, not trying to denigrate it, my point is that many / most business adopters want "AI" for all the wrong reasons

Re: Machine learning is still too hard for software engineers

#147

Earlier quoted context omitted.

Anyone's who hires an AI person unknowingly, probably doesn't know the difference. I mean, you can call it optimization with a specially chosen sparse function if you like.

From experience, there are lots of companies looking precisely for an "AI person" who is going to use a bunch of complicated sounding buzzwords and build some overly complex thing without evaluating simpler options. This kind of person gets way more attention than someone who suggests that what the company wants to do can probably be accomplished with a simple shell script, or someone that tells them AI is not magic…

Agreed. Lots of companies are more concerned with the marketing optics of using "AI".

Re: Machine learning is still too hard for software engineers

#148
post #142

Earlier quoted context omitted.

Haha, I’d never seen that. I suppose my comment is a bit over-the-top compared to my comment history, but it’s somewhat of a touchy point for me when someone jumps into a new field and claims it’s easy and that they’re an expert without being able to back up the claim (some rare people can do this with a new field; most cannot).

Is it though? When I run the hello world for whatever GAN or pytorch, what exactly am I going to do if I get an unexpected error message? Or if the results are off? Would I even know the results are off? I don't even know if pytorch is used for GAN.

You’re going to do exactly what any decent SWE would do - debug it. But of course, if you don’t know what you’re doing then you gotta learn first. Plenty of resources out there on how GANs work.

Re: Machine learning is still too hard for software engineers

#149
post #135
post #39

Earlier quoted context omitted.

It's not an assumption, that's my main point - you need both skills in the same person. And it's true everywhere including in the biggest companies.

Definitely not ... I am a SWE in a big company and working on ML projects for the past 4 years. We have a data scientist team which does the data exploration and comes up with a model. Their output would be a jupyter notebook. Then we have a team of "Applied ML practitioners", which I am a part of, we productionize the jupyter notebook, by setting up pipelines, services etc. We understand ML algos, stats, probability…

My point isn’t the separation of duties, my point is that the people who productionize it also know a reasonable amount of theory.

Re: Machine learning is still too hard for software engineers

#150
post #57

Earlier quoted context omitted.

I'd argue software engineering is still too hard for software engineers.

I think industry and society just has too low a bar for software development. If the quality of civil engineers matched that of software engineers as a whole, we’d all be dead from the collapsed buildings and bridges. Of course, software isn’t usually such high stakes, but I don’t think it would hurt the industry to have some formal licensing. If you write a terrible API or whatever, then a review board decides if yo…

I hear what you're saying.

I would argue that review boards, licensing, etc are only relevant because of the stakes. How to enforce it becomes irrelevant if you can't sell anybody on the idea that it's important in the first place.

Even the strength of your statement "...I don't think it would hurt the industry to have..." doesn't sound like something that any part of government would be willing to get behind.

There's just such a huge leap from "decisions civil engineers make can kill. people" to "decisions software engineers make can annoy people".

Still, you're not wrong that the field might immediately get better in some ways, but I believe we could also go down a lot of paths that would lead to the widespread concept of "stifling innovation so that people are less likely to be annoyed by buggy or hard to use software". I'm sure there are also much stronger arguments in favor of your idea of a better world when you narrow the scope down to specific types of software or use cases.

Post reply on HN