LINUX.ORG.RU

Вопрос по локальным нейросетям

 ,


1

2

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

Появился ряд вопросов по этой теме: Сейчас стоит 2 задачи:

  1. Хотим сделать транскрибатор с использованием openai Whisper на своем железе и
  2. Есть желание сделать голосовое управление без интернета для home assistant.

Отсюда ряд вопросов:

  1. Какие системные требования для сетей под такие задачи? (в сети пишут разные вещи, но все +- около топа/предтопа)
  2. Возможно ли установить в пк 2 разные видюхи одновременно и заставить нейронку работать на этом винегрете? (например radeon mi50 + gtx1630/intel arc b580)
  3. Пока копал тему железа, вспомнил про специфичную игрушку в виде Intel xeon phi sc7220. Реально ли такое задействовать для работы нейронки? Или будет только жрать и коптить, а практического толку не будет?
  4. Я правильно понимаю, что нейронка будет грузить видюк на полную только в момент обращения к ней/скармливания данных, а не на постоянную?
  5. Нужен ли отдельный ссд под вышеописанные задачи?
  6. Будет ли иметь значение процессор для таких задач? (чтобы знать уже точно, что проц можно какой-нибудь i3 поставить, а приоритет отдать ускорителям)
  7. Где можно почитать описание разных моделей что умеют, в каких задачах применяются и тд? (или может есть мануал для чайников? с малого к большому)
  8. сейчас располагаю свободным железом в виде i3-4130, 7гб озу и майнерского варианта gtx 1050ti 3gb (p106-090). стоит ли пытаться заводить что-то из вышеперечисленного на этом железе ради эксперимента, или захлебнется?


Последнее исправление: The_doctor (всего исправлений: 1)

сейчас располагаю свободным железом в виде i3-4130, 7гб озу и майнерского варианта gtx 1050ti 3gb (p106-090). стоит ли пытаться заводить что-то из вышеперечисленного на этом железе ради эксперимента, или захлебнется?

Захлебнётся. Купи хотя бы p104-100

tiinn ★★★★★
()

Основное требование - нейросеть должна помещаться в память целиком, без свопа. В идеале - целиком в память gpu, некоторые нейронки без выполнения этого условия не имеет смысла пытаться запускать. Работа на CPU бывает в десятки раз медленнее работы на GPU.
Скоростной SSD нужен для больших моделей на десятки гигабайт. Для мелких можно обойтись простым ssd/hdd.

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

Хорошо, с видюком понятно, смотрю пока в сторону radeon mi50, 16гб может и хватит на это все добро. А что насчет процессора? Тут можно любой использовать, или все же что-то серьезное все равно втыкать придется? (хотя бы в рамках описанных задач) Будет ли оно еще и камень нагружать, или вся магия будет на ГП происходить и проц будет прохлаждаться?

The_doctor
() автор топика

Какие системные требования для сетей под такие задачи?

Зависит от модели. Какие-то помещаются в 4G VRAM, каким-то нужен кластер из 256G(!) VRAM.

Возможно ли установить в пк 2 разные видюхи одновременно и заставить нейронку работать на этом винегрете? (например radeon mi50 + gtx1630/intel arc b580)

Нет. nvidia использует CUDA и для неё нужен Torch в варианте -cu; AMD использует ROCm, и для него нужен Torch в варианте -rocm. Это две совершенно разные сборки Torch, которые не могут сосуществовать. Но можно поставить два разных торча в два разных venv’а.

Я правильно понимаю, что нейронка будет грузить видюк на полную только в момент обращения к ней/скармливания данных, а не на постоянную?

Гонять GPU — да, во время обращения. Занимать VRAM будет с тех пор как обратился к модели и до тех пор пока не выгрузишь модель или не завершишь процесс торча.

Нужен ли отдельный ссд под вышеописанные задачи?

Скорость диска влияет только на старт, потому что модель считывается с диска и загружается в RAM и/или VRAM.

Будет ли иметь значение процессор для таких задач? (чтобы знать уже точно, что проц можно какой-нибудь i3 поставить, а приоритет отдать ускорителям)

Часть задач производится на CPU, но минимальная. А вот RAM нужна чем быстрее тем лучше, выгрузка в RAM из VRAM и обратно может происходить регулярно.

Где можно почитать описание разных моделей что умеют, в каких задачах применяются и тд? (или может есть мануал для чайников? с малого к большому)

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

сейчас располагаю свободным железом в виде i3-4130, 7гб озу и майнерского варианта gtx 1050ti 3gb (p106-090). стоит ли пытаться заводить что-то из вышеперечисленного на этом железе ради эксперимента, или захлебнется?

Попробуй. Но даже если оно что-то сможет высрать, скорость тебе не понравится. (=

Есть желание сделать голосовое управление без интернета для home assistant.

С этим пока всё довольно печально.

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

А что насчет процессора?

Здесь не подскажу. Ибо я использую нейросети для генерации картинок, и видюху воткнул вообще в самый слабый комп, который только можно придумать - asrock j4005b-itx c 16 Gb RAM. Ну, задачи кодирования текста там выполняются долго, пару минут… Сами картинки генерятся нормально, как у всех.

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

Основное требование - нейросеть должна помещаться в память целиком, без свопа. В идеале - целиком в память gpu

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

некоторые нейронки без выполнения этого условия не имеет смысла пытаться запускать

Можно, если никуда не торопиться, и то что делается за пять минут нужно выполнить хотя бы до следующего дня. (=

Работа на CPU бывает в десятки раз медленнее работы на GPU.

Скажем так, она никогда не бывает быстрее. Зависит от CPU и GPU. Но в среднем — да, на порядки.

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

Нет. nvidia использует CUDA и для неё нужен Torch в варианте -cu; AMD использует ROCm, и для него нужен Torch в варианте -rocm. Это две совершенно разные сборки Torch, которые не могут сосуществовать. Но можно поставить два разных торча в два разных venv’а.

-Понял. Что лучше использовать, amd или nvidia? (кто себя лучше ведет из них?)

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

Зависит от модели. Какие-то помещаются в 4G VRAM, каким-то нужен кластер из 256G(!) VRAM.

  • Я правильно понимаю, что в домашних условиях аналог яндекс Алисы, с которым хоть как-то поболтать можно, даже не стоит пытаться собирать?)
The_doctor
() автор топика

сейчас располагаю свободным железом в виде i3-4130, 7гб озу и майнерского варианта gtx 1050ti 3gb (p106-090)

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

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

ну, за неимением горничной…))) так еще 2 компа стоят +- приличные, но один играми занят, а второй рабочий, но там radeon w5500 + gtx1630 (насколько знаю на этой радеонке не удастся завести ничего)

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

Что лучше использовать, amd или nvidia? (кто себя лучше ведет из них?)

// Дисклеймер: у меня нет видеокарты. Уже лет двадцать.

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

Я правильно понимаю, что в домашних условиях аналог яндекс Алисы, с которым хоть как-то поболтать можно, даже не стоит пытаться собирать?)

Тебе это обойдётся очень дорого. Причём вначале разово для закупки железа соответствующего уровня, а потом регулярно за электричество (напомню что консьюмерская видеокарта жрёт всего 600-800W, тогда как промышленная жрёт уже за киловатт, а тебе для быстрой и точной реакции "ИИ" на твои команды понадобится не одна).

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

понял, спасибо) значит для экспериментов ограничусь пока одной mi50, а потом может и вторую докуплю (правда скорее всего надо будет искать мамку с двумя честными х16 слотами, а то везде 16/4, в лучшем случае 16/8)

The_doctor
() автор топика

Вы не указали детали применения, а от этого зависит практически все:

  1. Транскрибция будет идти с видео+аудио или только с аудио потока?

  2. Каков язык источника и желаемый язык результата? Русский, английский?

  3. Какова длительность исходных фрагментов?

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

да, совсем вылетело из головы.

  1. пока только аудио, записи звонков в рабочей атс. в будущем, возможно, будет и видео (совещания/презентации)
  2. язык только русский
  3. длительность приблизительно до 60 минут
The_doctor
() автор топика
Ответ на: комментарий от Obezyan

Транскрибция будет идти с видео+аудио или только с аудио потока?

В любом случае это будет вначале перекодироваться в WAV, и уже потом обрабатываться.

Каков язык источника и желаемый язык результата? Русский, английский?

Влияет на "ассортимент" моделей и их качество.

Какова длительность исходных фрагментов?

Влияет на требования к RAM+VRAM. Чем длиннее исходник, тем больше ресурсов необходимо для его "разбора".


@The_doctor, это всё для тебя комментарии, бибизян и без меня наверняка это знает.

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

Попробуй. Но даже если оно что-то сможет высрать, скорость тебе не понравится. (=

  • Касательно проца. тут больше что играет роль: частота, кол-во ядер, или всё разом? просто не дает покоя затея с xeon phi, в помощь видяшке можно наверное такое прикрутить?
The_doctor
() автор топика
Ответ на: комментарий от The_doctor

В таком случае советую обратить внимание на ultravox.

У них есть готовые сети которые требуют всего 1.5Gb памяти: 1B параметров, 8B параметров, 70B параметров, что вполне укладывается в ваше железо.

Более серьезные модели, такие как Qwen2-Audio-7B потребуют уже 16Gb памяти. Я рекомендую использовать именно видеопамять тк с оперативной памятью будет гораздо медленнее.

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

Obezyan
()

Мелкие варианты whisper в целом сравнительно терпимо работают и чисто на процессоре. Ну это если задача вида home assistant и распознавать надо один голос со скоростью близкой к реальному времени, а не «нагенерировать субтитры к 300 гбайт аудио вон в той папке».

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

Касательно проца. тут больше что играет роль: частота, кол-во ядер, или всё разом?

Всё как обычно, количество ядер влияет на количество одновременно обрабатываемых команд, частота на количество оных за единицу времени.

просто не дает покоя затея с xeon phi, в помощь видяшке можно наверное такое прикрутить?

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

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

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

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

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

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

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

ну, за неимением горничной…)))

Не еб* себе и другим голову. Если хочешь вкат в нейронки локальные, поскольку ты писал что:

Я новичок в теме нейросетей

Просто ставь себе сразу бомж-видяху типа NVIDIA GeForce RTX 4060 Ti с 16GB VRAM. И эксперементируй с чем хочешь. Это буквально минимум для вката сейчас.

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

Просто ставь себе сразу бомж-видяху типа NVIDIA GeForce RTX 4060 Ti с 16GB VRAM. И эксперементируй с чем хочешь. Это буквально минимум для вката сейчас.

Ложь!
Для трени — да, для использования — совершенно не обязательно. Но если хочется быстро, то да, лучше иметь что-то подобное.

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

гонять нейросети локально, это полнейший бред

Иметь приватные данные тоже бред?
Или ты наивно полагаешь что всякие ChatGPT не хранят и не используют в свою пользу документы, которые ты им скармливаешь на анализ?

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

на правах техноизвращения родился вопрос: реально ли задействовать 2 карты nvidia разных поколений одновременно для работы нейронки? например rtx4060 и tesla k80?)

The_doctor
() автор топика

...новичок в теме нейросетей, поэтому

ты пришёл с этим на ЛОР, верно?

Мне жаль тебя разочаровывать, но вы (ты и другие) не сделаете задуманное.

Для обеих задач не нужен ИИ. То есть можно и без него обойтись.

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

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

Тот же torch ориентирован больше на data parallelism для целей обучения сети, а не model parallelism для инференсов. Поэтому теоретически - можно, а практически придётся написать много пода под конкретные карты.

Obezyan
()