For any pattern recognition problem, pattern representation is important. ML or AI biases refer to the case when the results are one-sided or prejudiced, or, they do not generalise well.
According to Raghu Krishnananda, CTO of Myntra, AI biases could arise due to a few reasons. The primary ones are (a) algorithmic which emanate from the kind of classification algorithm chosen, or (b) when data is not large enough or representative enough of a problem. These impact the generalisation ability of an algorithm.
“The bias emanating from the algorithm can be eliminated by making sure we choose an algorithm that does not overfit (eg. an ensemble approach). It is equally important to select representative data and/or consider a large dataset covering all possible scenarios. We should monitor the results on a regular basis and look at remodeling or retrain the models at an appropriate frequency due to potential changes in data characteristics. From a process point of view, reviewing the ML Model and the data which has been used for training before it is released is as important as reviewing the accuracy numbers. Typically, it should pass through a review committee which comprises the senior data scientists in the team before release,” Krishnananda said.
Myntra’s strategy of streamlining the training models
At Myntra, Krishnananda’s team has a number of ML models deployed for various use cases. The company is continuously developing new ones as well as modifying and improving the existing ones. Depending on the nature of the problem, the models are re-trained at pre-defined frequencies.
“We have built a ML Pipeline which is used to train new and existing models on the latest data. We adopt a champion challenger framework to evaluate new models against existing ones and deploy the better-performing ones. Another way we optimize on training models is through the creation of a standardized set of embeddings to map to a latent space and make inferences in that latent space. These embeddings are re-used across various models, for example, personalized recommendations and cross-sell recommendations,” Krishnananda added.
Low code/No code development; Myntra’s In-Sourcing Model
Low/No code development is all about componentization, platformization, and re-use. This is about using existing components as much as possible to build new services instead of developing everything from scratch. The benefits of Low/No code development is faster development time (ie, quicker to go to market), better code quality, and robustness.
There are a few challenges that need to be addressed for this approach to be successful. As highlighted by Krishnananda, First of all, we need to have a platform approach. When we are building new features, we need to take a step back and think about whether this use case has broader applicability, and if so, then, it should be built as a platform component.
This might take up some additional bandwidth upfront but will yield huge benefits and time saving later. Expertise in building microservices is an important skill needed in the organization. The NIH (Not Invented Here) syndrome is notorious in engineering organizations. This mindset has to change where engineers should be coached and incentivized to re-use existing components wherever possible.
“We adopt an In-Sourcing model at Myntra. This means that even if an existing component is not fully meeting the requirements, teams are encouraged to enhance those existing components instead of building from scratch. This is a culture change that is needed in many organizations. For this kind of model to be successful, there has to be good documentation and visibility to existing components. This documentation should not only comprise use cases, API contracts, and sample code, it should have performance and load test results as well. And finally, there should be a governance structure such as an Architecture Council which can review and enforce this platform approach,” Krishnananda added.
With respect to data science, Myntra reuse common code across different models thereby minimising the need for the development of entire code for a new problem from the scratch. An example of this is the sharing of the user or product embeddings across the models in recommender systems. Similarly, in computer vision, the company adopted a building block approach. For instance, to solve a ‘similar product’ problem, Krishnananda’s team reuse the models developed for article type classification, attribute extraction, color detection, etc. The company uses techniques such as transfer learning, chaining of models, and retraining some layers of a neural network.
The 2021 development plan
“At Myntra, our mission is to democratize fashion through the use of technology. In order to offer a superlative customer experience, we have a number of exciting plans in our product roadmap. Our technology investments will continue to be in line with those plans. We will continue to leverage cloud technologies for efficiency and scale,”
According to Krishnananda, Myntra will continue to invest heavily in personalization to understand its customers’ preferences and needs. Size and fit is a very unique problem for the Fashion eCommerce domain, and while the company has made some headway in the space there is more than can be done.
“We plan to address some of these use cases using data science and AR/VR. We also see a lot of potential in engaging and inspiring users through content to help them make informed fashion choices and purchases. As we extend more into the T2/T3 cities, we see this becoming even more important. Towards this, we are investing heavily in video technologies to enable this. We also plan to further expand our Omni-channel presence, in terms of brands and geographical reach as well as new capabilities. We continue to invest in building supply chain efficiencies further, using RFID, robots, and automation, to make it more efficient,” Krishnananda emphasised.