[/b/] [/d/] [/tu/] [/a/] [/ph/] [/wa/] [/cg/] [/t/] [/p/] [/dev/] [/stat/] ]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог] [Главная]

Файл: 1787774565420.jpg -(52 KB, 757x428, 1787774565420.jpg)
52 No.239531  

а есть тут ламадрочеры? в смысле дрочеры в llama.cpp

ну вот, например, вопрос: я упёрся в предел 16 GPU. нет, я не ограбил банк, просто это майнинговые говнократы на ядрах pascal которые я взял по 50 баксов, когда они стоили 50 баксов года 4 назад

они висят на 1х райзерах и распределены по RPC нодам

и это даже работает!

кстати, хочешь возоржать? у меня одна нода на orange pi 5 с 16 гигами RAM и она, конечно, в разы отстаёт от паскалей и e5-2696 v3, но в целом её присутствие в кластере имеет смысл. варианты запуска Qwen3.5-122B-A10B-Opus-Reasoning-Q6_K.gguf с участием апельсинки, ксеона и части паскалей даёт 4.5 токена в секунду, а если заменить апельсинку паскалями, то 6. просто как эксперимент.

так вот: я упёрся даже не в 16 GPU, а в 16 бэкэндов и просто менять константы в llama.cpp перед компиляцией не помогает. у меня просто тупо получаются лишние карты, а в наше время это лютое расточительство

а может быть мне надо что-то другое? там Petals на Hivemind или ещё что-то такое?

апишку не предлагать, потому что объемы инференса конские - дешевле железо купить даже по тем ценам которые есть сейчас

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

в какой-то момент я, конечно, натравлю агента на репу llama.cpp, но пока этого не случилось

про райзера, кстати, могу отдельную кулстори запилить, я мерял разные райзера таким прибором как LiteVNA и обнаружил, что бывают райзера хорошие, а бывают плохие. а раньше были только плохие. может быть кто-то припоминает, как я тут лет 8 назад выл про синие "USB" райзеры. теперь я точно знаю что с ними не так - децибелл затухания с ними не так и никакой осциллограф на 20 гигасемплов тут не нужен, LiteVNA вполне доступный прибор, который прендазначен для анализа именно этой проблемы

>> No.239532  

>>239531

> в llama.cpp

Ты про >>236620 ?

> 4.5 токена в секунду

Помоему она на чистом CPU может давать больше, если учесть что у меня Qwen3.6-35B в cpu-only варианте выдает около 8 t/s.

> я упёрся даже не в 16 GPU, а в 16 бэкэндов и просто менять константы в llama.cpp перед компиляцией не помогает
> объемы инференса конские

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

>> No.239533  
Файл: 1787781615720.jpg -(78 KB, 500x400, 1787781615720.jpg)
78
>>Ты про >>236620

определённо да, но тред ещё за май, не видел я его

в мае я вообще ничего не видел, сейчас уже лучше

>>на чистом CPU может давать больше,

>>35B
ясен красен больше, если взять 8B будет ещё больше. CPU начинается когда кончается VRAM, а потом кончается всё и я думаю, где взять ещё, а взять негде. в 4.5 токенах в секунду поучаствовали cpu на двух разных нодах, а так же gpu, тоже на двух, ну и сеть между ними, разумеется

настраивается, кстати просто. самый сложный этап квеста - cuda+драйвер, но и он не рокет саенс, все ставили, я думаю

если что, llama.cpp использует ОБА вида памяти для одного инстанса одновременно, и да, cpu действительно не такой медленный, как можно подумать. а есть ещё и оффлоуд на ssd, но это уже совсем медленно

и да, CPU годится не всякий, обязательно нужно ну хотя бы первый AVX, иначе будет сопоставимо с SSD

всё просто - чем больше слоёв - тем больше вычислений + накладные расходы на передачу(время). там есть неочевидный момент - следующий токен не заходит, пока не вышел из пайпа предыдущий, по-этому все сетевые задержки и задержки на райзерах суммируются, но в принципе там понты. даже 100 мегабит нормально работает, хотя gemini кричит что нужно 40 гигабит и не меньше, потому что у него в чугунной голове зашит tensor parallel а это что-то на богатом, начиная от h100 с NVLink и нужно в основном что бы учить с нуля, а это вообще отдельная история, которая начинается с покупки земли под датацентры

"Почему бы тогда тупо не пустить несколько инстансов лламы с разными картами и не разбросать запросы по ним?" - ну это я в итоге и сделаю + фабл на внешнем апи, но "разбросать" - это конечно красиво звучит, а ты умеешь разбросать? этож надо иерархию выстроить с субординацией, что бы дурак мог делать грязную работу, мидл умную, а сениор был архитектором всего, резолвером опасных дилем и ответственнных транзакций. autogen сейчас для этого смотрю

и вот сейчас пробую Qwen3.5-122B-A10B-Opus-Reasoning-Q6_K.gguf лезет, а Qwen3.5-122B-A10B-Opus-Reasoning-Q8_0.gguf не лезет. хер его знает почему, вроде разница не такая и большая и фактически памяти у меня в два раза больше чем весит q8, в пределах лимита лламы получилось насобирать 256 гигов и ещё где-то 60-70 осталось за бортом. можно там какого-нибудь дурачка запустить, который годится в лучшем случае в качестве продвинутого грепа, что бы не жечь дорогие токены, но и то полезно

а, кстати, есть ещё такая штука как graphrag, пока у меня openclaw не сломался, я ему поручил прочитать рандомную книгу на 22000 слов и собрать по ней graphrag и это работает! только есть один нюанс: собирал я его посредством fable через апи и стоило это 50 долларов денег. дорогой эксперимент. по итогам он мне выдал выжимку из всей книги и смог ответить на некий вопрос касаемо её содержания и это выглядело прям убедительно. но 50 баксов это 50 баксов)) не знаю что, будет если попытаться сделать это ну хотя бы дипсиком, будет ли оно так же четко и по существу работать. попробую как руки дойдут. но в принципе это возможно! причем делал мне это от и до дипсик, я только смотрел. то есть модель для самого анализа была fable 5, а работу по подготовке окружения и входных данных от и до выполнил deepseek, и он же запустил прогон и тестовые запросы. и всё получилось! но потом openclaw сломался и я понял что хватит его чинить и пошёл искать альтернативы. вот, ищу.

>> No.239534  

>>239533

> ясен красен больше, если взять 8B будет ещё больше

Я больше про то, что разница не то чтобы прямо радикальная.

> и да, CPU годится не всякий, обязательно нужно ну хотя бы первый AVX, иначе будет сопоставимо с SSD

Там же вроде шина памяти узкое место а не вычислительная способность этого самого cpu.

> а ты умеешь разбросать? этож надо иерархию выстроить с субординацией

Да просто одинаковые сетки пустить и инстансы агентов на них поподвязывать.

> Qwen3.5-122B-A10B-Opus-Reasoning-Q6_K.gguf

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

> 22000 слов

Это же вполне лезет в контекст того же квена целиком, без всяких rag.

> хватит его чинить и пошёл искать альтернативы. вот, ищу.

Меня кстати удивило что opencode может не только в code.

>> No.239535  
Файл: 1787786048708.jpg -(62 KB, 1280x767, 1787786048708.jpg)
62
>Я больше про то, что разница не то чтобы прямо радикальная.

я про то же, но когда у тебя кончается память у тебя кончается память

>Там же вроде шина памяти узкое место а не вычислительная способность этого самого cpu.

если есть AVX2. если DDR3 - то просто AVX. я так понял. а если AVX нет, то упираешься в проц и неслабо. а есть этот AVX далеко не во всём, что можно добыть задешево. и он прям критичен. хотя... это со слов того же gemini, который допустил много других ошибок. но здесь всё звучит внутренне непротиворечиво. впрочем, будет ещё возможность померять. у меня как раз валяется тут старый больной proliant gen6 и avx у него, увы, нет и проапгрейдить нельзя.

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

ну, по крайней мере я так понял. кто понял лучше - я бы послушал

то есть всё это медленно, но пользоваться можно. а вот можно ли пользоваться чем-то запущенным на проце без AVX вообще - вот этого я пока просто не проверял

в orange pi 5 avx как такового нет, но там свой эквивалент векторной числодробилки, которая реально хороша в свои деньги. как я понял, mac mini убедительно тащат локальные модели по той же причине, хотя arm в них, конечно, другой

>Да просто одинаковые сетки пустить и инстансы агентов на них поподвязывать

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

>Зачем ты вообще на него вяжешься, когда 3.6 не сильно глупее не смотря на меньший размер?

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

>Это же вполне лезет в контекст того же квена целиком, без всяких rag

ну не хватало ещё что бы он сожрал 100500 баксов, вместо 50. это был просто тест концепции на работоспособность, а суть в том, что этот подход масштабируется на текст вообще любого объема, тогда как контекст мало того что не резиновый, так ещё и не очень-то хорошо видит семантические связи. то есть само наличие какого-то словосочетания в глубине контекста он не потеряет, но семантическую связь между сущностями он не вспомнит пока ты не переместишь эту часть контекста в конец этого самого конекста(или в начало), что полностью инвалидирует кэш и для дальнейшего разбора потребует большое количество таких итераций. так вот в graphrag это буквально сделано заранее и закэшировано. за то и деньги взяты. и на голом контексте это работать не будет, нужна какая-то итеративность по тексту и grahrag, как я понял, это что-то типа закэшированной итеративности, причем она ещё в и виде векторов лежит, кажется. надо дальше разбираться. но это мастхэв.

и кроме того - да, контекст сам по себе вещь глубоко не бесплатная. размер контекста можно выбирать при запуске и большой контекст начинает жрать сильно много памяти. в моём бэнчмарке контекст 256k, но это больше ради самого бэнчмарка. на самом деле, при заливке такого контекста она начинает неистово жрать розетку и греться. 2кВт. и это долго! лучше разбивать задачу, там где это возможно. просто по экономическим соображениям. контекст дорогой и семантические связи в его середине неустойчивы, такие вот вещи я постиг

>opencode

этого не пробовал. пробовал openclaw и aider, сейчас думаю что пробовать дальше

open interpreter интересный, но я понимаю что мне нужно несколько агентов

smolagent даже интереснее, там агент - это питоновский объект, но мне пока другое нужно, мне важнее что бы он нативно контактировал с системными тулзами




[/b/] [/d/] [/tu/] [/a/] [/ph/] [/wa/] [/cg/] [/t/] [/p/] [/dev/] [/stat/] ]
[Burichan] [Futaba] [Gurochan] [Tomorrow] [Архив-Каталог] [Главная]