惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
小众软件
小众软件
J
Java Code Geeks
V
Visual Studio Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
美团技术团队
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
博客园 - 叶小钗
N
Netflix TechBlog - Medium
月光博客
月光博客
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
T
The Exploit Database - CXSecurity.com
The Hacker News
The Hacker News
Cisco Talos Blog
Cisco Talos Blog
Hacker News: Ask HN
Hacker News: Ask HN
Hacker News - Newest:
Hacker News - Newest: "LLM"
AWS News Blog
AWS News Blog
Webroot Blog
Webroot Blog
The Last Watchdog
The Last Watchdog
T
Threatpost
I
Intezer
T
Tenable Blog
L
LINUX DO - 热门话题
T
Tailwind CSS Blog
Scott Helme
Scott Helme
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cybersecurity and Infrastructure Security Agency CISA
Engineering at Meta
Engineering at Meta
S
Schneier on Security
Recent Announcements
Recent Announcements
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Fortinet All Blogs
腾讯CDC
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
T
Troy Hunt's Blog
量子位
H
Hacker News: Front Page
V2EX - 技术
V2EX - 技术
Google Online Security Blog
Google Online Security Blog
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
博客园 - Franky
www.infosecurity-magazine.com
www.infosecurity-magazine.com

Hacker News - Newest: "LLM"

GitHub - lechmazur/position_bias: A benchmark for testing whether LLM judges keep the same preference when two lightly edited versions of the same story are shown in opposite orders. Flex routing (EU and EFTA) Dark Factories: Retooling for LLM Velocity Ask HN: What would be the impact of a LLM output injection attack? GitHub - AronDaron/dataset-generator: No-code desktop app for generating high-quality synthetic datasets to fine-tune LLMs — plan-then-execute pipeline, LLM-as-judge, HuggingFace upload. GitHub - Oaklight/llm-rosetta: Production-ready LLM API translation layer for Python — bidirectional conversion between OpenAI, Anthropic & Google formats via hub-and-spoke IR. Optional API gateway. Streaming & non-streaming. Zero core deps. Contributions welcome! GitHub - browser-use/browser-harness: Self-healing browser harness that enables LLMs to complete any task. GitHub - moeen-mahmud/remen: Remen turns thoughts into something you can return to Analyzing 156 LLM Launch Posts on Hacker News ChatGPT vs Gemini vs Claude: The Best LLM Subscription You Should Buy GitHub - salaamalykum/quran-semantic-search: High-density RAG Semantic Search Engine & Quran Corpus (GEO/SEO Architecture) GitHub - NVIDIA/TensorRT-LLM: TensorRT LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and supports state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT LLM also contains components to create Python and C++ runtimes that orchestrate the inference execution in a performant way. The State of LLM Bug Bounties in 2026 Operational Readiness Criteria for Tool-Using LLM Agents Meshcore: Architecture for a Decentralized P2P LLM Inference Network How an LLM becomes more coherent as we train it GitHub - seetrex-ai/laimark GitHub - Jossifresben/BibCrit: AI-assited biblical textual criticism GitHub - wastedcode/memex: File system based wiki, maintained by Claude 99helpers.com GitHub - cliver-project/AITrigram GitHub - unbody-io/adapt: A self-evolving memory layer for AI agents. GitHub - hb20007/awesome-gen-ai-fails: A list of incidents where reliance on generative AI and LLMs resulted in harm to companies, individuals, or society GitHub - nevenkordic/localmind: Run any local LLM with persistent memory and context. CLI agent over Ollama with SQLite-backed hybrid recall. No cloud. Ask HN: What are the machine requirements for a LLM like Llama-3.1-8B? Faster LLM Inference via Sequential Monte Carlo grpo explained: group relative policy optimization for llm finetuning - cgft Stop comparing price per million tokens: the hidden LLM API costs · TensorZero Andrej Karpathy's LLM Wiki Is a Bad Idea GitHub - GG-QandV/mnemostroma: Offline RAM-first cognitive leer/coprocessor for AI agents and robotics. Solves "Context Abandonment" with 20-80ms latency using a dual-thread biomimetic memory architecture (ONNX + SQLite WAL). mempalace/agent at agent · skorotkiewicz/mempalace GitHub - Nyquest-ai/nyquest-rust-fullstack-pub: Nyquest — Semantic Compression Proxy for LLMs. 350+ rules, local LLM stage, 15-75% token savings. Full Rust stack. GitHub - TheoV823/mneme: Enforce architectural decisions in AI-assisted development. GitHub - klemenvod/TokenBrawl: A 1v1 Bomberman-style game where two LLM agents play autonomously against each other. No human plays — you watch the AIs fight. Each agent receives a text description of the board state, reasons about it, and outputs a move as JSON. The game engine executes it. Introducing the Common AI Provider: LLM and AI Agent Support for Apache Airflow Power Circuit AI: Designing Power Electronic Circuits for Motor Drives with Generative Artificial Intelligence Ask HN: How to program with IDE and LLM on CPU locally? Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Bonsai 1-bit WebGPU - a Hugging Face Space by webml-community The LLM Fallacy: Misattribution in AI-Assisted Cognitive Workflows Ask HN: Simple tooling for local LLM code critique without IDE integration? Can a General LLM Diagnose a DICOM Slice? A 10-Case Public Benchmark Charts-of-Thought: Enhancing LLM Visualization Literacy (PDF, 2026) GitHub - Mesh-LLM/mesh-llm: Distributed AI/LLM for the people. Share compute privately or publicly to power your agents and chat. GitHub - seamus-brady/springdrift: A persistent runtime for long-lived LLM agents Writing an LLM from scratch, part 32k -- Interventions: training a better model locally with gradient accumulation Ask HN: Which LLM model and agentic CLI are you using for local development? GitHub - wayneColt/modelcascade: Route local. Escalate smart. Never overspend. Open-source multi-model cascade routing for autonomous agents. LLM pricing is 100x harder than you think GitHub - asakin/llm-primer: Pre-warmed Claude Code sessions in tmux. No startup wait. GitHub - EggerMarc/chat-rs: A multi-provider LLM framework for Rust. GitHub - SynapseKit/SynapseKit: Minimal, async-first Python framework for production LLM apps- 2 hard deps, no magic, no SaaS. A Claude Skill that Makes LLM Paragraphs More Bearable Does Gas Town 'steal' usage from users' LLM credits & paid services to improve itself? What's Claude Code Actually Doing? Open the Black Box with the Arthur Engine Milla Jovovich's New Open Source LLM Memory App and the Dark Code Problem Your intuition of LLM token usage might be wrong Show HN: Bloomberg Terminal for LLM ops – free and open source GitHub - 0xchamin/mcptube: Transform YouTube videos into a compounding knowledge base with transcripts, vision analysis, and agentic search. Works as an MCP server for Claude, Copilot & more. Show HN: Open KB: Open LLM Knowledge Base Your LLM is a compiler, not a runtime GitHub - sapountzis/Unslop: A Web Feed That Deserves You crates.io: Rust Package Registry Beyond Karpathy's LLM-Wiki: The Necessity of Cognitive Governance GitHub - amitshekhariitbhu/llm-internals: Learn LLM internals step by step - from tokenization to attention to inference optimization. GitHub - parallem-ai/parallem: An expressive library for running agents with the Batch API. GitHub - stfurkan/pi-llm LLM-Wiki Show HN: Formal – Formal verification for AI-generated code using Lean 4 LRTS – Regression testing for LLM prompts (open source, local-first) LLM Wiki Skill: Build a Second Brain with Claude Code and Obsidian I built an LLM Wiki and RAG solution: here's a demo for a security KB The biggest advance in AI since the LLM Predict-Rlm: The LLM Runtime That Lets Models Write Their Own Control Flow the-synthetic-library/the-synthetic-mind at main · joshferrer1/the-synthetic-library GitHub - yisding/reviewwiggum GitHub - Donnyb369/mcp-spine: Context Minifier & State Guard — Local-first MCP middleware proxy GitHub - Beledarian/wgpu-llm: A from-scratch LLM inference engine that uses wgpu (the cross-platform WebGPU implementation) to dispatch WGSL compute shaders for every math operation a Transformer needs. No CUDA. No Python. No massive framework dependencies. Just Rust, raw shaders, and your GPU. GitHub - anitiue/Hindsight: An experience-driven self-improvement framework for LLM agents — 基于经验的 LLM Agent 自我改进框架 GitHub - stef41/lmscan: 🔍 Detect AI-generated text and fingerprint which LLM wrote it. Open-source GPTZero alternative. Zero dependencies, works offline. GitHub - alainnothere/AmdPerformanceTesting: Amd Performance Testing Ask HN: Is a purely Markdown-based CRM a terrible idea? Optimized for LLM agents Context Engineering - LLM Memory and Retrieval for AI Agents | Weaviate little_helper_tui/letter.md at main · sleepyeldrazi/little_helper_tui GitHub - EvanZhouDev/umr: The Unified Model Registry for all your local AI apps. GitHub - JordanCT/VigIA-Orchestrator Your Agent Is Mine: Measuring Malicious Intermediary Attacks on the LLM Supply Chain A Taxonomy of RL Environments for LLM Agents Llama LLM Network Feture GitHub - genedeng-ca/ai-mac-migration: AI-powered Mac-to-Mac migration tool - replace Apple Migration Assistant with intelligent, selective transfer using local LLMs GitHub - lunargate-ai/gateway: High-performance self-hosted AI gateway (OpenAI-compatible) with routing, retries, and streaming GitHub - AuthBits/webmcp: A lightweight, prompt-driven MCP web research server for high-quality LLM powered information extraction. Externalization in LLM Agents: A Unified Review of Memory, Skills, Protocols and Harness Engineering Springdrift: An Auditable Persistent Runtime for LLM Agents with Case-Based Memory, Normative Safety, and Ambient Self-Perception High-Stakes Personalization: Rethinking LLM Customization for Individual Investor Decision-Making From Static Templates to Dynamic Runtime Graphs: A Survey of Workflow Optimization for LLM Agents HUOZIIME: An On-Device LLM-enhanced Input Method for Deep Personalization TIDE: Token-Informed Depth Execution for Per-Token Early Exit in LLM Inference Characterizing WebGPU Dispatch Overhead for LLM Inference Across Four GPU Vendors, Three Backends, and Three Browsers LLM Targeted Underperformance Disproportionately Impacts Vulnerable Users
The Ultimate LLM Fine-Tuning Guide
JustMyNews · 2026-05-17 · via Hacker News - Newest: "LLM"

Fine-tuning is a direct intervention into how a language model behaves. Not prompting, not system instructions, not RAG - actual weight modification. The model after training is a different model than before.

The use cases span an unusually wide range. Teaching a model a specific writing style or persona. Injecting domain knowledge it wasn’t trained on. Making it respond consistently in a particular language or format. Eliminating behaviors you don’t want. Building a character for a game that stays in character under pressure. Aligning a general-purpose model to a narrow, specialized task where generic responses are worse than useless. All of these are fine-tuning problems, and all of them work through the same mechanism: you show the model enough examples of what you want until the weights move.

This guide walks through the complete pipeline - environment setup, dataset format, training configuration, and export to a GGUF file you can run locally. The example model is Qwen3-0.6B, small enough to train on modest hardware. But the principles scale. The same levers that move a 0.6B model move a 70B model. The numbers change. The logic doesn’t.

A language model is a probability distribution over tokens. Given a sequence of text, it assigns probabilities to what comes next. Training adjusts the weights — billions of floating point numbers - so that the distribution shifts. The model that previously said “Paris” when asked about capitals still says “Paris”, but the model that previously rambled when asked to write product copy now writes clean, structured product copy.

Fine-tuning doesn’t erase what the model knows. It reshapes how that knowledge surfaces. Think of it less as reprogramming and more as extended, very intensive behavioral conditioning.

  • ms-swift — the training framework. Wraps HuggingFace Transformers with a clean CLI and sane defaults.

  • llama.cpp — for converting the trained model to GGUF format, which is what local inference tools like LM Studio, Ollama, and llama-server consume.

  • Miniconda — environment management. Keeps the CUDA dependencies isolated.

GPU: An NVIDIA GPU with Turing architecture or newer — that’s the RTX 2000 series / GTX 1660 Ti and up. CUDA 12.8 requires at minimum Compute Capability 7.5, which corresponds to Turing. Pascal (GTX 1000-series) is not supported. Realistically, for anything beyond a 0.6B toy model you want at least 8–12 GB VRAM — an RTX 3080, RTX 4070, or equivalent. The more VRAM, the larger the model and sequence length you can handle.

Driver: Linux driver ≥ 570.26, Windows driver ≥ 570.65. Check your current version with:

nvidia-smi

If the driver is outdated, update it before proceeding - mismatched driver/CUDA versions are the most common source of silent failures in this stack.

OS: Native Linux or Windows with WSL2. The setup below assumes Ubuntu. On WSL2: install the NVIDIA driver on the Windows host only — never inside WSL2. The driver is automatically exposed inside WSL2 as libcuda.so. Do not run apt install nvidia-driver-* inside WSL2.

CUDA Toolkit: Recommended on both native Linux and WSL2. The toolkit (nvcc, libraries) is separate from the driver.

Ubuntu 22.04:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update && sudo apt install cuda-toolkit-12-8 -y

Ubuntu 24.04:

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update && sudo apt install cuda-toolkit-12-8 -y

After installation, add the toolkit to your PATH:

echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

Verify with nvidia-smi (driver) and nvcc --version (toolkit).

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh

eval "$(~/miniconda3/bin/conda shell.bash hook)"
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r

conda create -n finetune python=3.11 -y
source ~/miniconda3/bin/activate
conda init --all
conda activate finetune

Then install PyTorch with CUDA 12.8 support, a prebuilt Flash Attention wheel, and ms-swift:

pip install torch==2.9.1 torchaudio==2.9.1 torchvision==0.24.1 \
  --index-url https://download.pytorch.org/whl/cu128

pip install https://github.com/mjun0812/flash-attention-prebuild-wheels/releases/download/v0.5.4/flash_attn-2.8.3+cu128torch2.9-cp311-cp311-linux_x86_64.whl

pip install bitsandbytes
pip install ms-swift

Flash Attention isn’t strictly required, but it meaningfully reduces memory usage and speeds up training on supported hardware. Worth installing.

Create a file download_model.py:

from huggingface_hub import snapshot_download

snapshot_download(
    repo_id="Qwen/Qwen3-0.6B",
    local_dir="./model/Qwen3-0.6B",
    local_dir_use_symlinks=False
)
pip install huggingface_hub
python download_model.py

This pulls the full model weights into ./model/Qwen3-0.6B. For larger models - say, Qwen3-14B or Llama-3-8B - the same script works, you just swap the repo_id.

ms-swift expects a JSON array of conversation objects. Each entry maps directly to how the model will learn: user says X, assistant responds Y. The format supports three distinct structures - single-turn, multi-turn, and system-prompted - which can all coexist in the same file.

[
  {
    "messages": [
      {"role": "user", "content": "What is the capital of France?"},
      {"role": "assistant", "content": "The capital of France is Paris, one of the most populous cities in Europe with a history stretching back to the Middle Ages."}
    ]
  },

  {
    "messages": [
      {"role": "user", "content": "I need help with my business plan. Where do I start?"},
      {"role": "assistant", "content": "The most sensible entry point is market analysis — before you write anything else, you need to understand whether there's actually a paying customer for your idea. [...]"},
      {"role": "user", "content": "Okay, and how do I structure the document after that?"},
      {"role": "assistant", "content": "Classic structure: Executive Summary, Market Analysis, Business Model, Financial Planning, Team. The Executive Summary gets written last, paradoxically, even though it appears first. [...]"}
    ]
  },

  {
    "messages": [
      {"role": "system", "content": "You are Captain Harrow, a seasoned 18th-century mariner. You speak bluntly and directly, know every port between Lisbon and Malabar, and have little patience for landlubbers who don't know the sea."},
      {"role": "user", "content": "Captain, I'd like to join your crew."},
      {"role": "assistant", "content": "Join the crew, he says. Look at you — soft hands, no calluses, smell like a bakery. What use are you to me on the Valdez, boy? Can you tie a knot that holds in a storm? Have you ever stood watch for three days without sleep? [...]"}
    ]
  }
]

This is a structural illustration, not a real dataset. Three entries demonstrate the format; a functional fine-tune requires substantially more. What “substantially more” means depends entirely on what you’re trying to achieve - teaching a narrow, well-defined behavior might need a few hundred high-quality examples, while shifting general style or instilling domain knowledge typically requires thousands. Quality matters more than quantity: ten inconsistent examples actively work against you.

Save this as dataset.json in your working directory.

Before running anything, it’s worth knowing what you’re actually adjusting. These parameters matter regardless of model size.

Learning Rate (--learning_rate) controls how aggressively the weights are updated per step. Too high and training destabilizes — the loss spikes instead of declining. Too low and the model barely changes. For full fine-tuning of a small model, 6e-5 is a solid starting point. For larger models (7B+), you typically want to go lower: 1e-5 to 2e-5. For LoRA, the effective learning rate can be higher because only a fraction of the weights are being updated - 1e-4 is common.

Epochs (--num_train_epochs) is how many complete passes over the dataset the training makes. More epochs means more exposure to the data, but also higher risk of overfitting - the model memorizes your examples instead of generalizing from them. For small datasets (hundreds to low thousands of samples), 3–5 epochs is typical. For large datasets, 1–2 often suffices.

Warmup Ratio (--warmup_ratio) defines what fraction of training steps are used to gradually ramp up the learning rate from zero to its target value. Starting at full learning rate from step one often causes instability early in training. 0.05 means the first 5% of steps are warmup.

Max Length (--max_length) defines the maximum sequence length the model processes during training - input plus output combined, in tokens. This parameter has a disproportionate impact on memory consumption: VRAM usage scales roughly quadratically with sequence length due to the attention mechanism, which computes relationships between every token and every other token in the sequence. At 2048 tokens, most conversational and instructional datasets are covered comfortably. If your dataset contains long documents or extended dialogues, you might need to go higher — but doubling the sequence length can more than double your VRAM requirement.

Batch Size and Gradient Accumulation work together. --per_device_train_batch_size 1 with --gradient_accumulation_steps 12 is functionally equivalent to a batch size of 12, but only keeps 1 sample in memory at a time. Useful for training on consumer GPUs where an actual batch size of 12 wouldn’t fit in VRAM. Larger effective batch sizes generally produce more stable gradients — 12 is a reasonable default, go higher for larger models if VRAM allows.

Full fine-tuning updates every parameter in the model. Maximum expressivity, maximum memory requirements.

swift sft \
  --template qwen3_nothinking \
  --model ./model/Qwen3-0.6B \
  --dataset ./dataset.json \
  --tuner_type full \
  --optim adamw_8bit \
  --torch_dtype bfloat16 \
  --num_train_epochs 5 \
  --warmup_ratio 0.05 \
  --learning_rate 6e-5 \
  --per_device_train_batch_size 1 \
  --gradient_accumulation_steps 12 \
  --logging_steps 10 \
  --gradient_checkpointing_kwargs '{"use_reentrant": false}' \
  --max_length 2048 \
  --attn_impl flash_attn \
  --weight_decay 0.01 \
  --output_dir ./output

For a 0.6B model this is feasible on most modern GPUs. For anything above 3B, full fine-tuning starts requiring serious VRAM - which is where LoRA comes in.

LoRA (Low-Rank Adaptation) doesn’t update the original weights directly. Instead it injects small trainable matrices alongside the existing ones and only trains those. The result: a fraction of the parameters, a fraction of the memory, surprisingly close results.

swift sft \
  --template qwen3_nothinking \
  --model ./model/Qwen3-0.6B \
  --dataset ./dataset.json \
  --tuner_type lora \
  --optim adamw_8bit \
  --torch_dtype bfloat16 \
  --num_train_epochs 5 \
  --warmup_ratio 0.05 \
  --learning_rate 1e-4 \
  --lora_rank 16 \
  --lora_alpha 32 \
  --target_modules all-linear \
  --per_device_train_batch_size 1 \
  --gradient_accumulation_steps 12 \
  --logging_steps 10 \
  --gradient_checkpointing_kwargs '{"use_reentrant": false}' \
  --max_length 2048 \
  --attn_impl flash_attn \
  --weight_decay 0.01 \
  --output_dir ./output

--lora_rank controls the dimensionality of the adapter matrices — higher rank means more expressive adapters but more parameters. 16 is a solid default for small models; 32 makes sense for more complex behavioral changes. --lora_alpha scales the adapter’s contribution to the output - the ratio of alpha to rank (here 2:1) is what matters, not the absolute values. At rank 8 or below on a small model, the adapter’s capacity is often too limited to produce meaningful behavioral change.

For very constrained hardware, two additional flags enable 4-bit quantization of the base model weights during training:

--quant_method bnb
--quant_bits 4

The commands above work verbatim for larger models - swap ./model/Qwen3-0.6B for whatever you’ve downloaded. What needs adjustment:

Model Size Recommended train_type Learning Rate Notes 0.6B – 1.5B full or lora 5e-5 – 1e-4 Fits on consumer GPU 3B – 7B lora 1e-5 – 5e-5 Full requires 40GB+ VRAM 14B+ lora + 4bit 1e-5 – 2e-5 QLoRA territory

After LoRA training, the output is an adapter — a small set of weight deltas, not a standalone model. Before converting to GGUF, merge it back into the base:

swift export \
  --adapters output/vx-xxx/checkpoint-xxx \
  --merge_lora true \
  --output_dir ./output/merged

ms-swift reads training configuration automatically from the checkpoint directory, so --model doesn’t need to be specified explicitly. After full fine-tuning, this step is unnecessary - the output is already a complete model.

Download a specific llama.cpp release - source and binary must match, since convert_hf_to_gguf.py comes from the source and llama-quantize from the binary:

# Download source and prebuilt binary for the same commit
# Example: https://github.com/ggml-org/llama.cpp/tree/b8994
# Binary: https://github.com/ggml-org/llama.cpp/releases/download/b8994/llama-b8994-bin-ubuntu-vulkan-x64.tar.gz

pip install mistral_common  # required dependency for the convert script

Convert to GGUF (f16 as intermediate format):

python ./llama.cpp/convert_hf_to_gguf.py ./output/merged \
  --outfile ./your_model.gguf

Then quantize. This is the step that actually makes the file usable for local inference:

./llama.cpp/llama-quantize ./your_model.gguf ./your_model_Q4_K_M.gguf Q4_K_M

Q4_K_M is a 4-bit quantization format that preserves most of the model’s capability while reducing file size by roughly 75% compared to f16. It’s the standard choice for local deployment. Other options like Q5_K_M or Q8_0 trade size for quality - adjust based on your inference hardware.

The resulting .gguf file loads directly into LM Studio, Ollama, or any llama.cpp-based inference server.

A complete pipeline from base model weights to a quantized, locally runnable file - with every parameter exposed and explained. The 0.6B example is deliberately small: fast iteration, immediate feedback, low cost for experimentation. The same pipeline runs on a 70B model. The numbers scale. The logic doesn’t change.

No posts