Photo of Eunnam Ahn

Eunnam Ahn (안은남)

AI Engineer · LLM / RAG · Evaluation

I design and build evaluations that show whether an AI system’s output can be trusted: test suites for an LLM answer verifier, a golden set and type-specific scorers for RAG, a CLIP-based product-preservation criterion for generated images, and leakage-safe splits for detection.

Before AI, I built and validated mathematical and statistical models in graduate research at Penn State, while teaching undergraduates in English.

Projects

Jul – Sep 2026

SAVERS · Evacuation Guidance for Disaster-Vulnerable Residents

Team Lead · PM · Evaluation & Infra (team of 4) · K-Digital Training Hackathon 2026 · FastAPI, LangChain, OSMnx, NetworkX, AWS EC2, FCM

Three SAVERS screens: entering from the emergency alert link, evacuation stage and recommended shelter, route map with arrival check
Service screens: alert link → shelter guidance → route and arrival check. Shelters and routes come from rule-based code (OSMnx / NetworkX); the LLM only explains the fixed result. (UI in Korean.)
  • Problem: official flood alerts send the same text to everyone, but residents who cannot judge or evacuate alone need personal guidance, with no app install and no constant location tracking.
  • Contributions: owned the evaluation code (a 40-case golden set of 35 answer and 5 refusal cases, 12 adversarial regressions, a 34-case refusal probe, the scoring scripts) and the infrastructure code (real FCM sending, AWS deployment, CI); kept the decision records (ADRs); first-authored the paper.
  • Shelter choice and walking routes are computed by rule-based code (OSMnx / NetworkX), not the LLM; the LLM only explains results that are already fixed.
  • The verifier splits each answer into claims and checks them against the event log, with a pass bar of zero unsupported claims. Feeding pre-written answers straight into scoring, it wrongly blocked 0 of 35 correct answers; only 8 of 12 adversarial answers were caught at first, and after I analyzed the 4 misses and closed the gap, 12/12. Of the 40 golden cases, 30 were finalized by adopting the system’s output and then checking it against the contract documents.
  • Tested refusal in both directions on the chatbot path (offline stub generator at the time): wrongly refused only 1 of 28 valid questions (3.6%), but answered all 6 out-of-scope questions from unrelated evidence (6/6 under-refusal), a failure grounding scores miss; traced it to retrieval, not the verifier.
  • User study (n = 52, acquaintances, within-subject): action clarity 3.2 → 8.3 out of 10 (Wilcoxon p<0.001); "would leave within 5 minutes" 13% → 60%.
  • Minister of Employment and Labor Award (3rd of 326 teams); first-author oral presentation at ACK 2026.
  • Limitation: the generator was an offline stub that copies evidence sentences at measurement time; the numbers must be re-measured with a real model.
Jun – Jul 2026

BidMate · RAG Q&A and Summarization for Public RFP Documents

Evaluation (team of 5) · LangChain, FAISS, KURE-v1, EXAONE 3.5, RAGAS

BidMate chat screen: asked to summarize an RFP, it lists agency, budget, deadline and key requirements, with a cited source and agent buttons below
Service screen: asked to summarize an RFP, BidMate lists the agency, budget and requirements, with the source cited under the answer. (Middle trimmed; UI in Korean.)
  • Problem: 100 public RFPs (HWP/PDF); answers must cite the source and refuse unanswerable questions.
  • Contributions: built the K-means golden set and preprocessing experiments, ran the embedding comparison, designed the RAGAS evaluation, and wrote the automated scoring scripts.
  • Picked representative documents with K-means for a 50-question golden set, then grew it to 95 questions (5 types, 19 RFPs) with type-specific scorers.
  • Compared 708 configurations in 3 stages on a 95-question dev set; the final setup reached MRR 0.977, Hit@4 1.0 and refusal 19/19 on that same set, so scores on unseen questions may be lower.
  • Replaced OpenAI with a free local stack (KURE-v1 + dense k=4 + EXAONE 3.5, Ollama on a GCP VM): mean latency 3.6 s, no external API cost.
  • Found that a score stuck at 0.3 came from errors in the golden set, not the model; raised Ollama's 4,096-token context to 8,192 after finding it cut off evidence; removed a reranker that added 21 s of latency for no gain.
  • Limitation: the same golden set was used to choose and to evaluate the configuration, so scores on unseen questions may be lower.
Aug 2026

AI Ad Studio · Ad Image and Copy Generation for Small Businesses

Team Lead · PM · Evaluation (team of 5) · SDXL, ControlNet, IP-Adapter, FastAPI, GCP L4

AI Ad Studio result screen: two ad images of the same fan in different tones, with headline and sub-copy editing
Service screen: tone-specific ad drafts that keep the original product and change only the background, with copy editing. Only human-approved results become Shorts scheduled to YouTube. (UI in Korean.)
  • Problem: ad images must be remade for every time slot and channel without changing the product.
  • Contributions: PM for a 4-week sprint; defined the evaluation criteria; owned the final report.
  • Made product preservation the top metric: the original product is composited onto generated backgrounds, then checked with masked-region CLIP similarity ≥ 0.85 plus human review; 4/4 representative cases passed (no large-scale evaluation).
  • Team results: LCM-LoRA cut background generation from 17.47 s to 1.72 s (~10×), 5.97 s per image end to end on an L4; 486 automated tests passed; human-approved images become 13-s Shorts scheduled to YouTube.
  • Limitation: no pixel-level comparison (SSIM) or blind human evaluation yet; listed as next steps in the report.
Apr – May 2026

PillScope · Object Detection for Oral Medication Images

Team Lead · PM · Model Experiments (team of 5) · YOLOv11, RT-DETRv2, RF-DETR, COCO

Ground-truth boxes (left) vs. model-predicted boxes (right) on pill images
Ground truth (left) vs. model prediction (right); the rare class is detected too.
  • Problem: 56 look-alike pill classes, only 186 training images, a 51× class imbalance (153 vs. 3 annotations), and up to 4 pills per image.
  • Contributions: PM; built the COCO → YOLO pipeline, YOLOv11l training, DETR experiments and crop-and-paste augmentation.
  • Grouped near-duplicate shots into the same split to prevent train/validation leakage.
  • Minority-class crop-and-paste grew the data from 186 to 1,026 images (mAP@0.5 0.886 → 0.964); compositing web pill images onto the competition background made a never-detected rare class detectable.
  • Across 7 staged experiments with 4 models, YOLOv11l led on the competition metric, validation mAP@[0.75:0.95], with 0.936, ahead of RF-DETR (0.882) and RT-DETRv2 (0.883), though training-set sizes differed, so this is not a controlled comparison; on Kaggle, confidence tuning and a 3-model WBF ensemble raised the score from a first submission of 0.851 to 0.936.
Fall 2019

Biomedical Abstract Sentence Classification · BERT vs. SciBERT Embeddings

Course project, Penn State IST 597 Foundations of Deep Learning · team of 2, equal contribution · advised by Dr. C. Lee Giles · TensorFlow

Diagram comparing the Word2Vec embedding + HSLN baseline (accuracy 92.35%) with SciBERT embedding + the same HSLN (accuracy 92.43%) on PubMed 20k RCT
Same HSLN classifier and data; only the embedding changes from Word2Vec to SciBERT. With 16% token coverage (vs. 68%) and 1/175 of the entries, accuracy held at 92.35% → 92.43%. (Labels in Korean.)
  • Problem: most biomedical abstracts are unstructured, so readers cannot jump straight to the methods or results they need.
  • Contributions: extracted BERT/SciBERT token embeddings from model checkpoints to replace Word2Vec (5.4M entries → 31K) in a hierarchical BiLSTM-CRF sentence classifier (HSLN), and ran all five conditions, including the baseline re-run.
  • On PubMed 20k RCT (5 classes), matched the re-run baseline (test accuracy 92.43% vs. 92.35%, single run) with a ~175× smaller vocabulary; identified low vocabulary coverage (16% of dataset tokens vs. 68% for Word2Vec) as the bottleneck.

Publications

Nov 2026

Design and Implementation of an Evidence-Grounded Evacuation Guidance Service for Disaster-Vulnerable Populations

First author, oral presentation · Proc. Annual Conference of KIPS (ACK 2026) · KIPS_C2026B0142

2018

Multi-Well Analytical Solution for Coning Under Simultaneous Steady-State Flow of Three Phases

First author, oral presentation · SPE Improved Oil Recovery Conference

Graduate Research

The Pennsylvania State University

2021 – 2024

Oil Production Forecasting Using Spatial-Temporal Reservoir Data and Deep Learning (Seq2Seq-LSTM)

Ph.D. research · Seq2Seq-LSTM, genetic algorithm (Python)

  • Built a Seq2Seq-LSTM time-series model on location and time data to forecast oil output when field operations change, such as injection rates and well spacing.
  • Turned mixed horizontal and vertical well layouts into a single equivalent well-spacing density, so different fields could be compared on the same basis.
  • Tuned hyperparameters with a genetic algorithm, reaching R² above 0.81 on test data and outperforming conventional single-well models.
2019 – 2020

Artificial Neural Network Proxy Model with Design of Experiments (DOE)

Ph.D. research · artificial neural networks, design of experiments (full factorial, inscribed central composite)

  • Built an artificial neural network proxy that stands in for slow reservoir simulations, speeding up production forecasts and risk evaluation for enhanced oil recovery.
  • Used full factorial and inscribed central composite designs to cover every underground uncertainty variable with as few simulation runs as possible.
  • Average test error under 2% and maximum error under 8%, accurate enough to replace the full simulator for forecasting and risk analysis.
2015 – 2018

Exact Formula for Water and Gas Inflow into Multiple Oil Wells

M.S. thesis · Advisor: Prof. Russell T. Johns · potential-function analytical solution (Laplace equation, superposition), numerical integration (Newton–Cotes)

  • Derived an exact formula, with no simulation needed, for how water and gas get pulled into producing oil wells when all three phases flow at once, and extended it to six well layouts, including injector–producer pairs and a five-spot pattern.
  • Gave a quick way to compute the critical oil rate before water or gas breaks through, showed that capillary pressure lowers it significantly, and proposed the solution as a benchmark for numerical simulators.
Spring 2016

Oil–Water–Gas Flow Simulator, Built from Scratch

Course project, PNG 512 Numerical Reservoir Simulation · individual · MATLAB (~1,000 lines)

  • Built a simulator that splits a field map into a 60×30 grid and computes how oil, water and gas move over time: Newton-Raphson iterations, a GMRES solver for large sparse systems, and fluid-property table interpolation.
  • Added mass-balance checks at every step to catch numerical errors; results matched the standard reference case.

Education

Aug 2018 – Dec 2024

Ph.D. Coursework Completed (ABD), The Pennsylvania State University

Energy and Mineral Engineering

Advised by Prof. Gregory R. King · Double minor in Statistics and Computational Science · GPA 3.81/4.00

Aug 2015 – Aug 2018

M.S., The Pennsylvania State University

Energy and Mineral Engineering (Petroleum and Natural Gas Engineering option)

Advised by Prof. Russell T. Johns · GPA 3.71/4.00

Mar 2009 – Feb 2015

B.S., Hanyang University

Natural Resources and Environmental Engineering

GPA 4.28/4.50 (3.86/4.00) · Graduated 1st of 33 in NREE and 2nd in the College of Engineering II

Teaching, Honors & Training

2016 – 2024

Teaching Assistant

The Pennsylvania State University

Office hours and review sessions in English · detailed feedback on every assignment

EME Graduate Teaching Assistant of the Year (2017, selected 1 of ~60 TAs)

2019 – 2024

Co-chair, EMS Graduate Student Council

College of Earth and Mineral Sciences, The Pennsylvania State University

Jun – Aug 2013

Overseas Internship, Korea National Oil Corporation (KNOC) Vietnam Office

Selected through the Ministry of Trade, Industry and Energy resource-development university program

2026

Minister of Employment and Labor Award (3rd of 326 teams)

8th K-Digital Training Hackathon

Feb – Aug 2026

Codeit Sprint, AI Engineer Bootcamp (10th cohort)

3 team projects (detection, RAG, generative AI) and a hackathon, team lead on 3

Jun 2026

Advanced Data Analytics Semi-Professional (ADsP)

Korea Data Agency (49th exam)

Mar 2026

TOEIC 985 / 990

Listening 490, Reading 495

Mar 2017

Engineer in Training (EIT)

NCEES FE exam, Pennsylvania · ET 023429

2013 – 2014

Student Paper Competitions, 3 Awards

GS Energy 3rd; Mine Reclamation Corporation and Korea Environmental Industry & Technology Institute 2nd

2013 – 2014

National Science & Engineering Scholarship

Full tuition, 4 semesters

Jan 2010 – Nov 2011

Sergeant, Republic of Korea Army

Honorable discharge

Skills

AI · LLM
LangChain, RAG (FAISS, BM25, reranker), KURE-v1, EXAONE 3.5, OpenAI API, YOLO, RT-DETR, RF-DETR
Evaluation
Golden-set design, claim-level verification, Hit@k · MRR · refusal accuracy, RAGAS, CLIP similarity, mAP, pytest, GitHub Actions CI
Backend · Infra
Python, FastAPI, Docker Compose, AWS EC2, GCP (L4 GPU), FCM web push
ML · Data
PyTorch, TensorFlow, Scikit-learn, Pandas, NumPy, Matplotlib, OpenCV, OSMnx, NetworkX, MATLAB
Collaboration
GitHub PRs and code review, ADR-based decision records