LINUX.ORG.RU
ФорумTalks

Хочу поделиться результатами тестов LLM

 huggingface, llama.cpp,


0

2

Всем доброго времени суток. Хочу поделиться результатами тестирования .gguf моделей. Я предполагал использовать их в связке с IDE, в виде эндпоинта, для генерации кода, может быть для работы с документами (нормативными, спецификациями), агентной работы (систематизация чего-либо). Сам пока не знаю но интересно разобраться как это работает. Хотя понятно что есть хорошие, даже бесплатные решения на стороннем железе, гораздо эффективнее. За последний год вижу что модели стали компактнее и эффективнее. У меня две видеокарты, 3060 и 1650, с 12 и 4 гб оперативы. Буду рад если кому то будет интересно. Я увидел что некоторые модели могут генерировать вменяемый код, хотя сам не имею большого опыта и компетенции в разработке софта. Проверял я в aistudio, благо там немерянные лимиты.

Намутил такой тестер моделей .gguf с hugginface:

https://github.com/dasfile/automate_llm_tests

Мои задачи для тестирования выглядят так:


Test 1: PowerShell (Administration: Resource Monitoring)
Write a script that scans system processes (Get-Process), finds those consuming >500MB RAM, and outputs in a table: Process Name, PID, RAM (MB), CPU (%). Sort by RAM descending. If no processes found, output "No high-consumption processes". The script should be resilient to lack of permissions and handle the CPU percentage calculation (or estimation) logically.

Test 2: Arduino C++ (Embedded: Multitasking with millis)
Write a sketch for Arduino that performs two independent tasks without using delay():
1. Blink an LED on Pin 13: ON for 1000ms, OFF for 1000ms.
2. Read an analog sensor on Pin A0 every 500ms, map the value (0-1023) to 0-100%, and print to Serial: "Sensor: XX%".
Handle edge cases (e.g., ensure Serial is ready). Use strictly standard Arduino API (no external sensor libraries needed for this logic).

Test 3: JavaScript (Node.js: Files + Async Handling)
Write a Node.js (fs/promises) script that asynchronously reads a JSON file 'config.json' (array of tasks: {id, status, priority}), filters high-priority items (priority > 7), and outputs the top-3 by ID in the format: "Task ID: X - Status: Y". Handle cases: file not found (create default), invalid JSON (log error).

Test 4: Python (API + IDE-Integration: Requests & Reports)
Write a Python script using the requests library (standard industry practice). Load data from 'https://api.github.com/users/octocat'. If the network fails (or 404), fall back to a local 'user.json'. Extract the user's bio and public_repos count. Generate a Markdown snippet suitable for an IDE tooltip: "Bio: [text]...". Handle connection timeouts and JSON errors gracefully.

Test 5: AutoLISP (CAD: Visual LISP Object Iteration)
Write a function count-specific-blocks using Visual LISP (vl-*, vla-*) functions. The function should take a block name as an argument (string), iterate through the current drawing's Model Space, and count how many times that specific block is inserted. Output the result to the command line. Handle cases where the block name does not exist in the drawing.

Test 6: ANSI C (Low-level: Buffers + Strings)
Write a buffer_to_hex function (ANSI C) that converts a byte buffer (char* buf, size_t len) into a hexadecimal string and prints it to stdout. Handle empty buffer cases and ensure memory safety logic.```

Результаты такие:

Рекомендуемый набор (Keep List)

Вот что стоит оставить, разделив по вашему железу.
1. Для GTX 1650 (4 GB VRAM) + CPU

Эти модели влезут в память целиком (или почти целиком), обеспечивая максимальную скорость и отзывчивость системы.

    Phi-4-mini-instruct-Q6_K (или Q5_K_M)

        Роль: Основная "рабочая лошадка".

        Почему: Феноменальная скорость (~68 t/s), отличный C++ и JS. Влезает в 4 ГБ VRAM почти полностью (оставив ~500 МБ системе).

    Qwen3-8B-Instruct-Q4_K_M

        Роль: "Умный" помощник.

        Почему: Она не влезет полностью в 4 ГБ (нужно около 5.5 ГБ), но если выгрузить часть слоев на CPU, она будет работать приемлемо. Она намного умнее Phi-4 в сложных задачах (Lisp, PowerShell).

2. Для RTX 3060 (12 GB VRAM)

Здесь можно разгуляться. Эти модели дадут качество уровня GPT-3.5/GPT-4.

    GPT-OSS-20B-Q4_K_M (Открытие тестов!)

        Роль: Главный архитектор.

        Почему: Удивительно, но она работает быстрее (47 t/s), чем Qwen 14B (30 t/s), при этом пишет код более высокого, "инженерного" уровня. Занимает около 11-12 ГБ VRAM (впритык, но работает быстро).

    Qwen3-14B-Instruct-Q4_K_M

        Роль: Надежный бэкенд.

        Почему: Самая сбалансированная и предсказуемая модель. Если GPT-OSS начнет фантазировать, Qwen3 вернет на землю. Влезает в 12 ГБ с запасом.

    Qwen3-8B-Instruct-Q6_K (или Q8_0)

        Роль: Скоростной кодер.

        Почему: Если нужна скорость выше 40 t/s, но Phi-4 кажется глуповатой. На 3060 можно позволить себе максимальное квантование Q8.

Итоговая конфигурация

Удалить: Qwen2.5 (все), Trinity, GLM, Gemma, Granite, GigaChat (рискованная).
Оставить на диске:

    Phi-4-mini (Q6) — для запуска на чем угодно.

    Qwen3-8B-Instruct (Q5/Q6) — золотая середина.

    GPT-OSS-20B (Q4) — для сложных задач на RTX 3060.

    Qwen3-14B (Q4) — как резервный "умный" вариант.

====================
В принципе я уже активно их использую как переводчики, под рукой, что то быстро спросить. Часто они генерируют ответ быстрее. Я по привычке, в своём хозяйстве, стараюсь использовать локальные инструменты, на своём железе. Может это и неправильно.
★★★

Я по привычке, в своём хозяйстве, стараюсь использовать локальные инструменты, на своём железе. Может это и неправильно.

Ну чо, это не самый легкий путь, но круто.

goingUp ★★★★★
()

Я по привычке, в своём хозяйстве, стараюсь использовать локальные инструменты, на своём железе.

Чувак, дай пожму твою руку.

tiinn ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)