Anshul Gupta – Purdue University

My father says that it’s never too late to do anything you want to do. And he says, ‘You never know your limits until you try.’

Hello everyone. My name is Anshul Gupta, and I am writing this blog to share my past year experience and how I eventually worked with a professor from Purdue University. You will get to see a lot of pictures in this blog 😉

I am a fourth-year DD student pursuing BTech in Mechanical Engineering and Masters in AI and data science 🙂 and currently Data Team Manager at Insight (Nepotism🙈). I was part of the UMIC team for the first two years of my insti life, where we won the ASME Student Design Challenge and worked on Self Driving Cars. 

My journey has been a lot different than what you guys must have read in summer blogs. At the start of my 5th Semester, my cpi was less than 7 (not anymore😊), due to which I was not even shortlisted to give internship tests, let alone given a chance to prove my skills in an interview. In my lockdown summers, I learned a lot about the Deep Learning field. Eventually, I decided that I want to work in a CS-related job that involves working with data. I had low expectations from BT cell as only a few companies opened for mech, and they definitely valued CPI a lot. Apart from all this, I have struggled a lot with mental health problems this year, due to which I could not apply for universities abroad. Irrespective of all this, I performed well in my third year, scoring 9 spi in both semesters.

My internship preparation for Machine Learning Profiles 

After talking to seniors, I understood that recruiters only ask basic ML/DL-related concepts in interviews and only ask in-depth questions about a project. Although DSA is a must for coding jobs (at least I feel so), AI companies don’t expect much in this. Since I had no prior internship experience in this field, I focused my resume on projects and AI/ML field skills. I revised my basics of Computer Vision and Deep Learning frameworks like TF/PyTorch. In the first part of internship season, I was shortlisted for three interviews (Honeywell, Sedemac and KPIT). But I was rejected because of low cpi and less preparation (not really😛) on my side. Therefore do remember to prepare well in advance😀. After a disappointing semester, I started preparing for the second phase of internships and prepared for university apping with cover letters and databasing. But as the sixth semester started, my mental health deteriorated and I had to visit a therapist and take medicines for almost two months. Therefore all my internship plans took a hit. Finally, after my midterms I started with apping and emailed various profs from international univs as well as insti. Some professors replied with a positive note but did not have enough time to guide me. To my relief, Prof. Biplab Banerjee (from insti) replied by giving me an opportunity to work with a professor from Purdue University. All this happened in April, so a key lesson from this: There is no perfect timing for getting an internship offer; keep working hard and ultimately, things will work out in the end.

Summer experience: 

Source: Tensorflow 

My internship started just after the end sem exams (8th May). As discussed with the Professor earlier, my topic was Hierarchical Federated Learning systems. Companies like Google and Nvidia have used this technology for keyboard word prediction and CT images for cancer prediction, respectively. This field is very similar to basic ML setups. But, we don’t have any centralized dataset and training occurs at various clients(like mobiles, CCTV devices, etc.). The server sends an initial model to all the clients, where it gets trained on different personalized datasets. After some epochs of training, it is sent back to the server, where it is aggregated using an algorithm and again sent back to clients. This process is continued until the model reaches convergence or a required accuracy is reached. 

My task was to research the Hierarchical Setup of FL, basically extending the standard two layer (server-client) system into three layers. You may ask, why are we complicating the whole setup? In short, having an extra entity in the pipeline ensures less centralized control of the server. It guarantees more privacy to users, and we can employ defense mechanisms to protect from attacks while preserving model accuracy.

In the initial days, I was told to study research papers related to Hierarchical Federated Learning, consolidate all the existing algorithms, and propose changes. In three months, I worked with Human action recognition datasets and socket programming to simulate this communication setup. Our end result was a setup producing competitive results compared to two-layer systems. Everything went well, except I did not like having two guides as there was always a communication gap.

Eventually, in the middle of my internship, I realized that the AI/ML field is perfect for my education. With my friend’s help, I decided to fill out an application for an inter disciplinary dual degree (IDDDP) in CMinDs. This has probably been the best decision for me in my academics. Do check out Cminds website for their selection criteria.

The most amazing part was that there weren’t any working hours, so I had a lot of free time. I focused on having fun and traveling to places near Pune, photos attached 🙂

Kundalika Valley 😎



My internship ended just before the second week of July. To anyone who is willing to do a research internship, please start your preparations well in advance. Identify your interests and shortlist professors based on that, and finally email them and have lots of patience.😊

Summary of my journey: 

Always remember that your past does not control your future. It’s you who steers the boat, not the wake it leaves behind. Everyone faces problems (part of life), what matters is how well can you understand and overcome them. 

Contact me for any help on Facebook or WhatsApp. All the very best for your internship season.


Thank you Misari and Atharva for your friendship and continuous inspiration.

6 months ago