LINUX.ORG.RU

Датасеты для нейросетей

 , датасеты,


3

2

Собственно разыскивается САБЖ, хочется именно под нейросети (не регрессия, не рэндом форесты и так далее, нейронкам нужно больше данных для обучения, на маленьких наборах рулят более простые алгоритмы). Желательно не про картинки (в картинках жестко рулит CNN и его модификации). Хочется чего-то качественного но не слишком сложного для сети (в то же время чтоб объём данных для обучения был достаточно большой), чтоб протестировать разные архитектуры сетей и проверить пару гипотез, но в то же время не упереться в объёмы видеопамяти. В идеале хотелось бы чего-то простенького, что может уложиться в 5-6 гигов видеопамяти в плане модели сети на раннем этапе (нет мне не надо достигать 99% точности, мне важнее узнать что способом a я достиг 75% точности затратив n часов обучения, а способом b я достиг 80% точности, затратив m часов обучения при одинаковых или похожих объёмах видеопамяти), если будет понятно, что гипотезы будут подтверждены, то там уже можно и машинку арендовать и делать что-то интересное и практическое. В общем, ищется аналог Lena.jpg но под нейронки, чем универсальней, тем лучше. На kaggle смотрел, но там слишком много датасетов, а хочется чего-то эталонного, так что хочу послушать предложения ЛОР-овцев.

PS

Интересные датасеты с интересными задачами тоже рассматриваются, но в приоритете эталонные датасеты.

PPS

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

★★★★★

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

хочется чего-то эталонного

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

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

сбер понятно что не осилит, публично. Потому как корпорасты скачают флибусту или либген в случае США корпорастов и будут на ней нейронки учить. Но признаться в этом нельзя (по тому как украденных текстов там на миллионы или даже на миллиарды рублей уж точно, а может и долларов).

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

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

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

но в приоритете эталонные датасеты.

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

Пока подкину 2-3 датасета.

Если из совсем простого и классически-эталонного, то начни с датасета MNIST - где скачать и как использовать найдёшь в гугле. Это датасет с образцами рукописного написания цифр. Картинки там ч/б 28x28 пикселей (или какое-то другое разрешение точно не помню). Составлен был в начале 90-х, выюзан всеми кому не лень вдоль и поперёк :) Не официально называется иногда «цифровой дрозофиллой» по аналогии со значением этой мушки для биологов. Для работы с ним хватит 5-6 Гб VRAM и даже менее 1 Гб хватит для интересных результатов.

Есть ещё относительно недавно составленный AudioMNIST с аудиофайлами с образцами произнесения различными дикторами (спикерами в терминологии) отдельных цифр. https://github.com/soerenab/AudioMNIST Это уже по затратам RAM для интересных результатов посуровее, но в принципе в 8Гб должно уложиться.

Есть датасет ImageNet https://www.image-net.org с картинками разных объектов, с распознавания которых с ошибкой менее 17% началась нейровесна в 2012-м. Тогда использовали 4 видюхи GTX 580 с 2 Гб VRAM, тренировали на них емнип неделю. Сейчас для той точности одной должно хватить в течение суток. Но чтобы его выкачать есть некоторые сложности. Надо регистрироваться или на ImageNet или на kaggle https://www.kaggle.com/competitions/imagenet-object-localization-challenge/data и принимать лицензии (не применять для коммерческих целей итд) Причём для полного датасета (с миллионом картинок) там емнип дополнительные сложности.

Отдельно замечу по поводу масштабирования достижений при тренировке нейросети. Далеко не всегда можно взять accuracy простым увеличением сложности и количества эпох. Я бы даже сказал, что для каждой архитектуры есть предел, то есть, например, для чего-то легко достигнешь 75%, хорошо поднатужившись 80%, а уже 85% - обломись, хоть ферму из тысячи H200 гоняй месяц.

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

Датасет это не алгоритм/архитектура нейронки, а как раз вот этот вот размеченный массив данных на которых учится модель. BERT это модель, к тому же требующая нехилой вычислительной мощности, особенно на обучение, как и все LLM. Обучение LLM начинается от нескольких десятков лямов баксов, а я не олигарх, чтоб позволить себе такие траты. Потому у нас LLM только от корпораций, при том жирненьких, в РФ вроде только банки и яндекс могут себе такое позволить, ещё газпром в хорошие времена мог. Ну и ясно что отдельные сверх богатые дядьки вроде Маска и Безоса могут со своего кармана оплатить, но условный Потанин уже не знаю, ему может слишком большие траты будут, чтоб профукать с высоким шансом (чтоб бабки сделать на этом надо качеством с чат гопотой и дипсиком тягаться, а это трудно).

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

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

Учёные-мочёные годами тренировали и меряли нейросети по ImageNet, пока не поняли, что все эти замечательные тесты имеют мало общего с практическими задачами, и факт точности 120% от человеческой говорит лишь о безумной бессмысленной переобученности моделей, а не о том, что они распознают картинки лучше человека. Взять ту же Batch Normalization, которая, как выяснилось спустя много лет, приводила к чрезмерному акценту на текстуры и подавляла анализ больших объектов. И все эти мочёные на эталонных датасетах всё проверяли.

Я это к чему... Если нужно повторить старые трюки, то просто берешь и повторяешь. Если нужно что-то новое — то желательно делать что-то новое, а не повторять старые ошибки обучения на эталонных синтетических датасетах.

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

Если из совсем простого и классически-эталонного, то начни с датасета MNIST - где скачать и как использовать найдёшь в гугле. Это датасет с образцами рукописного написания цифр

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

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

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

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

Другое дело, что зачем разрабатывать и тренировать свои модели, когда на huggingface валом готовых базовых моделей, которые можно зафайнтюнить под свою задачу за день на облаке? Это вопрос не «только огромная корпорация» — это вопрос «зачем этим заниматься?».

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

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

Неужто для грузин ничего не сделали?

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

Неужто для грузин ничего не сделали?

Я тебе про то, что ты натренировал нейросетку на «эталонном» датасете, а по факту она будет читать другие шрифты, в которых будет беспомощна. Я согласен с тем, что врачебные шрифты нереально прочитать, не имея заранее расшифровки, но тут даже не рукопись ведь, просто нестандартный печатный шрифт. Как проверить эффективность нейросети? Просто берешь, пишешь от руки текст, и смотришь, как нейросетка его распознаёт. В большинстве случаев результаты грустновые даже на state of the art моделях.

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

Я тебе про то, что ты натренировал нейросетку на «эталонном» датасете, а по факту она будет читать другие шрифты, в которых будет беспомощна.

Если другие шрифты сильно отличаются, то будут беспомощны. Биологическая «нейросетка» без дополнительного обучения, кстати, тоже. Для эксперимента поищи изображения Латинской Библии 1407-го года. Например, на википедии хотя бы Напечатана средневековой готикой. Сумеешь сходу распознать?

Можно ещё китайские/японские иероглифы вспомнить. Арабскую письменность.

Просто берешь, пишешь от руки текст, и смотришь, как нейросетка его распознаёт. В большинстве случаев результаты грустновые даже на state of the art моделях.

Не экспериментрировал именно с нейросетками и OCR рукописей. Скорее всего, подобные проблемы в том, что тема OCR стала не очень интересной, нишевой. Голос-то научились ведь распознавать практически произвольный, даже в условиях помех. У меня openai-whisper часто (но надо сказать не всегда всё-таки) уверенно распознаёт даже слова певцов в музыке, где людям может быть сложно.

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

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

Для экспериментов: MNIST, ImageNet, CIFAR,

+ за CIFAR. Про ImageNet я ранее упомянул, а про более простой набор изображений забыл. 60000 картинок в 10 классах: самолёты, автомобили, птицы, кошки, олени, собаки, лягушки, лошади, корабли, грузовики

anonymous_incognito ★★★★★
()

Интересные датасеты с интересными задачами тоже рассматриваются, но в приоритете эталонные датасеты.

https://github.com/leejet/stable-diffusion.cpp:

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

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

На 95% по очертаниям современный шрифт — всё, этого уже достаточно для того, чтобы все современные переобученные нейросети поплыли. Про человеческий результат, самообучение, дедукцию забудь вообще, до него ещё нейросетям как до киева раком. Или ты мне расскажешь, что если я сейчас покажу моему смартфону нужный алфавит, то он раздуплится и начнёт правильно буквы читать?

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

Пробовал я этот ваш whisper, даже на medium модели его стабильно уводит в сторону на одних и тех же проблемных местах. Модели мельче вообще грустные. Но, да, слова в музыке может распознавать, это правда. Самое грустное здесь то, что нейросеть не способна оценить адекватность распознавания — например, если ей скормить речь на другом языке, то она внезапно начнёт слышать английские слова в русской речи, даже если их там нет. То есть, точность распознания пожертвована в угоду иммитации доли распознания.

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

Мнист — это лучше, чем ничего. Так будет точнее. Эксперименты на мнист показывавают только способность модели распознававать мнист, больше они ничего не показывают — в этом до сих пор заключается порочность большинства исследовований по нейросетям, когда очередную модель заточили под конкретную задачу, но задача эта имеет мало общего с реальностью. Большинство современных технологий ИИ заточено на точное воспроизведение и подражание, но очень грустно обобщают, потому что обобщение не даёт быстрого результата на эталонном датасете. Я уже упоминал пример batch normalization, который на много лет увёл машинное зрение в тупиковый путь — именно благодаря ImageNet и подобным.

byko3y ★★★★
()

Вот отличный датасет, можно считать эталонным под рекомендательное системы: https://huggingface.co/datasets/deepvk/VK-LSVD

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

Идеально подходит чтобы разобраться с тем как строятся системы для решения задач прямой и обратной рекомендации.

Архитектурно это позволяет разобраться с Two Tower, Light DCN, а также графовыми сетями с ALS и transformers (LLM) на разных этапах.

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

7B модель стоит десятки тысяч долларов нынешними технологиями — это совсем не миллионы.

Делаю за 500к-600к руб если Qwen based. 800к-1млн руб если Mistral based. Это в белую с ИП в РФ.

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

Я тебе про то, что ты натренировал нейросетку на «эталонном» датасете, а по факту она будет читать другие шрифты, в которых будет беспомощна.

Обычно, сети тренируются под задачу с конкретным условиями и датасет собирается под эти условия.

Если появляется новый шрифт то создается небольшой датасет на от 100 до 1000 примеров и с помощью того же peft создается LoRA (обучается только несколько первых слоев сети за 1-2 эпохи) после чего сеть начинает понимать новый хитрый шрифт.

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

Обычно, сети тренируются под задачу с конкретным условиями и датасет собирается под эти условия

Ну так и я об этом. Если решений не было в датасетах, то увы и ах, ИИ беспомощно.

Если появляется новый шрифт то создается небольшой датасет на от 100 до 1000 примеров и с помощью того же peft создается LoRA (обучается только несколько первых слоев сети за 1-2 эпохи) после чего сеть начинает понимать новый хитрый шрифт.

Ну потому у машинных обучальщиков при неизменных технологиях работа не закончится. Я щас llama.cpp пилю — господи, что они творят с этими лорами, в каких позах они их сношают... Мульти-лора с активацией по ключевому токену — потому что полную модель файнтюнить, и тем более учить, дорого, а налепить двадцать модификацией поверх них хочется.

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

Если решений не было в датасетах, то увы и ах, ИИ беспомощно.

Все верно, потому что это ИИ, а не AGI. Это как ожидать от калькулятора дальнейшего развития математических теорий.

Я щас llama.cpp пилю

Зачем? Это тупиковая ветвь. Есть же vllm.

Мульти-лора с активацией по ключевому токену — потому что полную модель файнтюнить, и тем более учить, дорого, а налепить двадцать модификацией поверх них хочется.

Это костыль - попытка малой кровью сделать MoE (mixture of experts).

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

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

Все верно, потому что это ИИ, а не AGI. Это как ожидать от калькулятора дальнейшего развития математических теорий.

Это называется generalization, или обобщение по русски, до AGI там ещё очень и очень далеко, современные ИИ не умеют даже в обобщение.

Зачем? Это тупиковая ветвь. Есть же vllm.

Тупиковая ветвь? Уже придумал, как запустить vLLM на случайной машине с произвольной ОС с непонятно какой видеокартой, в которую модель, возможно, даже не влезет модель целиком? То, что llama.cpp однозадачна? Да. Ну дык оно под использование одним человеком заточено, так что традиционная однозадачность C/C++ даже плюсом выходит.

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

Это называется generalization, или обобщение по русски, до AGI там ещё очень и очень далеко, современные ИИ не умеют даже в обобщение.

Уже умеют и внутридоменное и кроссдоменное. Теоретически такую возможность описали ещё в работе 8-летней давности (разные виды минимумов). Практически - уже года 1.5 как 30-70B сети (не квантованные) это могут. Но к AGI это отношения ессно не имеет.

Тупиковая ветвь? Уже придумал, как запустить vLLM на случайной машине с произвольной ОС с непонятно какой видеокартой, в которую модель, возможно, даже не влезет модель целиком?

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

llama.cpp - для копания в квантованных объедках с урезанным контекстом на своём локальном ноуте со встройкой, не более того. Поиграться так сказать.

Остальные используют Cuda ядра на GPU c vllm и кастомными torch-based инферансами под конкретные задачи.

Другими словами, llama.cpp это сапожник без сапог видеокарты. Т.е. - любитель, а не специалист. Уж простите за суровую реальность.

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

Уже умеют и внутридоменное и кроссдоменное. Теоретически такую возможность описали ещё в работе 8-летней давности (разные виды минимумов). Практически - уже года 1.5 как 30-70B сети (не квантованные) это могут. Но к AGI это отношения ессно не имеет.

Что могут? С вероятностью 60% угадать ответ на достаточно простой вопрос, на который эксперт даст правильный ответ в 99% случаев? Кстати, у нас нейросети в 2025 году научились складывать числа без ошибок, не выполняя внешние вычисления на питоне? А то мы про какие-то там внутридоменные и кроссдоменные говорим, а может твоя 70B сеть сделать сраную арифметику?

Интерполяция — это ещё не обобщение. Обобщение подразумевает экстраполяцию, то есть применение знаний на неизвестных примерах. Например, когда ты научил нейросетку делать сложение от 0 до 100, а потом даёшь контрольный пример с четырёхзначным числом, чтобы проверить, заучила ли твоя нейросеть тренировочный сет или всё-таки научилась складывать.

На transformer-circuits.pub в уходящем году была статья от антропиков по механистической интерпретируемости, где они в своей третьей Claude обнаружили узлы арифметики — она почти заучивает результаты для каждого разряда. Не точно заучивает потому, что там есть ещё дофигища других факторов, которые не дают ни заучить точнее, ни заучить больше. У модели с большим числом параметров просто больше сеты и больше память, то есть больше точек интерполяции — никакого обобщения там нет.

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

Это называется на человеческом языке «лично мне конкретно сейчас этот инструмент не нужен» — это намного более слабая, но зато честная формулировка.

llama.cpp - для копания в квантованных объедках с урезанным контекстом

У llama.cpp топовая реализация поддержки больших контекстов, о чём ты? Инференс и обучение с полной точностью, полный fine tune или lora — всё это уже есть в GGML, причём, довольно давно.

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

а может твоя 70B сеть сделать сраную арифметику?

Как же у вас горит. Буквально, «не твоя, вот и бесишься» (с)

Из того что делал, 14B сеть распарсивала документы в json по жёстком шаблону без потери структуры этого самого шаблона и потери информации с контекстным окном до 20 страниц. При смене шаблона адекватно переносила внутридоменное знание, и это всего на 14B.

Это называется на человеческом языке «лично мне конкретно сейчас этот инструмент не нужен»

Нет, это называется на человеческом языке «да что вы понимаете в колбасных обрезках» (с).

У llama.cpp топовая реализация поддержки больших контекстов, о чём ты?

Личный опыт, тестил модель со 131К контекстом, результаты были очень сильно хуже на llama.cpp

обучение с полной точностью, полный fine tune или lora

На проце, до второго пришествия. Нет, спасибо, мне работу работать надо, а не пет проекты ковырять на ноуте.

Ладно, я понял. Зря слез с пальмы, на ЛОРе общаться на интересующие меня темы все ещё не с кем, да уже и незачем.

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

Из того что делал, 14B сеть распарсивала документы в json по жёстком шаблону без потери структуры этого самого шаблона и потери информации с контекстным окном до 20 страниц. При смене шаблона адекватно переносила внутридоменное знание, и это всего на 14B.

Я пару месяцев назад пробовал LlamaIndex для распознавания — такой ржач был... Ну там в Fast режиме используется модель поменьше, хотя не сильно (говорят, порядка 8B). Хотя на самом деле 10-14B — это практический потолок для эксперта по распознаванию текста, то есть, можно делать модель больше, но результат распознавания не станет заметно лучше.

Скажем так: строго в теоретическом понимании если твоя нейросеть распознаёт ту же информацию с одним изменённым битом — это уже «генерализация». Но есть более тонкие практические понимания генерализации «out-of-distribution generalization» в противовес «in-distribution generalization».

Например, есть такая публикация:
https://arxiv.org/pdf/2402.14778 - Zero-shot cross-lingual transfer in instruction tuning of large language models
которая якобы заявляет, что LLM способна выполнять задачу на неизвестном ей языке, если её отдельно научили языку и отдельно научили решать задачу на английском. Подвох этого эксперимента частично описали сами авторы статьи — на самом деле претренировка не производилась на чистом английском, она была по большей части на английском, но на самом деле французский, португальский, и русский там тоже присутствовали. Потому на самом деле зеро шот не такой уж и зеро.

Например, вот здесь автор, работающий с малопопулярными азиатскими языками, рассказывает, как жёстко LLM сосут на этих языках:
https://medium.com/@khayyam.h/zero-shot-translation-the-promise-and-pitfalls-...
Собственно, даже в 2024 статье авторы заметили, что LLM плохо справляется с задачей написания HTML по русским инструкциям — хотя, казалось бы, типовой перенос знаний с языка на язык. Также не секрет, что какой-нибудь чатгпт лучше отвечает на вопрос, если ему сказать «размышляй на ангельском, конечный ответ дай на русском».

Личный опыт, тестил модель со 131К контекстом, результаты были очень сильно хуже на llama.cpp

Опыт чего? Что на чём тестил в каком режиме? Из всех известных мне публичных результатов однопользовательская llama.cpp идёт нос к носу с vLLM:
https://github.com/ggml-org/llama.cpp/discussions/15180
Другое дело, когда мы кидаем пачку H100 в сервер и задаём вопрос «сколько суммарно пропускной способности на параллельных запросах мы можем выжать из этого сервера?»:
https://arxiv.org/html/2411.00136v1
И тут, конечно, llama.cpp не масштабируется за пределы 1 видеокарты и batch size 16. А должна? Ну типа в трекере llama.cpp висит задачка про PagedAttention с неотвеченным вопросом «а зачем нам это?» — потому что если ты не пытаешься впихнуть в одну карточку несколько запросов, то PagedAttention не даёт ничего, совсем, выделил ты контекст сразу или потом — никакой разницы, это видеокарта твоя и только твоя, больше эту память никто не будет использовать. А оптимизация FlashAttention в llama.cpp уже есть.

На проце, до второго пришествия. Нет, спасибо, мне работу работать надо, а не пет проекты ковырять на ноуте.

Я напоминаю, что на LOR постинг заведомо ложной информации наказуем:

$ grep -RIn GGML_OP_OPT_STEP_ADAMW .
./tests/test-backend-ops.cpp:1587:        if (!matches_filter(out, op_names_filter) || out->op == GGML_OP_OPT_STEP_ADAMW) {
./tests/test-backend-ops.cpp:6081:// GGML_OP_OPT_STEP_ADAMW
./ggml/src/ggml.c:6030:    result->op     = GGML_OP_OPT_STEP_ADAMW;
./ggml/src/ggml.c:7071:        if (node->op == GGML_OP_OPT_STEP_ADAMW) {
./ggml/src/ggml-cpu/ggml-cpu.c:2051:        case GGML_OP_OPT_STEP_ADAMW:
./ggml/src/ggml-cpu/ggml-cpu.c:2393:        case GGML_OP_OPT_STEP_ADAMW:
./ggml/src/ggml-vulkan/ggml-vulkan.cpp:8811:    case GGML_OP_OPT_STEP_ADAMW:
./ggml/src/ggml-vulkan/ggml-vulkan.cpp:9710:    vk_pipeline pipeline = ggml_vk_op_get_pipeline(ctx, g, gm, gv, dst, GGML_OP_OPT_STEP_ADAMW);
./ggml/src/ggml-vulkan/ggml-vulkan.cpp:12253:    case GGML_OP_OPT_STEP_ADAMW:
./ggml/src/ggml-vulkan/ggml-vulkan.cpp:14294:        case GGML_OP_OPT_STEP_ADAMW:
./ggml/src/ggml-vulkan/ggml-vulkan.cpp:15181:        } else if (tensor->op == GGML_OP_OPT_STEP_ADAMW) {
./ggml/src/ggml-metal/ggml-metal-device.cpp:1655:    assert(op->op == GGML_OP_OPT_STEP_ADAMW);
./ggml/src/ggml-metal/ggml-metal-ops.cpp:443:        case GGML_OP_OPT_STEP_ADAMW:
./ggml/src/ggml-metal/ggml-metal-device.m:1173:        case GGML_OP_OPT_STEP_ADAMW:
./ggml/src/ggml-cuda/ggml-cuda.cu:2729:        case GGML_OP_OPT_STEP_ADAMW:
./ggml/src/ggml-cuda/ggml-cuda.cu:4637:        case GGML_OP_OPT_STEP_ADAMW:
./ggml/include/ggml.h:565:        GGML_OP_OPT_STEP_ADAMW,

Как минимум три фреймворка аппаратного ускорения поддерживаются.

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

Я пару месяцев назад пробовал LlamaIndex для распознавания — такой ржач был… Ну там в Fast режиме используется модель поменьше, хотя не сильно (говорят, порядка 8B).

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

Могу разве что показать что могут 8—16B специализированные коммерческие сети обученные под задачи:

  1. Распознавание документов в строго определенную json структуру (на примере резюме) https://youtube.com/watch?v=khF3Lc1OhOI

  2. Генерация тестов по скриншотам десктоп и веб приложений https://youtube.com/watch?v=4ujcAOWkaew

  3. Создание DFMEA по чертежам https://youtube.com/watch?v=FlFB65gSRe8

Все это без ocr/tesserract - чисто работа сетей. Ваш подход это что-то уровня скачать whisper, запустить как есть и потом авторитетно заявлять что он ничего не распознает нормально из речи.

Ладно, продолжим At first:

Из всех известных мне публичных результатов однопользовательская llama.cpp идёт нос к носу с vLLM

but then:

И тут, конечно, llama.cpp не масштабируется за пределы 1 видеокарты и batch size 16.

кек

А должна?

Для локальных пет проектов - не должна конечно.

Я напоминаю, что на LOR постинг заведомо ложной информации наказуем

Вы сейчас пытаетесь доказать что скорость обучения и инференсов полноценной сети на проце равно тому же на видеокарте? Вы сейчас серьёзно? У меня в реальной работе batch size доходит до 4096, куда там llama.cpp? Выдохните.

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

Распознавание документов в строго определенную json структуру (на примере резюме) https://youtube.com/watch?v=khF3Lc1OhOI

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

Могу разве что показать что могут 8—16B специализированные коммерческие сети обученные под задачи

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

Генерация тестов по скриншотам десктоп и веб приложений https://youtube.com/watch?v=4ujcAOWkaew
Создание DFMEA по чертежам https://youtube.com/watch?v=FlFB65gSRe8

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

Разработка тестов плана «проверить, что поле редактирования является полем и оно редактирует» — это одна сотая от требуемого тестирования интерфейса. И даже тут нейросетка не заметила кнопку «IconJar is also available on Setapp for $9.99/mo».

По CAD там просто дичь, самые адекатные рекомендации «проверьте высоту и длину детали» — дальше спецификацию допусков на элементы мама-папа нейросеть, как я понял, не распарсила в принципе, после чего ни одной рекомендации полезной оно дать в принципе не может. На второй детали нейросеть советует проверить пазы, которых просто нет на чертеже, но тут я уже не удивился, потому что генерация бреда, похожего на речь человека — это в принципе основная задача языковых моделей. Дальше я даже не смотрел, идея в целом мне ясна.

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

И тут, конечно, llama.cpp не масштабируется за пределы 1 видеокарты и batch size 16.
А должна?

Для локальных пет проектов - не должна конечно.

Вот та херотень из видео ( https://youtube.com/watch?v=khF3Lc1OhOI , https://youtube.com/watch?v=4ujcAOWkaew , https://youtube.com/watch?v=FlFB65gSRe8 ) — это «серьёзные проекты», я всё правильно понел?

У меня в реальной работе batch size доходит до 4096, куда там llama.cpp? Выдохните.

В «реальной работе» при принятии решений нейросети не используются, а для функций референта llama.cpp более чем достаточно. Скажем так: Claude 3.5 читает-пишет код лучше, чем Deepseek Coder 6.7B, но не радикально. Для имитации трудовой активности Claude 3.5 подходит лучше, но проект 100+ тыс строк ей всё ещё не по зубам. Транскрипция аудио? Whisper.cpp прекрасно с этим справляется, даже без видимокарты. Если модель вся не влезла в GPU — часть просто будет считаться на процессоре. Ну типа вот такого:

NAME                   ID              SIZE      PROCESSOR          CONTEXT    UNTIL               
deepseek-coder:6.7b    ce298d984115    8.8 GB    38%/62% CPU/GPU    8192       26 minutes from now 

Если же говорить про модели 200B+, то купить оборудования на $300 тыс для инференс такой штуки у себя не каждая контора может позволить, да и не нужно это, потому что загружать гигантскую стойку просто нечем (нет столько гигабайт данных каждый день). Вот и всё, если включать голову при применении нейросеток, то внезапно выясняется, что llama.cpp и облачные нейросетки покрывают 90% потребностей.

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

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

Чтобы не быть голословным - показывайте, давайте ссылку на свое резюме - запишу видео. Моя сеть спокойно переваривает и LinkedIn и HeadHunter и Upwork.

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

20+ лет опыта в ИТ, первую сеть сделал в 2014м. Но мы ведь не годами опыта меряемся.

а также по образованию инженер

И не образованием. Мимо магистр технтческих наук с красным дипломом.

потому ответственно заявляю, что оба примера — полнейшая херня.

В таком случае о чем дальше с вами можно говорить по теме если вы реально дупля не отбиваете в предмете обсуждения?

Ковыряйте объедки llama.cpp дальше если вам это доставляет удовольствие.

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

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

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

Если же говорить про модели 200B+, то купить оборудования на $300 тыс для инференс такой штуки у себя не каждая контора может позволить, да и не нужно это, потому что загружать гигантскую стойку просто нечем (нет столько гигабайт данных каждый день). Вот и всё, если включать голову при применении нейросеток, то внезапно выясняется, что llama.cpp и облачные нейросетки покрывают 90% потребностей.

Увидел этот поток сознания после вашего исправления. попробуйте с помощью llama.cpp организовать например помощник для отдела программистов в 10 тел который будет знать кодовую базу проекта и будет вcтроен в их UDE (я например встраивал в Netbeans).

Отдел ИБ не позволяет кодовую базу шарить наружу, нужно локальное решение. Я такое могу реализовать на vllm, а на llama.cpp не смогу. И вы не сможете, не потянет оно 10 юзеров одновременно с контекстом размером с кодовую базу. И не нужно там 300к долларов, достаточно 1-2 RTX A6000.

Прекращайте копаться в колбасных обрезках квантованных сетей на llama.cpp, вы зря теряете свое время.

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

Чтобы не быть голословным - показывайте, давайте ссылку на свое резюме - запишу видео. Моя сеть спокойно переваривает и LinkedIn и HeadHunter и Upwork.

Что самое ироничное — люди с соображалкой на этом же форуме умудряются находить моё резюме самостоятельно.

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

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

В таком случае о чем дальше с вами можно говорить по теме если вы реально дупля не отбиваете в предмете обсуждения?

Я пояснил кратко на конкретных примерах, что мы обсуждаем бредогенераторы, и спор о том, является ли LlamaIndex более всратым или нет, уже не сильно важен. Если соревнования по всратости генерируемого бреда являются основной професиональной деятельностью ИИ-шников, тогда, да, я реально дупля не отбиваю в предмете.

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

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

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

Отдел ИБ не позволяет кодовую базу шарить наружу, нужно локальное решение. Я такое могу реализовать на vllm, а на llama.cpp не смогу. И вы не сможете, не потянет оно 10 юзеров одновременно с контекстом размером с кодовую базу. И не нужно там 300к долларов, достаточно 1-2 RTX A6000.

Зависит от задачи. Если задача — продать цифры из бенчмарка, то всё правильно, так и нужно делать. Если же задача — писать рабочий код, то внезапно выясняется, что даже десяток A6000 не может вместить и половины средненькой такой кодовой базы. Даже чтобы один человек разрабатывал. У меня 4 млн строк 5 человек разрабатывало — сколько там стоек нужно, чтобы в 2025 по новомодным технологиям вести разработку? Для Llama-3-70B этот же контекст требовал 1000 Гб памяти. Это только под один KV кэш, без модели.

Ну хорошо, какие-нибудь новомодные MLA вместят 4 млн строк в 50 Гб оперативы. Но это всё равно с моделью не влазит в одну A6000. Правда, если не страдать хернёй, то, как я уже упомянул, всё внезапно начнёт влазить в 3060.

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

Сначала вы опрометчиво начали утверждать что на вашем резюме все сломается. Я предложил проверить это тк уверен в своих разработках. В ответ вы просто слились в стиле «фамилия моя слишком известна чтобы её называть» (с)

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

Даже HR-ы уже в эту штуку сильно меньше смотрят, потому что оно отбирает сплошных ботов.

С чего вы взяли что ПАРСЕР текста занимается наймом? Сеть не делает никаких выводов о кандидате, она парит его резюме и складывает в базу чтобы рекрутер/кадровое агентство мог быстро найти нужных кандидатов по указаны скилам, городу или типу работы. Дальше, получив список кандидатов с ними ведёт работу человек.

Все это раньше делалось вручную, теперь автоматически. К сетям принятия решений этот ПАРСЕР отношения не имеет.

Я пояснил кратко на конкретных примерах, что мы обсуждаем бредогенераторы

Пока что единственный бредогенератор в теме это вы.

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

Потому что вы дупля не отбиваете что такое DFMEA (это метод анализа видов и последствий отказов конструкции, проводимый на этапе проектирования продукта).

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

И вот сидит инженер, смотрит на чертёж детали которой ещё не существует, а там уголок, фаска и две дырки. Он их и описывает тк больше нечего описывать буквально. Дальше эти пункты пойдут в производство на проверки после разных этапов, в том числе и автоматизированные. Это рутинная утомительная работа которую перекладывают на сеть, она и любой чертёж прочитает и составит полное описание или top N возможных дефектов и из критичность посчитает по методике.

Через пару лет подобные нейронки будут у всех современных Российских заводов где применяется эта методологии.

никакой генерализации я не вижу.

Ну что тут сказать, наверное, я был не прав - продолжайте ковыряться в llama.cpp это как раз тот уровень.

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

Если же задача — писать рабочий код, то внезапно выясняется, что даже десяток A6000 не может вместить и половины средненькой такой кодовой базы

Что вы несёте? Вы же вообще не в теме, нахваталась умных слов, но не понимаете их смысла.

Достаточно 1-2 RTX A6000, обученной 20-24B сети и векторной базы для эмбеддингов.

Доберусь домой посчитаю сколько строк в кодовой базе проекта где это реализовано.

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

Достаточно 1-2 RTX A6000, обученной 20-24B сети и векторной базы для эмбеддингов.

Насколько это лучше/хуже внешних систем типа Gemini, ChatGPT, DeepSeek etc?

На мой вкус и тяжёлые сети в 700B - это конечно очень серьёзное подспорье при написании кода, но со своими границами применимости. Причём в их случае проходит даже такая штука, как дать статью в PDF с arxiv и попросить реализовать какую-нибудь формулу оттуда.

С «колбасными обрезками» локально совсем не тот эффект.

anonymous_incognito ★★★★★
()