Instructions to use Nikhil69/Qwen3.5-4B-ebpf-it with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use Nikhil69/Qwen3.5-4B-ebpf-it with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M # Run inference directly in the terminal: llama cli -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M # Run inference directly in the terminal: llama cli -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
Use Docker
docker model run hf.co/Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
- LM Studio
- Jan
- Ollama
How to use Nikhil69/Qwen3.5-4B-ebpf-it with Ollama:
ollama run hf.co/Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
- Unsloth Studio
How to use Nikhil69/Qwen3.5-4B-ebpf-it with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Nikhil69/Qwen3.5-4B-ebpf-it to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Nikhil69/Qwen3.5-4B-ebpf-it to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Nikhil69/Qwen3.5-4B-ebpf-it to start chatting
- Pi
How to use Nikhil69/Qwen3.5-4B-ebpf-it with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- OpenClaw new
How to use Nikhil69/Qwen3.5-4B-ebpf-it with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
- Docker Model Runner
How to use Nikhil69/Qwen3.5-4B-ebpf-it with Docker Model Runner:
docker model run hf.co/Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
- Lemonade
How to use Nikhil69/Qwen3.5-4B-ebpf-it with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
Run and chat with the model
lemonade run user.Qwen3.5-4B-ebpf-it-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use Nikhil69/Qwen3.5-4B-ebpf-it with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default Nikhil69/Qwen3.5-4B-ebpf-it:Q4_K_M
Run Hermes
hermes
- Atomic Chat
Qwen3.5-4B-ebpf-it : GGUF
Qwen3.5-4B eBPF Specialist โ Fine-tuning Experiment
This is a research experiment, not a production model.
The Question
Can a general-purpose conversational model get a meaningful boost on a niche coding domain with a small synthetic dataset โ and if so, what does that imply for coder-specific base models?
eBPF is a good stress test: niche enough that general LLMs hallucinate APIs, with multiple distinct frameworks (Rust/aya, Go/cilium-ebpf, C/libbpf) that each have their own conventions. A model that "knows eBPF" in the conceptual sense still fails to write compilable code.
What Was Done
- Scraped 19 eBPF open-source repos โ extracted code/doc chunks
- Generated 6,412 synthetic Q&A pairs using a local Qwen3.5:27B via llama-server
- Fine-tuned Qwen3.5-4B (a conversational model, not a code model) with LoRA for 3 epochs
- Evaluated with a compilation-based pass@1 benchmark โ the code must actually compile
Results
| Model | pass@1 | libbpf_c | cilium_go | aya_kernel | conceptual |
|---|---|---|---|---|---|
| Qwen3.5-4B baseline | 12.5% (5/40) | 0% | 0% | 0% | 83% |
| This model (fine-tuned) | 22.5% (9/40) | 30% | 0% | 0% | 100% |
+10pp absolute / +80% relative over the untuned base on a 40-problem benchmark.
The improvement is real but narrow โ libbpf C benefited most from clean CO-RE style signal in the training data. aya (Rust) and cilium/ebpf (Go) still score 0%; they need more targeted examples.
The Implication
This used a conversational base model (Qwen3.5-4B), not a code-specialized one. The same pipeline applied to a coder-specific base โ Qwen2.5-Coder, DeepSeek-Coder, or similar โ should compound: the base model already understands code structure, so domain-specific fine-tuning has a stronger foundation to build on.
This experiment establishes a floor. A coder base model is the logical next step.
Training Details
- Base model:
unsloth/Qwen3.5-4B - Dataset: Nikhil69/ebpf-instruct-v2 โ 6,412 ShareGPT-format pairs
- Method: LoRA rank 32, alpha 32, 3 epochs, context 2048
- Optimizer: AdamW 8-bit, LR 2e-4, cosine scheduler
- Hardware: NVIDIA GH200 via Supermicro Jumpstart
Full write-up and eval code: github.com/Nikhil690/ebpf-llm-training-experiment
Files
| File | Quantization | Size |
|---|---|---|
Qwen3.5-4B.F16.gguf |
F16 | 8.42 GB |
Qwen3.5-4B.Q8_0.gguf |
Q8_0 | 4.48 GB |
Qwen3.5-4B.Q5_K_M.gguf |
Q5_K_M | 3.07 GB |
Qwen3.5-4B.Q4_K_M.gguf |
Q4_K_M | 2.71 GB |
This model was finetuned and converted to GGUF format using Unsloth.
Example usage:
- For text only LLMs:
llama-cli -hf Nikhil69/Qwen3.5-4B-ebpf-it --jinja - For multimodal models:
llama-mtmd-cli -hf Nikhil69/Qwen3.5-4B-ebpf-it --jinja
Available Model files:
Qwen3.5-4B.F16.ggufQwen3.5-4B.BF16-mmproj.ggufThis was trained 2x faster with Unsloth
- Downloads last month
- 49
4-bit
5-bit
8-bit
16-bit