🧠 LiSoViMa: A Lightweight and Specialized Virtual Assistant for STEM MCQA
📍 EPFL – Master in Data Science, Year 1 (2025)
👥 Team: Matthias Wyss, Sofia Taouhid, Vincent Fiszbin, Lina Sadgal
📄 Final Report: Report
🔗 GitHub Repository: GitHub
LiSoViMa is a lightweight language model-based assistant tailored to STEM multiple-choice question answering (MCQA). Built on the Qwen3-0.6B-Base model, it evaluates the trade-offs and synergies between various fine-tuning and optimization techniques for educational tasks.
The project implements and evaluates:
- 🧩 LoRA fine-tuning for accurate MCQA on science and math datasets
- 📉 4-bit QLoRA quantization to reduce memory usage while maintaining performance
- 📚 RAG-based enhancement using textbook-based retrieval with a FAISS index and markdown pipeline
- 🧠 Direct Preference Optimization (DPO) for aligning model responses with human preferences
Each variant is benchmarked across six STEM datasets, considering accuracy, memory efficiency, and alignment quality.
We also explore:
- Construction and formatting of textbook corpora for retrieval
- Dataset curation from public STEM QA sources (e.g., MMLU-STEM, SciQ, ARC)
- Human and synthetic preference data creation
- LoRA merging, checkpoint management, and reproducibility
🛠 Tools & Libraries:
- Python
- Hugging Face Transformers
- PyTorch
- FAISS
- LaTeX (for report and derivations)
📐 Techniques:
- LoRA-based fine-tuning
- Retrieval-Augmented Generation (RAG)
- 4-bit Quantization (QLoRA, GPTQ)
- Direct Preference Optimization (DPO)
- MCQA Evaluation Framework
- Preference Data Alignment and Ranking
- FAISS-based Corpus Indexing