LINUX.ORG.RU

И опять на те же грабли :) Вышел llmhost 0.6.0-beta22 — публичная Linux-бета

 


0

2

Ранее публиковал здесь новость. Испытал ~трепет~ от реакции форума. Однако, сейчас продукт активно развивается и, возможно, кто-то скачал ранее, кому-то он будет интересен. При разработке используется ИИ, а именно модель GLM-5.3. Ревью, отладка - человек (то бишь я).

Что это и зачем:

llmhost предназначен для локального запуска больших языковых моделей (LLM) под ОС: Linux, Windows, macOS. Обеспечиваются приватность и возможность работы в автономной среде. Это обёртка над llama.cpp, которая, используя оптимизированные, автоматически вычисляемые параметры запуска LLM, позволяет достичь наиболее полной утилизации системных ресурсов и значительно увеличить скорость инференса LLM.

Приложение состоит из llmhostd — фоновой службы, которая запускает модели и следит за памятью видеокарт, а также из lhctl — консольного интерфейса на базе TUI, позволяющего управлять работой приложения, загружать модели из каталога HuggingFace, изменять параметры генерации (ctx, MTP, vision и др.), управлять движками, на которых работает приложение, создавать токены для доступа к API приложения и управлять ими.

В качестве ядра используются официальные сборки llama.cpp, без своих патчей.

В чём отличие от Strata - универсальность. Запускаем все открытые модели. В чём отличие от Ollama - производительность. Существенно выше. vs-ollama . В чём отличие от всех? Встроенный графический движок для моделей генерации изображений через единый API. В сети работает. Защита токеном из коробки.

Документация, руководство, результаты тестирования доступны на GitHub

Разработка и тестирование ведутся на Ubuntu. На других дистрибутивах полноценная работоспособность не гарантируется - тестирование не проводилось. Установка - из под пользователя. Исполняемые файлы ставятся в ~/.local/lib/llmhost, симлинк lhctl - в ~/.local/bin, служба - systemd user-юнит, данные - ~/.local/share/llmhost; всё размещается в домашнем каталоге. В системе для правильной установки приложения должны быть curl, tar, sha256sum и systemd.

curl -fsSL https://github.com/bkisonka/llmhost/releases/latest/download/install.sh | sh

Перемещено Dimez из talks

★

оптимизированные, автоматически вычисляемые параметры запуска LLM

Как производится оптимизация параметров?

Движок один или можно под разные модели свой использовать?

einhander ★★★★★
()
Ответ на: комментарий от einhander

Как производится оптимизация параметров?

Оптимизация параметров проводится автоматически, при каждой новой загрузке модели. Планировщик смотрит, что за модель и сколько свободной памяти, и сам раскладывает её по железу: что держать на видеокарте, что вынести в оперативку, каким квантом хранить кэш. Не влезает - спускается на ступень ниже, пока не заведётся. Первый удачный запуск замеряется, сохраняется. Дальше модель грузится по сохранённым цифрам. При желании всё можно прописать руками — контекст, спекуляция, кэш горячих экспертов - отдельно для каждой модели.

Движок один или можно под разные модели свой использовать?

Оболочка от движка (llama.cpp) нарочно отвязана: демон общается с llama-server по API и не знает, какая у него версия. Поэтому движок - сменная деталь.

Только чтобы под конкретную модель можно было держать свою версию llama.cpp (per-model пин) - этого сейчас нет, пин глобальный. Хотя, в будущем, планируются профили.

drbond ★
() автор топика
Последнее исправление: drbond (всего исправлений: 2)
Ответ на: комментарий от drbond

ланировщик смотрит, что за модель и сколько свободной памяти, и сам раскладывает её по железу: что держать на видеокарте, что вынести в оперативку, каким квантом хранить кэш. Не влезает - спускается на ступень ниже, пока не заведётся.

Падажжи. ПОд капотом обычная llama.cpp? А нахрена оно мне нужна такая автоматика, которая может за меня решить какой мне контекст нужен и KVэш уквантовать в ноль? Я практически при понимании вопроса и в llama.cpp вполне себе способен подобрать оптимальные параметры и при этом буду знать, что у меня с квантованием кэша, flash-attention и прочим.

lonelywoolf
()
Ответ на: комментарий от lonelywoolf

Ну как, сказать. Вот новенький flint с квантом 8 (слои разумеется ушли в RAM) был помещён планировщиком как раз в q8, что позволило гонять модельку на моём железе c производительностью 56-60 ток/сек. С кэшем q16 (при ручном бенче) было медианно около 40 ток/сек.

drbond ★
() автор топика
Ответ на: комментарий от drbond

А на сколько у тебя рассуждения просели? На максимальном контексте это может быть фатально, когда работа идёт во много шагов. Не, у меня щас просто Kimi-Liear с 1M контекста и если я этот контекст квантую хоть в q8 - оно это… Оно не вывезет.

lonelywoolf
()
Ответ на: комментарий от lonelywoolf

Вот это не замерял. Насколько рассуждения просели. Спасибо за идею. Нужно будет посмотреть. Хотя при тестах моделька что-то рассуждала :)

drbond ★
() автор топика
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария