31 December 2019

NLP for Hackers

NLP for Hackers Libraries Roundup

GraalVM

GraalVM

Minishift

Minishift

Quarkus

Quarkus

Why DataRobot Sucks

  • Limited machine learning algorithms and limited ways to optimize them for use cases
  • Limited flexibility of supporting data features
  • Limited Sub-selection model results from the limited choice of models
  • Ugly visualization for performance and comparisons
  • The blender option for ensemble methods and choices is limited
  • To do anything complex it is too limited
  • Doesn't replace the value of handcrafted models and the value of feature engineering process
  • Why automate feature engineering especially when the process is what allows one to build a generalizable model and with a better understanding of the business cases
  • Limited ways to evaluate the choice of model
  • Limited ways of import/export model for build/deployment
  • Tight coupling to a third-party way of doing things
  • Doesn't follow the formal data science method
  • In fact, doesn't even replace 99% of the work
  • GDPR and governance issues when processing data through the third-party models
  • Benchmarks on models are not available for public peer review
  • Cost far exceeds the benefit
  • Many of the models provided have less than optimal outcomes - low confidence scores
  • Not good for complicated analysis, best to keep use cases as simple as possible
  • Productivity gain is only with very limited and simple cases
  • Invariably, most business cases have noisy data and require custom models where it will be unworkable and useless to work against complexity and ambiguity
  • One needs to learn another third-party tool and be willing to trust the model solution blindly
  • Quick wins and successes is not the answer nor the solution if it does not solve the business case
  • The reality is there is no free or easy lunch for most business cases and one has to put in the time and effort
  • No need to cheat one's way through the process
  • Unconvincing autopilot feature - there is no such thing as autopilot in machine learning in fact there is no real community standards or even patterns defined so how can one jump decades in progress
  • Solution is useful to people that can't code, don't like to code, don't understand the data science method, and prefer simple drag and drop options
  • Data input is treated in most cases as a table, not workable for noisy unstructured data
  • Often will end up with overfitted models when the whole point of machine learning is to build generalizable models
  • No flexible options for transfer learning on unseen data
  • And, that isn't even the end of it...

21 December 2019

Recruitment Agencies

There are some glaring practices in recruitment industry. Some agencies actively practice reverse discrimination by only hiring women for roles such as nurse, personal assistant, receptionist, secretary, catwalk model, and others. However, if the tables were turned and if an agency were to only hire men there would likely be an uproar. This could equally be construed as sexism on part of the organizations that these recruitment agencies are working with to fill such roles. In a society where there is now apparently 100+ genders, how does one even know that the person is a man or a woman anymore? Would a transwoman/transsexual be rejected from such agency for employment? And, should one even care what gender they are? Institutional racism is also a major issue where the recruiter tends to pick candidates based on their inherent bias. Often under the covers the practice continues in some companies in form of cultural fit as an umbrella term. In fact, it doesn't just stop at gender and race. In many cases, it emerges there are all forms of hypocrisy that makes recruitment a very humanly flawed discipline. Also, how can a recruiter profile a candidate purely on basis of a phone and email conversation? And, it is practically impossible for a recruiter to be fully aware of all the skills listed on a person's resume. Such practices have a very dampening effect on the economic demand and supply for jobs and candidates in the market. AI certainly is the way to go to avoid such recruitment risks by retargeting on the things that really matter in employment which is more around the fairness for qualifications, practical experience, and skills to conduct one's job rather than to pass a judgement on their likability factor. However, an important aspect here is that AI should not only be approached via probabilistic methods. Just imagine what would happen if one were to probabilistically cluster bias based on someone's name in order to identify their ethnicity. Can you really tell someone's background based on their name alone? What if they are of mixed background? Won't they be an outlier? AI combines both logical reasoning as well as probabilistic methods.

10 December 2019

Reality of DevOps

There are some typical attitudes that emerge among devops engineers in many organizations. Partly, it is as a result of dealing with a lot of clueless employees. And, partly, because they seem to think they are the most important group in the whole organization so develop an air of superiority while giving other business groups an impression that everything is way too complicated for people to understand. Let's face it devops is not exactly rocket science. It is a merge of two interdependent functions - development and operations. The following are some typical examples of what happens when people in the workplace interact with devops.

  • They make changes without informing others, and without providing sufficient advanced notification of a planned outage
  • They will tell you something is too complicated, when it's a simple case of drag/drop or window click
  • They will over-exaggerate on the time it will take them to get something done
  • They will rarely get it done within the agreed timescales but expect unforeseen/unplanned delays
  • They will expect you to log a ticket for everything even if logging a ticket takes more time than to do the work
  • They will reject everything you say, then they will say exactly what you had said as if to make out what they said was quite deep
  • They will use methods and tools only they can understand and with little to no shared documentation
  • They will reject the way you had done something, then approach it exactly the same way
  • They will look down at you for everything even while sitting in a meeting, explaining anything is complete chore for them, but they will expect you to have the highest level of communication skills and patience with them
  • When you explain something simple to them expect to explain it in french, english, swahili, plenty of other languages, and still expect them to not understand any of it, even while everyone else in room likely understood it in full
  • Sometimes your login accesses might be randomly revoked and then randomly start working again, this isn't magic but the devops are likely doing their usual unplanned maintenance or config changes
  • When you can't ssh into a server because the devops have randomly destroyed your instance, during their regular cleanup sessions, and you have to start all over again with your work
  • When they never acknowledge their mistakes that lead to critical outage issues in production
  • When the wrong model or code is deployed into production
  • Using too many rigid processes and creating barriers between themselves and the user
  • Using metaphors of oversimplification 
  • Not understanding the value of automation
  • Poor methods for testing what they deliver to business
  • Lack of a formal architecture evaluation
  • Badly managed incident management
  • Lack of discipline for conducting effective, sensible, and responsive postmortem evaluations
  • Misuse of metrics that don't display the full picture and cost businesses
  • They will tell you it will take at least a month to spin up and setup instances in cloud when it should probably only take them less them 2 minutes to maybe 2 days if they need to cluster and setup security groups
  • They will block you from doing anything yourself, or even to assist them to speed things up
  • Each member in a devops team almost works like in a silo of their own bubble of ego
  • Expect them never to be available when you have an outage situation so they can feel an air of importance

GCP Training

GCP Free Labs

AWS Training

AWS Training & Certs

Azure Training

Azure Learning Paths

MiniKube

MiniKube

Ludwig

Ludwig

Horovod

Horovod