Current prototype: The research direction is being refined toward energy-aware adaptive self-speculative decoding. Run
python -m prototype.demofor a dependency-free controller demonstration; see prototype/README.md. Its energy and latency values are synthetic, not GPU measurements. The original research plan below is retained for context.
A learning-focused, systematic experimental study of how model compression, hardware-aware quantization, and adaptive early-exit inference jointly affect LLM performance on consumer edge hardware (laptops).
How does the integration of model compression, hardware-aware quantization optimization, and adaptive early-exit inference affect the quality, latency, memory consumption, and energy efficiency of LLMs deployed on edge hardware?
This project does not propose a new algorithm. It combines three existing ideas and studies their combined effect:
| Stage | Purpose |
|---|---|
| 1 | Compression: distillation, pruning, quantization |
| 2 | Hardware-aware configuration search with benchmark feedback |
| 3 | Adaptive early-exit inference (CALM-style) |
Teacher LLM (Qwen3-1.7B)
| Knowledge Distillation
v
Student LLM (Qwen3-0.6B)
| Structured Pruning
v
Compressed LLM
| Quantization (FP16 / INT8 / INT4)
v
Quantized LLM
| Hardware-aware configuration search + benchmark feedback
v
Hardware-Optimized LLM
| CALM-style adaptive inference (confidence check per layer)
v
Token generation -> Evaluation
.
|-- README.md
|-- requirements.txt
|-- configs/ # seeds, dataset paths, run settings
|-- data/ # datasets (not committed if large)
|-- models/ # downloaded and generated models (git-ignored)
|-- stage1_compression/ # distillation, pruning, quantization
|-- stage2_hw_search/ # configuration search and benchmarking
|-- stage3_early_exit/ # CALM-style adaptive inference
|-- benchmarks/ # benchmark scripts and raw results per device
|-- results/ # tables and plots
`-- docs/ # notes, proposal, hardware specs
git clone <repo-url>
cd <repo-name>
python -m venv .venv
# macOS/Linux: source .venv/bin/activate
# Windows: .venv\Scripts\activate
pip install -r requirements.txt
For the real CUDA path, use the Windows setup script in this repo:
powershell -ExecutionPolicy Bypass -File .\scripts\setup_cuda_3050.ps1
This installs the CUDA-enabled PyTorch build for NVIDIA GPUs, then checks whether the 3050 is visible to CUDA.
After installation, validate the GPU path with:
python -m prototype.doctor
Expected output should report CUDA available: True and the RTX 3050 device name.
Energy measurement tools:
Current prototype: The research direction is being refined toward energy-aware adaptive self-speculative decoding. Run
python -m prototype.demofor a dependency-free controller demonstration; see prototype/README.md. Its energy and latency values are synthetic, not GPU measurements. The original research plan below is retained for context.
A learning-focused, systematic experimental study of how model compression, hardware-aware quantization, and adaptive early-exit inference jointly affect LLM performance on consumer edge hardware (laptops).
How does the integration of model compression, hardware-aware quantization optimization, and adaptive early-exit inference affect the quality, latency, memory consumption, and energy efficiency of LLMs deployed on edge hardware?
This project does not propose a new algorithm. It combines three existing ideas and studies their combined effect:
| Stage | Purpose |
|---|---|
| 1 | Compression: distillation, pruning, quantization |
| 2 | Hardware-aware configuration search with benchmark feedback |
| 3 | Adaptive early-exit inference (CALM-style) |
Teacher LLM (Qwen3-1.7B)
| Knowledge Distillation
v
Student LLM (Qwen3-0.6B)
| Structured Pruning
v
Compressed LLM
| Quantization (FP16 / INT8 / INT4)
v
Quantized LLM
| Hardware-aware configuration search + benchmark feedback
v
Hardware-Optimized LLM
| CALM-style adaptive inference (confidence check per layer)
v
Token generation -> Evaluation
.
|-- README.md
|-- requirements.txt
|-- configs/ # seeds, dataset paths, run settings
|-- data/ # datasets (not committed if large)
|-- models/ # downloaded and generated models (git-ignored)
|-- stage1_compression/ # distillation, pruning, quantization
|-- stage2_hw_search/ # configuration search and benchmarking
|-- stage3_early_exit/ # CALM-style adaptive inference
|-- benchmarks/ # benchmark scripts and raw results per device
|-- results/ # tables and plots
`-- docs/ # notes, proposal, hardware specs
git clone <repo-url>
cd <repo-name>
python -m venv .venv
# macOS/Linux: source .venv/bin/activate
# Windows: .venv\Scripts\activate
pip install -r requirements.txt
For the real CUDA path, use the Windows setup script in this repo:
powershell -ExecutionPolicy Bypass -File .\scripts\setup_cuda_3050.ps1
This installs the CUDA-enabled PyTorch build for NVIDIA GPUs, then checks whether the 3050 is visible to CUDA.
After installation, validate the GPU path with:
python -m prototype.doctor
Expected output should report CUDA available: True and the RTX 3050 device name.
Energy measurement tools: