MLX
Safetensors
English
Chinese
qwen2
linux-kernel
qwen2.5
lora
fine-tuning
knowledge-distillation
4-bit precision
Instructions to use gaowanlong/kernel-lora-v0.6 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use gaowanlong/kernel-lora-v0.6 with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir kernel-lora-v0.6 gaowanlong/kernel-lora-v0.6
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
| license: apache-2.0 | |
| language: | |
| - en | |
| - zh | |
| tags: | |
| - linux-kernel | |
| - qwen2.5 | |
| - lora | |
| - mlx | |
| - fine-tuning | |
| - knowledge-distillation | |
| datasets: | |
| - ewedubs/linux-kernel-commits-aireason-instruct | |
| library_name: mlx | |
| # Kernel LoRA v0.6 — Knowledge Distillation from Qwen-3.7-Max | |
| This is a QLoRA fine-tuned version of Qwen2.5-7B-Instruct, specialized in Linux Kernel knowledge. The model was fine-tuned on an M1 Pro (32GB) using MLX, with training data distilled from Qwen-3.7-Max. | |
| ## Training Details | |
| - **Base model**: Qwen2.5-7B-Instruct (4-bit quantized) | |
| - **Method**: QLoRA (rank=8, scale=2.0, dropout=0.1) | |
| - **Training data**: 5,000 kernel Q&A samples distilled from Qwen-3.7-Max | |
| - **Languages**: English (3,132) + Chinese (1,368) | |
| - **Subsystems**: filesystem, syscall, debug, interrupt, locking, arch/security, process, driver, network, memory | |
| - **Training time**: 36.5 minutes on M1 Pro | |
| - **Peak memory**: 7.1 GB | |
| - **Best val loss**: 1.452 (step 39/200) | |
| ## Evaluation | |
| On a 39-question Linux Kernel knowledge test (LLM-as-judge scoring): | |
| - Base model: 74.1% | |
| - Fine-tuned: 69.2% | |
| - Delta: -4.9% | |
| Best categories: Basic Concepts (+3.7%), Chinese Knowledge (-1.7%), Kernel Mechanisms (-3.7%) | |
| ## Usage | |
| ```python | |
| from mlx_lm import load, generate | |
| model, tokenizer = load("gaowanlong/kernel-lora-v0.6") | |
| response = generate( | |
| model, tokenizer, | |
| prompt="What is the Linux kernel? Explain its role in an operating system.", | |
| max_tokens=300, | |
| ) | |
| print(response) | |
| ``` | |
| ## Training History | |
| | Version | Data | Overall Delta | Best Category | | |
| |---------|------|--------------|---------------| | |
| | v0.1 | Raw kernel source | -16.7% | - | | |
| | v0.2 | gzb666 + kernel source | +2.8% | Code Completion | | |
| | v0.3 | gzb666 QA format | -7.4% | Code Completion | | |
| | v0.4 | Eval-aligned data | -5.1% | Basic Concepts | | |
| | v0.5 | Ewedubs commits | -4.1% | Advanced Internals | | |
| | **v0.6** | **Qwen-3.7-Max distilled** | **-4.9%** | **Basic Concepts +3.7%** | | |
| ## Limitations | |
| - Still experimental — knowledge improvements are modest | |
| - Best suited for kernel concept Q&A | |
| - Some degradation in code understanding tasks | |