Skip to content
View mohpezeshki's full-sized avatar

Block or report mohpezeshki

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.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

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

Report abuse
mohpezeshki/README.md
Mohammad Pezeshki — AI / Machine Learning Engineer

Hi, I'm Mohammad

AI/ML engineer with a software-engineering foundation. I work across the full path from model to product: training and fine-tuning deep learning models, building LLM-backed systems with embeddings and structured outputs, and deploying them as real services rather than leaving them in notebooks.

What I focus on

  • LLM systems — prompt design for structured JSON outputs, local and hosted LLMs behind a single provider flag, speech-to-text pipelines, and evaluation that goes beyond eyeballing: controlled ablations and held-out retrieval benchmarks.
  • Deep learning — CNNs and transformers in PyTorch, transfer learning, and computer vision including 3D perception on point clouds.
  • Classical ML — gradient boosting, embedding models, and the unglamorous baselines that tell you whether a neural network is even worth training.
  • Production engineering — FastAPI, WebSockets, Postgres, Docker, and React frontends, so the model reaches a user.

Currently a researcher at the Institute for Innovation and Development of the University of Ljubljana (IRI UL), building AI components for EU-funded projects.


Research

  • ExtremeXP (EU decision-support project) — an MDP-based framework in Python for automated, adaptive experiment design, treating experimentation as sequential decision-making under uncertainty. It extends my Master's thesis.
  • Swarmchestrate (EU-funded) — the Trust Management System for a decentralized orchestration framework across the Cloud-to-Edge continuum. It combines a multidimensional trust model (identity, behavioral, contextual) with two scoring algorithms: a deterministic weighted sum and a Bayesian model (Beta distribution with adaptive EWMA) that quantifies uncertainty. Blockchain-based identity (DIDs / VCs) produces tamper-evident, signed trust credentials.

Selected work

LLM and retrieval systems

Project What it is
Speak Fill Voice-dictated form filling. The browser streams 16 kHz PCM over a WebSocket to a FastAPI backend running faster-whisper in-process, reconstructing an interim/final transcript contract through polled re-transcription with bounded chunk commits. An LLM maps free-form speech onto an arbitrary form schema as {field_key: value} JSON, with an explicit null contract for low-confidence values and anti-cross-fill constraints. Runs against GPT-4o-mini or a local Qwen2.5-7B-Instruct behind one provider flag. Ships as one installable Python package serving the API and a React 19 + TypeScript frontend, with SQLite or Postgres and optional Docker Compose.
TSDAE + SBERT on PubMed Fine-tunes bert-base-uncased in two stages — unsupervised TSDAE domain adaptation on unlabeled PubMed sentences, then SBERT-style contrastive fine-tuning on NLI triplets — to test whether the adaptation improves biomedical sentence embeddings. Four models (plain BERT, TSDAE only, NLI only, TSDAE then NLI) are compared on PubMed title→abstract retrieval, NanoBEIR (SciFact, NFCorpus, SCIDOCS) and STSb. In an early run TSDAE alone lifted PubMed nDCG@10 from 0.04 to 0.29 over untrained BERT, but TSDAE before NLI did not beat NLI alone. The pipeline has since been corrected (decoder cross-attention training, matched NLI ordering) and rerun results are pending.
Spotify Song Recommendation Word2Vec trained on playlists-as-sentences — 157K playlist sequences, a 2.7M-track vocabulary, recommendations by cosine similarity in embedding space. Postgres trigram search, live metadata enrichment, React 19 + Tailwind frontend.
Plant Identifier & AI Care Assistant Identifies 47 houseplant species with a transfer-learned MobileNetV2 (81.4% validation accuracy, selected over EfficientNet-B0, ResNet50 and a from-scratch ResNet9 on the same split) and rejects low-confidence images. Qwen2.5-3B-Instruct turns the top-3 predictions, location and season into a structured JSON care plan, retrying on invalid JSON. FastAPI streams results to the browser over Server-Sent Events.

Modeling and tooling

Project What it is
Higgs Boson Detection Deep feedforward network vs XGBoost on the UCI HIGGS dataset (28 features, 11M events; trained and evaluated on an 88K/10K/10K train/validation/test subsample). XGBoost led on AUC (0.81 vs 0.74) and calibration (Brier 0.18 vs 0.26); the network won on recall (0.77 vs 0.32) and F1 (0.76 vs 0.48) — a clean illustration of the precision/recall trade-off between model families.
LinkedIn Scraper Python client covering 45 endpoints of the Fresh LinkedIn Scraper API — jobs, profiles, companies, posts, ads, groups — with input validation on every category.

Toolbox

Deep learning & LLMs

Python PyTorch Hugging Face LangChain OpenCV Open3D scikit-learn

Engineering

FastAPI WebSockets Docker PostgreSQL SQLAlchemy React TypeScript C++


Background

Education

  • M.Sc. Computer Engineering in Artificial Intelligence — University of Padova. Focus on computer vision, 3D perception, robotics, and decision-making models. Thesis on an MDP-based automated experiment-design framework.
  • B.Sc. Computer Engineering — Persian Gulf University.

Academic projects

  • 3D point cloud matching with PointNet — a modified PointNet architecture producing 3D descriptors for point-cloud alignment, with improved robustness in noisy environments.
  • Food recognition and segmentation — a CV pipeline detecting and segmenting food items, comparing remaining against original portions.

Earlier career

Two and a half years as a senior mobile developer — React Native, Kotlin, Flutter — shipping to real users. It's why the ML work here tends to come with a working frontend attached.

Certifications

Deep Learning Specialization and Machine Learning Specialization, DeepLearning.AI.

Languages

English (professional working) · Persian (native) · Italian (basic)


Get in touch

LinkedIn Email   Followers Stars

Open to conversations about LLM systems, deep learning, and applied ML.

Pinned Loading

  1. tsdae-sbert-pubmed tsdae-sbert-pubmed Public

    Fine-tune BERT for biomedical sentence embeddings: unsupervised TSDAE domain adaptation on PubMed abstracts, then SBERT fine-tuning on NLI. Compares 4 models on PubMed retrieval, NanoBEIR (SciFact,…

    Jupyter Notebook

  2. speak-fill speak-fill Public

    Voice-dictated form filling. Build a form, then fill it out by talking instead of typing — speech is transcribed in real time by an LLM maps what you said onto the right fields.

    TypeScript

  3. Spotify-Song-Recommendation Spotify-Song-Recommendation Public

    A song recommender built on real Spotify playlist co-occurrence data. Type a track, pick it, and get back songs that tend to show up in the same playlists — enriched with real cover art and Spotify…

    Python

  4. Plant-identifier-and-ai-care-assistant Plant-identifier-and-ai-care-assistant Public

    Upload a photo of a houseplant and get back its species — plus a personalized watering, light, and seasonal care plan generated by an LLM. A CNN classifier identifies the plant, and a language mode…

    Jupyter Notebook

  5. Higgs-Boson-Detection Higgs-Boson-Detection Public

    Deep neural network vs XGBoost for Higgs boson signal detection on the UCI HIGGS dataset (11M events). Reproduces Baldi et al. (2014), Nature Communications.

    Jupyter Notebook

  6. Linkedin-Scraper Linkedin-Scraper Public

    Python client for the Fresh LinkedIn Scraper API (RapidAPI). Covers 45 endpoints — job search, user profiles, company data, posts, ads, groups, and search. Includes input validation for all categor…

    Python 1