LINUX.ORG.RU

LLM на своём компьютере с нуля

 ,


1

2

Какие сейчас есть варианты для того, чтобы поэкспериментировать с LLM на своём компьютере? В том числе чтобы создать свою модель с нуля (даже если она не будет Large)? То есть, чтобы запускать её на своём компьютере, и не использовать сторонние ресурсы?

★★★★
Ответ на: комментарий от watchcat382

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

Кстати, бум смартфонов и ИИ в использовании для перевода, может сделать навык знания нескольких языков бесполезным в будущем. Уже сейчас, чем читать документацию на английском, даже зная язык(а ведь доки могут и на китайском быть), проще попросить нейросеть пересказать(даже не перевести) на русский.

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

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

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от tiinn

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

Жаль, что нет.

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

А если бы ещё так же, то чтобы все возможные параметры конфига описала по коду

И как вы себе это представляете? Там может быть не один конфиг, а два-три, параметры могут быть захардкожены в коде, в ГУЕ, в реестре Windows. Какую документацию вы планируете получить?

tiinn ★★★★★
()

Я бы смотрел совсем в другую сторону а разработку новых топологий и обучение моделей с нуля оставил вумным дядькам. Смотри на вполне конкретное прикладное применение и как из этого можно извлечь ощутимый профит. Вот есть у тебя готовый зоопарк уже обученных разнообразных моделей от различных энкодеров, распозновалок голоса/изображений до собственно llm, каким образом из всего этого зоопарка ты сможешь получить конкретный профит на прикладных задачах если все эти модели условно совершенно ничего не знают друг о друге и о способе влаимодействия друг с другом? Вот завезли RAG и MCP для LLM хостов и тем самым решили некоторые проблемы (и породили новые) а какие еще костыли могут потребоваться? Как по хардкору, декларативно, надежно, предсказуемо можно организовать взаимодействие между разными животными зоопарка?

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

и совсем никак никаких более-менее общеупотребительных языков не знают.

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

Там конечно есть к чему стремиться, но лучше чем ничего. Кстати и в телефоны ща пихают дополнительные ядра, заточенные запускать локальную модельку.

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

У меня сеть пишет Swаgger документацию прямо в коде

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

anonymous
()

В том числе чтобы создать свою модель с нуля (даже если она не будет Large)? То есть, чтобы запускать её на своём компьютере, и не использовать сторонние ресурсы?

Прикинь сразу какое железо для этого нужно. Очень грубо приблизительно, но для нормального обучения с нуля (не для дообучения - файнтьюнига) нужно при обучении с типом данных float32 в 15*batch_size раз больше VRAM, чем число параметров. batch_size - это размер батча, количество одновремённо пихаемых в модель в одном пакете исходных данных.

То есть, для видеокарты с 16Гб RAM на борту от силы можно очень неспешно пообучать модель с 1B-параметрами. На практике с батчем 8-16 это выходит не более 100-200M. Для приличных LLM это совсем мало, для многих задач компьютерного зрения это вполне годных размер.

В принципе есть разные ухищрения, позволяющие сократить потребность в памяти: использование 16-ти битных типов (сокращает потребление памяти и ускоряет вычисления, но может снизиться качество и стабильность процесса) , Gradient checkpointing (сохранение между вызовами модели только части градиентов и повторное вычисление каждый раз - замедляет обучение на 30-40%), CPU offloading (частичная выгрузка в CPU - тоже замедляет обучени). В итоге можно попытаться впихнуть в 16Гб обучение на ~ 1.5B параметрах.

Ну и вот это предел. Для 32Гб 5090 можно попытаться примерно 2-2.5B трансформер обучить. Но это офигеть как медленно будет (вполне может и месяц и более занять)

Для дообучения (файнтьюнинга) требования могут быть поскромнее, если при этом обучается только часть слоёв, а остальные заморожены. Используются приёмы работы с квантованными до 4 бит/параметр моделями (QLoRA / 4-bit training). В этом случае на 16Гб можно попытаться дообучать модель с 4-5B параметров.

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

И как вы себе это представляете? Там может быть не один конфиг, а два-три, параметры могут быть захардкожены в коде, в ГУЕ, в реестре Windows. Какую документацию вы планируете получить?

Ту, которую можно написать при изучении непосредственно кода. Вот написано в коде if(par1 == 1) ... ,вот изучить код, и выдать к каким изменениям в проведении программы приведет изменение par1.

В принципе, если я у Copilot(с GPT5.2-codex) сейчас спрошу что-то вроде «Опиши как повлияет на поведение программы изменение в конфиге параметра log_level», он мне вполне опишет следующее:

Поддерживаемые значения и эффект:

none — отключает запись/отправку любых сообщений.
error — только ошибки/исключения.
warning — предупреждения + ошибки.
info — информационные + предупреждения + ошибки (значение по умолчанию).
debug — все уровни, включая info и warning.
Если хотите, могу показать конкретные места в коде с точными ссылками по строкам.

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

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

Вот написано в коде if(par1 == 1) … ,вот изучить код, и выдать к каким изменениям в проведении программы приведет изменение par1.

А потом окажется, что этот par1 встречается в коде 256 раз, и каждый раз это другой par1 разных типов и с разной смысловой нагрузкой.

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

У меня есть софтинка, которая в расчете использует формулы разные. Хочу попробовать гопотой сгенерировать из кода формулы используемые для расчета. Там что-то типа медиан рассчитывается и тому подобного. И вот интересно, сможет он вывести формулы(пусть и в неоптимизированном виде) глядя на циклы и математические операции в них.

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

У меня есть софтинка, которая в расчете использует формулы разные. Хочу попробовать гопотой сгенерировать из кода формулы используемые для расчета. Там что-то типа медиан рассчитывается и тому подобного. И вот интересно, сможет он вывести формулы(пусть и в неоптимизированном виде) глядя на циклы и математические операции в них.

Главное - как следует потом это проверить. А то гопоте что а/b, что b/a - всё едино.

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

Я про параметры в конфиге(/etc/program.conf) всё же изначально говорил. А их и их значений вполне конечное число, которое на несколько страниц мана влезает.

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

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

Ну это уже клиника такой код. Тут и автор через год не факт что разберет что он понаписал.

Логичнее исходить из плохих предположений.

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

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

пришел и можешь нифига не делать?

Не то чтобы совсем ничего не делать но реальной работы вполне может быть меньше 8 часов, например часа 2-3, но «размазанных» на весь день.

итого 11.

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

А вот дистанционный работник вынужден реально вjobывать чтобы получить столько сколько офисный работник получает не особо напрягаясь но присутствуя на рабочем месте. Потому что для начальника человек который даже на работу ходить не хочет - по определению лентяй. Соответственно платить ему можно меньше.

Про то что одежда на удалёнке не снашивается пожалуй не буду

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

watchcat382
()
Последнее исправление: watchcat382 (всего исправлений: 1)
Ответ на: комментарий от Loki13

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

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

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

может сделать навык знания нескольких языков бесполезным в будущем.

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

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

Проще - абсолютно не значит что эффективнее. Вспоминается древний анекдот про «Рабинович напел». Если для какого-то художественного произведения пересказ не страшен, то представьте что такое пересказ например текста какого-нибудь официального стандарта, где в оригинале выверялось каждое слово. Или тоже самое про юридические документы. Если же текст на китайском - то надо искать переводчика с китайского, который знает тему на которую этот текст. Ибо нейросеть такого напересказывает…

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

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

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

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

В карман куртки влезет.

Пока что это не более чем рекламные обещания очередного стартапа в целях привлечения инвестиций.

А если пройти по ссылке на www.prnewswire.com то там можно прочитать такое:

Power Efficiency 30W TDP, 65W typical system power

Даже если оно кушает 30, а не 65 ватт - это значит что даже ноутбучной батарейки хватит весьма не на долго. А она размером побольше этой коробочки будет. И все эти ватты будут нагревать ее начинку.

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

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

Соглашусь с вами. Локально работающий аналог chatgpt - это всё-таки дело весьма далёкого будущего когда(если?) компьютерная память подешевеет еще раз в десять в пересчете на цену мегабайта. Чтобы примерно терабайт оперативной памяти в компе стал доступной конфигурацией. Ну и будут разработаны и доведены до массового производства специальные чипы для аппаратного ускорения именно того класса вычислений которые нужны нейросеткам.

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

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

да вполне типичная ситуация, как только надоедает сидеть безвылазно в отеле с all-inclusive. Травануться как показывает практика везде можно, специфика еды конечно есть, но обычно те, кто едут в азию как-то это учитывают, либо начинает учитывать на следующий день)

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

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

Ибо нейросеть такого напересказывает…

Мне нейросеть давеча напересказывала по документации как патч сделать в проекте на GTK4. И я не зная GTK4 совсем, сделал в софтине нужное мне поведение. А сам я бы день наверное потратил.

Что сделал? Сделал(за минут 40) добавление новой вкладки по даблклику на панель вкладок в ghostty и отключил GTK'шное maximize\unmaximize с этого даблклика.

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

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

Я на Шри-ланке отдыхал 10 лет назад. Так там в центральной части английского не знаю от слова совсем. Я таксисту 20 минут пытался объяснить что надо остановить у туалета(и пи-пи и ватерклозет и как только не пытались). В итоге он позвонил в отель из которого мы выехали, мы сказали им, а они ему уже на местном языке объяснили что мы хотим. А ты говоришь меню.

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

Я на Шри-ланке отдыхал 10 лет назад. Так там в центральной части английского не знаю от слова совсем.

Скорее всего вам попался тамил, сингал или вообще - малаец, а не ланкиец. Я жил одно время на Шри-Ланке. И в Коломбо и в Унаватуне и в центральной (горной) части. Они по-английски говорят лучше англичан местами (чище). Нувара-Элия вообще - маленькая Англия, поля для гольфа, туманы, домишки викторианской эпохи.

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

Почему инференс требует таких чудовищных вычислительных ресурсов? Потому что количество параметров исчисляется миллиардами?

Миллиарды параметров, kv cache много жрет, сам attention квадратичный. Всякие нативные квантизации по типу MXFP4 только-только начали появляться. Вот и оно.

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

Даже если оно кушает 30, а не 65 ватт - это значит что даже ноутбучной батарейки хватит весьма не на долго. А она размером побольше этой коробочки будет. И все эти ватты будут нагревать ее начинку.

Решение портативное? Таки ж портативное.

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

В Дамбале было дело. Ни на рынке никто английского не знал, ни таксист. Но мы там одни сутки только были, может так попалось. А в Нуварелии и Тангалле жили, там всё в порядке было с английским у местных.

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