Недетерминированность LLM в софте, а не в моделях. В целом, ничего не мешает сделать строго детерминированный вывод LLM. Но да, куча нюансов полезет, особенно если за скоростью вывода гнаться.
Вот я про это и говорю. RAG просто "обогащает" запрос по похожим данным. Это не память для модели, это не "ассоциативные цепочки" для модели, не база знаний или еще что. Это просто "что-то похожее было, вот оно".
Просто я недавно поработал с WIT-описанием для WebAssembly Component Model. И допустил ошибку в описании - описал resource в world. И самое интересное, что кодогенерация по описанию работала, но невозможно было использовать сгенерированные классы. Да, в спецификациях сказано, что в world допустимы только импорт/экспорт функций и интерфейсов. Но упустить этот нюанс не сложно (особенно если спецификацию не наизусть знаешь).
Когда уже разобрался, в чем проблема - мне стало интересно, а ИИ найдет эту ошибку в WIT (про решение исходной проблемы, с кодом, даже не говорю)? Топовые модели не справляются (как минимум deepseek-r1, grok-4, kimi-k2, gemini-2.5-pro, gpt-4.1, может что еще пробовал), хотя и знают что это WIT, Component Model и т.д. (к слову, это знали все опробованные модели, в том числе и локальные).
Но если в контекст добавить спецификации WIT (благо, что это просто один относительно объемный файл), то локальный Qwen3-30A-A3B успешно справляется с нахождением проблемы.
Пробовал в RAG загрузить (в OpenWebUI, параметры по умолчанию, кроме модели эмбеддинга - использовал nomic-embed-text) - он находит какие-то похожие куски (3 штуки, как задано в параметрах по умолчанию), но нужной фразы туда не попадает - и он не находит ничего полезного.
Вот я и думаю - а как вообще можно решать подобные кейсы, чтобы спецификации руками не кидать каждый раз. Хорошо, если модель явно несет ерунду - сразу видно, что спецификации не помешают. Но что делать, если ответ более качественный или ты в вопросе совсем не разбираешься (чтобы понять, что в ответе ерунда)?
Так что умная модель - это хорошо. Но не всегда есть модель, которую обучали на твоих сценариях использования и на твоих данных. Но модели способны "понять" новый материал и по нему сформировать ответ. Только нужно добавить нужные данные в контекст. RAG тут может и помогает, но явно не лучшим образом. А вот как это сделать лучшим образом - вопрос открытый.
Да собственно уже появляются - вспомнить тот же AMD Ryzen AI Max+ 395 - устройство с 128 Gb быстрой RAM стоит около $2000. Может deepseek и не запустить, но что-нибудь попроще - вполне себе. Nvidia собирается выпустить что-то с похожими характеристиками и специально под LLM (правда в 2 раза дороже). Так что да, устройств будет больше. Но это явно не самые бюджетные решения.
Уже сейчас есть решения (дорогие) которые вам тот-же полный deepseek позволяют гонять локально (m3 ultra). В будущем будет больше возможностей чтобы гонять локально LLM-ы.
Не думаю, что эти возможности будут сильно дешевле - просто потому, что нужен очень мощный комп для этого (по памяти, по пропускной способности памяти, по вычислительной мощности), и принципиально этот момент меняться не будет. Это базовые ценности для ПК, которые в таких объемах нужны в очень специфичных случаях (если не брать LLM).
Другое дело, что развитие LLM идет вперед, появляются новые алгоритмы, подходы и т.д. Появятся открытые модели, который лучше заточены под конкретную задачу - и они хорошо будут ее решать на относительно слабых ПК.
RAG позволяет найти похожие тексты. Т.е. мы должны заранее знать, о чем идет речь (хотя бы примерно).
Но, например, если нам доступно только название фильма и мы просим проанализировать отзывы? Он найдет все отзывы, добавит в контекст? Или найдет ближайшие к названию фильма? А если это просто общеупотребительное слово или есть одноименные фильмы / книги / сериалы?
Как RAG дает именно то, что надо? Или просто накидываем в контекст все, что есть, а там модель сама разберется?
Грубо говоря я не понимаю, как RAG позволит организовать что-то вроде толкового словаря или той же википедии, чтобы по слову вытаскивать целую статью.
Действительно, очень полезный промт - добавил в системный ))) Как-то просил ИИ оценить свой ответ и советы - так он очень уверен в своих советах, даже если написал полную ерунду.
Да, есть модели попроще, кто же спорит. Лично я использую Qwen3-30B-A3B на CPU - и доволен результатами.
Ну а что "дистиляты не сильно уступают" - уступают и заметно. Это просто еще один вариант модели определенной размерности, сравнивать ее надо с моделями этой же размерности.
На мой взгляд, они не справляются с нагрузкой - вот и поднимают лимиты и задирают цены. Пользователей станет меньше, но общая прибыль не факт, что просядет. А удовлетворенность пользователей скорее даже повысится.
Открытых инициатив достаточно. Открытые LLM, открытые агенты - чего именно не хватает? Да, в чем-то хуже по качеству, не столь отточено работают. Но и сфера достаточно свежая, конкуренции хватает. Так что не вижу недостатка в открытых инициативах.
Нужно чтобы вся модель влезала в VRAM (и под кеши оставалось место) - тогда будет быстро. Для deepseek надо 5-6 таких карт (навскидку, скорее даже больше) - что сильно небюджетно получится.
По цене одной RTX PRO 6000 как раз примерно выходит Mac Studio M3 Ultra на 512Gb - так что я бы Mac Studio предпочел (для личного использования).
Если сравнивать пропускную способность памяти (где узкое место в выводе), то у Mac Studio она где-то в два раза ниже - так что RTX PRO 6000 не сказать что на порядок лучше будет. Но Mac Studio выйдет на порядок дешевле (или около того).
Если речь о корпоративном использовании на много пользователей (и в пакетном режиме) - то 512Gb памяти не хватит, скорее всего. Так что в пачке RTX PRO 6000, возможно, и есть резон - но я не копал в этом направлении. Так что это оценка очень "на вскидку".
По моему опыту - devstral неплох, но у него проблемы с пониманием русского языка. Лично мой фаворит - Qwen3-30B-A3B с /no_think. Очень быстро работает даже на CPU, с русским проблем нет, по качеству если и уступает, то совсем немного.
Иногда сравниваю один и тот же запрос на Qwen3 / devstral / deepseek (v3, иногда и r1 подключаю). И в большинстве случаев - или все проваливались в моем вопросе, или Qwen3 справлялся неплохо. Было достаточно немного ситуаций, где Qwen3 провалился, а deepseek справился.
Devstral обычно именно на понимании языка заваливается - сделает как надо, но какой-то нюанс упорно не хочет понимать и делает по своему. Свежайший пример - попросил накидать bash-скрипт - справился отлично (лучше чем qwen3, к слову). Но не смог убрать комментарии из скрипта, когда его об этом попросили.
Да и на хабре уже неоднократно писали, так что рецепт известен - AMD EPYC 7002 + 512Gb DDR4 дает около 3-4 т/сек для deepseek в Q4 кванте, если не ошибаюсь. Добавить RTX 3090 - будет быстрее процентов на 50.
Kimi v2, судя по всему, даст схожие цифры, может чуть быстрее даже - активных параметров у нее 32b вместо 37b у deepseek. Но и в 512Gb Kimi v2 Q4 не влезает уже...
И стоит это порядка 250к на вторичном рынке.
Для полноценной работы этого маловато будет, даже если экстремально малые кванты использовать (что еще может ускорить раза в 1.5, но и качество ниже, а главное - есть тесты, что ответы объемнее становятся, так что ждать приходится даже дольше, см https://habr.com/ru/articles/919452/).
Альтернативный вариант (если бюджет позволяет) - смотреть на Mac Studio M3 Ultra на 512Gb, будет шустрее раза в 2-3 (но и дороже раза в 4-5).
Kimi или deepseek локально - нужно оперативы с пол-терабайта как минимум. Да и скорость работы будет очень "не очень". Вариант может и рабочий, но не сильно масштабируемый локально.
Что именно не поддерживает? Модель вызывается уже после работы с RAG в данной статье, нужные данные пишутся в контекст вызова - от ИИ ничего не требуется особого, кроме "ответь по тексту в контексте".
Именно поэтому я все подобные скрипты сначала оборачиваю в транзакцию, которую явно откатываю в конце (для "боевого" выполнения надо раскоментить строчку с коммитом транзакции).
Да и то бывают нюансы - зачастую есть возможность выполнить выделенный скрипт... И UPDATE-SET часть скрипта - вполне валидный скрипт, даже без выделения WHERE-части... Благо, что на "боевых" базах не попадался на подобный прикол...
Поискал - использовали 3 карты PCIe 5.0 x16 и Ryzen Threadripper PRO 7985WX (с 128 каналами PCIe 5.0). И да, там 8 каналов DDR5, что обеспечивает примерно в 3 раза большую скорость оперативной памяти относительно показанной.
Матрица RAID 0, представленная на выставке Computex в этом году, включает три карты Apex Storage X16 Gen5 и 32 новых твердотельных накопителя E28 PCie 5.0 NVMe от Phison. Такая конфигурация достигает 113,6 ГБ/с при последовательном чтении и 104,6 ГБ/с при записи, а смешанная скорость достигает 146 ГБ/с.
P.S. интересно, а если все 128 канала PCIe 5.0 забить по максимуму - будет быстрее оперативки?
Вариант обучать собственную модель отпал сразу — опыта у меня в этом не было, а искать кого-то, кто сможет это сделать, не было времени, так как хотелось быстро запустить.
Создается впечатление, что "обучить свою модель" - дело на пять минут, максимум несколько часов.
P.S. рассматривали ли запуск открытой модели на своих ресурсах? В Yandex Cloud можно и GPU арендовать...
Значит мне так "везло" - qwen в мыслях делал вызовы, а в результате "смотри, все готово". А по факту - он только думал о том, что и как вызывать... Использовал Qwen3-30B-A3B:Q4_K_M.
Недетерминированность LLM в софте, а не в моделях.
В целом, ничего не мешает сделать строго детерминированный вывод LLM. Но да, куча нюансов полезет, особенно если за скоростью вывода гнаться.
Откуда такие цифры?
Тесты показывают 18 ток/сек для deepseek-r1 в q4-кванте.
Вот я про это и говорю. RAG просто "обогащает" запрос по похожим данным. Это не память для модели, это не "ассоциативные цепочки" для модели, не база знаний или еще что. Это просто "что-то похожее было, вот оно".
Просто я недавно поработал с WIT-описанием для WebAssembly Component Model. И допустил ошибку в описании - описал resource в world. И самое интересное, что кодогенерация по описанию работала, но невозможно было использовать сгенерированные классы. Да, в спецификациях сказано, что в world допустимы только импорт/экспорт функций и интерфейсов. Но упустить этот нюанс не сложно (особенно если спецификацию не наизусть знаешь).
Когда уже разобрался, в чем проблема - мне стало интересно, а ИИ найдет эту ошибку в WIT (про решение исходной проблемы, с кодом, даже не говорю)? Топовые модели не справляются (как минимум deepseek-r1, grok-4, kimi-k2, gemini-2.5-pro, gpt-4.1, может что еще пробовал), хотя и знают что это WIT, Component Model и т.д. (к слову, это знали все опробованные модели, в том числе и локальные).
Но если в контекст добавить спецификации WIT (благо, что это просто один относительно объемный файл), то локальный Qwen3-30A-A3B успешно справляется с нахождением проблемы.
Пробовал в RAG загрузить (в OpenWebUI, параметры по умолчанию, кроме модели эмбеддинга - использовал nomic-embed-text) - он находит какие-то похожие куски (3 штуки, как задано в параметрах по умолчанию), но нужной фразы туда не попадает - и он не находит ничего полезного.
Вот я и думаю - а как вообще можно решать подобные кейсы, чтобы спецификации руками не кидать каждый раз. Хорошо, если модель явно несет ерунду - сразу видно, что спецификации не помешают. Но что делать, если ответ более качественный или ты в вопросе совсем не разбираешься (чтобы понять, что в ответе ерунда)?
Так что умная модель - это хорошо. Но не всегда есть модель, которую обучали на твоих сценариях использования и на твоих данных. Но модели способны "понять" новый материал и по нему сформировать ответ. Только нужно добавить нужные данные в контекст. RAG тут может и помогает, но явно не лучшим образом. А вот как это сделать лучшим образом - вопрос открытый.
Да собственно уже появляются - вспомнить тот же AMD Ryzen AI Max+ 395 - устройство с 128 Gb быстрой RAM стоит около $2000. Может deepseek и не запустить, но что-нибудь попроще - вполне себе.
Nvidia собирается выпустить что-то с похожими характеристиками и специально под LLM (правда в 2 раза дороже).
Так что да, устройств будет больше. Но это явно не самые бюджетные решения.
Не думаю, что эти возможности будут сильно дешевле - просто потому, что нужен очень мощный комп для этого (по памяти, по пропускной способности памяти, по вычислительной мощности), и принципиально этот момент меняться не будет. Это базовые ценности для ПК, которые в таких объемах нужны в очень специфичных случаях (если не брать LLM).
Другое дело, что развитие LLM идет вперед, появляются новые алгоритмы, подходы и т.д. Появятся открытые модели, который лучше заточены под конкретную задачу - и они хорошо будут ее решать на относительно слабых ПК.
RAG позволяет найти похожие тексты. Т.е. мы должны заранее знать, о чем идет речь (хотя бы примерно).
Но, например, если нам доступно только название фильма и мы просим проанализировать отзывы?
Он найдет все отзывы, добавит в контекст? Или найдет ближайшие к названию фильма? А если это просто общеупотребительное слово или есть одноименные фильмы / книги / сериалы?
Как RAG дает именно то, что надо? Или просто накидываем в контекст все, что есть, а там модель сама разберется?
Грубо говоря я не понимаю, как RAG позволит организовать что-то вроде толкового словаря или той же википедии, чтобы по слову вытаскивать целую статью.
Действительно, очень полезный промт - добавил в системный )))
Как-то просил ИИ оценить свой ответ и советы - так он очень уверен в своих советах, даже если написал полную ерунду.
Да, есть модели попроще, кто же спорит.
Лично я использую Qwen3-30B-A3B на CPU - и доволен результатами.
Ну а что "дистиляты не сильно уступают" - уступают и заметно. Это просто еще один вариант модели определенной размерности, сравнивать ее надо с моделями этой же размерности.
На мой взгляд, они не справляются с нагрузкой - вот и поднимают лимиты и задирают цены.
Пользователей станет меньше, но общая прибыль не факт, что просядет. А удовлетворенность пользователей скорее даже повысится.
Открытых инициатив достаточно. Открытые LLM, открытые агенты - чего именно не хватает?
Да, в чем-то хуже по качеству, не столь отточено работают. Но и сфера достаточно свежая, конкуренции хватает. Так что не вижу недостатка в открытых инициативах.
Нужно чтобы вся модель влезала в VRAM (и под кеши оставалось место) - тогда будет быстро. Для deepseek надо 5-6 таких карт (навскидку, скорее даже больше) - что сильно небюджетно получится.
По цене одной RTX PRO 6000 как раз примерно выходит Mac Studio M3 Ultra на 512Gb - так что я бы Mac Studio предпочел (для личного использования).
Если сравнивать пропускную способность памяти (где узкое место в выводе), то у Mac Studio она где-то в два раза ниже - так что RTX PRO 6000 не сказать что на порядок лучше будет. Но Mac Studio выйдет на порядок дешевле (или около того).
Если речь о корпоративном использовании на много пользователей (и в пакетном режиме) - то 512Gb памяти не хватит, скорее всего. Так что в пачке RTX PRO 6000, возможно, и есть резон - но я не копал в этом направлении. Так что это оценка очень "на вскидку".
По моему опыту - devstral неплох, но у него проблемы с пониманием русского языка.
Лично мой фаворит - Qwen3-30B-A3B с
/no_think
. Очень быстро работает даже на CPU, с русским проблем нет, по качеству если и уступает, то совсем немного.Иногда сравниваю один и тот же запрос на Qwen3 / devstral / deepseek (v3, иногда и r1 подключаю).
И в большинстве случаев - или все проваливались в моем вопросе, или Qwen3 справлялся неплохо. Было достаточно немного ситуаций, где Qwen3 провалился, а deepseek справился.
Devstral обычно именно на понимании языка заваливается - сделает как надо, но какой-то нюанс упорно не хочет понимать и делает по своему. Свежайший пример - попросил накидать bash-скрипт - справился отлично (лучше чем qwen3, к слову). Но не смог убрать комментарии из скрипта, когда его об этом попросили.
Да и на хабре уже неоднократно писали, так что рецепт известен - AMD EPYC 7002 + 512Gb DDR4 дает около 3-4 т/сек для deepseek в Q4 кванте, если не ошибаюсь.
Добавить RTX 3090 - будет быстрее процентов на 50.
Kimi v2, судя по всему, даст схожие цифры, может чуть быстрее даже - активных параметров у нее 32b вместо 37b у deepseek. Но и в 512Gb Kimi v2 Q4 не влезает уже...
И стоит это порядка 250к на вторичном рынке.
Для полноценной работы этого маловато будет, даже если экстремально малые кванты использовать (что еще может ускорить раза в 1.5, но и качество ниже, а главное - есть тесты, что ответы объемнее становятся, так что ждать приходится даже дольше, см https://habr.com/ru/articles/919452/).
Альтернативный вариант (если бюджет позволяет) - смотреть на Mac Studio M3 Ultra на 512Gb, будет шустрее раза в 2-3 (но и дороже раза в 4-5).
Kimi или deepseek локально - нужно оперативы с пол-терабайта как минимум. Да и скорость работы будет очень "не очень". Вариант может и рабочий, но не сильно масштабируемый локально.
Что именно не поддерживает? Модель вызывается уже после работы с RAG в данной статье, нужные данные пишутся в контекст вызова - от ИИ ничего не требуется особого, кроме "ответь по тексту в контексте".
Именно поэтому я все подобные скрипты сначала оборачиваю в транзакцию, которую явно откатываю в конце (для "боевого" выполнения надо раскоментить строчку с коммитом транзакции).
Да и то бывают нюансы - зачастую есть возможность выполнить выделенный скрипт... И UPDATE-SET часть скрипта - вполне валидный скрипт, даже без выделения WHERE-части... Благо, что на "боевых" базах не попадался на подобный прикол...
Поискал - использовали 3 карты PCIe 5.0 x16 и Ryzen Threadripper PRO 7985WX (с 128 каналами PCIe 5.0). И да, там 8 каналов DDR5, что обеспечивает примерно в 3 раза большую скорость оперативной памяти относительно показанной.
P.S. интересно, а если все 128 канала PCIe 5.0 забить по максимуму - будет быстрее оперативки?
Создается впечатление, что "обучить свою модель" - дело на пять минут, максимум несколько часов.
P.S. рассматривали ли запуск открытой модели на своих ресурсах? В Yandex Cloud можно и GPU арендовать...
Значит мне так "везло" - qwen в мыслях делал вызовы, а в результате "смотри, все готово". А по факту - он только думал о том, что и как вызывать...
Использовал Qwen3-30B-A3B:Q4_K_M.
А разве для эмбеддингов не нужна специальная модель?