LINUX.ORG.RU

Вчера я узнал про distributed llama

 


0

2

https://github.com/b4rtaz/distributed-llama

Ну и заодно про prima.cpp узнал

https://arxiv.org/html/2504.08791v2

Но .. в моём случае как ты 2 Гб на планшете + 6 гб на ноуте 2011 г.в + 8 гб на повермаке G5 + 16 гб на AMD FX 4300 ни складывай - 144 Гб и NVIDIA 5060 не получится, так что я думаю мой потолок это распознавание речи и изображений, перевод кусочков текста с французского и немецкого на английский и т.п.

★★★★★

Последнее исправление: Andrew-R (всего исправлений: 2)
Ответ на: комментарий от wandrien

Насколько я понял там оно как-то параллельно загружается на каждую ноду кластера и считывается через сеть судя по описанию

More devices mean faster performance, leveraging tensor parallelism and high-speed synchronization over Ethernet

Так что в теории должно работать даже быстрее чем на одной машине если сеть позволяет

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

Модель возможно резать либо разрезая слои, либо разрезая по слоям.

В первом случае нужен очень жирный канал для синхронизации на каждом слое.

Во втором случае нужен только узкий канал, где остаточный поток будет переходить от одного блока слоёв к другому.

То есть во втором случае на каждом токене по очереди работает каждая часть кластера, а остальные просто ждут. Этот способ медленнее (из-за того, что каждый GPU часть времени простаивает), но проще программно.

Описанное выше - это способы деления модели между GPU.

В теории ничего не мешает и между узлами по сети так же разделить. Но – в первом случае мы жёстко упрёмся в производительность сети.

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

поправил. В мобильном хромиуме с тёмной темой шрифт в полях тэгов и заглавия невидимый .. выделять надо, тогда видно.

в llama.cpp есть свой RPC но да, он сетку хорошую хочет.

Вроде и тензорные слои теперь есть, но на Вулкане как-то не очень (по багрепортам судя)

https://github.com/ggml-org/llama.cpp/issues/22648

Andrew-R ★★★★★
() автор топика

prima.cpp на чем-то древнем тестировали qwen2.5 это очень давно было по меркам нейронок. Ну пока чудес не видел. Для кодинга нужен минимум квен3.8-27б, а это сразу что-то уровня 3090. Более глупые модели можно и на телефоне запустить, но там все грустно.

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

Нужно еще место под контекст, на одной видяхе может быть грустновато.

То есть нужны две, а если есть две, то лучше сразу их сунуть в единую систему, а не делить на два узла по сети.

В общем, непонятно.

wandrien ★★★★
()

И как успехи в распознавании? Как-то пробовал распознавать песни через whisper.cpp, чтобы получить текст песни. В основном получался шлак, но иногда что-то и распознавалось

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

Я по опыту сужу, на 3090 влезает 166к контекста, а на двух 256к, но ждать пока он туда загрузится - мука. Для двух 3090 можно вполне неплохо давать параллельные запросы.

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

Так 3090 же, 24Гб, IQ4_XS, кэши квантованные и по 256. На двух 3090 сильно вольготнее чувствуешь себя.

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

лично я пока только тестовую фразу запускал на распознавание - работает ;)

Но там в этих наших интернетах видосы с wwdc транскрибировали - и очень даже ок на мой взгляд вышло.

https://nonstrict.eu/wwdcindex/wwdc2000/

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

https://github.com/OpenCPIL/prima.cpp

тут список вроде поновее.

Ясно что чудес не будет, но это как две трёшки через сеть совместно запускали Х сервер и Нетшкаф - по отдельности на каждую не влезало всё это интернет обозрение, вместе кое-как скрипело и велосипедило (история не моя, откуда-то с интернета. Про ранний Линукс)

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

Выглядит интересно.

Как дешевая альтернатива материнской плате на 4 серверных модуля GPU, может быть имеет смысл.

Правда запускать пока что особо нечего, все маленькие модели недостаточно хороши в коде, имхо.

wandrien ★★★★
()
Ответ на: комментарий от Andrew-R

Было бы странно если бы тестовую фразу не распознавало. На песнях же по-разному получается. Например какой-нибудь рэпачок распознает нормально, а вот с роком и митолом типа AC/DC, Papa Roach, S.O.A.D хуже. Для интересу пробовал загнать в модель арию бабы яги от сектора газа. Оно честно пытается первые 2-3 куплета. А дальше всё, ничего не видит и самоповторы

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

м.б песни надо как-то отдельно предобрабатывать. Нас учительница английского 26 лет назад предупреждала, что учить инглишь по песенкам не самое лучшее решение. И я таки с ней согласен ….

Andrew-R ★★★★★
() автор топика
Ответ на: комментарий от cobold

Не знает. В том смысле что не выделяет абстракции, правила и тп. Features потока выделяет, но что это на самом деле - понятие не имеет. В какой-то степени само по себе интересно - этакая универсальность вычислений второго вида: привычные компьютеры все переводят сначала в электирический сигнал а потом в цифры, которые жуются алгоритмами более чем менее детерменированными, а тут всё превращается в набор весов, который «звучит похоже». Интересная метауниверсальность.

Но мой пойнт в том, что песня это вообще более сложный даже для нас предмет. Ну типа как распознавание рукописного текста вместо отпечатанного.

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

В том смысле что не выделяет абстракции, правила

Так и я пишу не по базе правил, а скорее по памяти. А правила вспоминаю когда глаз за что-то в написанном цепляется и возникает сомнение. Насчет сложности разбора песен согласен. Кожаным тоже песни сложнее речи для разбора.

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

Правда запускать пока что особо нечего, все маленькие модели недостаточно хороши в коде, имхо

А что значит недостаточно хороши? Я вон когда пишу, самая маленькая модель влет делает классы и интерфейсы и тесты к ним без проблем пишет.

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

Ну потому что всё что меньше Qwen3.8-Omni-Flash/Qwen3.8-Flash-Next пл моему личному опыту пока недотягивает.

Кстати, семейство Ornith кто-нибудь щупал? Попалось сегодня её упоминание.

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

Ну потому что всё что меньше Qwen3.8-Omni-Flash/Qwen3.8-Flash-Next пл моему личному опыту пока недотягивает.

Все сильно зависит от промта. По моему ощущению, квен3.8 27б, чуть лучше чем гпт5.6-луна в кодинга.

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

Люди не понимающие в программировании вряд ли создадут адекватный промт, причем ответ они даже смогут сами распарсить. Получется вывод такой, чем мало опытнее создатель промпта тем толще модель ему нужна. И то что модель содержит базу которая на 80% ему не пригодится это уже не важно.

anonymous
()

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

Все высокопроизводительные системы являются многонодными, последние системы с разделяемой памятью умерли вместе с sgi.

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

Ну в общем, да. И даже понимающие в программировании выдают разный результат, напрямую зависящий от их квалификации.

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

Я программировал Origin 2000! Эх молодёжь, молодёжь, институтки, круасаны, традиционный бордо в обед. На кой чёрт я уехал в этот Чикаго???

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

И как успехи в распознавании? Как-то пробовал распознавать песни через whisper.cpp, чтобы получить текст песни. В основном получался шлак, но иногда что-то и распознавалось\

Песни бывает так поют, что 9 из 10 носителей языка правильно не могут распознать с первого раза(стоша говнозад, красавице икуку, скрипка лиса и так далее). А обычную речь у меня whisper распознает достойно. Сделал кнопку для голосового ввода, работает даже и даже с пунктуацией. Правда я самую жирную модель выбрал, на 4070Ti 1-2 сек на распознавание уходит наговоренного за 5-7сек.

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

А что значит недостаточно хороши? Я вон когда пишу, самая маленькая модель влет делает классы и интерфейсы и тесты к ним без проблем пишет.

Так ты наверное описываешь подробно что хочешь получить. А если описывать абстрактно, типа «мне класс для связи вот того класса вон с тем», оно уже не потянет. Для поиска багов тоже не особо. Для добавления функциональности по описанию, «кнопка вот под той кнопкой и привязать действие», тоже не очень тянут простые модели.

Я в частности про 2.5coder и gemma4 пишу, то что попробовал и да, увидел что не тянет.

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

чем мало опытнее создатель промпта тем толще модель ему нужна

или ленивее.

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

Песни бывает так поют, что 9 из 10 носителей языка правильно не могут распознать с первого раза(стоша говнозад, красавице икуку, скрипка лиса и так далее).

Если распознаваться будет с такими ошибками, то я буду очень доволен. Пока же large модель не справляется и с более прозаичными примерами

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

Вот только что распознало прямо с микрофона из песни Зимняя вишня.

И слёзы на паркушке все о нём. Вишня, вишня, зимняя вишня, прекрасных ягод аромат.

Дни туда иногда звонят, тревожа в час ночной. Завернувшись в старый бред, скрывшись днем от разных бед, ты, закрыв глаза, заплачешь над судьбой.

Но это у меня вообще на ввод текста настроено и микрофон г порядочное(от гарнитуры). С такими вводными, по мне, не так и плохо. Если прогнать предварительно(а для музыки это сделать не сложно) для выделения голоса какими нибудь фильтрами, то может и вообще хорошо будет.

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

А если описывать абстрактно

Я же писал не программистам. И дело тут не в лени, когда ты много писал, думаешь как программер ты не можешь описать абстрактно что то.

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

когда ты много писал, думаешь как программер ты не можешь описать абстрактно что то.

Писал почти 30 лет уже из которых 23 за деньги, и с удовольствием теперь пишу «добавь кнопку 3 под кнопкой 2 и привяжи к ней действие n» или «при нажатии на кнопку происходит n, но происходит неправильно, должно быть n+1(тут описание как происходит и как должно происходить)». И радуюсь, когда облачные модели справляются с таким с первого раза и без моего вмешательства. А опыт обычно пригождается только когда что-то идёт не по плану, 2-3 раза в неделю.

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

Я не говорю по 5 минут прежде чем распознавать. Фразу наговорил, распознал, подумал что дальше говорить. У меня система PTT для ввода сделана. А в таком использовании всё отлично, 1-2 сек это отпустить кнопку и посмотреть на экран и там уже текст появился.

При этом время не растет линейно количеству ввода, если говорить 20 секунд, то там тоже будет 1-2 секунды. Я просто даже столько не говорю почти никогда для одного ввода.

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

Я не говорю по пять минут, прежде чем распознавать. Фразу наговорил и распознал. Подумал, что дальше говорить. У меня система push-totalk для ввода сделана. В таком использовании все отлично. Одна-две секунды — это отпустить кнопку и посмотреть на экран. Там уже текст появился. При этом время не растет линейное количество ввода. Если говорить 20 секунд, то там тоже будет один-две секунды. Я просто даже столько не говорю почти никак для одного ввода.

Вот этот текст за 2-3 сек распознался.

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

У меня система PTT для ввода сделана. А в таком использовании всё отлично, 1-2 сек это отпустить кнопку и посмотреть на экран и там уже текст появился.

Чувствую себя мухой.

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