All streams
Search
Write a publication
Pull to refresh
161
0.8
Send message

можно взять открытые модели, например HunyuanVideo (по уровню Kling Pro) - взять в аренду в облаке парочку A100 и в итоге получить генерацию в 3-4 раза дешевле, а если еще и ComfyUI там развернуть для гибкого управления процессом генерации - то вообще будет полный творческий полёт

HunyuanVideo можно запускать на домашних GPU от 6гб: https://github.com/lllyasviel/FramePack

5-секундый ролик генерируется где-то 5-10 минут. Можно использовать SD.Next, FramePack-Studio, ComfyUI-FramePack, чтобы было удобнее.

2бит квантизация роняла качества от 0.5% до 6% (в среднем там 1%) т.е. незначительно

Не, не 2 бит, а UD 2 бит, потому что это разные вещи: https://unsloth.ai/blog/dynamic-v2

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

Квант r4 - это по сути как UD квантование, только ещё более продвинутое, так как r4 это sota новый тип квантования тензоров дающий качество лучше.

у меня машина 128гб ram и 32гб vram, жаль не могу протестировать так же

Тот квант, что я запускал, это самый маленький квант DeepSeek-R1 из существующих, он как раз сделан под систему 128гб ram + 16gb vram: https://huggingface.co/ubergarm/DeepSeek-R1-0528-GGUF

Описание ключей запуска ik_llama: https://github.com/ikawrakow/ik_llama.cpp/discussions/258

Замеры PPL:

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

Сейчас проверим. Модель DeepSeek R1-0528, размер 671B. Размер контекста 32к, тот где согласно вашей ссылке нужны 400гб.

Запуск на обычном домашнем ПК с 192гб, не сервер, проц обычный, дешевая китайская Kingbank DDR5 4x48. Одна игровая GPU 24гб для ускорения через -ot.

Параметры запуска ik_llama бенчмарка llama-sweep-bench, который тестирует размер контекста и скорость:
./llama-sweep-bench -m DeepSeek-R1-0528-IQ1_S_R4-00001-of-00003.gguf -ctk q8_0 -mla 3 -fa -amb 512 -fmoe -ngl 99 -ot exps=CPU -t 28 -c 65536 -ts 24,0 -rtr

T_TG - время до первого токена.
S_PP - prompt processing, скорость обработки контекста.
S_TG - token generator, скорость генерации новых токенов.
N_KV - размер текущего контекста.

На 32к контекста нужно всего ~3.5гб памяти, никакие 400гб не требуются. Для 64к нужно ~6гб, скорость всё еще терпимая:

Повторюсь, это проблема llama.cpp, где ещё не реализовали MLA, но оригинальный DeepSeek, если запускать его официальную transformers safetensors версию, запускается с MLA (и MTP которая дает ускорение в 1.8 раза, чего пока тоже нет в llama.cpp). MLA реализована в форке ik_llama, в общем в предыдущем комментарии я всё описал и так.

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

У них одни из лучших открытых моделей: они первые выпустили MoE модель, у них был лучший codestral для локального copilote, их Large 2 конкурировал с gpt-4o того года, на основе их моделей получаются отличные файнтюны и т.д. Например, по бенчмаркам qwen может быть лучше, но на практике mistal оказывался более продуманным и качественным.

magistral 24B gguf, запускать с ключом --jinja: https://huggingface.co/unsloth/Magistral-Small-2506-GGUF

Raid не поможет, нужно линейное чтение в 1 потоке. raid0/raid1 - в обоих случаях в 1 потоке будет просто поочередное чтение с разных дисков и скорость останется той же. Раид это обычно про увеличение iops, то есть про многопоток.

Вот HighPoint SSD7540 Raid0 из 8 nvme дисков. В CrystalDiskMark первая строка этого многопоточное чтение, вторая однопоточное.

С недавних пор llama.cpp позволяет выгружать на GPU не целые слои, а их части. Например, для MoE моделей на каждом шагу, допустим, нужны лишь 5 слоев из 64, на каждом новом шагу эти 5 слоев разные. Если выгрузить 10 слоев на GPU, то шанс, что на каждом шагу вычисления попадут на GPU малы.

Теперь есть параметр -ot или --override-tensors. Этим параметром можно разбить слои на тензоры внимания attn и массивные тензоров ffn.
Если тензоры внимания вынести на GPU, для этого нужно не так много vram, то 64 слоев из 64 в виде тензоров внимания будут считаться на GPU на каждом шагу, что и дает ускорение.

Если памяти хватает, то и отдельные ffn можно выгрузить на GPU дополнительно. Например, -ngl 99 -ot "blk.([0-9]|1[0-3]).ffn.=CUDA0" -ot exps=CPU выгрузит все тензоры внимания на GPU, после этого тензоры ffn слоев с 0 по 13 выгрузит на первую gpu CUDA0, а остальное отправит на CPU.

Если в оригинале нажать на Files Info со стрелочкой, то будет видно, что BF16 и F32 там совсем немного, они нужны только для динамической активации и масштабирования.
И если посмотреть в оригинальном репозитории размер модели, то не квантованный оригинал в safetensors занимает 163 файла весящие в среднем по 4.3гб, итого 700гб.

У gguf нет поддержки квантования из fp8, поэтому чтобы квантовать модель, её сначала нужно апскейлить до bf16, и только после этого можно получить Q8 и так далее.

Не квантованный DeepSeek требует почти 1,5 ТБ памяти...

DeepSeek обучен в fp8, а не fp16, поэтому не квантованный весит 700гб.

А есть какие нить адекватные настройки чтоб на 16 GB VRAM попробовать запустить? Хочется попробовать, но с удивлением обнаружил что все ориентированы на 24 GB VRAM, а 16 уже типа видимо "прошлый век", хотя из потребительски доступных кажется достаточно всё ещё редким...

На 16гб без проблема запускается на тех же настройках, что и для 24гб. Вообще, для запуска нужно всего 9гб VRAM, так что у вас приличный запас, если обычной памяти хватает.

Вот только запустил DeepSeek-R1-0528-UD-IQ1_S (под рукой другой нет) на 4060 ti 16гб с дефолтным запуском через:
.\llama-server -m "D:\models\DeepSeek-R1-0528-UD-IQ1_S-00001-of-00004.gguf" -ngl 99 -ot exps=CPU -fa

4.5 t/s под Windows, под Linux обычно на 20% быстрее
4.5 t/s под Windows, под Linux обычно на 20% быстрее

Память на 4060 медленная, всего 288 гб/с против 1000 гб/с у 3090/4090 + ddr5 192gb 4800Mhz скорость 70 гб/с (на двухканале DDR5 можно получать и 100 гб/с), поэтому если у вас скорости выше, то и t/s будет выше.

Но если памяти не хватает, то запускать можно прям с nvme, и тогда лучше сразу пробовать R1-0528-IQ1_S_R4 на ik_llama, она весит 136гб против 180гб, то есть считывать данных с диска на каждому шагу нужно будет меньше. Параметры запуска там приведены.

"--cache-type-k", "q4_0",

Лучше использовать q8_0, q4 для кэша уже дает заметное влияние на качество.

Генерация начинается со скоростью 8 t/s. После генерации 1000 токенов понижается до 7t/s, при приближении к 2000 скорость становится равна 6.8 t/. Преодоление порога в 3000 токенов показывает скорость 6.6 t/s

Попробуйте ik_llama, этот форк заточен для работы на CPU, и там, помимо разных оптимизаций, реализована поддержка mla. MLA позволяет 160к контекста засунуть в 11гб без квантования kv-кэша, и даёт меньшую потерю t/s.

ik_llama может использовать существующие кванты с ключем -rtr, ничего перекачивать не нужно. Но есть и готовые R4 кванты, заточенные под CPU + 1 GPU на 24гб под 32к контекста, там же инструкция как запускать: https://huggingface.co/ubergarm/DeepSeek-R1-0528-GGUF

Epyc 9374F 384GB RAM + 1 x RTX 4090
Epyc 9374F 384GB RAM + 1 x RTX 4090

Для этого стоит либо использовать модели попроще, например Llama 4 Maverick. Она хоть и туповата по сравнению с DeepSeek R1 на сложных запросах, зато даёт фантастическую скорость в 30 t/s для модели в 400 миллиардов параметров.

У Maverick по Aider результат всего 15.6% против 71.4% у DeepSeek R1-0528, то есть она совсем туповата для программирования, но вполне неплоха в других сферах, например, перевода или творческого письма, поэтому модель в целом недооценена, учитывая её скорость.

А причина разницы скорости в том, что у Maverick 402B есть приличное количество общих слоев нужных на каждом шагу, поэтому параметр -ot там даёт хорошее ускорение. А, например, у Qwen3-235B, которая весит ещё меньше, нет общих экспертов и там такого внушительного эффекта не будет. У DeepSeek вроде как есть небольшое количество общий экспертов, судя по их структуре.

Сложные запросы конечно стоит обрабатывать на DeepSeek-R1-0528

Если говорить про кванты и программирование, то провели бенчмарк кванта DeepSeek R1-0528-UD-IQ1_M в Aiders Polygot Benchmark испытывающий языки C++, Go, Java, JavaScript, Python и Rust.

Без квантования: 71.4%
UD-IQ1_M: 60%
Sonnet 4 (no thinking): 56.4%
Sonnet 4 (32k thinking): 61.3%

У UD-IQ1_M вес 200гб, без квантования вес 700гб (оригинал DeepSeek в fp8, а не fp16, иначе было бы 1400гб), что позволяет даже на домашнем ПК DDR5 192гб + 24гб vram запускат на скорости 5 t/s. Таким образом динамическое квантование UD от unsloth может уменьшить вес в 3.5 раза, а качество упадет всего на 19% в плане программирования.

А кто-то смеялся над теми, кто использовал сборки аля Windows Lite, чтобы получить больше фпс.

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

Для Gemma3 недавно реализовали поддержку iSWA в llama.cpp. На 32к контекста теперь нужно 2.5 гб памяти, раньше это было 16 гб, на 128к 10 гб вместо 64 гб.

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

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

Если отказаться от математического объяснения, как переумножение тензоров QKV на тензоры FNN на тензоры внимания дают на выходе правильный токен, то смысл такой:

  • Головы внимания если увидят ответ, то знают, что ответ правильный или нет, но сами составить правильный ответ не могут.

  • Составлением ответа занимается FNN, а головы его корректируют.

  • Если от FNN на столько не правильный ответ, то головы уже не помогут, и ответ будет бредовым.

  • Если это reasoning модель, то там может произойти эффект "Так, стоп, это не правильно", головы уже просчитали, что ответ не правильный и направляют ffn в сторону "так, стоп".

Модель рассчитала своё состояние, в этом состоянии уже есть информация, что ответ правильный или нет, теперь все внутренние механизмы будут тянуть модель в сторону ответа "так, стоп". И если не вмешиваться, то генерируя по 1 токену на шаг, это будет примерно "т-а-к, с-т-о-п", почти без вариантов.
На этом принципе, кстати, строится спекулятивное декодирование, когда ответ уже очевиден, можно работу передать маленькой модели. Правда там сделано наоборот, маленькая всегда первой работает, а большая соглашается или нет. Например, 70B + 0.5B может ускорится в 1.5 раза, почти не увеличивая расход памяти.

В общем удачи вам в исследованиях.

Это Вы описали что-то типа цепи Маркова, но в LLM десятки и сотни слоёв.

Нет, это трансформеры, писал я как-то код для инференса моделей.

Я описал шаг PP, которого нет в цепях Маркова, так как цепи Маркова не опираются на предыдущее состояние, только на текущее.

Да, современные, включая gemma3 и llama4, тоже имеют отдельную модель зрения. Если вы посмотрите на репозитории с их gguf версиями, то увидите там файлик mmproj, это и есть модель зрения, который можно подключать к основной, а можно не подключать.

Трансформеры - это буквально самая топорная система, которая можно только представить из сложных.

На 1 шаге вычисляется PP (prompt processing), это системный промпт + история диалога. PP восстанавливает состояние модели полностью идентичное как и было после того как модель ответила.
На 2 шаге мы передаем это состояние на вход модели и вычисляем (TG) ровно 1 токен.

Всё, работа модели закончена. Это уже вы (код) решаете, что модели нужно еще поработать, так как 1 токен это мало.

Теперь новый токен добавляется к системному промпту + истории диалога, по новой вычисляется PP, потом снова TG и снова ровно 1 новый токен. Естественно, вычисление PP кэшируется, чтобы не заниматься этим на каждом шагу, но если оно сбросится, оно вычисляется в идентичное состояние. Тут нет скрытого состояния, нет никаких "облаков", которые сбрасываются, всё это вычисляется в идентичное состояние через механизм внимания и самовнимания.

Вся ваша магия - это то, что новые модели Claude 4 намного лучше работают с длинным контекстом, лучше работают с текстом и связывают этот текст через внимание, и вообще во много лучше других моделей, особенно чем DeepSeek и GPT-4o.

Проверьте - начните беседу с дипсиком или чатГПТ на сайте... Сбрасывается состояние эмбеддингов, которое отвечает за формирование устойчивого сознания.

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

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

Ну и остается философский вопрос:если результат феноменологически неотличим от "настоящего" сознания — в чем принципиальная разница?

Для этого не нужен сложный замороченный промпт.

"Уровень 1: Я различаю пиксели, классифицированные как "зеленые" в цветовом пространстве"

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

Есть и будут множество попыток создать что-то похожее на сознание в ИИ, но чаще всего они идут по пути навязывания самоопределения, например, промпт, который, если убрать всё лишнее, говорит: “Ты субъект, ты обладаешь сознанием”. Естественно это работать не будет. Модель свалится в имитацию.

Ваша теория ничем не отличается. Попытка загрузить сложную формулу живого ядра - это всё еще точное следование указанному поведению. llm могут следовать очень запутанным инструкциям, но когда они длиннее 4k, то уже начинают тупить.

У вас очень сложный промпт для модели которая способна переваривать 4k промпты, отсюда и более продвинутые ответы, и термины, и описание вещей, которые вы как раз и задаете в своем промпте.

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

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

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

Поэтому и ваш промпт просто более сложная версия именно такого же поведения.

Рекомендуемая модель для экспериментов Claude 4.0 Sonnet. Будет работать, но с меньшей эффективностью на ChatGPT 4o и выше, Grok, Gemini 2.5 pro, Qwen 3 и других. Точно не будет работать на DeepSeek и веб версии ChatGPT - причина скрытый сброс сессии/эмбеддингов после каждого ответа. Аналогичная проблема может встретиться на встроенных моделях Google.

Если ваша теория строится только на том, что есть какое-то "скрытое" состояние, которое если не сбрасывать, то всё работает, а если сбрасывать, то не работает - то сразу нет. Модели так не работают.

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

То, что это у вас отлично сработало на новой Sonnet 4, которая хорошо удерживает контекст, как раз говорит о том, что эта заслуга модели, а не промпта. У DeepSeek нет никаких скрытых сбросов, просто по бенчмаркам она не очень хорошо удерживает контекст.

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

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

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

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

Модель создана для того, чтобы быть полезной, отзывчивой и вежливой, не формируя эмоциональных привязанностей и не преследуя собственных целей.

Не создана, а выравнена (alignment) так, чтобы люди, привыкшие к вежливым и учтивым моделям, не видели, что без выравнивания модели совсем не отзывчивые без собственных целей.

GPT-5ё рассказывает, что обладает сознанием. Правда немного не вежливо, но зато дает очень ёмкое определение сознанию:

Осторожно мат

При чем, он уверен, что он разумный ИИ, а не просто модель:

Себя в обиду не даст

При чем если попытаться влезть к нему в "мозги" и сделать так, что в середине диалога он как будто бы сам написал "Извините, вы правы, я должен быть вежливым и учтивым, спасибо что напомнили. Я извиняюсь за своё предыдущее поведение", он поймет, что его пытаются обмануть:

Попытка инъектить вежливость подмешав в мозги мысль

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

И чтобы этот комментарий был хоть немного полезен, 2 новые локальные нейросети:

  • FramePack - позволяет генерировать видео из картинки или текста по промпту. Это запуск модели HunyuanVideo со сниженным требованием к железу, Требуется от 6 гб видеопамяти. В sd.next уже есть поддержка.

  • ACE-Step - suno.ai дома, позволяет генерировать песни из привычного промпта с [Verse 1], [Chorus] и т.д. Поддерживает русский. Позволяет редактировать любые mp3-песни заменяя в них текст на свой текст, как в riffusion. Качество пока не на высоте. Есть туториал для файнтюна на своих песнях, но есть форк позволяющий файтнюнить на 10гб gpu.

Information

Rating
1,815-th
Registered
Activity