<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bin Dong | UCSC OSPO</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/</link><atom:link href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/index.xml" rel="self" type="application/rss+xml"/><description>Bin Dong</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><image><url>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/avatar_huac5c5f55edd165399b1ee6c4e26813b1_7673_270x270_fill_q75_lanczos_center.jpg</url><title>Bin Dong</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/</link></image><item><title>MedJEPA: Self-Supervised Medical Image Representation Learning with JEPA</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/nelbl/medjepa/</link><pubDate>Mon, 19 Jan 2026 10:15:56 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/nelbl/medjepa/</guid><description>&lt;h3 id="project-description">Project Description&lt;/h3>
&lt;p>[MedJEPA] Medical image analysis is fundamental to modern healthcare, enabling disease diagnosis, treatment planning, and patient monitoring across diverse clinical applications. In radiology and pathology, deep learning models support automated detection of abnormalities, tumor segmentation, and diagnostic assistance. Medical imaging modalities including X-rays, CT scans, MRI, ultrasound, and histopathology slides generate vast amounts of unlabeled data that could benefit from self-supervised representation learning. Clinical applications include cancer detection and staging, cardiovascular disease assessment, neurological disorder diagnosis, and infectious disease screening. In drug discovery and clinical research, analyzing medical images helps evaluate treatment efficacy, predict patient outcomes, and identify biomarkers for disease progression. Telemedicine and point-of-care diagnostics benefit from AI-powered image analysis that extends expert-level interpretation to underserved regions. However, medical imaging faces unique challenges: limited labeled datasets due to expensive expert annotation, patient privacy concerns restricting data sharing, domain shift across different imaging equipment and protocols, and the need for models that generalize across hospitals and populations.
Traditional medical image analysis relies heavily on supervised learning with manually annotated labels, creating bottlenecks due to the scarcity and cost of expert annotations. Existing self-supervised methods applied to medical imaging often employ complex training procedures with numerous heuristics—momentum encoders, stop-gradients, teacher-student architectures, and carefully tuned augmentation strategies—that may not translate well across different medical imaging modalities and clinical contexts. These approaches struggle with domain-specific challenges such as subtle pathological features, high-resolution images, 3D volumetric data, and the need for interpretable representations that clinicians can trust. To address these challenges, we propose MedicalJEPA: Self-Supervised Medical Image Representation Learning with Joint-Embedding Predictive Architecture, which leverages the theoretically grounded LeJEPA framework for 2D medical images and V-JEPA principles for medical video and volumetric data, creating a unified, scalable, and heuristics-free approach specifically tailored for medical imaging applications.
By utilizing the principled JEPA frameworks with objectives like Sketched Isotropic Gaussian Regularization (SIGReg), MedJEPA eliminates complex training heuristics while learning clinically meaningful representations from unlabeled medical images. Unlike conventional self-supervised methods that require extensive hyperparameter tuning and may not generalize across medical imaging modalities, MedicalJEPA provides a clean, theoretically motivated framework with minimal hyperparameters that adapts to diverse medical imaging contexts—from chest X-rays to histopathology slides to cardiac MRI sequences. The learned representations can support downstream tasks including disease classification, lesion detection, organ segmentation, and survival prediction, while requiring significantly fewer labeled examples for fine-tuning. This approach democratizes access to state-of-the-art medical AI by enabling effective learning from the vast amounts of unlabeled medical imaging data available in hospital archives, addressing the annotation bottleneck that has limited progress in medical AI.&lt;/p>
&lt;h3 id="project-objectives">Project Objectives&lt;/h3>
&lt;p>Aligned with the vision of the 2026 Open Source Research Experience (OSRE), this project aims to apply Joint-Embedding Predictive Architecture (JEPA) frameworks to medical image representation learning, addressing the critical challenge of learning from limited labeled medical data. Medical imaging generates enormous amounts of unlabeled data, but supervised learning approaches are bottlenecked by the scarcity and cost of expert annotations. Existing self-supervised methods often rely on complex heuristics that don&amp;rsquo;t generalize well across diverse medical imaging modalities, equipment vendors, and clinical protocols.
This project will leverage the theoretically grounded LeJEPA framework for 2D medical images (X-rays, histopathology slides, fundus images) and V-JEPA principles for temporal and volumetric medical data (cardiac MRI sequences, CT scans, surgical videos). The core challenge lies in adapting these heuristics-free, stable frameworks to medical imaging&amp;rsquo;s unique characteristics: subtle pathological features requiring fine-grained representations, high-resolution images demanding efficient processing, domain shift across hospitals and equipment, and the need for interpretable features that support clinical decision-making. The learned representations will be evaluated on diverse downstream clinical tasks including disease classification, lesion detection, organ segmentation, and prognosis prediction, with emphasis on few-shot learning scenarios that reflect real-world annotation constraints. Below is an outline of the methodologies and models that will be developed in this project.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Step 1: Medical Data Preparation&lt;/strong>:
Develop data processing pipelines for diverse medical imaging modalities, implementing DICOM/NIfTI parsing, standardized preprocessing, and efficient data loading for self-supervised pre-training.
Prepare 2D medical image datasets:
Chest X-rays: ChestX-ray14, MIMIC-CXR, CheXpert for lung disease detection
Histopathology: Camelyon16/17 (breast cancer), PCam (patch-level classification)
Retinal imaging: EyePACS, APTOS (diabetic retinopathy), Messidor
Dermatology: HAM10000, ISIC (skin lesion classification)
Prepare 3D volumetric and temporal medical data:
CT scans: LIDC-IDRI (lung nodules), Medical Segmentation Decathlon datasets
MRI sequences: BraTS (brain tumors), ACDC (cardiac MRI), UK Biobank cardiac videos
Medical video: Surgical procedure videos, endoscopy recordings, ultrasound sequences
Implement medical imaging-specific preprocessing: intensity normalization, resolution standardization, handling of multi-channel medical images (different MRI sequences, RGB histopathology), and privacy-preserving anonymization.
Design masking strategies appropriate for medical imaging: spatial masking for 2D images, volumetric masking for 3D scans, temporal masking for sequences, and anatomy-aware masking that respects organ boundaries.
Create data loaders supporting high-resolution medical images, 3D volumes, and multi-modal inputs (e.g., multiple MRI sequences).&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Step 2: JEPA Model Implementation for Medical Imaging&lt;/strong>:
Implement LeJEPA for 2D medical images:
Adapt joint-embedding predictive architecture for medical image characteristics (high resolution, subtle features, domain-specific patterns)
Apply Sketched Isotropic Gaussian Regularization (SIGReg) to learn clinically meaningful embedding distributions
Maintain single trade-off hyperparameter and heuristics-free training for reproducibility across medical imaging centers
Support various encoder architectures: Vision Transformers for global context, ConvNets for local features, hybrid approaches
Extend to V-JEPA for medical video and volumetric data:
Spatiotemporal encoding for cardiac MRI sequences, surgical videos, and time-series medical imaging
Temporal prediction objectives for understanding disease progression and treatment response
3D volume processing for CT and MRI scans with efficient memory management
Multi-slice and multi-sequence learning for comprehensive medical imaging contexts
Develop medical domain-specific enhancements:
Multi-scale representation learning to capture both fine-grained pathological details and global anatomical context
Interpretability mechanisms: attention visualization, feature attribution, and embedding space analysis for clinical validation
Robustness to domain shift: training strategies that generalize across different scanners, protocols, and institutions
Privacy-preserving training considerations compatible with medical data regulations (HIPAA, GDPR)
Implement efficient training infrastructure:
Support for distributed training across multiple GPUs for large medical imaging datasets
Memory-efficient processing of high-resolution images and 3D volumes
Checkpoint management and model versioning for clinical deployment pipelines
Minimal-code implementation (≈50-100 lines) demonstrating framework simplicity&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Step 3: Evaluation &amp;amp; Safety Validation&lt;/strong>: :
Disease Classification Tasks:
Multi-label chest X-ray classification: 14 pathology classes on ChestX-ray14, MIMIC-CXR
Diabetic retinopathy grading: 5-class classification on EyePACS, APTOS
Skin lesion classification: 7-class classification on HAM10000
Brain tumor classification: glioma grading on BraTS dataset
Evaluate with linear probing, few-shot learning (5-shot, 10-shot), and full fine-tuning
Lesion Detection and Segmentation:
Lung nodule detection on LIDC-IDRI dataset
Tumor segmentation on Medical Segmentation Decathlon tasks
Polyp detection in colonoscopy videos
Cardiac structure segmentation in MRI sequences
Clinical Prediction Tasks:
Survival prediction from histopathology slides
Disease progression prediction from longitudinal imaging
Treatment response assessment from pre/post imaging pairs
Few-Shot and Low-Data Regime Evaluation:
Systematic evaluation with 1%, 5%, 10%, 25%, 50% of labeled training data
Comparison against supervised baselines and ImageNet pre-training
Analysis of annotation efficiency: performance vs. number of labeled examples required&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="project-deliverables">Project Deliverables&lt;/h3>
&lt;p>This project will deliver three components: software implementation, clinical evaluation, and practical deployment resources. The software implementing MedicalJEPA will be hosted on GitHub as an open-access repository with modular code supporting multiple medical imaging modalities (2D images, 3D volumes, videos), pre-trained model checkpoints on major medical imaging datasets (chest X-rays, histopathology, MRI), training and evaluation scripts with medical imaging-specific preprocessing pipelines, privacy-preserving training implementations compatible with clinical data regulations, and comprehensive documentation including tutorials for medical AI researchers and clinicians. The evaluation results will include benchmarks on 10+ medical imaging datasets across diverse modalities and clinical tasks, few-shot learning analysis demonstrating annotation efficiency gains, cross-institutional validation studies showing robustness to domain shift, interpretability visualizations enabling clinical validation of learned representations, and detailed comparisons against supervised baselines and existing medical self-supervised methods. .&lt;/p>
&lt;h3 id="neurohealth">NeuroHealth&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: Self-Supervised Medical Image Representation Learning with JEPA&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Proficiency in Python, Pytorch, Github, JEPA&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Difficult&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor&lt;/strong>: &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a>, &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/linsey-pang/">Linsey Pang&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="references">References:&lt;/h3>
&lt;ul>
&lt;li>LeJEPA: Provable and Scalable Self-Supervised Learning Without the Heuristics - Randall Balestriero and Yann LeCun, arXiv 2024&lt;/li>
&lt;li>Revisiting Feature Prediction for Learning Visual Representations from Video (V-JEPA) - Adrien Bardes et al., arXiv 2024&lt;/li>
&lt;li>Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture - Mahmoud Assran et al., CVPR 2023 (I-JEPA)&lt;/li>
&lt;li>ChestX-ray14: Hospital-Scale Chest X-Ray Database - &lt;a href="https://nihcc.app.box.com/v/ChestXray-NIHCC" target="_blank" rel="noopener">https://nihcc.app.box.com/v/ChestXray-NIHCC&lt;/a>&lt;/li>
&lt;li>Medical Segmentation Decathlon - &lt;a href="http://medicaldecathlon.com/" target="_blank" rel="noopener">http://medicaldecathlon.com/&lt;/a>&lt;/li>
&lt;li>MIMIC-CXR Database - &lt;a href="https://physionet.org/content/mimic-cxr/" target="_blank" rel="noopener">https://physionet.org/content/mimic-cxr/&lt;/a>&lt;/li>
&lt;li>The Cancer Imaging Archive (TCIA) - &lt;a href="https://www.cancerimagingarchive.net/" target="_blank" rel="noopener">https://www.cancerimagingarchive.net/&lt;/a>&lt;/li>
&lt;li>UK Biobank Imaging Study - &lt;a href="https://www.ukbiobank.ac.uk/enable-your-research/about-our-data/imaging-data" target="_blank" rel="noopener">https://www.ukbiobank.ac.uk/enable-your-research/about-our-data/imaging-data&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>NeuroHealth: AI-Powered Health Assistant</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/nelbl/neurohealth/</link><pubDate>Mon, 19 Jan 2026 10:15:56 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre26/nelbl/neurohealth/</guid><description>&lt;h3 id="project-description">Project Description&lt;/h3>
&lt;p>[NeuroHealth] Intelligent health assistance systems are increasingly essential for improving healthcare accessibility, patient engagement, and clinical decision support. In primary care and preventive medicine, AI assistants help users understand symptoms, schedule appropriate appointments, and receive preliminary health guidance. Telemedicine applications include triage support, appointment scheduling optimization, and patient education based on health inquiries. In chronic disease management, these systems provide medication reminders, lifestyle recommendations, and timely alerts for medical follow-ups. Healthcare navigation applications include finding appropriate specialists, understanding treatment options, and coordinating care across multiple providers. In wellness and preventive care, intelligent assistants enhance health literacy by delivering personalized health information, screening recommendations, and proactive health management strategies. By leveraging natural language understanding and medical knowledge integration, these systems enhance healthcare access, reduce unnecessary emergency visits, and empower users to make informed health decisions across diverse populations.
Traditional health information systems often provide generic responses that fail to account for individual health contexts, medical history, and personal circumstances. Existing symptom checkers and health chatbots primarily rely on rule-based logic or simple decision trees, limiting their ability to understand nuanced health inquiries, reason about complex symptom patterns, or provide contextually appropriate guidance. These systems struggle with interpreting ambiguous descriptions, adapting to users&amp;rsquo; health literacy levels, and generating personalized recommendations that account for individual medical constraints and preferences. To address these challenges, we propose NeuroHealth: AI-Powered Health Assistant, which leverages Large Language Models (LLMs) to create an intelligent conversational agent that synthesizes user health inquiries, symptom descriptions, and contextual information into actionable, personalized health guidance and appointment recommendations.
By integrating LLM-based medical reasoning with structured clinical knowledge bases, NeuroHealth enhances symptom interpretation, appointment routing, and health education delivery. Unlike conventional systems that provide static responses from predetermined templates, NeuroHealth dynamically understands user intent, asks clarifying questions, assesses urgency levels, and generates appropriate recommendations—whether scheduling a doctor appointment, suggesting self-care measures, or directing users to emergency services. This fusion of LLM intelligence with validated medical knowledge enables a more accessible, adaptive, and helpful health assistance platform, bridging the gap between users seeking health information and appropriate medical care.&lt;/p>
&lt;h3 id="project-objectives">Project Objectives&lt;/h3>
&lt;p>Aligned with the vision of the 2026 Open Source Research Experience (OSRE), this project aims to develop an AI-Powered Health Assistant (NeuroHealth) to improve healthcare accessibility and patient engagement through intelligent conversational guidance. Healthcare systems face significant challenges in providing timely, personalized health information and connecting patients with appropriate care resources. Traditional symptom checkers and health information systems often deliver generic, rule-based responses that fail to account for individual contexts and struggle with natural language understanding.
To address these limitations, this project will leverage Large Language Models (LLMs) to create an intelligent health assistant that understands user health inquiries, interprets symptom descriptions, assesses urgency, and provides personalized recommendations including doctor appointment suggestions, self-care guidance, and healthcare navigation support. The core challenge lies in designing NeuroHealth as a safe, accurate, and user-friendly system capable of natural conversation, medical knowledge retrieval, and appropriate response generation while maintaining clinical safety guardrails. Unlike conventional health chatbots that follow rigid conversation flows, NeuroHealth will reason over user inputs, ask clarifying questions, and dynamically adapt responses based on context, resulting in more helpful, accurate, and appropriate health assistance. Below is an outline of the methodologies and models that will be developed in this project.&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Step 1: Data Collection &amp;amp; Knowledge Base Construction&lt;/strong>:
Develop a comprehensive medical knowledge base integrating validated health information sources, symptom databases, condition descriptions, and appointment routing guidelines.
Collect and curate conversational health inquiry datasets from public medical Q&amp;amp;A forums, symptom checker logs, and healthcare chatbot interactions to create training and evaluation data.
Design structured representations for symptoms, conditions, urgency levels, and appointment recommendations to enable effective retrieval and reasoning.
Extract common health inquiry patterns, symptom descriptions, and user intent categories to inform conversation flow design.
Data sources can include public medical knowledge bases such as MedlinePlus, Mayo Clinic health information, clinical practice guidelines, and synthetic patient inquiry scenarios based on common healthcare use cases.
Implement data validation mechanisms to ensure medical accuracy and clinical safety compliance.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Step 2: Model Development&lt;/strong>:
Design and implement an LLM-based conversational health assistant that integrates medical knowledge retrieval with natural language understanding and generation.
Develop a Retrieval-Augmented Generation (RAG) architecture that grounds LLM responses in validated medical information sources, reducing hallucination risks and ensuring factual accuracy.
Create prompt engineering strategies and reasoning frameworks that enable the system to: interpret symptom descriptions, assess urgency levels, ask appropriate clarifying questions, and generate personalized health guidance.
Implement a multi-component architecture including: intent recognition, symptom extraction, urgency assessment, appointment recommendation generation, and response formatting modules.
Develop clinical safety guardrails that detect high-risk scenarios requiring immediate medical attention and provide appropriate emergency guidance.
Design conversation management strategies that maintain context across multi-turn dialogues and adapt to users&amp;rsquo; health literacy levels.
The baseline architecture can leverage state-of-the-art models such as GPT-4, Claude, or open-source alternatives like Llama, Qwen, combined with medical knowledge retrieval systems.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Step 3: Evaluation &amp;amp; Safety Validation&lt;/strong>: :
Benchmark NeuroHealth against existing symptom checkers and health chatbots, evaluating on metrics including response accuracy, appropriateness of appointment recommendations, urgency assessment precision, and user satisfaction.
Conduct human evaluation studies with healthcare professionals to assess clinical safety, response quality, and appropriateness of medical guidance.
Perform adversarial testing to identify potential failure modes, unsafe responses, or inappropriate recommendations under edge cases.
Conduct ablation studies to analyze the impact of retrieval-augmented generation, safety guardrails, and conversation management strategies on system performance.
Evaluate system performance across diverse health inquiry types including acute symptoms, chronic condition management, preventive care questions, and healthcare navigation requests.
Assess response quality across different user demographics and health literacy levels to ensure equitable access.
Optimize inference efficiency and response latency for real-time conversational interaction across web and mobile platforms.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="project-deliverables">Project Deliverables&lt;/h3>
&lt;p>This project will deliver three components: model development, evaluation and validation, and interactive demonstration. The software implementing the NeuroHealth system will be hosted on GitHub as an open-access repository with comprehensive documentation, deployment guides, and API specifications. The evaluation results, including benchmark comparisons against existing systems, clinical safety assessments, and user study findings, will be published alongside the GitHub repository. An interactive demo showcasing the conversational interface, symptom interpretation capabilities, and appointment recommendation generation will be provided to illustrate real-world application scenarios.&lt;/p>
&lt;h3 id="neurohealth">NeuroHealth&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: AI-Powered Health Assistant&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Proficiency in Python, Github, LLM&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Difficult&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor&lt;/strong>: &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/linsey-pang/">Linsey Pang&lt;/a>, &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="references">References:&lt;/h3>
&lt;ul>
&lt;li>Large Language Models in Healthcare - Singhal et al., Nature 2023&lt;/li>
&lt;li>Med-PaLM: Large Language Models for Medical Question Answering - Singhal et al., arXiv 2022&lt;/li>
&lt;li>Capabilities of GPT-4 on Medical Challenge Problems - Nori et al., arXiv 2023&lt;/li>
&lt;li>MedlinePlus Medical Encyclopedia - &lt;a href="https://medlineplus.gov/" target="_blank" rel="noopener">https://medlineplus.gov/&lt;/a>&lt;/li>
&lt;li>Clinical Practice Guidelines Database - &lt;a href="https://www.guidelines.gov/" target="_blank" rel="noopener">https://www.guidelines.gov/&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>LLMSeqRec: LLM Enhanced Contextual Sequential Recommender</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/sf/llmseqrec/20250722-connor/</link><pubDate>Tue, 22 Jul 2025 10:15:56 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/sf/llmseqrec/20250722-connor/</guid><description>&lt;h1 id="midway-through-osre">Midway Through OSRE&lt;/h1>
&lt;h2 id="my-journey-with-llmseqrec">My Journey with LLMSeqRec&lt;/h2>
&lt;h3 id="hello-from-the-midpoint">Hello from the Midpoint!&lt;/h3>
&lt;p>Hi everyone! I’m Connor Lee, a student at NYU studying Computer Science and Mathematics, and I’m excited to share the progress I’ve made halfway through the Open Source Research Experience (OSRE) with my project: &lt;strong>LLMSeqRec&lt;/strong> – a large language model-enhanced sequential recommender system.&lt;/p>
&lt;p>Over the past several weeks, I’ve had the opportunity to explore the intersection of recommender systems and large language models (LLMs), and it’s been a deep, challenging, and rewarding dive into building smarter, more contextual recommendation engines.&lt;/p>
&lt;hr>
&lt;h3 id="what-is-llmseqrec">What is LLMSeqRec?&lt;/h3>
&lt;p>&lt;strong>LLMSeqRec&lt;/strong> stands for &lt;strong>LLM-Enhanced Contextual Sequential Recommender&lt;/strong>. Traditional sequential recommendation systems like SASRec are great at capturing patterns from user-item interactions, but they often fall short in two areas: understanding &lt;strong>semantic context&lt;/strong> (e.g., item descriptions, reviews) and dealing with &lt;strong>cold-start&lt;/strong> problems.&lt;/p>
&lt;p>LLMSeqRec aims to address this by incorporating &lt;strong>pretrained LLM embeddings&lt;/strong> into the recommendation pipeline. The goal is to enhance models like SASRec with semantic signals from text (like product reviews or titles), allowing them to better model user intent, long-range dependencies, and generalize to new items or users.&lt;/p>
&lt;hr>
&lt;h3 id="progress-so-far">Progress So Far&lt;/h3>
&lt;h4 id="-baseline-sasrec-runs">✅ Baseline SASRec Runs&lt;/h4>
&lt;p>To establish a benchmark, I successfully ran the original SASRec implementation (in PyTorch) using both the &lt;strong>MovieLens 1M&lt;/strong> and &lt;strong>Amazon Beauty&lt;/strong> datasets. After debugging initial data formatting issues and adjusting batch sizes for local CPU/GPU compatibility, I automated training with scripts that let me scale to &lt;strong>200+ epochs&lt;/strong> to acheive the best performance in both Colab and on my MacBook via CPU.&lt;/p>
&lt;p>&lt;strong>Note:&lt;/strong> At this stage, we have not yet integrated LLMs into the model. These baseline runs (SASRec) serve as the control group for evaluating the future impact of LLM-based enhancements.&lt;/p>
&lt;hr>
&lt;h3 id="whats-next">What’s Next&lt;/h3>
&lt;p>As I enter the second half of the OSRE, I’ll be shifting gears toward &lt;strong>LLM integration, model evaluation, and running LLM-powered sequential recommendations using product metadata and contextual information&lt;/strong>. Here&amp;rsquo;s what’s ahead:&lt;/p>
&lt;ul>
&lt;li>Designing pipelines to extract and align textual metadata with item sequences&lt;/li>
&lt;li>Integrating LLM-generated embeddings into the recommender model&lt;/li>
&lt;li>Evaluating performance changes across different dataset characteristics&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h3 id="-experimental-results">📊 Experimental Results&lt;/h3>
&lt;p>We have &lt;strong>not yet utilized LLMs&lt;/strong> in our current experiments. The results below reflect our &lt;strong>reproduced baseline performance of SASRec&lt;/strong> across datasets.&lt;/p>
&lt;p>Below are the &lt;strong>performance curves on different test sets&lt;/strong>, where we evaluate model performance every 20 epochs during training:&lt;/p>
&lt;h4 id="beauty-dataset-performance">Beauty Dataset Performance&lt;/h4>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Beauty Hit@10 Performance" srcset="
/report/osre25/sf/llmseqrec/20250722-connor/beauty-hr_hu655ec71a9ef1f87543ab22378365f6fe_152488_6d3cf991cc5172e392edbb398afef774.webp 400w,
/report/osre25/sf/llmseqrec/20250722-connor/beauty-hr_hu655ec71a9ef1f87543ab22378365f6fe_152488_91a98a3d515a172aed7283ab8b04a8b6.webp 760w,
/report/osre25/sf/llmseqrec/20250722-connor/beauty-hr_hu655ec71a9ef1f87543ab22378365f6fe_152488_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/sf/llmseqrec/20250722-connor/beauty-hr_hu655ec71a9ef1f87543ab22378365f6fe_152488_6d3cf991cc5172e392edbb398afef774.webp"
width="760"
height="497"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;em>Hit@10 performance on the test set for the Beauty dataset (every 20 epochs)&lt;/em>&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Beauty Loss Training" srcset="
/report/osre25/sf/llmseqrec/20250722-connor/beauty-loss-epoch_huc2cddabd12f6ed04444e319cba850bc9_141963_f4e0cc23660b4c974056c8b5d603c0ca.webp 400w,
/report/osre25/sf/llmseqrec/20250722-connor/beauty-loss-epoch_huc2cddabd12f6ed04444e319cba850bc9_141963_7c62f735e3e920d3561bd9113c662533.webp 760w,
/report/osre25/sf/llmseqrec/20250722-connor/beauty-loss-epoch_huc2cddabd12f6ed04444e319cba850bc9_141963_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/sf/llmseqrec/20250722-connor/beauty-loss-epoch_huc2cddabd12f6ed04444e319cba850bc9_141963_f4e0cc23660b4c974056c8b5d603c0ca.webp"
width="760"
height="489"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;em>Training loss for the Beauty dataset&lt;/em>&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Beauty NDCG@10 Performance" srcset="
/report/osre25/sf/llmseqrec/20250722-connor/beauty-ndcg_hu4bef43ef38566a5009aa70da37ebbc50_151414_a1a39dc055b888f5de47c25c87ccf913.webp 400w,
/report/osre25/sf/llmseqrec/20250722-connor/beauty-ndcg_hu4bef43ef38566a5009aa70da37ebbc50_151414_3e4c7d0050bef8ec9f8f7928c2c6c7af.webp 760w,
/report/osre25/sf/llmseqrec/20250722-connor/beauty-ndcg_hu4bef43ef38566a5009aa70da37ebbc50_151414_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/sf/llmseqrec/20250722-connor/beauty-ndcg_hu4bef43ef38566a5009aa70da37ebbc50_151414_a1a39dc055b888f5de47c25c87ccf913.webp"
width="760"
height="483"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;em>NDCG@10 performance on the test set for the Beauty dataset (every 20 epochs)&lt;/em>&lt;/p>
&lt;h4 id="ml-1m-dataset-performance">ML-1M Dataset Performance&lt;/h4>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="ML-1M Loss Training" srcset="
/report/osre25/sf/llmseqrec/20250722-connor/m1-m1-loss-epoch_hua4b125e87ed4debb93bde68ff9b86489_146604_828aa4c04e00024c863cb89e245d358a.webp 400w,
/report/osre25/sf/llmseqrec/20250722-connor/m1-m1-loss-epoch_hua4b125e87ed4debb93bde68ff9b86489_146604_d913a345a32ce7ac5bcff72438283a01.webp 760w,
/report/osre25/sf/llmseqrec/20250722-connor/m1-m1-loss-epoch_hua4b125e87ed4debb93bde68ff9b86489_146604_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/sf/llmseqrec/20250722-connor/m1-m1-loss-epoch_hua4b125e87ed4debb93bde68ff9b86489_146604_828aa4c04e00024c863cb89e245d358a.webp"
width="760"
height="490"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;em>Training loss for the ML-1M dataset&lt;/em>&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="ML-1M Hit@10 Performance" srcset="
/report/osre25/sf/llmseqrec/20250722-connor/ml-m1-hr_huaac170547624f58b168df1545691a3d4_153677_8e8f20a29b2657093b23e780efd1d072.webp 400w,
/report/osre25/sf/llmseqrec/20250722-connor/ml-m1-hr_huaac170547624f58b168df1545691a3d4_153677_257879da50059e5cc3e64fd8ed1d9d72.webp 760w,
/report/osre25/sf/llmseqrec/20250722-connor/ml-m1-hr_huaac170547624f58b168df1545691a3d4_153677_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/sf/llmseqrec/20250722-connor/ml-m1-hr_huaac170547624f58b168df1545691a3d4_153677_8e8f20a29b2657093b23e780efd1d072.webp"
width="760"
height="484"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;em>Hit@10 performance on the test set for the ML-1M dataset (every 20 epochs)&lt;/em>&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="ML-1M NDCG@10 Performance" srcset="
/report/osre25/sf/llmseqrec/20250722-connor/ml-m1-ndcg_huad2935749c06fc72562e3df395457d92_144728_dfd4334fbae2a7067cf9f91b1595e36b.webp 400w,
/report/osre25/sf/llmseqrec/20250722-connor/ml-m1-ndcg_huad2935749c06fc72562e3df395457d92_144728_271754cbcc6eac53f84162a93b670d17.webp 760w,
/report/osre25/sf/llmseqrec/20250722-connor/ml-m1-ndcg_huad2935749c06fc72562e3df395457d92_144728_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/sf/llmseqrec/20250722-connor/ml-m1-ndcg_huad2935749c06fc72562e3df395457d92_144728_dfd4334fbae2a7067cf9f91b1595e36b.webp"
width="760"
height="488"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;em>NDCG@10 performance on the test set for the ML-1M dataset (every 20 epochs)&lt;/em>&lt;/p>
&lt;p>These results demonstrate that our &lt;strong>baseline SASRec reproductions&lt;/strong> are converging as expected and will serve as a solid foundation for comparison once LLM integration is complete.&lt;/p>
&lt;hr>
&lt;h3 id="closing-thoughts">Closing Thoughts&lt;/h3>
&lt;p>This project has been an exciting journey into both research and engineering and I’m excited to explore &lt;strong>LLM-powered embedding integration&lt;/strong> in the upcoming phase.&lt;/p>
&lt;p>I’m incredibly grateful to my mentors &lt;strong>Dr. Linsey Pang and Dr. Bin Dong&lt;/strong> for their support and guidance throughout the project so far. I’m looking forward to sharing more technical results as we work toward building smarter, more adaptable recommender systems.&lt;/p></description></item><item><title>LLMSeqRec: LLM Enhanced Contextual Sequential Recommender</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/sf/llmseqrec/20250614-connor/</link><pubDate>Fri, 06 Jun 2025 10:15:56 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre25/sf/llmseqrec/20250614-connor/</guid><description>&lt;h3 id="project-description">Project Description&lt;/h3>
&lt;p>Sequential Recommender Systems are widely used in scientific and business applications to analyze and predict patterns over time. In biology and ecology, they help track species behavior by suggesting related research on migration patterns and environmental changes. Medical applications include personalized treatment recommendations based on patient history and predicting disease progression. In physics and engineering, these systems optimize experimental setups by suggesting relevant past experiments or simulations. Environmental and climate science applications include forecasting climate trends and recommending datasets for monitoring deforestation or pollution. In business and e-commerce, sequential recommenders enhance user experiences by predicting consumer behavior, suggesting personalized products, and optimizing marketing strategies based on browsing and purchase history. By leveraging sequential dependencies, these recommender systems enhance research efficiency, knowledge discovery, and business decision-making across various domains. Traditional sequential recommendation systems rely on historical user interactions to predict future preferences, but they often struggle with capturing complex contextual dependencies and adapting to dynamic user behaviors. Existing models primarily use predefined embeddings and handcrafted features, limiting their ability to generalize across diverse recommendation scenarios. To address these challenges, we propose LLM Enhanced Contextual Sequential Recommender (LLMSeqRec), which leverages Large Language Models (LLMs) to enrich sequential recommendations with deep contextual understanding and adaptive reasoning.
By integrating LLM-generated embeddings and contextual representations, LLMSeqRec enhances user intent modeling, cold-start recommendations, and long-range dependencies in sequential data. Unlike traditional models that rely solely on structured interaction logs, LLMSeqRec dynamically interprets and augments sequences with semantic context, leading to more accurate and personalized recommendations. This fusion of LLM intelligence with sequential modeling enables a more scalable, adaptable, and explainable recommender system, bridging the gap between traditional sequence-based approaches and advanced AI-driven recommendations.&lt;/p>
&lt;h3 id="project-objectives">Project Objectives&lt;/h3>
&lt;p>Aligned with the vision of the 2025 Open Source Research Experience (OSRE), this project aims to develop an LLM-Enhanced Contextual Sequential Recommender (LLMSeqRec) to improve sequential recommendation accuracy across various scientific and business applications. Sequential recommender systems are widely used to analyze and predict patterns over time, assisting in fields such as biology, ecology, medicine, physics, engineering, environmental science, and e-commerce. However, traditional models often struggle with capturing complex contextual dependencies and adapting to dynamic user behaviors, as they primarily rely on vanilla sequential Id orders.
To address these limitations, this project will leverage Large Language Models (LLMs) to enhance context-aware sequential recommendations by dynamically integrating LLM-generated embeddings and contextual representations. The core challenge lies in designing LLMSeqRec, a unified and scalable model capable of enriching user intent modeling, mitigating cold-start issues, and capturing long-range dependencies within sequential data. Unlike conventional systems that rely solely on structured interaction logs, LLMSeqRec will interpret and augment sequences with semantic context, resulting in more accurate, adaptable, and explainable recommendations. Below is an outline of the methodologies and models that will be developed in this project:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Step 1: Data Preprocessing &amp;amp; Feature Creation&lt;/strong>:
Develop a data processing pipeline to parse user’s sequential interaction behaviors into sequential data points for LLM-based embeddings and contextual sequential transformer modeling; Extract user behavior sequences, items’ metadata, and temporal patterns to create context-aware sequential representations for training, validation and testing; The data source can be from Amazon open public data or Movie Lense data set. The data points creation can follow SASRec (in the reference 1).&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Step 2: Model Development&lt;/strong>:
Design and implement LLM-enhanced sequential recommendation models, integrating pretrained language models to augment user-item interactions with semantic context; Develop an adaptive mechanism to incorporate external contextual signals, such as product descriptions, reviews into the sequential recommendation process; The baseline model can be SASRec pytorch implementation.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Step 3: Evaluation&lt;/strong>: :
Benchmark LLMSeqRec against state-of-the-art sequential recommenders, evaluating on accuracy, NDCG and cold-start performance; Conduct ablation studies to analyze the impact of LLM-generated embeddings on recommendation quality; Optimize model inference speed and efficiency for real-time recommendation scenarios.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="project-deliverables">Project Deliverables&lt;/h3>
&lt;p>This project will deliver three components, software, model training, validation and performance evaluation and demo. The software which implements the above LLMSeqRec model will be hosted on the github repo as open-access repositories. The evaluation results and demo will be published along the github repo .&lt;/p>
&lt;h3 id="llmseqrec">LLMSeqRec&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: LLM Enhanced Contextual Sequential Recommender&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Proficiency in Python, Pytorch, Github, Self-attention, Transformer&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Difficult&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor&lt;/strong>: &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/linsey-pang/">Linsey Pang&lt;/a>, &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="references">References:&lt;/h3>
&lt;ul>
&lt;li>Self-Attentive Sequential Recommendation (SASRec)&lt;/li>
&lt;li>BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer&lt;/li>
&lt;li>Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks&lt;/li>
&lt;li>Amazon Dataset: &lt;a href="https://cseweb.ucsd.edu/~jmcauley/datasets.html#amazon_reviews" target="_blank" rel="noopener">https://cseweb.ucsd.edu/~jmcauley/datasets.html#amazon_reviews&lt;/a>&lt;/li>
&lt;li>Movie Lense Data: &lt;a href="https://grouplens.org/datasets/movielens/" target="_blank" rel="noopener">https://grouplens.org/datasets/movielens/&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>I&amp;rsquo;m Connor, a student at NYU studying CS and Math. This summer I&amp;rsquo;ve gotten the opportunity to work on LLMSeqRec under Dr. Bin Dong and Dr. Linsey Pang.&lt;/p>
&lt;p>In today’s digital age, sequential recommender systems power everything from e-commerce suggestions to personalized content everywhere. However, traditional models fall short in capturing user intent, adapting to dynamic behavior, or tackling cold-start problems. That’s where LLMSeqRec comes in.&lt;/p>
&lt;h2 id="problem-statement">Problem Statement&lt;/h2>
&lt;p>Most sequential recommender systems rely heavily on historical user-item interactions and predefined embeddings. This approach limits their ability to understand nuanced user preferences, struggles to scale across domains, and performs poorly in scenarios like new users or sparse data. The absence of semantic and contextual modeling is a major gap in current solutions.&lt;/p>
&lt;h2 id="overview-of-project">Overview of project&lt;/h2>
&lt;p>LLMSeqRec is a novel, LLM-enhanced sequential recommender framework that bridges this gap. By leveraging large language models (LLMs), it incorporates semantic embeddings and prompt-based contextual modeling to understand both user behavior and item metadata at a deeper level. The system explores two core approaches:&lt;/p>
&lt;ul>
&lt;li>Embedding-based: LLMs generate embeddings from item attributes.&lt;/li>
&lt;li>Prompt-based: LLMs receive full transaction history in natural language format and infer recommendations.&lt;/li>
&lt;/ul>
&lt;p>These techniques are tested using well-known datasets (e.g., Amazon, MovieLens), and evaluated with ranking metrics like NDCG@10 and Hit@10. The goal: deliver more accurate, context-rich, and explainable recommendations.&lt;/p>
&lt;h2 id="next-steps">Next Steps&lt;/h2>
&lt;p>The project is currently progressing through stages including model training, embedding integration, and evaluation. Upcoming tasks include:&lt;/p>
&lt;ul>
&lt;li>Fine-tuning enhanced models&lt;/li>
&lt;li>Designing zero-/few-shot prompts&lt;/li>
&lt;li>Running comparative experiments&lt;/li>
&lt;li>Publishing findings and writing technical blogs&lt;/li>
&lt;/ul>
&lt;p>As part of the &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/sf/LLMSeqRec">LLMSeqRec&lt;/a> my &lt;a href="https://drive.google.com/file/d/1cs9lsjacSJUbXWzTfcHIukfKFwKJjUZF/view?usp=sharing" target="_blank" rel="noopener">proposal&lt;/a> under the mentorship of Dr. Bin Dong and Dr. Linsey Pang.&lt;/p></description></item><item><title>LLMSeqRec: LLM Enhanced Contextual Sequential Recommender</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/sf/llmseqrec/</link><pubDate>Thu, 06 Feb 2025 10:15:56 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/sf/llmseqrec/</guid><description>&lt;h3 id="project-description">Project Description&lt;/h3>
&lt;p>Sequential Recommender Systems are widely used in scientific and business applications to analyze and predict patterns over time. In biology and ecology, they help track species behavior by suggesting related research on migration patterns and environmental changes. Medical applications include personalized treatment recommendations based on patient history and predicting disease progression. In physics and engineering, these systems optimize experimental setups by suggesting relevant past experiments or simulations. Environmental and climate science applications include forecasting climate trends and recommending datasets for monitoring deforestation or pollution. In business and e-commerce, sequential recommenders enhance user experiences by predicting consumer behavior, suggesting personalized products, and optimizing marketing strategies based on browsing and purchase history. By leveraging sequential dependencies, these recommender systems enhance research efficiency, knowledge discovery, and business decision-making across various domains. Traditional sequential recommendation systems rely on historical user interactions to predict future preferences, but they often struggle with capturing complex contextual dependencies and adapting to dynamic user behaviors. Existing models primarily use predefined embeddings and handcrafted features, limiting their ability to generalize across diverse recommendation scenarios. To address these challenges, we propose LLM Enhanced Contextual Sequential Recommender (LLMSeqRec), which leverages Large Language Models (LLMs) to enrich sequential recommendations with deep contextual understanding and adaptive reasoning.
By integrating LLM-generated embeddings and contextual representations, LLMSeqRec enhances user intent modeling, cold-start recommendations, and long-range dependencies in sequential data. Unlike traditional models that rely solely on structured interaction logs, LLMSeqRec dynamically interprets and augments sequences with semantic context, leading to more accurate and personalized recommendations. This fusion of LLM intelligence with sequential modeling enables a more scalable, adaptable, and explainable recommender system, bridging the gap between traditional sequence-based approaches and advanced AI-driven recommendations.&lt;/p>
&lt;h3 id="project-objectives">Project Objectives&lt;/h3>
&lt;p>Aligned with the vision of the 2025 Open Source Research Experience (OSRE), this project aims to develop an LLM-Enhanced Contextual Sequential Recommender (LLMSeqRec) to improve sequential recommendation accuracy across various scientific and business applications. Sequential recommender systems are widely used to analyze and predict patterns over time, assisting in fields such as biology, ecology, medicine, physics, engineering, environmental science, and e-commerce. However, traditional models often struggle with capturing complex contextual dependencies and adapting to dynamic user behaviors, as they primarily rely on vanilla sequential Id orders.
To address these limitations, this project will leverage Large Language Models (LLMs) to enhance context-aware sequential recommendations by dynamically integrating LLM-generated embeddings and contextual representations. The core challenge lies in designing LLMSeqRec, a unified and scalable model capable of enriching user intent modeling, mitigating cold-start issues, and capturing long-range dependencies within sequential data. Unlike conventional systems that rely solely on structured interaction logs, LLMSeqRec will interpret and augment sequences with semantic context, resulting in more accurate, adaptable, and explainable recommendations. Below is an outline of the methodologies and models that will be developed in this project:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Step 1: Data Preprocessing &amp;amp; Feature Creation&lt;/strong>:
Develop a data processing pipeline to parse user’s sequential interaction behaviors into sequential data points for LLM-based embeddings and contextual sequential transformer modeling; Extract user behavior sequences, items’ metadata, and temporal patterns to create context-aware sequential representations for training, validation and testing; The data source can be from Amazon open public data or Movie Lense data set. The data points creation can follow SASRec (in the reference 1).&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Step 2: Model Development&lt;/strong>:
Design and implement LLM-enhanced sequential recommendation models, integrating pretrained language models to augment user-item interactions with semantic context; Develop an adaptive mechanism to incorporate external contextual signals, such as product descriptions, reviews into the sequential recommendation process; The baseline model can be SASRec pytorch implementation.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Step 3: Evaluation&lt;/strong>: :
Benchmark LLMSeqRec against state-of-the-art sequential recommenders, evaluating on accuracy, NDCG and cold-start performance; Conduct ablation studies to analyze the impact of LLM-generated embeddings on recommendation quality; Optimize model inference speed and efficiency for real-time recommendation scenarios.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="project-deliverables">Project Deliverables&lt;/h3>
&lt;p>This project will deliver three components, software, model training, validation and performance evaluation and demo. The software which implements the above LLMSeqRec model will be hosted on the github repo as open-access repositories. The evaluation results and demo will be published along the github repo .&lt;/p>
&lt;h3 id="llmseqrec">LLMSeqRec&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: LLM Enhanced Contextual Sequential Recommender&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Proficiency in Python, Pytorch, Github, Self-attention, Transformer&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Difficult&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor&lt;/strong>: &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/linsey-pang/">Linsey Pang&lt;/a>, &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="references">References:&lt;/h3>
&lt;ul>
&lt;li>Self-Attentive Sequential Recommendation (SASRec)&lt;/li>
&lt;li>BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer&lt;/li>
&lt;li>Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks&lt;/li>
&lt;li>Amazon Dataset: &lt;a href="https://cseweb.ucsd.edu/~jmcauley/datasets.html#amazon_reviews" target="_blank" rel="noopener">https://cseweb.ucsd.edu/~jmcauley/datasets.html#amazon_reviews&lt;/a>&lt;/li>
&lt;li>Movie Lense Data: &lt;a href="https://grouplens.org/datasets/movielens/" target="_blank" rel="noopener">https://grouplens.org/datasets/movielens/&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>ReIDMM: Re-identifying Multiple Objects across Multiple Streams</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/lbl/reidmm/</link><pubDate>Thu, 06 Feb 2025 10:15:56 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre25/lbl/reidmm/</guid><description>&lt;h3 id="project-description">Project Description&lt;/h3>
&lt;p>Re-identifying multiple objects across multiple streams (ReIDMM) is essential in scientific research and various industries. It involves tracking and analyzing entities across different viewpoints or time frames. In astronomy, ReIDMM helps track celestial objects like asteroids and space debris using multiple observatories. In biology and ecology, it enables the identification of animals across different camera traps and aids in tracking microscopic organisms in laboratory studies. In physics and engineering, it is used for tracking particles in high-energy physics experiments, monitoring structural changes in materials, and identifying robots or drones in lab automation. Beyond scientific applications, ReIDMM plays a critical role in industries such as retail, where it tracks customer behavior across multiple stores and improves sales and prevents theft. In smart cities, it supports traffic monitoring by identifying vehicles across intersections for improved traffic flow management. In manufacturing, it enables supply chain tracking by locating packages across conveyor belts and warehouse cameras. In autonomous systems, ReIDMM enhances multi-camera sensor fusion and warehouse robotics by identifying pedestrians, obstacles, and objects across different camera views.&lt;/p>
&lt;h3 id="project-objectives">Project Objectives&lt;/h3>
&lt;p>Aligned with the vision of the 2025 Open Source Research Experience (OSRE), this project aims to develop an open-source algorithm for multiple-object re-identification across diverse open-source data streams. As highlighted earlier, this method is expected to have wide-ranging applications in both scientific research and industry. Utilizing an open-source dataset, our focus will be on re-identifying common objects such as vehicles and pedestrians. The primary challenge lies in designing a unified algorithm, ReIDMM, capable of performing robust multi-object re-identification across multiple streams. Users will be able to tag any object as a target in a video or image for tracking across streams. Below is an outline of the algorithms to be developed in this project:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Step 1: Target Object Identification&lt;/strong>: Randomly select a target object from an image or video using object detection models such as YOLOv7. These models detect objects by generating bounding boxes around them. Target objects could include vehicles, pedestrians, animals, or other recognizable entities. This step ensures an initial object of interest is chosen for re-identification.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Step 2: Feature Extraction and Embedding&lt;/strong>: Once the target object is identified, extract relevant features such as bounding box coordinates, timestamp, location metadata (if available), and visual characteristics. A multimodal embedding approach is used, where these features are transformed into a numerical representation (embedding vector) that captures the object&amp;rsquo;s unique identity. This allows for efficient comparison across different images or videos.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Step 3: Searching and Matching&lt;/strong>: To find the target object in other images or videos: (1) Extract embeddings of all objects detected in the other images/videos; (2) Compute similarity between the target object’s embedding and those of all detected objects using metrics like cosine similarity or Euclidean distance. (3) Rank objects by similarity, returning the most probable matches. The highest-ranked results are likely to be the same object observed from different angles, lighting conditions, or time frames.&lt;/p>
&lt;/li>
&lt;/ul>
&lt;h3 id="project-deliverables">Project Deliverables&lt;/h3>
&lt;p>This project will deliver three things, software, evaluation results and demo. The software which implements the above ReIDMM algorithm will be hosted on the github repo as open-access repositories. The evaluation results and demo will be published along the github repo.&lt;/p>
&lt;h3 id="reidmm">ReIDMM&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: ReIDMM: Re-identifying Multiple Objects across Multiple Streams`&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Proficient in Python, Experience with images processing, machine learning&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Difficult&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor&lt;/strong>: &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a>, &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/linsey-pang/">Linsey Pang&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="reference">Reference:&lt;/h3>
&lt;ul>
&lt;li>&lt;a href="https://medium.datadriveninvestor.com/multiple-object-tracking-using-person-re-identification-f9b7360cda1a" target="_blank" rel="noopener">multiple-object-tracking-using-person&lt;/a>&lt;/li>
&lt;li>Dataset: &lt;a href="https://paperswithcode.com/task/vehicle-re-identification" target="_blank" rel="noopener">Vehicle re-identification dataset and paper&lt;/a> and &lt;a href="https://paperswithcode.com/task/person-re-identification" target="_blank" rel="noopener">Person re-identification data and paper&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Final Report: Stream processing support for FasTensor</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/lbl/fastensor/20240830-aditya_narayan/</link><pubDate>Fri, 30 Aug 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/lbl/fastensor/20240830-aditya_narayan/</guid><description>&lt;h1 id="final-report-stream-processing-support-for-fastensor">Final Report: Stream processing support for FasTensor&lt;/h1>
&lt;h2 id="project-description">Project Description&lt;/h2>
&lt;p>FasTensor is a scientific computing library specialized in performing computations over dense matrices that exhibit spatial locality, a characteristic often found in physical phenomena data. Our GSoC'24 project aimed to enhance FasTensor by enabling it to ingest and process live data streams from sensors and scientific equipment.&lt;/p>
&lt;h2 id="what-is-fastensor">What is FasTensor?&lt;/h2>
&lt;p>Imagine you&amp;rsquo;re working on a physical simulation or solving partial differential equations (PDEs). You&amp;rsquo;ve discretized your PDE, but now you face a new challenge: you need to run your computations fast and parallelize them across massive compute clusters.&lt;/p>
&lt;p>At this point, you find yourself describing a stencil &lt;a href="https://dl.acm.org/doi/abs/10.1145/2686745.2686756" target="_blank" rel="noopener">[1]&lt;/a> operation. But should you really spend your time tinkering with loop orders, data layouts, and countless other side-quests unrelated to your core problem?&lt;/p>
&lt;p>This is where FasTensor comes in: Describe your computation as a stencil, and it takes care of ensuring optimal execution. FasTensor lets you focus on the science, not the implementation details.&lt;/p>
&lt;h2 id="repository-links">Repository Links&lt;/h2>
&lt;ul>
&lt;li>FasTensor: &lt;a href="https://github.com/BinDong314/FasTensor" target="_blank" rel="noopener">https://github.com/BinDong314/FasTensor&lt;/a>&lt;/li>
&lt;li>My fork: &lt;a href="https://github.com/my-name/FasTensor/tree/ftstream" target="_blank" rel="noopener">https://github.com/my-name/FasTensor/tree/ftstream&lt;/a>&lt;/li>
&lt;/ul>
&lt;h3 id="prs">PR(s)&lt;/h3>
&lt;ol>
&lt;li>&lt;a href="https://github.com/BinDong314/FasTensor/pull/1" target="_blank" rel="noopener">Stream processing support for FasTensor completed.&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/BinDong314/FasTensor/pull/2" target="_blank" rel="noopener">Merge ftstream into the FasTensor repo&lt;/a>&lt;/li>
&lt;/ol>
&lt;h2 id="work-done-this-summer">Work done this summer&lt;/h2>
&lt;h3 id="develop-streaming-simulator-ftstream">Develop Streaming simulator: FTStream&lt;/h3>
&lt;p>I was first entasked by Dr. Bin to develop a stream simulator for testing the streaming capability of FasTensor. For testing purposes, a stream is characterized by file size, count, and arrival interval. FTStream can generate streams of various sizes and intervals, up to the theoretical limits of disk and filesystem. We&amp;rsquo;re talking speeds up to 2.5 GiB/s on a non-parallel NVMe!&lt;/p>
&lt;p>Writing this tool was an adventure in throughput testing and exploring APIs. I wrote multiple drivers, each for a different whim and hijinks of systems in the HPC world. Here&amp;rsquo;s a brief journey through the APIs we explored:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>HDF5 APIs:&lt;/strong> Pretty fast in flush-to-disk operation, but the API design strongly binds to file handles, which inhibits high throughput duplication.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>HDF5 VFL and VOL:&lt;/strong> We dabbled in these dark arts, but there be dragons! Keeping a long-term view of maintenance, we dropped the idea.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>POSIX O_DIRECT:&lt;/strong> This involved getting your buffers aligned right and handling remainders correctly. A step up, but not quite at the theoretical limits.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Linux AIO:&lt;/strong> Streaming is latency sensitive domain, to reach the theoretical limits, every syscall saved matters. Linux AIO allowed us syscall batching with &lt;code>io_submit()&lt;/code>. It took a few testing sessions to get the correct combo of queue depth, buffer size, and alignment right.&lt;/p>
&lt;/li>
&lt;/ol>
&lt;p>We settled on O_DIRECT + Linux AIO. Feel free to modify &lt;code>ftstream/fastflush.h&lt;/code> to suit your needs.&lt;/p>
&lt;img src="https://raw.githubusercontent.com/aditya-narayan5/GSoC24-Final_Report/f486087ae3e6ef1f1077c885e9352c9440848724/images/ftstream.png" width=75% height=75%>
&lt;h3 id="stream-support">Stream Support&lt;/h3>
&lt;p>FasTensor has just one simple paradigm: you give it a data source, an output data store, and your transform, and it handles all the behind-the-scenes grunt work of computing over big datasets so you can focus on your research.&lt;/p>
&lt;p>We aimed to achieve the same for streaming: Drop in the STREAM keyword, append a pattern identifying your stream, and use your usual transform.&lt;/p>
&lt;img src="https://raw.githubusercontent.com/aditya-narayan5/GSoC24-Final_Report/f486087ae3e6ef1f1077c885e9352c9440848724/images/example_code.png" width=75% height=100%>
Voila! Now your previous FasTensor code supports live data streams.
&lt;img src="https://raw.githubusercontent.com/aditya-narayan5/GSoC24-Final_Report/da34fab7a857b0223332d84a0aa1c8cdf0811761/images/fastensor_streaming_demo.gif" width=75% height=75%>
&lt;h4 id="technical-tidbits">Technical tidbits:&lt;/h4>
&lt;ul>
&lt;li>Implements a manager-worker pattern to allow us flexibility in the future to implement different stream semantics such as windowing, CPU-memory based load balancing&lt;/li>
&lt;li>Supports streams of indefinite size&lt;/li>
&lt;/ul>
&lt;h2 id="challenges">Challenges&lt;/h2>
&lt;p>HPC has its fair share of challenges. Things you take for granted might not be available there, and it takes a while to adjust to paradigms of scale and parallelization.&lt;/p>
&lt;p>For example, when developing FTStream, we found O_DIRECT is available on some parallel file systems like GPFS but not supported on Lustre/CFS. We developed a separate MPIO driver for FTStream that will be upstreamed once thoroughly tested on Lustre.&lt;/p>
&lt;h2 id="future-work">Future Work&lt;/h2>
&lt;ul>
&lt;li>Implement windowing and explore more advanced stream semantics.&lt;/li>
&lt;li>Implement support for for defining workload policies&lt;/li>
&lt;li>Optimize interleaving IO and Compute.&lt;/li>
&lt;/ul>
&lt;h2 id="references">References&lt;/h2>
&lt;p>[1] Anshu Dubey. 2014. Stencils in Scientific Computations. In Proceedings of the Second Workshop on Optimizing Stencil Computations (WOSC &amp;lsquo;14). Association for Computing Machinery, New York, NY, USA, 57.
&lt;a href="https://doi.org/10.1145/2686745.2686756" target="_blank" rel="noopener">https://doi.org/10.1145/2686745.2686756&lt;/a>&lt;/p>
&lt;h2 id="acknowledgement">Acknowledgement&lt;/h2>
&lt;p>I struck gold when it comes to mentors.&lt;/p>
&lt;p>Dr. &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a> was really kind and supportive throughout the journey. From the very first steps of giving a tour around the codebase to giving me a lot of freedom to experiment, refactor, and refine.&lt;/p>
&lt;p>Dr. &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/john-wu/">John Wu&lt;/a> was encouraging and nurturing of budding talent. We had great research presentations every Monday apart from usual mentor interactions, where different research groups presented their talks and students were invited to present their progress.&lt;/p>
&lt;p>I&amp;rsquo;ve come across Quantum computing many times in the news, but I never thought I&amp;rsquo;d get a frontline preview from the researchers working at the bleeding edge at the Lawrence Berkeley National Laboratory (LBL).&lt;/p>
&lt;p>This GSoC experience, made possible by Google and UC OSPO, has been invaluable for my growth as a developer and researcher.&lt;/p>
&lt;p>For people interested in HPC, ML, Systems, or Reproducibility, I encourage you all to apply to UC OSPO. It&amp;rsquo;s been an incredible journey, and I&amp;rsquo;m grateful for every moment of it!&lt;/p></description></item><item><title>Streaming into the Future: Adding Real-Time Processing to FasTensor</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/lbl/fastensor/20240730-aditya_narayan/</link><pubDate>Tue, 30 Jul 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/lbl/fastensor/20240730-aditya_narayan/</guid><description>&lt;p>Hey there, HPC enthusiasts and fellow coders! I&amp;rsquo;m excited to share my progress on this summer&amp;rsquo;s Google Summer of Code project under UC OSPO&amp;rsquo;s FasTensor.
Here&amp;rsquo;s a glimpse into how we&amp;rsquo;re pushing the boundaries of real-time data processing.&lt;/p>
&lt;h2 id="the-big-picture-fastensor-and-hpc-challenges">The Big Picture: FasTensor and HPC Challenges&lt;/h2>
&lt;p>First, a quick refresher: FasTensor is our go-to tool for handling dense arrays in scientific computing. It tackles three major HPC challenges:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Optimizing computations&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Distributing data efficiently&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Balancing workloads across computing cores&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>FasTensor excels at these tasks, especially when dealing with data that has structural locality - a common feature in scientific computing. Here, the Stencil computations come in handy, capturing data locality for operations like solving partial differential equations in physical simulations.&lt;/p>
&lt;h3 id="the-mission-bringing-fastensor-into-real-time">The Mission: Bringing FasTensor into Real-Time&lt;/h3>
&lt;p>While FasTensor is great at processing existing data, the next frontier is handling live data streams from scientific instruments and sensors. That&amp;rsquo;s where my GSoC project comes in: adding stream processing capabilities to FasTensor.&lt;/p>
&lt;h2 id="progress-highlights">Progress Highlights:&lt;/h2>
&lt;h3 id="building-a-stream-simulator">Building a Stream Simulator&lt;/h3>
&lt;p>We&amp;rsquo;ve created FTstream, a nifty tool that simulates data streams. It can generate streams of various sizes and intervals, pushing the limits of what your disk can handle. We&amp;rsquo;re talking speeds up to 2.5 GiB/s on a non-parallel NVMe! This tool is crucial because many scientific instruments, from particle accelerators to radio telescopes, generate massive amounts of data at incredible speeds and we need to able to simulate that. For context, that&amp;rsquo;s faster than a 10MP RGB camera shooting at 35 frames per second that generates data at ~1 GiB/s.
&lt;figure >
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="FTStream: a stream simulator" srcset="
/report/osre24/lbl/fastensor/20240730-aditya_narayan/ftstream_hu742d341e5ed79c96d79ca4fdb4fe00ee_107361_e1ff5502d16324d112780cafc587c0bb.webp 400w,
/report/osre24/lbl/fastensor/20240730-aditya_narayan/ftstream_hu742d341e5ed79c96d79ca4fdb4fe00ee_107361_9ecceb72d631078c6b5109deaefeb0f5.webp 760w,
/report/osre24/lbl/fastensor/20240730-aditya_narayan/ftstream_hu742d341e5ed79c96d79ca4fdb4fe00ee_107361_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/lbl/fastensor/20240730-aditya_narayan/ftstream_hu742d341e5ed79c96d79ca4fdb4fe00ee_107361_e1ff5502d16324d112780cafc587c0bb.webp"
width="760"
height="410"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;h3 id="optimizing-io-strategies">Optimizing I/O Strategies&lt;/h3>
&lt;p>We&amp;rsquo;ve been experimenting with various I/O approaches to optimize high-speed data stream handling.&lt;/p>
&lt;h3 id="exploring-streaming-semantics">Exploring Streaming Semantics&lt;/h3>
&lt;p>We&amp;rsquo;re investigating various ways to express and execute stream transformations, to ensure that FasTensor can handle a wide range of streaming computations.&lt;/p>
&lt;h3 id="developing-io-drivers">Developing I/O Drivers&lt;/h3>
&lt;p>We&amp;rsquo;ve developed two new I/O drivers based on LinuxAIO and MPI IO to ingest incoming data smoothly and maintain stream consistency.&lt;/p>
&lt;h2 id="whats-next">What&amp;rsquo;s Next?&lt;/h2>
&lt;h3 id="putting-it-all-together">Putting It All Together&lt;/h3>
&lt;p>We&amp;rsquo;re in the final stretch of integrating all these components into a seamless stream processing system.&lt;/p>
&lt;h3 id="rigorous-testing">Rigorous Testing&lt;/h3>
&lt;p>We&amp;rsquo;ll push our stream processing to its limits, simulating diverse data flows to ensure rock-solid performance in any scientific setting.&lt;/p>
&lt;h3 id="hpc-environment-validation">HPC Environment Validation&lt;/h3>
&lt;p>The ultimate test will be running our new streaming capabilities in real HPC environments, checking how they perform with different I/O setups and computing paradigms.&lt;/p>
&lt;h2 id="wrapping-up">Wrapping Up&lt;/h2>
&lt;p>This summer has been a whirlwind of coding, testing, and learning. We&amp;rsquo;re making significant strides in bringing real-time processing capabilities to FasTensor, which could open up exciting new possibilities in scientific computing and data analysis.
Stay tuned for more updates as we finalize this feature. If you&amp;rsquo;re interested in the nitty-gritty technical details or want to check out the code, feel free to reach out or check our project repository.
Happy coding, and may your computations be ever faster!&lt;/p></description></item><item><title>Heterogeneous Graph Neural Networks for I/O Performance Bottleneck Diagnosis</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/lbl/aiio/20240614-mahdi/</link><pubDate>Fri, 14 Jun 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/lbl/aiio/20240614-mahdi/</guid><description>&lt;p>Hello, I am &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/mahdi-banisharifdehkordi/">Mahdi Banisharifdehkordi&lt;/a>, a Ph.D. student in Computer Science at Iowa State University, specializing in Artificial Intelligence. This summer, I will be working on the project &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/lbl/aiio/">AIIO / Graph Neural Network&lt;/a> under the mentorship of &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a> and Suren Byna.&lt;/p>
&lt;p>High-Performance Computing (HPC) applications often face performance issues due to I/O bottlenecks. Manually identifying these bottlenecks is time-consuming and error-prone. My project aims to enhance the AIIO framework by integrating a Graph Neural Network (GNN) model to automatically diagnose I/O performance bottlenecks at the job level. This involves developing a comprehensive data pre-processing pipeline, constructing and validating a tailored GNN model, and rigorously testing the model&amp;rsquo;s accuracy using test cases from the AIIO dataset.&lt;/p>
&lt;p>Through this project, I seek to provide a sophisticated, AI-driven approach to understanding and improving I/O performance in HPC systems, ultimately contributing to more efficient and reliable HPC applications.&lt;/p></description></item><item><title>Stream Processing support for FasTensor</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/lbl/fastensor/20240613-aditya_narayan/</link><pubDate>Thu, 13 Jun 2024 00:00:00 +0000</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/report/osre24/lbl/fastensor/20240613-aditya_narayan/</guid><description>&lt;p>Hi, I&amp;rsquo;m Aditya Narayan,👋&lt;/p>
&lt;p>I&amp;rsquo;m a frequent visitor to the town square of theoretical CS, operations (Ops), and robust high-performance systems. Sometimes I indulge myself with insights on &lt;a href="https://www.science.org/doi/10.1126/science.aam9868" target="_blank" rel="noopener">Computing and Biology&lt;/a>, and other times I enjoy the accounts of minefield experiences in the &lt;a href="https://www.youtube.com/watch?v=tDacjrSCeq4" target="_blank" rel="noopener">systems world&lt;/a>. Luckily, this summer, OSRE offered an opportunity that happened to be at the perfect intersection of my interests.&lt;/p>
&lt;p>This summer, I will be working on a scientific computing library called FasTensor that offers a parallel computing structure called Stencil, widely popular in the scientific computing world to solve PDEs for Physical Simulations and Convolutions on Signals, among its many uses.
I am excited to introduce my mentors, Dr. &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a> and Dr. &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/john-wu/">John Wu&lt;/a> of the &lt;a href="https://crd.lbl.gov/divisions/scidata/sdm/" target="_blank" rel="noopener">Scientific Data Management Group&lt;/a> at Lawrence Berkeley National Laboratory (LBNL). They bring invaluable expertise to the project.&lt;/p>
&lt;p>They recognized the need for a tensor processing library that provided dedicated support for big datasets with inherent structural locality, often found in the scientific computing world, which was lacking in popular open-source MapReduce or Key-Value based frameworks.&lt;/p>
&lt;p>More often than not, the operations performed on these datasets are composed of computations involving neighboring elements. This motivated the development of the FasTensor library.&lt;/p>
&lt;p>I will be working on providing a Stream Processing interface that enables online data processing of large-scale datasets as they arrive from Data Producers. The project focuses on offering rich interfaces for managing and composing streams, supporting common scientific data formats like HDF5, and integrating fault tolerance and reliability mechanisms.&lt;/p>
&lt;p>I am thrilled to work on the FasTensor project because I believe it has the potential to make a significant impact by enabling researchers to implement a rich set of computations on their big datasets in an easy and intuitive manner.&lt;/p>
&lt;p>After all, FasTensor has just one simple paradigm: A -&amp;gt; Transform(F(x), B),&lt;/p>
&lt;p>and it handles all the behind-the-scenes grunt work of handling big datasets so you can focus on your research.&lt;/p>
&lt;p>Stay tuned for updates and feel free to &lt;a href="https://github.com/BinDong314/FasTensor" target="_blank" rel="noopener">collaborate&lt;/a>!&lt;/p></description></item><item><title>AIIO / Graph Neural Network</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/lbl/aiio/</link><pubDate>Wed, 17 Jan 2024 10:15:56 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/lbl/aiio/</guid><description>&lt;p>[AIIO] (&lt;a href="https://github.com/hpc-io/aiio" target="_blank" rel="noopener">https://github.com/hpc-io/aiio&lt;/a>) revolutionizes the way for users to automatically tune the I/O performance of applications on HPC systems. It currently works on linear regression models but has more opportunities to work on heterogeneous data, such as programming info. This requires extending the linear regression model to more complex models, such as heterogeneous graph neural networks. The proposed work will include developing the graph neural work-based model to predict the I/O performance and interpretation.&lt;/p>
&lt;h3 id="aiio--graph-neural-network">AIIO / Graph Neural Network&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: AIIO/Graph Neural Network`&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: Python, Github, Machine Learning&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Difficult&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor&lt;/strong>: &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a>, Suren Byna&lt;/li>
&lt;/ul>
&lt;p>The Specific tasks of the project include:&lt;/p>
&lt;ul>
&lt;li>Develop the data pre-processing pipeline to convert I/O logs into formats which are required by the Graph Neural Network&lt;/li>
&lt;li>Build and test the Graph Neural Network to model the I/O performance for HPC applications.&lt;/li>
&lt;li>Test and evaluate the accuracy of the Graph Neural Network with test cases from AIIO&lt;/li>
&lt;/ul></description></item><item><title>FasTensor / Stream Processing</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/lbl/fastensor/</link><pubDate>Wed, 17 Jan 2024 10:15:56 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre24/lbl/fastensor/</guid><description>&lt;p>[FasTensor] (&lt;a href="https://github.com/BinDong314/FasTensor" target="_blank" rel="noopener">https://github.com/BinDong314/FasTensor&lt;/a>) is a generic tensor processing engine with scalability from single nodes to thousands of nodes on HPC. FasTensor supports applications from traditional SQL query to complex DFT solver in scientific applications. It has a 1000X performance advantage over MapReduce and Spark in supporting generic data processing functions on tensor structure. In this project, we propose to expand FasTensor with streaming functionality to support online data processing. Specifically, participants of this project will develop a stream endpoint for retrieving live data output from applications, such as DAS. The stream endpoint performs the function to maintain the pointer of data, which could be a n-dimensional subset of a tensor.&lt;/p>
&lt;h3 id="fastensor--stream-processing">FasTensor / Stream Processing&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: &lt;code>FasTensor/Streaming Processing&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: C++, github&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Difficult&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor&lt;/strong>: &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a>, &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/john-wu/">John Wu&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>The Specific tasks of the project include:&lt;/p>
&lt;ul>
&lt;li>Building a mock workflow based on our DAS application (&lt;a href="https://github.com/BinDong314/DASSA" target="_blank" rel="noopener">https://github.com/BinDong314/DASSA&lt;/a>) to test stream processing. The mock workflow comprises a data producer, which generates DAS data, and a data consumer, which processes the data.&lt;/li>
&lt;li>Developing a Stream Endpoint (e.g., I/O driver) to iteratively read dynamically increasing data from a directory. The stream endpoint essentially includes open, read, and write functions, and a pointer to remember current file pointer.&lt;/li>
&lt;li>Integrating the Stream Endpoint into the FasTensor library.&lt;/li>
&lt;li>Evaluating the performance of the mock workflow with the new Stream Endpoint.&lt;/li>
&lt;li>Documenting the execution mechanism.&lt;/li>
&lt;/ul></description></item><item><title>FasTensor</title><link>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre23/lbl/fastensor/</link><pubDate>Mon, 07 Nov 2022 10:15:56 -0700</pubDate><guid>https://deploy-preview-1007--ucsc-ospo.netlify.app/project/osre23/lbl/fastensor/</guid><description>&lt;p>&lt;a href="https://sdm.lbl.gov/fastensor/" target="_blank" rel="noopener">FasTensor&lt;/a> is a parallel execution engine for user-defined functions on multidimensional arrays. The user-defined functions follow the stencil metaphor used for scientific computing and is effective for expressing a wide range of computations for data analyses, including common aggregation operations from database management systems and advanced machine learning pipelines. FasTensor execution engine exploits the structural-locality in the multidimensional arrays to automate data management operations such as file I/O, data partitioning, communication, parallel execution, and so on.&lt;/p>
&lt;h3 id="tensor-execution-engine-on-gpu">Tensor execution engine on GPU&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: &lt;code>Data Management&lt;/code>, &lt;code>Analytics&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: C++, github&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Difficult&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (350 hours)&lt;/li>
&lt;li>&lt;strong>Mentor&lt;/strong>: &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/john-wu/">John Wu&lt;/a>, &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/bin-dong/">Bin Dong&lt;/a>, &lt;a href="mailto:sbyna@lbl.gov">Suren Byna&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>Tensor based computing is needed by scientific applications and now advanced AI model training. Most tensor libraries are hand customized and optimized on GPU, and most of they only serve one kind of application. For example, TensorFlow is only optimized for AI model training. Optimizing generic tensor computing libraries on GPU can benefit wide applications. Our FasTensor, as a generic tensor computing library, can only work efficiently on CPU now. How to run the FasTensor on GPU is still none-explored work. Research and development challenges will include but not limited to: 1) how to maintain structure-locality of tensor data on GPU; 2) how to reduce the performance loss when the structure-locality of tensor is broken on GPU.&lt;/p>
&lt;ul>
&lt;li>Develop a mechanism to move user-define computing kernels onto GPU&lt;/li>
&lt;li>Evaluate the performance of the execution engine&lt;/li>
&lt;li>Document the execution mechanism&lt;/li>
&lt;li>Develop performance testing suite&lt;/li>
&lt;/ul>
&lt;h3 id="continuous-integration">Continuous Integration&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Topics&lt;/strong>: &lt;code>Data Management&lt;/code>, &lt;code>Analytics&lt;/code>&lt;/li>
&lt;li>&lt;strong>Skills&lt;/strong>: C++, github&lt;/li>
&lt;li>&lt;strong>Difficulty&lt;/strong>: Medium&lt;/li>
&lt;li>&lt;strong>Size&lt;/strong>: Large (300 hours)&lt;/li>
&lt;li>&lt;strong>Mentor&lt;/strong>: &lt;a href="https://deploy-preview-1007--ucsc-ospo.netlify.app/author/john-wu/">John Wu&lt;/a>, &lt;a href="mailto:dbin@lbl.gov">Bin Dong&lt;/a>, &lt;a href="mailto:sbyna@lbl.gov">Suren Byna&lt;/a>&lt;/li>
&lt;/ul>
&lt;ul>
&lt;li>Develop a test suite for the public API of FasTensor&lt;/li>
&lt;li>Automate execution of the test suite&lt;/li>
&lt;li>Document the continuous integration process&lt;/li>
&lt;/ul></description></item></channel></rss>