Most of the hard work is in data collection/labelling, network architecture and finally tuning the parameters while training. All of this can be done in Pytorch or Keras with less than 200 lines of code. "Programming ml" isn't where most of the time goes, if you dont have a large labelled dataset then most ML algos will give you crap results.i mean sometimes there’s no off the shelf solution from sklearn and/or need to do ml in the company’s in house programming language. i doubt pdt or tgs or renaissance actually uses those, at least for production
I am only speaking from my experience - I mostly use Pytorch as it is extremely streamlined and fast enough for most NLP projects I am working on (personal efforts). It is impressive how easy it is to construct your own network using a little OOP and just stacking the elements (convolution layer, batch normalization, pooling layer etc). You can design your own new architecture just using Pytorch. The breakthroughs in the last five years - residual networks, inceptionnet - were all through new architecture and not "new in house programming language".