Wenzhuo Liu: Data Scientist & NLP Specialist Driving ML Innovation

Wenzhuo Liu: Data Scientist & NLP Specialist

Hello, I am Wenzhuo Liu, and I work as a data scientist, specializing in Natural Language Processing (NLP). My primary focus is on developing and implementing machine learning models for industry challenges. My journey began with a bachelor’s degree in Physics, where I developed a strong scientific foundation. Later I earned an engineering degree in applied mathematics at ENSTA and a master’s degree in Data Science at École Polytechnique. These experiences helped me develop the key programming and analytical skills needed as a data scientist.

Deepening AI Research in PhD

Then I deepened my specialization into AI research during my PhD at Inria Saclay, where I focused on training deep learning models to solve complex physical simulation problems, aiming to reduce computational time while maintaining high precision. I proposed several approaches leveraging Graph Neural Networks, meta-learning, and transfer learning. Through this, I gained strong experience in independent problem-solving and advanced AI research.

Current Role: AI Assistant & RAG Systems

I currently work at Stellia, an AI assistant startup focused on developing a Retrieval-Augmented Generation (RAG) system. I work on the design and optimization of the information retrieval component and knowledge graph pipeline — covering the entire workflow from raw data processing to model training, as well as model deployment, and ongoing monitoring. It gives me hands-on experience in building production-ready machine learning systems.

Driving Real-World ML Impact

Today, I am particularly excited about building productive machine learning systems ready for real-world impact. I look forward to applying my machine learning skills to ambitious projects in a dynamic and innovation-driven environment.

Enhancing RAG-Based AI Assistant Performance

My core work involves improving our RAG-based AI assistant. To briefly explain, RAG, or Retrieval-Augmented Generation, helps language models generate better responses by first retrieving relevant information from a knowledge base given a user query. This retrieval component heavily relies on effective NLP models.

Fine-Tuning BERT for French Content Retrieval

When I joined the team, we used directly an open-source model E5, but it was primarily trained on English data, leading to performance issues for our French clients. My main objective was to improve retrieval accuracy for French content by fine-tuning BERT-based models. I started by collecting training data — including real user queries and synthetic examples generated using large language models. From there, I built a comprehensive fine-tuning pipeline using PyTorch, experimenting with different hyperparameter configurations.

Achieving 6% Gain on MTEB Benchmark

As a result, the fine-tuned model showed a significant improvement in its ability to handle French, achieving about a 6% gain in metric score on the MTEB benchmark, a leading benchmark in this area. The improved models were successfully deployed and are now serving our French clients.

Optimizing Retrieval Pipeline & Deployment

Beyond model fine-tuning, I also made other improvements to the retrieval pipeline. I integrated knowledge graphs to enhance search results, optimized the document chunking process for better retrieval accuracy, and built a FastAPI-based retriever service that integrates smoothly with the backend. To ensure long-term performance, I implemented monitoring tools to track model quality over time and collect real-time feedback for continuous improvement.

End-to-End ML Solution Development

All these work experiences helped me to understand how to build real-world machine learning solutions — end-to-end, from data to deployment and monitoring.

Developing In-House Solutions Under Pressure

A major client requested a fully in-house developed solution to enhance system security, meaning we had to replace all third-party APIs in our pipeline with internal implementation. We only had three weeks to deliver a first version.

Replacing Azure AI API for Document Preprocessing

I was responsible for the document preprocessing module, replacing the previously used Microsoft Azure AI API with an in-house solution that converts PDF files into structured Markdown using state-of-the-art machine learning models.

Strategic Project Management for Tight Deadlines

To meet the tight deadline, I started by breaking the project into sub-tasks — such as evaluating open-source solutions, designing a unified API, and deploying the in-house solution in a scalable manner. For each task, I estimated its complexity and mapped out a rough timeline (while setting aside blocks of time each day to check on bug-fix tickets). I also set up short daily meetings with teammates to re-align priorities and reduce bottlenecks.

Successful Delivery & Enhanced System Security

I successfully delivered a fully functional version within the deadline. The in-house solution I developed not only maintains performance comparable to the previous external API but also improved the security and autonomy of our system.

Key Learnings: Pressure Management & Prioritization

The experience taught me how to stay calm and organized under pressure and balance priorities among tasks.

PhD Research: Deep Learning for Physical Simulations

Situation: During my PhD at Inria Saclay, I was exploring how to apply deep learning methods to solve complex physical equations such as Navier-Stokes. This was a very recent and underexplored area, and few established solutions existed.

Challenge: Selecting Optimal Model Architecture

Task: One major challenge I faced was choosing an appropriate model architecture. Physical data is often represented as graphs, making standard models like CNNs or Transformers not usable for this specific task.

Action: Designing Novel Hierarchical GNNs

Action: I started with a literature review, compared different approaches in similar domains, and carefully analyzed their strengths and limitations in handling physical systems. Based on this, I identified Graph Neural Networks (GNNs) as a promising direction, due to their natural ability to handle graph data. I went a step further and designed a novel hierarchical GNN architecture inspired by multigrid methods from numerical analysis, which made it suitable for modeling physical phenomena.

Result: Seconds vs. Hours in Simulation Time

Result: Through this work, I successfully developed a model capable of predicting physical solutions while keeping good precision. My model reduced simulation time from hours to just seconds for certain equations, while still maintaining high accuracy. More importantly, this project taught me how to handle open-ended challenges and work independently. It helped me in making research-driven decisions and turning complex ideas into real-world solutions.

Knowledge Graph: Solving Entity Disambiguation

Situation: In my current company, while developing our knowledge graph pipeline, we needed to solve a key problem: entity disambiguation. Specifically, we needed a way to check for identical entities within a knowledge graph to keep it clear and effective.

Action: Cost-Benefit Analysis for Model Training

Action: One of my colleagues suggested using LLM APIs directly to solve this problem through prompting, which would simplify the development process. However, I believed that training a lightweight classification model would be more appropriate. I prepared a detailed cost analysis and showed that by training our own model, we could reduce API costs by approximately 80%. In addition, this approach offered faster inference and better accuracy. I clearly explained my thoughts and concerns to my colleague with my cost analysis. Through clear communication, I finally gained his support.

Result: Improved Performance & Cost Reduction

Result: The team adopted my proposal, and I successfully trained and deployed the model. This significantly improved the pipeline’s performance while reducing costs and computational time. This experience taught me how to handle disagreements — by listening, presenting evidence, and collaborating toward the best outcome.

Leading ML Project with Intern: Disambiguation

I proposed building a machine learning model to handle this with the intern. To make the process efficient and collaborative, I took the initiative to break the project into modular subtasks. I defined parts like data collection, data review and cleaning, model architecture design, and evaluation.

Collaborative Workflow & Parallel Development

I asked the intern to take the lead on the data preparation while I focused on designing and implementing the model and the training pipeline. By organizing the work this way, we were able to work in parallel and avoid dependencies that could slow us down. Once our individual pieces were complete, we came back together to integrate and train the full system.

Successful Module Delivery & Skill Reinforcement

In the end, we successfully developed a functional disambiguation module on time, and our pipeline moved forward without delays. This experience taught me how stepping up early and organizing a plan can make a big difference for the whole team. This experience reinforced my skills in leadership, project management, and team collaboration.

Future Aspirations: Larger Teams & ML Growth

I truly appreciate my experiences at my current company, where I gained valuable hands-on skills on product-level problems. However, we often faced human resources limitations, which made it challenging to fully expand our projects as much as we wanted. That’s why I’m looking for a new opportunity at a company where I can work with larger teams, tackle bigger challenges, and continue developing my machine learning skills.

Cross-Functional Collaboration on RAG System

Situation: In my current role, I worked on building a Retrieval-Augmented Generation (RAG) system, which was a cross-functional initiative involving data scientists, backend developers, and the product team.

Task: Optimizing Retrieval & API Integration

Task: I was in charge of optimizing the retrieval component and building an API that the backend developers could integrate directly. At the same time, I needed to ensure that the system would meet real user needs, so incorporating feedback from the product team was essential.

Action: Understanding Team Needs & Constraints

Action: I organized short, focused meetings with each team for better understanding their needs.

Engaging Backend & Product Teams

With backend engineers, I explored how they planned to use the API and what technical constraints they were dealing with. With the product team, I dove into actual user cases, asking what kind of search failures or limitations they were hearing about.

Iterative Design & Co-Designing Solutions

I documented those insights and used them to iterate on both the retrieval algorithm and the API interface. I even created a lightweight integration guide to help the backend team use it smoothly. These conversations helped me shift from “delivering features” to “co-designing solutions” that everyone could align with.

Result: Seamless Integration & Performance Boost

Result: Because of this close collaboration, my work was integrated smoothly without major changes. The API was immediately usable, and the system’s retrieval performance noticeably improved from both a technical and user perspective. This experience showed me how important clear communication is across roles. The stronger the collaboration, the more aligned and successful the outcome could be.

Mastering Model Deployment: A New Challenge

When I started working at my current company, I was asked to deploy a model I had trained — but at that point, I had no experience with deployment. My background was mostly research-oriented, so this was something completely new for me.

Learning Strategy: Peer Insights & Online Research

I started by reaching out to colleagues who had worked on similar tasks before. I asked what frameworks they used, what challenges they faced, and what they’d recommend. In parallel, I did a lot of research online — reading documentation, blog posts, to understand what tools were considered reliable and production-ready.

Framework Evaluation & Performance Benchmarking

I narrowed it down to a few frameworks — including FastAPI, TorchServe, and BentoML — and tested them based on latency, ease of integration, and scalability. I ran performance benchmarks to see which one would give us the best throughput and the lowest response time.

Successful Deployment & Confidence Boost

In the end, I chose the framework that offered the best balance of speed and flexibility for our use case, and I successfully deployed the model. That experience really boosted my confidence in handling production-level systems and taught me how to quickly adapt when I step outside of my comfort zone.

Why Criteo? Reputation & Impact

Firstly, Criteo has a very strong reputation in the tech and machine learning domain. I believe it would be a great place to work with some of the best talents in the industry, to push myself technically, and to have a greater real-world impact.

Criteo’s Commitment to Employee Development

Secondly, from your website, I saw that Criteo places a strong emphasis on employee development, offering attractive training programs. Since the AI field evolves rapidly, I believe it’s crucial to keep growing quickly.

Learning from Research Paper Rejection

During my PhD, we submitted a research paper to a major international conference. We had worked on it for months, and we were hopeful — but it was rejected. One of the reviewers had left very critical feedback, especially questioning the completeness and statistical robustness of our experimental results.

Processing Feedback & Identifying Gaps

At first, I felt very upset. It was the first time I had received such direct criticism on something I was proud of. But after the emotion passed, I read through all the reviews carefully. Some feedback was fair — it pointed out things we hadn’t fully considered, like deeper statistical evaluation and stronger comparative baselines. Others were due to miscommunication in how we had explained our methodology and results. (Looking back, I realized we made a mistake by not including strong enough statistical validation or baseline comparisons.)

Strategic Revisions & Eventual Acceptance

We decided not to give up. Instead of resubmitting right away, we took time to strengthen the work — improving our experiments, expanding the analysis, and rewriting sections of the paper to better explain our methodology. A few months later, we submitted the improved version to another conference — and this time, it was accepted.

Key Takeaway: Constructive Failure & Growth

That experience taught me how to deal with failure constructively. It helped me grow as a researcher and reminded me that thoughtful feedback, even when difficult, is a powerful tool for improvement.

Core Strengths: Independent Thinking & Research

One of my core strengths is independent thinking and strong research capability.

PhD Experience: Driving Uncharted Research

During my PhD, I worked in a fairly unexplored area, using deep learning to solve complex physical equations like Navier-Stokes. With few existing methods to follow, I had to define my own research direction, design new model architectures like hierarchical GNNs, and rigorously validate my results. That experience taught me to approach problems with both curiosity and structure, and gave me confidence in driving work independently — even when there’s no clear roadmap.

Rapid Learning & Adapting to Production ML

I’d also say I’m a very fast learner, especially when it comes to adapting research into real-world machine learning systems. When I joined Stellia, I had no prior experience with production-level ML deployment — and I hadn’t worked in NLP before. But I quickly ramped up: I fine-tuned BERT-based retrievers, deployed them at scale, built APIs for integration, and designed monitoring systems to support real-time usage. That transition taught me not just the technical aspects of ML engineering, but also how to move fast, prioritize, and deliver results in a real product environment.

Area for Growth: Technical Communication

One area I’m actively working on is improving how I communicate technical work to non-technical audiences.

Challenge: Simplifying Complex Technical Concepts

Since I come from a research background, I’ve mostly collaborated with teams who have similar technical depth. So I sometimes tend to explain using complex technical words — which can make it harder for non-technical audiences to fully understand the value or the reasoning behind a solution.

Strategies for Clearer Communication

Lately, I’ve been making a conscious effort to simplify my language, tailor my message based on the audience, and use analogies where it makes sense. I’ve even started practicing by explaining my work to friends from very different fields, which has been surprisingly effective in helping me become more clear and accessible in my communication.