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)
Ответ на: комментарий от The_doctor

Точно на этот вопрос тебе даже разработчики nvidia не скажут. Но в целом @Obezyan дело говорит. За исключением того, что для голосовых моделей обычно используется ONNX, но про него я ничего сказать не могу.

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

Для тренировки как-то жидковато 16гб.

А так все больше моделей онлайн офигенных доступно, уже иметь дома для LLM что-то ниже 24гб где вмещаются хотя бы q5_K_M 22-32b модели - очень грустные траты денег.

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

Для тренировки как-то жидковато 16гб.

Жидковато, но с меньшим количеством VRAM можно даже не пытаться.

А так все больше моделей онлайн офигенных доступно, уже иметь дома для LLM что-то ниже 24гб где вмещаются хотя бы q5_K_M 22-32b модели - очень грустные траты денег.

Это LLM. А сабжевый тред про STT/TTS, у них там несколько другие требования к ресурсам. У SD тоже свои, там 16G для одной модели 1.5 или SDXL хватит.

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

все бесплатные и доступны для скачивания по ссылкам

Справедливости ради, huggingface имеет далеко не самый очевидный интерфейс. Github-like интерфейс и структура репозитория не сильно подходит для этого, но учитывая разношёрстность контента, сложно придумать что-то лучше.

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

понял, оставлю эту идею. к тому же нашел от января новость, что nvidia сворачивает поддержку maxwell pascal volta в sdk 12.8, и решил не брать данные старые карты (а то получится, что сейчас может и подниму, а потом как перестанут какие-нибудь зависимости работать и начнется веселье)

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

Никто в здравом уме через веб морду не качает, есть апи и свой пакет под python который позволяет качать парой строчек кода зная только имя модели на странице. Это все описано в их руководстве.

А гит репозитарий там для авторов модели, они иногда исправляют конфиги и тд.

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

есть апи и свой пакет под python который позволяет качать парой строчек кода

Да-да, отличная идея окунать новичков сразу в API huggingface, вместо того чтобы дать им не самую всратую и не самую тяжёлую модель и инструмент чтобы её запустить. (%

зная только имя модели на странице

Ну то есть ты понимаешь что нужно вначале зайти на сайт пробежаться по нему. (=

А гит репозитарий там для авторов модели, они иногда исправляют конфиги и тд.

Знаю. Но вот для пользователя можно было сделать обёрточку попроще. Опционально с переключалкой в настройках профиля easy/dev.

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

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

Но вот для пользователя можно было сделать обёрточку попроще.

Это сайт для людей которые знают Python, transformers и понимают с какой стороны подступаться к нейронным сетям.

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

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

Никто не ставил задачу дать мимокрокодилам без навыков в 2 клика мышкой запустить сеть.

Ему альтернатив нет. Разве что для Stable Diffusion есть civitai, для ESRGAN и прочих апскейлеров ещё что-то было, и на этом в общем-то всё.

Ваша претензия не имеет смысла.

Претензия не столько к самому huggingface, сколько к отсутствию ему каких-либо юзер-френдли (на примере civitai для SD) альтернатив. Я прекрасно понимаю что hf универсален, он не только для LLM, но и для SD, vision, STT, TTS и всего-всего. И универсальный юзер-френдли интерфейс к нему не прикрутить — слишком много получится компромиссов не в пользу юзабилити.


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


Мой знакомый держит (приватную) группу в Telegram по нейронкам. Если интересно, его акк @FormerSmith, я его предупредил что могут наведаться с ЛОРа.

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

и заставить нейронку работать на этом винегрете?

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

peregrine ★★★★★
()

Смотри, сам по себе whisper не очень большой и может тебе хватит качества и скорости квантованной модели. Ещё этих челиков посмотри, https://github.com/snakers4/silero-models#text-to-speech

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

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

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

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

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

Ага. Обмен-то через ОЗУ пойдёт. Стало быть, можно сразу нейронку на процессоре запускать - то на то и выйдет.

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

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

Обезьянычи разворачивают сети в conda окружении и имеют свои версии totch audio и тд под каждую сеть без каких-либо проблем.

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

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

Обезьянычи разворачивают сети в conda окружении Словно я этого не знаю, лет 10 её юзаю ещё когда про неё никто толком не знал… Зачастую конда тебе ничем не поможет, особенно когда там биндинги ко всяким ffmpeg-ам патченным/кривым/прибитым к оффтопику версии автора (какой-нибудь сраной семёрки которая в его НИИ РОГА И КОПЫТА стоит или Horns and Hooves Labs если сей джентельмен обитает за океаном). Я полно видел «проектов» которые нельзя завести на заявленной конфигурации, но можно в условном оффтопике при заявленном онтопике и наоборот. Ещё веселее когда автор использует pip внутри conda и ставит конфликтующие версии библиотек, например в недавнем мне попалось что list в более новой версии библиотеки заменён на set, а у челика угадай что? В одном режиме работы поделия ожидается list а в другом set, а как итог результат работы краш, как хочешь ты крутись и ставь библиотеки у тебя либо одно не работает, либо другое.

А ещё бывает (у самого так было по невнимательности первый раз когда полез нейронками заниматься, убил 4 часа прежде чем понял в чём дело), когда кусок данных для проверки результатов попал в обучение. Цифры «точности» при таком огромные - 98-99% точности как нефиг делать. Вот только как реальные данные прилетают точность становится на уровне статистической погрешности. А теперь угадай сколько такого я видел в «забугорных уважаемых рецензируемых журналах, где не только статья но ещё и код на гитхабах лежит для красивого отчёта?» А разгадка простая - отрицательные результаты в науке не любят, как так деньги выдали, эксперимент провели, а точность получилась не выше чем у Васи который уже сделал свои 75% точности и переплюнуть его как-то не вышло. Но стоит подхимичить с подмешиванием данных и вот у нас 80% точность на тестовом датасете. Кто поопытнее химичит над самим датасетом, выкидывая оттуда все «нехорошие» данные, которые портят красивую картинку, ещё можно бесполезные метрики измерять для конкретной задачи (например, когда датасет не сбалансирован и 99% данных класса А а 1% класса Б то можно всегда говорить что у тебя А и вот 99% точности, а тут важно сколько ложноположительных и какой процент Б не распознаётся). Круто деньги не зря выделили.

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

А зачем под анонимуса забились? Нормально же общались.

Понятно, что на платформе которая предоставляет БЕСПЛАТНЫЕ модели будут крупицы золота в море шлака. Просто не используйте шлак.

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

Для того же tts что вы упоминали ранее я использую suno/bark и при необходимости доучиваю. Но это не моё основное направление, я больше по BI-LSTM сетям.

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

Ну тут могут быть варианты что тебе оперативки мало чтоб чисто в ОЗУ запустить. И чисто теоретически автоэнкодер может в середине (между энкодером и декодером) очень сильно данные сжимать, так что их там просто мало будет, но всё равно это какие-то граничные случаи, тем более привяжут тебя жестко к твоей архитектуре конкретной машинки и обучение будет очень медленным.

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

Да. И вообще, как я гляжу, оно любит сперва всю модель в ОЗУ загрузить, а потом уже пихать в видеопамять. И, вроде бы, это необязательно, - но уверенности у меня нет.

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

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

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

anonymous
()