Skip to content
View NichitaDiaconu's full-sized avatar
Block or Report

Block or report NichitaDiaconu

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
NichitaDiaconu/README.md

Nichita Diaconu - Machine Learning Engineer

GitHub | LinkedIn | Google Scholar

Profile

I am a senior engineer with a balanced experience in both applied and theoretical machine learning. My focus is on designing and integrating robust ML solutions, with particular expertise in natural language processing, cloud technologies, and software engineering practices. I am committed to continuously exploring new ways to enhance my technical understanding, with the goal of further specializing in ML technologies.

Areas of Expertise

  • Languages: Python, Ruby, CUDA C, Git, Linux (Bash).
  • SQL & NoSQL: PostgreSQL, ElasticSearch, BigQuery.
  • Machine Learning: SpaCy, PyTorch, scikit, PyTorch Lightning, MLflow, Optuna, HuggingFace, Ray, PySpark.
  • LLM: LangChain, LlamaIndex, OpenAI, llama, pgvector, LangFuse.
  • Model Management and Deployment: VertexAI, BentoML, TorchServe.
  • Web Development / CI/CD: FastAPI, SQLAlchemy, Ruby on Rails, GitHub Actions.
  • Cloud Technologies and Infrastructure: GCP, Docker, Kubernetes, Cloud Run, Pulumi, HTTP REST, Message Queues.

Professional Experience

Senior Machine Learning Engineer

Klue | Vancouver, Canada (01/2023–Present)

  • Lead projects involving multiple teams, ensuring project goals align with business needs and identifying potential blockers early.
  • Build an LLM application with prompt management and Retrieval-Augmented Generation (RAG), improving user engagement by 25% and reducing the time to value by 49%.
  • Implement a solution for news grouping, reducing content overlap by 40%. Developed a custom online clustering algorithm and ensured data consistency across distributed systems.
  • Develop a subscription-based scraping service, reducing manual labor by 81%.
  • Create a pipeline for transcript annotation using WhisperX, cutting transcription costs by 46% and increasing accuracy by 5%.

Machine Learning Engineer

Klue | Amsterdam, Netherlands (01/2020–12/2022)

  • Designed and implemented the document pipeline, processing hundreds of thousands of news items daily for thousands of clients.
  • Developed a rule-based management & filtering system using boolean logic, providing configurable filtering rules.
  • Created a junk filtering solution based on a custom Named Entity Recognition model and a tree-based classification model. We compared labeling services, created custom datasets, and trained models, resulting in a 93% reduction in irrelevant content.
  • Built a topic tagging system using multi-class, multi-label deep learning models, increasing user retention by 21%.
  • Oversaw data handling, metrics definition, model tuning, and deployment, while monitoring performance across all projects.

Research Intern

Philips Lab | Amsterdam, Netherlands (02/2019–09/2019)

  • Improved parameter efficiency and robustness in vision models, culminating in the paper "Affine Self Convolution."

Computer Vision Intern

Bosch | Cluj-Napoca, Romania (02/2016–05/2016)

  • Improved the scale sensitivity of an existing object detection solution by implementing techniques inspired by the "Fastest Pedestrian Detector in the West" paper. Learned about scale invariance and object detection.

Publications

  • Learning to Convolve (Main Author): ICML 2019 - Amsterdam, Netherlands (02/2019)
    Developed a method to learn transformations in group convolutions, enabling filters to adapt to transformations and reducing sensitivity to input rotations.

  • Affine Self Convolution (Main Author): Philips Lab - Amsterdam, Netherlands (11/2019)
    Introduced Affine Self Convolution, which uses data-dependent filters for image processing, combining self-attention with convolution to improve accuracy and parameter efficiency.

Education

  • Master's Degree in Artificial Intelligence: University of Amsterdam - Amsterdam, Netherlands (2017–2019)
    Specialized in AI topics, including machine learning, deep learning, computer vision, and natural language processing.

  • Bachelor's Degree in Computer Science: Babes-Bolyai University - Cluj-Napoca, Romania (2014–2017)
    Acquired foundational knowledge in core computer science principles, algorithms, data structure, and data analysis.

Online Courses & Certifications

  • Machine Learning by Andrew Ng (2016) - Coursera
  • CNNs for Visual Recognition by Andrej Karpathy, CS231n (2016) - Stanford University
  • Heterogeneous Parallel Programming, CUDA Programming by Wen-mei Hwu (2016) - Coursera

Skills

  • General: data-oriented, problem-solving, research methodology, effective communication, agile.
  • Fundamental: data structures and algorithms, model development, model evaluation, feature engineering, computer vision, natural language processing, recommender systems, data preprocessing, online inference, batch processing, distributed computing, object-oriented programming, system design.
  • LLM Apps: prompt management, prompt engineering, retrieval-augmented generation (RAG), few-shot learning, zero-shot learning, semantic search, keyword search, transformers.

Pinned Loading

  1. mhashas/cv2-assignments mhashas/cv2-assignments Public

    Computer Vision 2 2017/2018 - MSc Artificial Intelligence @ UvA

    MATLAB

  2. Learning-to-Convolve Learning-to-Convolve Public

    Python 3

  3. AdidasHackathonInspirescu AdidasHackathonInspirescu Public

    Python 2

  4. Algorithms-Hackerrank-and-others Algorithms-Hackerrank-and-others Public

    Jupyter Notebook

  5. MachineLearning2 MachineLearning2 Public

    Forked from AndreiMariusSili/MachineLearning2

    Lab Assignments @ Machine Learning 2 @ University of Amsterdam

    Jupyter Notebook