Earlier quoted context omitted.
> There is a lot of jargon and you do have to sit down and learn how things work, but once you do, deep learning is fairly simple. This is my realization too. I think ML for SWE courses should focus on "translation" first. Like by "kernel" they mean this specific thing, not the normal meaning of kernel. This is similar to other fields like finance (which I'm working on). After you learn the language, it's actually no…
What's the normal meaning of 'kernel'? EDIT: Hacker news won't let me respond, but the answers below all seem to be because the original meaning has been lost on everyone. In English, the word 'kernel' means 'core'. An OS kernel is the core of an operating system. In linear algebra, the kernel of a matrix (or a linear transformation, same thing) is the set of vectors it maps to zero, which is also in a sense the 'cor…
Machine Learning Is Still Too Hard for Software Engineers
101–110 of 112 posts
Re: Machine Learning Is Still Too Hard for Software Engineers
#102As a software engineer, I disagree. Caveat, I haven't studied traditional ML and just went straight to DL. There is a lot of jargon and you do have to sit down and learn how things work, but once you do, deep learning is fairly simple. One thing that actually really bothers me is how much libraries (e.g. huggingface) are just config files masquerading as programming. It is just a class with 50 parameters and takes ab…
> There is a lot of jargon and you do have to sit down and learn how things work, but once you do, deep learning is fairly simple. This is my realization too. I think ML for SWE courses should focus on "translation" first. Like by "kernel" they mean this specific thing, not the normal meaning of kernel. This is similar to other fields like finance (which I'm working on). After you learn the language, it's actually no…
Re: Machine Learning Is Still Too Hard for Software Engineers
#103Earlier quoted context omitted.
What's the normal meaning of 'kernel'? EDIT: Hacker news won't let me respond, but the answers below all seem to be because the original meaning has been lost on everyone. In English, the word 'kernel' means 'core'. An OS kernel is the core of an operating system. In linear algebra, the kernel of a matrix (or a linear transformation, same thing) is the set of vectors it maps to zero, which is also in a sense the 'cor…
In a ML context kernel would probably be understood as a way to quantify similarity between different examples: https://en.m.wikipedia.org/wiki/Kernel_method But it was hilarious to see how many other "normal" meanings came up in the comments.
Hell, in math, normal even has multiple meanings. You have the normal distribution and surface normals for example
Re: Machine Learning Is Still Too Hard for Software Engineers
#104Earlier quoted context omitted.
Basic operations and properties of tensors are exactly what is taught in linear algebra, in addition to (in my experience) more accessible proofs. More or less through singular value decomposition and/or least squares. The core algorithms all build on top of each other. The `algebra` part of linear algebra refers to a `field`, but it might as well also be called arithmetic of tensors.
Right but I mean that people say you need linear algebra (e.g: the whole textbook), when in actuality you might need the first 3 chapters
Re: Machine Learning Is Still Too Hard for Software Engineers
#105Earlier quoted context omitted.
> we just need some core work horse libraries But these do exist: plain Jax or Pytorch only give you basic linear algebra, differentiation and some basic layers. And there's a plethora of more or less advanced libraries that add specific functionality, for example torch geometric for graph data and lightning to reduce boilerplate.
(I'm one of the Nyckel co-founders) Chiming in to say that this precisely our observation. The existing ML/DL libraries are not bad as far as those types of things go. In fact, Pytorch is an amazing library IMO. Especially compared to TensorFlow, Caffe and the stuff that came before that. But like George points out in the article, unlike "traditional" software, ML requires iteration, data management, monitoring, spec…
Re: Machine Learning Is Still Too Hard for Software Engineers
#106Earlier quoted context omitted.
What's the normal meaning of 'kernel'? EDIT: Hacker news won't let me respond, but the answers below all seem to be because the original meaning has been lost on everyone. In English, the word 'kernel' means 'core'. An OS kernel is the core of an operating system. In linear algebra, the kernel of a matrix (or a linear transformation, same thing) is the set of vectors it maps to zero, which is also in a sense the 'cor…
Although, funnily enough, we don't use kernel to mean 'core' in the idiom 'kernel of truth.'
Re: Machine Learning Is Still Too Hard for Software Engineers
#107Earlier quoted context omitted.
Well that's because ML isn't really software engineering. Unfortunately, it is also software engineering as I often have to remind my colleagues coming from algebra / econometrics / statistics sides who are happy to shove all kinds of horrible code in.
What I've found in reality is that machine learning is 99% data cleaning scripts and 1% the part you're talking about. I've also seen the heavy duty statistics people writing data cleaning python scripts which probably leads to a lot of frustrations :)
Re: Machine Learning Is Still Too Hard for Software Engineers
#108Earlier quoted context omitted.
The industry has been consolidating around transformers. I'd say it's getting deeper, not wider.
NLP is not the industry, and a lot of research still goes into other things, like RL I've worked with several transformers competitors, and it def wont stay centralized on them
Re: Machine Learning Is Still Too Hard for Software Engineers
#109There's a big gap between training an algorithm on a toy problem, vs building a useful product. Software engineers often are missing key skills. They can learn them, but won't automatically get them in their traditional training. First, measuring success. Actually telling how well a production system is doing is tricky. There's an art to developing metrics that tell you if an ML system is delivering value, and a lot…
YMMV. Finding and papering over the things that prevent a model from being deployable can also require a deep bag of engineering tricks that an average ML research scientist does not have. In my personal experience I've seen teams burned by this more often than the other way around.
Re: Machine Learning Is Still Too Hard for Software Engineers
#110Earlier quoted context omitted.
Although, funnily enough, we don't use kernel to mean 'core' in the idiom 'kernel of truth.'
How so? Saying something has a 'kernel of truth' means that, while there is some fluff, the core idea holds water.