"No one is harder on a talented person than the person themselves" - Linda Wilkinson ; "Trust your guts and don't follow the herd" ; "Validate direction not destination" ;
Showing posts with label Data Science. Show all posts
Showing posts with label Data Science. Show all posts

October 21, 2024

The Evolving Landscape of ML Hiring: A Veteran's Perspective

 


Job interviews often miss true talent. They reward rehearsed responses over candidates who can persistently build practical, context-aware solutions beyond just technical know-how

As someone in the trenches of data science hiring for over 7 years, I've watched our field transform dramatically. Recently, a job description for an ML role caught my eye - and not necessarily in a good way. It got me thinking about how our industry's hiring practices often need to catch up to the reality of our work. Let me share some observations:

The Commodity of Code

  • LLM can generate working solutions / provide ideas / get started on any topic as long as you have good basic skills and coding knowledge. Now, I ask interns hiring assignment tasks to focus on accuracy and bugs. Code has become a commodity. The real value lies in understanding models, and limitations, bridging the gap between visions and technical realities, and architecting solutions that solve real-world problems.

The Kitchen Sink JD

  • This particular job description reads like a wish list for a tech superhero. Data structures, algorithms, AI/ML, coding, system design - oh, and don't forget a dash of product sense! While it's great to aim high, this scattergun approach often misses the mark. We need specialists with deep expertise, not generalists who've dabbled in everything.

The Interview Gauntlet

  • The hiring process outlined was a marathon: write-ups, HackerEarth assessments, coding tests, multiple rounds with the ML team, and then more conversations. In a market where top talent is scarce and in high demand, do we really need to put candidates through such a lengthy ordeal?

The Missing Pieces

  • What struck me most was what the JD and process didn't emphasize. Where was the assessment of a candidate's ability to translate business problems into technical solutions? How about evaluating their capacity to stay ahead of rapidly evolving trends in ML?

A Call for Pragmatism

  • To my fellow hiring managers and HR teams: let's get practical. The perfect candidate who ticks every box on your mile-long list probably doesn't exist - and if they do, they're likely happily employed or running their own startup.

Instead, focus on core competencies that drive real value:

  • The ability to understand and translate business needs
  • A knack for architecting scalable, efficient solutions
  • Adaptability and a passion for continuous learning
  • Strong communication skills to bridge technical and non-technical stakeholders

The ML landscape is changing faster than ever. Our hiring practices need to keep pace. Let's move beyond the "code on a whiteboard" era and design processes that identify true innovators who can propel our field forward.

Another Good Read - Why We Don't Interview Product Managers Anymore



Got Something worthy Today to post



This JD Rocks - Link
  • Focus on practical software engineering, not algorithm challenges.
  • Work through a system design problem relevant to your daily work.
  • Talk about your perspectives on building a great product.
  • Deep dive on engineering practices and culture 

Keep Exploring!!!

April 22, 2024

Different stages of ML / DL Learning

I want to learn ML -> Take a course 
I know the basics from the course -> Try the code examples 
I tried but I don't know what's next -> Find a use case 
I found a use case -> Collect data 
I collected the data -> Model the ML problem 
I built an ML model -> Create an API to consume it 
I built an API -> Dockerize it 
Is the API scalable? -> Check options such as serverless functions, Endpoint providers like Anyscale / SageMaker Endpoints, GCP, Azure Inferencing 
I deployed the model -> Version your models using MLFlow 
When to update -> Audit / Track data 
What tools to learn -> Align with what your organization uses and cloud vendors

Learn to walk before you try to fly. Everything is incremental learning. Keep going!!!

Keep Exploring!!!


August 08, 2023

Bridging Data Science Theory vs Practice, Practice Domain + Data blended learning

  • Spending more time on data, fields, insights
  • Break down the problem statement into multiple areas, more minor, manageable parts 
  • Provide deeper details of each sub-task/approach 
  • Verbal communication with actionable outputs to customers
  • Outlining problems vs probe the root cause, implications, and possible solutions
  • Proactive to call out issues / discuss options than waiting for it
  • Track work planned vs actuals, the spot where plans are missing
  • Own up to mistakes, Plan to avoid repetitive patterns of issues

Theory - I know this algorithm will solve the problem
Skills - I can generate output, and I have a view of the solution
Expertise - This will work for these cases, fail for these cases, This has these patterns to be considered

Sometimes - The person who tells the opinion is more important than the opinion



Keep Exploring!!!

June 27, 2023

Data science = Data + Domain + AI + Commonsense

Many times I read up basics again and again, Over the years, I started with Windows98 Testing, C/C++ Adapters, Nestle production support, Application support, Supply chain QA / Performance / OLTP Development, SQL Developer, BI Developer, Setting up Teams, Warranty, Refurbishment, API / Supply chain, Website A/B testing, On call support. Retail product team setup/forecasting/scaling and then a long 2-year learning curve / paid lectures / back to basics mode. More learning started after that. Getting a break needs a lot of freelance / consulting/training / applied learning. Past 3 years very focused on learning/projects/production deployments. 

Now when I teach the flow/work, there are different areas overall to understand products/domain/use cases

  1. Stats, Probability A/B tests, LR
  2. ML world - Decision trees, SVM, Logistic regression, Random forests
  3. Some variations of it for anomaly detection, decision tree regressors, SVM regressor, loss functions, conditional random fields
  4. The deep learning side of CNN, RNN, LSTM, Transformers
  5. NLP side of token, embeddings, different architectures to latest state of art BERT, ChatGPT, Zero shot, few shot approaches
  6. Forecast track with different models both regression/time series approaches
  7. Recommendation track with basics to advanced hybrid models, user-user, item-item, hybrid, seasonal, and segment based
  8. Vision side of custom object, classification, transfer learning, segmentation, applied use cases
  9. World of genAI for text/vision
  10. Apart from this the production/deployment architecture

Sometimes I wonder how many things we can teach someone to switch to AI / ML. Always leverage your strengths in domain/data knowledge. It is vast and increasing day by day the scope of it. To succeed it is hard to know everything but the end goal is to add value to the business / use it to fix current challenges. Balance both learning and implementation. It will be a long journey to just learn forever. 

Always blend your ideas in DATA + DOMAIN + AI + Business Value to find the right use cases.

Keep Exploring!!!

June 07, 2023

Data science takes time

  • Real world is not kaggle data
  • Its is very risky for more reliance on technology and less understanding of problem
  • Do not jump into solutions without knowing domain
  • Intent should not be solve fast but to solve with clarity
  • Have a open mind about Domain vs Data vs Algo
  • Be candid about opinions
  • If all problems are like kaggle, we should have seen a ton of production solutions
  • Interview questions may be products people spent years to build, Thought process / clarity is more important than quick working solutions

Keep Thinking!!!

May 21, 2023

Datascience news sharing

There are 4 types of news that get shared in the data science community:

  • Link resharing: This is when people share links to news articles, blog posts, or other pieces of content about data science.
  • Analysis sharing: This is when people share their own analysis of data science news. This could include things like providing additional context, explaining the implications of the news, or offering their own opinions.
  • Research news sharing: This is when people share news about new research in data science. This could include things like new algorithms, new datasets, or new findings.
  • Tools sharing: This is when people share new tools, libraries, or other resources that can be used for data science.

It is important to be aware of the different types of news that are shared in the data science community so that you can find the information that is most relevant to you. You can also use this information to stay up-to-date on the latest trends and developments in data science.

Keep Exploring!!!


March 11, 2023

What a Life

Trying to find similar groups based on behavior - Apply Clustering
Predicting the intuition, this is my job connecting to it - Classification
With a new height of happiness/hope in life - Forecast more sleep hours
Look at people, decode their intentions - Read data/correlate and spot intentions
Finding my liked-minded folks with cosine, euclidean, and manhattan but still not getting relevant recommendations
On mistakes still learning to backpropagate and change/improve my optimistic learning rates
Everything is deep in life... the deeper you feel, the farther you go...
Have more attention to the present. Live more, Feel the Life.

It's a Deep Life :)


January 17, 2023

Data Science - Strategy

  • Market / Business needs - Where you stand out from the competition
  • Skills - Ideas need to have a concrete implementation, Skills to prioritize
  • Time - Ideas and products die if they do not come when needed, Strategy to Market timeline
  • Product - Ideas need to be staged, incremental and impactful, Revenue generated in iterations

Do not just be a developer, Work for a team that has a vision in all these areas.

Keep Exploring!!!

December 15, 2022

Food - Recipe - Research Reads

Food Recipe Recommendation Based on Ingredients Detection Using Deep Learning

  • Custom dataset consisting of 9856 images belonging to 32 different food ingredients classes
  • Convolution Neural Network (CNN) model was used to identify food ingredients, and for recipe recommendations
  • Open Computer Vision Library (OpenCV) [2], TensorFlow [3], NumPy [4], and Keras [5]


Food Ingredients Recognition through Multi-label Learning


Nutrition5k: A Comprehensive Nutrition Dataset

Attention networks can extract much richer descriptions from the images compared to pure convolutional networks

Mining Discriminative Food Regions for Accurate Food Recognition

Taking inspiration from Adversarial Erasing, a strategy that progressively discovers discriminative object regions for weakly supervised semantic segmentation

The proposed architecture denoted as PAR-Net is end-to-end trainable, and highlights discriminative regions in an online fashion

On three food datasets chosen (Food-101, Vireo-172, and Sushi-50)

A Comprehensive Survey of Image-Based Food Recognition and Volume Estimation Methods for Dietary Assessment

Firstly, the visual representations of food images are of fundamental importance as it significantly impacts classification performance 

Therefore, many food recognition methods employ handcrafted features such as shape, colour, texture, local

As consolidated large food image datasets, for example, UECFOOD-100, Food-101, UECFOOD-256, UNCIT-FD1200, UNCIT-FD889






Deep Cooking: Predicting Relative Food Ingredient Amounts from Images

One method of predicting the ingredients given a food image is cross-modal recipe retrieval which outputs the ingredients and the corresponding amounts of the retrieved recipe

We use a Resnet50 [10] pre-trained on UPMC [21] and replace the last layer with ingredient amount prediction.

Food Ingredients Recognition through Multi-label Learning

CuisineNet: Food Attributes Classification using Multi-scale Convolution Network

Summary of Techniques

  • Object Detection
  • Multi label classification
  • Sliding Window Detection
  • Crop / Zoom Detection
  • Handcrafted features / Edges / Contours
  • Attributes (Color / Shape / Text Extraction)

Datasets

  • http://123.57.42.89/FoodComputing-Dataset/ISIA-Food500.html
  • https://github.com/ustc-vim/vegfru
  • http://123.57.42.89/FoodProject.html
  • https://github.com/monajalal/Kenyan-Food

Keep Exploring!!!

June 13, 2022

Data Science Hiring Questions

Real skills vs Interview skills vs Execution skills vs Communication skills everything decides the culture and working environment. Innovate with creativity or burnout with constant pressure.

Keep Exploring!!!

May 16, 2022

Big company, More Data, Smaller Dataset, Medium Sized Models - Challenges at Different Levels - Different Data Science Backlogs

FAANG

  • FAANG Companies have no shortage of data, more data and really loads of streaming, insights, all types of clicks
  • Model complexity and large scale training deployment are your challenges

Domain (Automotive / Retail) - Next List after Core Companies

  • Companies adopting Data Models
  • Companies aiming for DBT
  • The challenges in Data Science where you are ahead of data collection, and data maturity is different
  • Data Collection, Engaging, and Selling Data Science use case becomes elementary
  • Mid to small scale models deployed based on business needs
  • Learning at both places is different. Challenges are different.

You can specialize in multiple areas

  • NLP  
  • Vision  
  • Recommendations
  • Forecasting
  • Anamoly Detection

Business knowledge + Feature knowledge + Impact + Selling + Building + Deploying is a never-ending learning curve :)

Keep Thinking!!!

April 14, 2022

Federated Learning - How - Why - When

Summary from Quick 5 mins Tutorial

  • Client trains on data available at the device
  • Decentralized data 
  • Start with a model shared from server to clients
  • Clients which have sufficient data / Models deployed to them
  • Trained on local data and model sent to the server
  • Weights / Biases are shared with server
  • The server averages all the weights and creates final model
  • A collaborative and decentralized approach

Link - Session

Questions / Next Steps

  • Server Configuration, Tools, Package required
  • Client Configuration, Tools, Package required
  • How to train / run 
  • How the model gets updated between multiple clients
  • Similar to data synchronization need to investigate on infra needs to run

TensorFlow Federated (TFF) is an open-source framework for experimenting with machine learning and other computations on decentralized data. TFF runtimes to become available for the major device platforms

Code Example - Link

Tensorflow Federated Tutorials

Code - Link

Observations for code Walkthrough

  • Federated learning requires a federated data set
  • TFF repository with a few datasets, including a federated version of MNIST
  • Would simply sample a random subset of the clients to be involved in each round of training
  • Constructing an instance of tff.learning.Model

Research paper - Communication-Efficient Learning of Deep Networks from Decentralized Data

Key Notes

  • Decentralized approach Federated Learning.

Ideal problems for federated learning have the following properties: 

  • Training on real-world data from mobile devices provides a distinct advantage over training on proxy data
  • This data is privacy sensitive or large in size (compared to the size of the model)

Federated optimization has several key properties

  • Massively distributed, Limited communication 

There are two primary ways we can add computation: 

1) increased parallelism, where we use more clients working independently between each communication round; and, 

2) increased computation on each client, where rather than performing a simple computation like a gradient calculation, each client performs a more complex calculation between each communication round

Tensor Processing Units (TPUs) are Google's custom-developed application-specific integrated circuits (ASICs) used to accelerate machine learning workloads

From Link

  • Differential Privacy - Adding Noise to Ensure Privacy
  • Secure Aggregation - The server can only see bulk updates
  • Privacy is paramount in Federated learning
  • IID - Independently Identifiable Data
  • Privacy and Fairness are in the opposite direction

CPU vs GPU vs TPU

  • CPU - Small models with small, effective batch sizes
  • GPU - Models with a significant number of custom TensorFlow/PyTorch/JAX operations that must run at least partially on CPUs. Medium-to-large models with larger effective batch sizes
  • TPU - Models that train for weeks or months. Large models with large effective batch sizes

Federated Learning in Vision Tasks | Umberto Michieli, PhD@Uni of Padova, Intern@Samsung Research

My Feedback - let's collect minimal data and build models, Before we start to run, let's learn to crawl and walk :)

Keep Exploring!!!

April 12, 2022

How do you succeed in building impactful Data Science Use cases / Solutions ? Beyond Kaggle things to Learn ?

How do I find the most impactful use cases and have quick wins? Some guidelines / potential questions to give you the perspective.

I have participated in Kaggle and achieved a good ranking. I have a good understanding of Data Science, Let's build solutions. If all you have is a hammer, everything looks like a nail. Let's see beyond Kaggle what things we need to understand.

Impact #1 - What are the current challenges / business problems ? Identifying impactful / Potential Ideas ? 

Solution - Collaborate work with your business to understand, and get their vision, and priorities. Your use case has to be aligned with business needs / current challenges they are solving. A measurable ROI will always help to prioritize and deploy it to production.

ML Applicability #2 - Is this a Data Science use case, Does this need to change/introduce a new process, introduce new touchpoints, or is it a data or data science problem or Insights

Solution - Apply your domain lens, Data science lens, and take a transparent decision. Don't over-engineer for sake of it. If it makes sense do it.

Data Availability and Readiness #3 - If the first two parts are true, you spot problems, you see the feasibility of data science, evaluate what minimum you can build with the available data

Solution - Work with your Data/BI team, partner to build the required data for your MVP solution. The gap between reality vs expectations, What more data do you need to add more, integrate into the system you will get the clarity in this step.

You need to potentially collaborate with the business, product, and data team effectively to spot a successful opportunity. A lot of collaboration, and teamwork to spot the best use cases. Apply these questions and spot your opportunities.

Kaggle and other learning platforms work on the aspect of Feature Engineering, Model building, Beyond Kaggle this is the reality you need to look to apply Data Science in practice. Data science is #Teamwork. You need multiple lenses and participants to work to build impactful use cases.

Feel free to add other questions/guidelines as well.

Keep Exploring!!


February 18, 2022

Hair styles research paper reads

Paper #1 - MichiGAN: Multi-Input-Conditioned Hair Image Generation for Portrait Editing

Code - Link

Key Notes

  • MichiGAN is capable of enabling multiple input conditions for disentangled hair manipulation.
  • Editing appearance (b), structure (c), and shape (d) while keeping the background unchanged
  • Disentangle the information of hair into a quartet of attributes – shape, structure, appearance, and background, and design deliberate representations
  • Appearance is encoded through our mask-transformed feature extracting network
  • Background encoder is placed parallel to the generation branch, which keeps background intact
  • An explicit disentanglement of hair visual attributes, and a
  • set of condition modules that implement the effective condition mechanism for each attribute with respect to its particular visual characteristics;
  • An end-to-end conditional hair generation network that provides complete and orthogonal control over all attributes individually or jointly;
  • An interactive hair editing system that enables straightforward and flexible hair manipulation through intuitive user inputs



  • We represent the hair shape as the 2D binary mask of its occupied image region
  • Backbone generation network to bootstrap the generator with specific appearance styles instead of random noises.
  • Force the GAN to reconstruct the same background content;

Loss Types - 

  • Feature matching loss. To achieve more robust training of GAN, we also adopt the discriminator feature matching loss
  • Perceptual loss. We also measure high-level feature loss with the pre-trained VGG19 model
  • Structural loss. We propose an additional structure loss to enforce the structural supervision

Paper #2 - LOHO: Latent Optimization of Hairstyles via Orthogonalization

Code is available at Link

Notes

  • Our approach decomposes hair into three attributes: perceptual structure, appearance, and style, and includes tailored losses to model each of these attributes independently.
  • Optimizing StyleGANv2’s extended latent space and noise space
  • Novel approach to perform hairstyle transfer on in-the-wild portrait images and compute the Frechet Inception Distance (FID) score. FID is used to evaluate generative models by calculating the distance between Inception [29] features for real and synthesized images in the same domain


  • Pretrained VGG [28] to extract high-level features 

Paper #3 - Applications of Generative Adversarial Networks in Hairstyle Transfer

Notes

  • InterFaceGan, StyleGan

Paper #4 - Learning to Generate and Edit Hairstyles

Notes

  • GAN model termed Hairstyle GAN (H-GAN)
  • Recognition, generation and modication of hairstyles, by using a single model.
  • VAEGAN [14] integrates the Variational Auto-Encoders (VAE) into GAN
  • InfoGAN [5] further models the noise variable z in Eq (1) by decomposing it into a latent representationy and incompressible noise z



Keep Exploring!!!

January 28, 2022

Interesting JD - DataScience Roles - Evaluation Software Engineer

I have come across several d#atascience #jobs, This one Evaluation Software Engineer is very interesting

The JD States below things

  • Organize neural network challenge scenarios and route them to the appropriate evaluation suites
  • Collaborate with engineers and program managers to identify which neural network challenge cases are the highest priority to improve
  • Investigate if the challenge persists in newer versions of models

My version of understanding

For a vision model for a failed use case - pedestrian not detected, vehicle not detected they triage / prioritize / address

  • Why a use case fails, How to enrich the dataset
  • Do the key regions are activated when we interpret feature activation across layers
  • Prioritize / Add data / customize network if needed / train / validate it is fixed

This reflects how much every scenario is validated, prioritized, and ensured models reflect the real-world scenarios. Most of the time we see ML, DL jobs but not this level of details and clarity.

The JD link

This is the difference between prototype vs production vs updates and how forward-looking they are in the future to handle all scenarios :), Behind all #autopilot models there would be tons of #scenarios and multiple Evaluation Software Engineers and automated suites validating it.

I have never seen a similar type of JD anywhere except Tesla :)

Keep Exploring!!

January 23, 2022

30K, 10K feet to Building Algo perspectives

30K, 10K feet to Building Algo perspectives

  • Get the 30K Feet Big Picture of Algo 
  • Know the functions/methods implement
  • Map it do applicable domains / use cases
  • Apply First principles to learn basics
  • Find gaps in fundamental assumptions vs algos vs intermediate gaps in learning
  • Start Filling the gaps iteratively
  • Build your own version of algo with first principles + domain + data + algo implementation

#KnowledgeBuilding #MLBytes

Keep Exploring!!!


January 17, 2022

Vision Lessons

Some use cases convey how we simplify implementation with the setup/environment



Vision Lessons

  • Plate as a base and black background
  • The black background will reduce External noise
  • Spread uniformly
  • Easy to identify/report

Keep Exploring!!!

January 16, 2022

#keras #experiments #ParallelNetworks #Merge

Experiments to build hybrid approach of models. Leverage different convolutions, activation functions.

For custom training vision tasks. Get Features from both vggnet, resnet
  • Resnet - 224 x 224 x 3
  • Vgg16  - 224 x 224 x 3
Feature Vectors
  • VGG16 feature shape — (1L, 7L, 7L, 512L)
  • VGG19 feature shape — (1L, 7L, 7L, 512L)
  • InceptionV3 feature shape — (1L, 5L, 5L, 2048L)
  • ResNet50 feature shape — (1L, 1L, 1L, 2048L)
Inputs
  • Sobel, Laplace Transformations
  • Shareped X / Y Axis edges
  • Multiple inputs
Further Techniques
  • Apply different convolution filters
  • Apply different activation functions
  • Append different weights and analyze
Keep Exploring!!!