# Ні, маленькі моделі - це не "Правильний варіант"

<!--category-- AI, LLM, Opinion, Ollama, ONNX -->
<datetime class="hidden">2025-12-28T16:00</datetime>

Малу і локальну LLM часто обрамлюють як дешеву альтернативу перегородкам моделей. Це обрамлення хибне. Вони не є пошкодженою версією однієї і тієї ж речі. Вони є іншим архітектурним вибором, обраним для **керування**, **Прогноз**, і **Режими невдалих помилок**.

Я винен як будь-хто за те, що штовхав "вони вільні" оповідання... так ніби це був єдиний вирішальний фактор але як вибір бази даних/приватної платформи для системи, яку ви повинні зрозуміти **які продукти ви створюєте**.

Використання маленької моделі через [Ольямаjapan. kgm](https://ollama.ai/), LM Studio, [ONNX Runtime](https://onnxruntime.ai/), або щось подібне не є (просто) про економію грошей. **де може існувати не-детермінізм**.

[TOC]

## Справжня різниця: режими невдач

Вони дезінфікують більше людської логіки, просувають більше територій і випромінюють переконливіші аргументи. **Більш небезпечний** у системах, які вимагають гарантій.

Метелики-граники мають сенс, коли вони вимагають широти, а вихідні - це дорадчий результат дизайну - творчі креслення, відкриті дослідження або синтез у незнайомих сферах, але це не більшість виробничих систем.

Їхні невдачі **Семантичний, а не структурний**. Це помилка категорії: обробка пробабілістичного компонента, як межі системи. Вони створюють коректні виводи, які є неправильними у зрозумілий спосіб. Ось такі помилки:

- Виявлення дорого коштує
- Дорогий для зневаджування
- Часто видиме лише після того, як пошкодження буде виконано.

**Малі моделі не справджуються по-іншому.**

Коли маленька модель збентежена, вона схильна:

- Розрив схем
- Недійсний параметр JSON
- Обмежити виводи
- Відкинути доріжку структури

Це є **дешеві невдачі**Їх можна виявити за допомогою простої перевірки.

**Це не слабкість, а риса.**

## Звідки походить цей принцип

Це розуміння - не абстрактна теорія - це основа [Десять заповідей LLM](/blog/tencommandments)Основний принцип:

> **LLM інтерпретує реальність. Їх не можна визначати.**

Дотримуючись цього принципу, ви помічаєте щось несподіване: **вам не потрібні дорогі моделі**7Б-модель параметрів, запущена локально, може класифікувати, підсумовувати і генерувати гіпотези просто чудово, тому що детермінуючі системи навколо нього мають справу з усіма речами, які насправді мають бути правильними.

Маленькі моделі не "слабкі" - вони часто **достатньо** Тому що проблему вже скоротили, коли вона досягає їх.

Метелики на кордонах продають вам надійність, ви маєте самі себе будувати.

## Правильний розумовий взірець

Так само, як DuckDB не є "cheap SQL," а Postgres не є "worze Azure SQL," малі LLM займають **інша точка у просторі дизайну**. Ви вибираєте їх, коли:

♪ Solume Mode ♪
|---------|----------------------|
| **Локаль** Перед вами обладнання, ваша мережа, ваша черга
| **Можливість перевірки** ♫ Кожну сторінку записано, репродукція, вердикт
| **Радіус Blast** У ньому містяться години, які не передаються через ланцюжки API
| **Керування коректністю** ведьй йде за межами моделі ♪
| **Обмежений не-детермінізм** ♪ Unesestithy is closeed pushed ♪

## Як я використовую це на практиці

Це не гіпотетично. Мої проекти демонструють цей шаблон повторно:

### GraphRAG з трьома режимами видобування

[Моя GraphRAG реалізація](/blog/graphrag-minimum-viable-implementation) пропонується три режими:

 MOM
|------|-----------|----------|
| **Геристичний** 1/0 за 1/3 Чистий детермінізм через IDF + circle}
| **Гібридstar name** 1 за документ} Мала модель визначає кандидатів 
| **LLM** 1/2 за тяжку максимальна якість, коли потрібна

The **гібридний режим** є солодкою плямою: геуристичне видобування знайде кандидатів (детермінативне), потім маленька місцева модель підтверджує і збагачує їх. Один LLM викликає на один документ, а не на шматок.

Оскільки Ollama працює локально, вартість дорівнює 0. Але це не тому, що я використовую заощадження - заощадження витрат - це побічний ефект правильної абстракції, а не її цілі. **невдачі дешеві і очевидні**.

### Вбудовування ONNX: Не потрібен LLM

[Семантичний пошук з ONNX і Qdrant](/blog/semantic-search-with-onnx-and-qdrant) показує інший шаблон: деякі завдання взагалі не потребують LLM. Вбудовування ERT за допомогою ONNX Runtime надасть вам змогу:

- **Дружній до ЦП** - Не потрібен GPU
- **Визначені вихідні дані** - ті самі вхідні дані завжди створюють однакові вбудовування
- **Локальна виконання** - без викликів API, без затримки, без обмежень швидкості
- **~90MБ модель** - Бігає будь-де

for [гібридний пошук](/blog/rag-hybrid-search-and-indexing), я поєдную ці вбудовування з оцінками BM25. LLM з'являється лише під час синтезу - і навіть тоді, маленька локальна модель працює добре, тому що це **пояснення** структура, що детерміновані системи вже підтверджено.

### DocSummarizer: структура перша, LLM II

[DocSummarizer](/blog/docsummarizer-tool) Втілює цю філософію:

1. **Аналіз** документи з детермінованими бібліотеками (OpenXML, Markdig)
2. **Шматок** вміст з використанням структурних правил (головок, абзаців, блоків коду)
3. **Вбудовування** Кучки з ONNX BERT
4. **Отримати** Відповідні шматки за допомогою векторного пошуку
5. **Синтез** з Ollama - єдиний пробабілістичний крок

LLM є LLM **останній крок**, працювати над попередньо перевіреним, попередньо структурованим контентом. Воно може зазнати невдачі - і якщо це станеться, невдача буде очевидною, оскільки структура вже є правильною.

### LinitLM: локальна балачка з обмеженнями

[LinyLM](/blog/texttospeech) Показує локальне використання LLM у стільниці Windows. У програмі передбачено підтримку:

- Сервер Ollama
- Безпосереднє завантаження моделі GGUF
- Пам' ять RAG (з детермінованим отриманням)

Інтерфейс балачки є пробалістичним. Пам' ять, обробка файлів і керування державою є детермінатичними. Невдача у одному не псує іншу.

## Три запитання

Маленькі моделі, коли їх вбудовано у детермінуючі системи, дають вам достатньо непевності, щоб дослідити - **не обтяжуючи правду або відповідальність**.

Правильне питання не в тому, яка модель найкраща?

Це так:

1. **Де ж належить ймовірність?**
2. **Де має бути абсолютний детермінізм?**
3. **Які невдачі може пережити ця система?**

І якщо модель є лише для того, щоб класифікувати, підсумувати, здавати або пропонувати гіпотези, то маленька місцева модель часто належить до **правильний вибір**, а не економний.

## Зразок: нудьга з машин + невеличка модель

Ось архітектура, яка працює:

```
┌─────────────────────────────────────────────────────┐
│                 DETERMINISTIC LAYER                 │
│  State machines, queues, validation, storage        │
│  (DuckDB, Postgres, Redis, file systems)           │
└─────────────────────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────┐
│                   INTERFACE LAYER                   │
│  Schema validation, retries, fallbacks             │
│  (Polly, FluentValidation, custom guards)          │
└─────────────────────────────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────┐
│                  PROBABILISTIC LAYER                │
│  Classification, summarisation, hypothesis gen     │
│  (Ollama, ONNX, small local models)                │
└─────────────────────────────────────────────────────┘
```

LLM знаходиться в **знизу**Він пропонує: детермінуючі шари позбуваються.

## Довір'я не залежить від того, чи ми уникаємо невдачі

Всі три точки зору - питання, зразок і цей останній принцип - змінюються до одного правила:

**Впевненість у тому, що ви виберете помилки, які зможете пережити.**

З LLMs, це означає керувати не-детермінізмом через детермінуючі практики:

- [Команда I](/blog/tencommandments): Стан живе поза моделлю
- [Команда VII](/blog/tencommandments): Робите невдачу голосно і нудною
- [Команда IX](/blog/tencommandments): Спочатку будуйте нудний механізм.

Малі моделі полегшують це, тому що їхні невдачі **гучний**Нечинный JSON, размещенный вывод, нарушения схеми. Это подарки, они сразу тебе говорят, что что что-то пошло не так.

Невдача граничної моделі **тихий**Семемантичний дрейф стає видимим, лише коли клієнт скаржиться або не вдається аудиторій.

**Кожного разу я кричу нісенітниці.**

## Пов' язане читання

### Філософія

- [Десять заповідей LLM](/blog/tencommandments) - Принципи, що лежать за цим підходом
- [Чому я не використовую LangCain](/blog/why-i-dont-use-langchain) - Складність кадрів проти прозорості
- [Чому комерційні проекти комп'ютерного інтелекту є дурними](/blog/whycommercialaiprojectsaredumb) - Справу для першого комп'ютера.

### Впровадження

- [GraphRAG: Мінімальне впровадження](/blog/graphrag-minimum-viable-implementation) - Три режими видобування на практиці
- [Семантичний пошук з ONNX і Qdrant](/blog/semantic-search-with-onnx-and-qdrant) - Дружній до процесора вбудовування
- [Інструмент DocSummarizer](/blog/docsummarizer-tool) - Структура перша, LLM секунда
- [Гибридний пошук і автоматичне інексування](/blog/rag-hybrid-search-and-indexing) - Виготовлений- готовий пошук

### Архітектура

- [DiSE: Вважати LLM ненадійним](/blog/blog-article-cooking-dise-part3-untrustworthy-gods) - "Недовірливий шаблон богів"
- [Виявлення боту з клієнтами LLM](/blog/botdetection-introduction) - LLM як радник, а не контролер
- [Ім' я користувача Zero- PI](/blog/zero-pii-customer-intelligence-part1) - Семантичне розуміння з кордонами

## Зовнішні ресурси

- [Ольямаjapan. kgm](https://ollama.ai/) - Запустити LLMs локально з однією командою
- [ONNX Runtime](https://onnxruntime.ai/) - Кросплатформ ML ВИКЛИК
- [LM Studio](https://lmstudio.ai/) - Стільнична програма для локальних LLMs
- [Lama. cpp](https://github.com/ggerganov/llama.cpp) - Здатна підсумувати C++