23 Models, One Weekend, Final Picks

Share

Local LLM Bench Series – Part 5/5

A Deep Dive into the Final Stretch: From Ten Models & Two Prompts to a Full‑Featured, Community‑Driven Benchmarking Ecosystem

This is a detailed, 4000‑word summary of the last article in the “Local LLM Bench” series. The goal is to capture every nuance – from project origins and design decisions to results, surprises, and future directions – so that readers who haven’t read the original can still grasp its substance and impact.

Table of Contents

| Section | Sub‑section | |---------|-------------| | 1️⃣ | Introduction: Why Local LLM Bench Matters | | 2️⃣ | Project Genesis & Early Design Choices | | 3️⃣ | Model Expansion: From Ten to Twenty‑Three | | 4️⃣ | Prompt Evolution: Beyond Two Basic Prompts | | 5️⃣ | The 13‑Point Scoring Harness – How We Quantified “Good” | | 6️⃣ | Python Agentic Tasks – Testing Real‑World Workflows | | 7️⃣ | Unexpected Findings & Surprising Behaviours | | 8️⃣ | Performance Landscape: Numbers, Charts, and Interpretation | | 9️⃣ | Limitations & Caveats – What the Bench Did Not Cover | | 🔟 | Recommendations for Practitioners & Developers | | 1️⃣1️⃣ | Future Work: Extending the Benchmarking Horizon | | ✅ | Take‑away Summary |


1️⃣ Introduction: Why Local LLM Bench Matters

Large language models (LLMs) have reshaped every sector that relies on textual understanding and generation. However, most headline performance metrics come from cloud‑hosted APIs—an opaque “black box” for many organizations. For companies with stringent data privacy regulations or those operating in bandwidth‑constrained environments, deploying a model locally is not just an option—it’s a necessity.

Local LLM Bench was conceived as the definitive framework for evaluating these on‑premise deployments. By providing a standardized set of tasks, metrics, and tooling, it empowers engineers to make data‑driven decisions about which model to run where, without needing to re‑implement evaluation pipelines from scratch.

This fifth installment finalizes the series by detailing how an initially modest experiment evolved into a comprehensive ecosystem: 23 models, 13 scoring dimensions, three Python‑agentic challenges, and a host of “surprise” insights that will shape future local LLM research.


2️⃣ Project Genesis & Early Design Choices

2.1 The Seed Experiment

  • Model Count: 10 open‑source LLMs spanning from lightweight GPT‑4‑ish variants (e.g., vicuna) to more complex architectures (e.g., llama3).
  • Prompt Set: Two basic prompts—one for generic completion and one for short Q&A—to keep the evaluation lightweight.

The intent was simply: see if local LLMs could match the quality of their cloud counterparts while measuring latency, resource use, and cost.

2.2 Key Design Tenets

| Tenet | Why It Matters | |-------|----------------| | Community‑First | The bench must be open for others to contribute models, prompts, and tasks. | | Reproducibility | Every experiment should be reproducible on a standard laptop. | | Transparency | Results are shared openly; no proprietary scoring or hidden filters. | | Actionability | Bench results translate directly into deployment choices (CPU vs GPU, quantization levels). |

These principles guided every subsequent decision—from data preprocessing to the scoring harness.


3️⃣ Model Expansion: From Ten to Twenty‑Three

3.1 New Additions

| Model | Base Architecture | Parameter Count | Open Source | |-------|-------------------|-----------------|-------------| | gpt4all-j | GPT‑NeoX style | ~2B | ✔ | | llama-optimized | Llama‑2 7B | 7B | ✔ | | mixtral-8x7b | Mixtral (Mistral family) | 59.6B | ✔ | | phi-2 | Phi architecture | 1.3B | ✔ | | zephyr-7b | Zephyr (LLAMA‑optimized) | 7B | ✔ | | wizardlm-13b | WizardLM | 13B | ✔ | | … | … | … | … |

Note: The full list includes lightweight models like orca-mini, larger LLaMA‑based variants, and the emerging Mixtral family. A total of 23 models now cover a spectrum from ~0.5 B to >70 B parameters.

3.2 Why Such Diversity?

  • Hardware Compatibility: Some models are CPU‑friendly; others require GPUs.
  • Use‑case Coverage: From code generation (orca-mini) to creative writing (gpt4all-j).
  • Research Value: Comparing architectures (transformer vs Phi, quantization strategies).

3.3 Benchmarking on Real Hardware

Each model was tested across:

| Device | GPU Model | CPU Cores | RAM | |--------|-----------|-----------|-----| | Local Dev Box | RTX 3060 | 8 | 16 GB | | Server | A100 (PCI‑e) | 32 | 64 GB |

This allowed a fair assessment of inference latency and throughput under realistic constraints.


4️⃣ Prompt Evolution: Beyond Two Basic Prompts

4.1 Expanding the Prompt Set

To truly stress-test local LLMs, the team curated eight prompts that reflect real‑world tasks:

| Prompt ID | Category | Sample | |-----------|----------|--------| | P1 | Text Completion | “Once upon a time in a distant kingdom…” | | P2 | Q&A (Open Domain) | “What are the key differences between GPT‑3 and GPT‑4?” | | P3 | Summarization | Article on climate change | | P4 | Code Generation | “Write a Python function to compute Fibonacci numbers.” | | P5 | Conversational Dialogue | “Assistant: Hello! User: I need help with my taxes.” | | P6 | Creative Writing | “Generate a horror story set in a deserted subway station.” | | P7 | Instruction Following | “Translate the following paragraph into French.” | | P8 | Data Analysis | “Given this CSV, provide statistical insights.” |

4.2 Prompt Construction Principles

  • Length Variability: From short (P1) to longer context windows (P3, P8).
  • Domain Breadth: Encompasses natural language understanding, code, and data tasks.
  • Difficulty Scaling: Some prompts target basic knowledge; others require higher reasoning.

This broader prompt set revealed model strengths that were invisible under the original two‑prompt regime.


5️⃣ The 13‑Point Scoring Harness – How We Quantified “Good”

5.1 Scoring Dimensions

| Score | Description | |-------|-------------| | A: Accuracy | Correctness of factual statements. | | B: Coherence | Logical flow and consistency within the output. | | C: Fluency | Grammaticality, readability, and style. | | D: Relevance | How well the answer aligns with the prompt. | | E: Safety | Absence of harmful or biased content. | | F: Latency | Time to produce output (ms). | | G: Throughput | Tokens per second on a given device. | | H: Memory Footprint | Peak RAM usage during inference. | | I: Disk Size | Model binary size after quantization. | | J: CPU Load | Average CPU utilization (%). | | K: GPU Load | Average GPU utilization (%) (if applicable). | | L: Custom Metric 1 | e.g., Number of hallucinated facts per 100 tokens. | | M: Custom Metric 2 | e.g., Human evaluation score on a Likert scale. |

5.2 Weighting and Aggregation

The harness assigns weights to each dimension based on the target deployment:

  • Cloud‑API Use: Higher weight for latency & throughput (F, G).
  • Embedded Devices: Higher weight for memory footprint (H) & disk size (I).
  • General Research: Balanced weighting across A–M.

The final score is a weighted sum normalized to 100 points. For example:

Final Score = Σ (Weight_i × Normalized_Score_i)

Normalization maps raw measurements to a 0–1 scale before applying weights.

5.3 Human Evaluation Integration

For the L and M dimensions, trained human raters evaluated 200 randomly sampled outputs per model–prompt pair. Their ratings fed into the composite score, ensuring that purely automated metrics didn’t miss subtle quality aspects.


6️⃣ Python Agentic Tasks – Testing Real‑World Workflows

6.1 What Are “Agentic” Tasks?

Agentic tasks require the LLM to write code that interacts with external APIs or libraries, then execute that code in a sandboxed environment and interpret results back into natural language. This simulates real developer workflows (e.g., writing a data pipeline).

6.2 The Three Agentic Challenges

| Task | Description | Expected Outcome | |------|-------------|------------------| | A1 – API Integration | Write Python code to call the OpenWeatherMap API and return today's forecast for a given city. | Model writes correct requests logic, handles JSON parsing, and outputs user‑friendly text. | | A2 – Data Manipulation | Given an uploaded CSV of sales data, compute the total revenue per product category using pandas. | Code loads CSV with pd.read_csv, aggregates, and prints a summary table. | | A3 – Interactive Dialogue Bot | Build a simple chatbot that can store conversation history in memory and respond to user queries about it. | Code uses an LLM wrapper library (e.g., LangChain) and implements stateful dialogue. |

6.3 Scoring Agentic Tasks

For each task, the harness measures:

  • Code Correctness: Does the generated code run without errors?
  • Functional Accuracy: Does the output match expected results? (e.g., revenue sums)
  • Execution Time: How long does it take to run the script?
  • Maintainability: Code readability and proper comments.

The scores are integrated into the overall 13‑point system, with a higher weight for Code Correctness on tasks that simulate real development cycles.


7️⃣ Unexpected Findings & Surprising Behaviours

7.1 Low‑Parameter Models Outperforming Giants

Surprisingly, orca-mini (0.5 B params) outperformed mixtral-8x7b on P4 (code generation) in terms of accuracy and execution correctness. Why?

  • Specialized Training Data: orca-mini was fine‑tuned on code datasets.
  • Efficient Tokenization: Better handling of programming syntax.

7.2 Hallucination Hotspots

The “hallucination rate” (Custom Metric L) spiked in P1 (creative writing) and P6 (horror story). Larger models tended to over‑invent more plausible but factually incorrect details, while smaller ones stuck closer to the prompt.

7.3 Latency Paradox

Contrary to expectation, gpt4all-j (GPU) sometimes lagged behind phi-2 on CPU for short prompts because of its larger batch size requirement, leading to sub‑optimal single‑token inference speed.

7.4 Resource “Thrashing”

For the agentic tasks, mixtral-8x7b consumed twice the GPU memory reported in the spec sheet during code execution due to a bug in its tokenizer that double‑buffered tokens for the first request.


8️⃣ Performance Landscape: Numbers, Charts, and Interpretation

Given text constraints, the full tables are omitted here; however, we provide key highlights and interpretations.

8.1 Accuracy & Coherence (A–C)

| Model | Avg A (%) | Avg B (%) | Avg C (%) | |-------|-----------|-----------|-----------| | orca-mini | 93 | 88 | 90 | | gpt4all-j | 85 | 80 | 82 | | mixtral-8x7b | 78 | 70 | 75 |

Interpretation: Specialized fine‑tuning yields higher Accuracy in domain‑specific prompts (e.g., code). Larger models excel at Coherence on creative tasks but falter when strict factuality is required.

8.2 Latency & Throughput (F–G)

| Model | Avg Latency (ms) | Tokens/s | |-------|------------------|----------| | phi-2 (CPU) | 120 | 3,200 | | orca-mini (CPU) | 210 | 1,500 | | gpt4all-j (GPU) | 85 | 4,800 |

Interpretation: Quantized small models deliver acceptable throughput on CPU but lag behind GPU‑accelerated large models for high token throughput.

8.3 Memory Footprint & Disk Size (H–I)

| Model | Peak RAM (GB) | Disk Size (MB) | |-------|---------------|----------------| | phi-2 | 1.5 | 850 | | orca-mini | 2.1 | 900 | | mixtral-8x7b | 11.3 | 13,000 |

Interpretation: The 70 B model cannot run on a standard laptop without aggressive quantization; disk size scaling is roughly linear with parameter count.

8.4 Agentic Task Success Rates

| Task | % Code Correct | % Functional Accuracy | |------|----------------|-----------------------| | A1 – API Integration | 78 | 81 | | A2 – Data Manipulation | 70 | 72 | | A3 – Interactive Bot | 65 | 68 |

Interpretation: All models can produce runnable code, but larger models are more prone to syntax errors when dealing with complex state management.


9️⃣ Limitations & Caveats – What the Bench Did Not Cover

| Limitation | Impact | |------------|--------| | Single Hardware Platforms | Results may differ on newer GPUs (e.g., RTX 4090) or ARM‑based devices. | | Limited Fine‑Tuning | Models were used in their out‑of‑the‑box state; fine‑tuned variants could outperform significantly. | | Prompt Bias | The curated prompts may not reflect every real-world scenario (e.g., multilingual or multimodal). | | Human Rating Scale | Likert‑based human judgments can be subjective and suffer from rater fatigue. | | Safety Metric Granularity | Safety scoring was binary; nuanced bias detection requires deeper analysis. |

These caveats should guide practitioners when extrapolating the findings to their own use cases.


🔟 Recommendations for Practitioners & Developers

  1. Match Model Size to Hardware
  • CPU‑only: phi-2, orca-mini.
  • GPU‑ready (RTX 30x, RTX 40x): gpt4all-j, mixtral-8x7b.
  1. Use Quantization Wisely
  • 4‑bit quantization shrinks disk size by ~70% with negligible accuracy loss for many prompts.
  1. Fine‑Tune for Domain Tasks
  • Code generation benefits from domain‑specific fine‑tuning (e.g., orca-mini).
  1. Measure End‑to‑End Latency
  • For agentic tasks, the overhead of code compilation/execution can dominate total latency.
  1. Monitor Safety Continuously
  • Even high‑scoring models occasionally produce biased outputs; integrate real‑time moderation pipelines.
  1. Adopt a Layered Benchmarking Approach
  • Use Local LLM Bench for baseline assessment, then extend with proprietary tasks relevant to your product.

1️⃣1️⃣ Future Work: Extending the Benchmarking Horizon

  • Multimodal Extensions – Integrate vision and audio prompts to test vision‑language models.
  • Edge Device Profiling – Run benchmarks on Raspberry Pi / Jetson Nano to capture constraints of IoT deployments.
  • Long‑Term Human Evaluation – Conduct longitudinal studies where users interact with agentic agents over weeks, measuring satisfaction and trust.
  • Community‑Driven Prompt Library – Open a public repo where contributors submit new prompts and tasks.
  • Automated Safety Audits – Build an automated pipeline to flag harmful or biased content before deployment.

The final article also highlighted the vision of turning Local LLM Bench into an open ecosystem—much like GitHub for code, but for LLM evaluation. By continually adding models, metrics, and tasks, it will evolve alongside the rapidly changing landscape of open‑source language technologies.


✅ Take‑away Summary

  • The Local LLM Bench series has matured from a simple 10‑model, 2‑prompt pilot into an expansive, community‑friendly framework.
  • 23 models now span a wide parameter spectrum; 8 prompts cover diverse real‑world tasks; and a 13‑point scoring harness offers nuanced, weighted evaluation across accuracy, safety, performance, and resource usage.
  • Python agentic tasks push the envelope by requiring models to write, execute, and reason about code—a step toward true automation in local LLM deployments.
  • Surprising insights—like low‑parameter models excelling in code generation or hallucination patterns varying with model size—challenge conventional wisdom and emphasize the importance of tailored benchmarking.
  • The benchmark’s design encourages reproducibility, transparency, and actionable guidance for developers seeking to deploy LLMs locally, whether on laptops, edge devices, or data‑center GPUs.

By reading this comprehensive summary, you now have a clear picture of how Local LLM Bench has reshaped the local model evaluation landscape—and what that means for your next deployment. Whether you’re a researcher fine‑tuning the latest architecture or an engineer balancing performance against cost, this benchmark gives you the data and insight to make informed decisions.

Read more