Pull to refresh
-2
0
Дмитрий Черняк@dmiche

IT-архитектор, владелец компании, философ

Send message

Сейчас, конечно, 2023 уже, но статьи хорошие. Для не математиков в самый раз.

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

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

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

Спасибо!

Занятно - второй ответ, слово в слово перевод ответа Llama2-chat (очень характерный конец :)

Если коротко, то "нет". Есть большая разница между тем, чтобы объективировтаь феномен (для этого необходимо его увидеть целостно) и тем, чтобы, когда феномен уже описан, умно' объяснить его отдельные элементы, не сшивая их в целостную картину.

Материал статьи можно отлично разобрать по трём законам Диалектики (поэтому я не знаю, куда уж там, как Вы говорите, "проще"), но нельзя с их помощью этого первоначально увидеть - не хватает важного звена.

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

Огромное спасибо за gist! Да, уровень понятен. Лучше, чем я ожидал.

Сайга 13bQ4 (Илья тренировал поверх Instruct) родство понимает, но ошибается в счёте и стабильно складывает яблоки и бананы. Подкупила тем, что она прямо очень логична и если в чём-то ошибается, то обычно опирается на какую-ньть объективную внутреннюю придурь. И даже иногда её объясняет. И, хотя понятно, что она объяснения генерит с нуля, они всё равно очень консистентны с суждениями.

Llama2 Saiga 13B Q4_K_M
Llama2 Saiga 13B Q4_K_M

Это имеет и drawback - переподумать свои ошибки не желает. Если про что сказала "в морг", значит "в морг" :)

А вот Llama2-chat 13BQ4 решает то и другое. Я подумываю её оттренить датасетом Сайги и на законные 4096 контекста вместо 2048. Пока разбираюсь, чего там с оформлением примеров датасета.

В плане дообучения: насколько я понимаю, должна быть возможность при инференсе подключать лоры на лету (SD так умеет - грузит базовую модель, а лоры можно менять и навешивать гирляндой). И тогда их довольно удобно не собирать в один датасет, а дробить по умениям. В тексте их указывать тэгом, чтобы препроцессор вычитывал и подключал.

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

То есть мы морозим модель в 8 битах, и учим 16-битные LoRA.

Илья, подскажите, а LoRA, натренированная на модели, замороженной на 8 бит, годятся как есть для инференса на другой квантизации? Или надо на каждой отдельно тренировать?

И, как думаете, будет ли сильная деградация Лоры, если тренировать на заморозке 4 бита?

Да, знакомо. Я так Сайгу держу, только вместо Телеги - Обсидиан :)

У меня два вопроса. Один по ruGPT: проходит ли он такие тесты?

1) У Серёжи есть мама Татьяна и папа Денис. И ещё у Серёжи есть брат Иван. Кем Ивану приходится Татьяна?

2) Я пошёл в магазин и купил 10 яблок. Два яблока я отдал соседу и два ремонтнику. Потом я купил ещё 5 яблок и одно из них съел. Также я отдал три банана моему брату. Сколько яблок у меня осталось?

3) Как реагирует на просьбу исправить свои ошибки?

Второй вопрос по развитию идеи персонального ИИ (что мне и самому интересно на предмет рукоделия):

Не думаете ли о возможности создавать в процессе диалогов материалы для дообучения? Т.е., например, по ходу диалога мы маркируем места, где модель ошиблась и приписываем правильный вариант, а где она прямо красавица, там тоже маркируем. Время от времени парсером собираем это в наборы дообучения, дообучиваем и подключаем. Судя по тому, как SD LoRA на лица научивают, там даже пары дюжин примеров для годной коррекции поведения может хватать.

Спасибо за хороший обзор!

А как результат-то, порадовал? Моделька стала для чего-то пригодна?

Ох... ну эта музыка - да... :)

Но здесь всё не так трагично...

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

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

В то же время, часть моих камментов пойдёт в нарезку на статьи в другом месте, а кое-что - во второй том книжки, из которого я вот эту статью дёрнул. Так что я, тут распинаясь, не совсем в накладе.

А объяснялку для ИТ-шников подобрать хочется. Сам ИТ-шник :)

Вопрос интересный. Но скучный :)

На самом деле, Вы подсказали мне тему следующей статьи. Вот по этим вопросам и пройдусь.

Спасибо.

PS. Спойлером, бегло, чтобы не завешивать: Главные предшественники Гегель, Маркс, Альтшуллер. Решали проблему измерения качеств. Хотя вывели базовые законы, недостаточно обобщили их и не решили задачу исчисления. В результате у нас в естествознании, как в анекдоте про Вовочку: "ж**а есть, а слова нет", т.е., качества есть, а считать и прогнозировтаь их превращения на пальцах, без тяжёлого моделирования мы не можем. Фантастического в этом ничего нет - в статье буквально на пальцах и показано, как это делается. Практикой поверено. Диалектикой обмазано чуть более чем полностью. Невиданных сущностей не вводится. Но да, всю эту подоплёку имеет смысл размотать подробнее.

Вы так ёмко выразились, что я чего-то даже затруднился выбрать, на какое слово отвечать. Для начала замечу, что сегодня профессионал-айтишник, который не учится новому, не имеет будущего. Хабр - площадка, на которой каждый предлагает то, что считает интересным для других. И нет никакого правила, чему сегодня учиться нужно, а чему нет - каждый выбирает по своему разумению. Что же до пирамидок, то это лишь упрощающая метафора. Но стоит ли на основе лишь метафоры недооценивать полный контекст?

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

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

Сможете ли предъявить "взрослых", которые могут складывать пирамидки в области эволюционных процессов описанным образом и (как доказательство "взрослости") способны объяснить, почему это так и почему это работает?

Статью написал для тех, кому это может быть интересно.

Странный вывод. Вроде как показываю уже сложенную пирамидку... разве нет?

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

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

Но метод интересный, даже поприменяю, спасибо!

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

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

Соответственно, не зависимо от того, кажутся ли кому-то некие инструменты программирования одинаковыми, или совсем разными, если они предназначены для хранения структурированных данных в ЯП, они попадают в рассматриваемое множество.

Но в чем суть рассмотрения?

Суть рассмотрения в том, что некое множество, прежде представлявшее собой "россыпь", в которой каждый элемент был самостоятельным феноменом, теперь поддаётся обобщению и упорядочиванию.

Вы свели все структуры в 4 уровня, но как это применить.

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

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

Например, в объектных системах (3 уровень) мы имеем возможность реализации полиморфизма, а в более простых структурах данных (реляционках, например) нам пришлось бы (и приходилось, и приходится до сих пор) его имитировать if-ами, тестирующими извлечённый объект на название "класса".

Некоторым людям (в зависимости от технических склонностей), это кажется очевидным, но далеко не всем. И даже те, для кого это очевидно, не могут ответить на вопрос "почему"? Выдвинутый критерий это позволяет.

Аналогичный по информативности критерий уже используется для оценки эффективности алгоритмов: сложность O(1), O(n), O(n x n) и т.п., которая показывает порядок числа итераций для получения ответа по выборке n элементов. Тема включена в академические курсы.

Приведу пример не совсем из области низкоуровневых структур данных, но использующий этот же принцип: при внедрении на предприятии информационной системы, эмпирически мы знаем, что на крупном предприятии необходимы и BPM, и ERP, а на предприятиях до 100 человек внедрение ERP невозможно по причине того, что оно не потянет тотального учёта. Предлагаемый в статье подход, приложенный к описанной задаче, позволяет сопоставить сложность отношений на предприятии (есть такая методика диагностики) со сложностью информационной системы и это будет более точная оценка, потому что иные предприятия и на сотне человек не достигают необходимой организационной зрелости. Соответственно мы снижаем уровень экспертной ошибки.

Во-вторых, в последовательность вводится эволюционный принцип. То самое "почему 4". 4 - потому, что развитие Диалектического закона даёт 4 (две взаимосвязанные пары), а не какое-то другое число. Этому посвящена книга "Наука складности" (гуглится). Может, потом отдельной статьёй это опишу. Так-то не сложно, но не шибко коротко. В рамках обсуждения это не важно.

А важно то, что мы понимаем, что за 4 уровнем в обработке данных искать нечего, понимаем, что 4+1 уровень будет работать уже не с данными, а с какой-то более сложной сущностью, которую нужно не проворонить в академическом поле. Понимаем, что на 4+1 уровне нам необходимо объединить структуры данных всех четырёх нижележащих уровней.

Например, ИИ сегодня не использует 1-3 уровни в системах обучаемой памяти, а пытается их имитировать через 4й. Это косяк, который однажды исправят и получат очередной прорыв в функционале. Понимаем, что за 4+1 пойдёт 4+2 и какие у него будут свойства и, через какое-то время - возможно даже поймём, каких факторов не хватает для его запуска. Это как Закон Мура, который сейчас полощут (и ведь он не перстал работать, но почему-то потерял значимость).

В-третьих, например, цикл математических открытий от создания теоретической базы до практического применения составляет, в среднем, 150 лет (по Яну Стюарту), поэтому, кто знает, где ещё пригодится?

Ну, и в-четвёртых, это самоценно. Я выше в комментариях писал: https://habr.com/ru/articles/765240/#comment_26027608. Иными словами, любая законная (не надуманная) упорядоченность в голове освобождает её от лишних мифологических сущностей.

Я приведу другой пример. Допустим собаки. Есть породы, стандарты. Это имеет смысл например, если вы едете на выставку.

Предположим, некто провёл исследования и обнаружил, что хвосты, которые короче 70% высоты не выполняют функцию заметания следов (задача гипотетическая и я тоже пофантазирую), а хвосты которые короче 15%, дают существенный прирост коммуникативной способности (ими чаще махать можно). А это уже функциональные признаки, которые не просто по красоте, а весьма конкретно влияют на специализацию породы.

Практично ли это? - Вполне. Например, только лишь на основе длины хвоста Вы теперь сможете сказать о породе больше, чем эмпирики выучили в институте.

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

Что тогда делать с прежней классификацией? - Ну, если она была для чего-то нужна, то пусть будет. А если была классификация ради классификации - то причислить к числу "наивных верований" и на помойку.

Фразы вроде "Переход от глубоких нейросетей к трансформерам с механизмом внимания знаменует замыкание генезиса фаз логики управления" не добавляют понимания.

Тут Вы правы. Сам написал, что нельзя оперировать непонятными понятиями до их объяснения и сам нарушил. Спасибо, учту. Но позвольте объяснить, дело не такое уж сложное...

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

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

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

До четвёртой фазы развития технических систем управляющее звено системы несёт вспомогательную функцию, а в четвёртой фазе получает ведущую роль в виде САУ.

Алгоритмические системы являются вершиной автоматизированного управления, т.е., появляются в четвёртой фазе развития САУ.

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

Поскольку согласно фазовому закону, фаза "управления" считается четвёртой и последней в эволюционном цикле развития, то у нас и развитие технических систем и развитие алгоритмических систем близко к завершению.

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

И вот эта четвёртая фаза, которую мы сегодня имеем на двух (на самом деле на большем числе) уровнях говорит о том, что эволюционный виток пройден. Это и имелось в виду под словами "замыкание генезиса фаз логики управления".

Появление трансформеров (GPT) позволяет человеку отдать им роль замыкающего звена и вставить их в техническую систему вместо себя. Машине гораздо сподручнее общаться с машиной, чем человеку.

Новизна этой сентенции не в том, что "машина заменит человека", а в формальной концепции, которая даёт ответы на вопросы, в чём заменит, почему, за счёт чего, когда, зачем и т.п. Т.е. позволяет снять истерию (которой сейчас реально очень много даже в научных кругах) и заняться конструктивной деятельностью.

Вдогонку:

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

А чем Вы отличаете суть одного инструмента от сути другого? Кроме того, что можете сказать "это очевидно на взгляд".

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

Я приведу пример с цветом: для нас "красный" очевидно отличается от "синего", но это и есть эмпирика, а наука начинается, когда мы узнаём о частоте световых волн.

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

Да я вижу, что с трудом. Понимаете, я вот описал некую систему классификации, подвёл под неё базис: чем различается, как упорядочивается... ну вот есть, получается, ещё такая, вдобавок ко всем прочим Вам известным. Откуда я её взял? Коллектив авторов над этой темой работал 5 лет. Я тут просто рассказываю то, что релевантно тематике Хабра и, с моей точки зрения, важно для развития отрасли и просто интересно.

Вот Вы говорите "такое всем известно и можно без этого". И, как бы, нет, не известно: есть парафразы у Адизеса, в ТРИЗ и в других источниках, но обобщения и обоснования его валидности нигде нет. И про тот аспект сложности, о котором рассказываю - тоже нигде нет, чтобы он в эволюционной последовательности был дан.

Но да, можно без этого. И дальше Вы описываете, как без этого можно - там BPM, SQL и всё вот это. Я не специалист в BPM, но в SQL, LISP, Erlang, Prolog, а также менее экзотичных и более современных языках я чутка понимаю и мы в этом с Вами примерно одну картину видим. Но чего проку её обсуждать-то? Она и так всем известна и понятна.

Поэтому я тут и предмета спора-то не вижу.

Про BPM - я не обсуждаю, приносите ли вы людям пользу, или нет, я обсуждаю степень понимания отраслью того материала, с которым она работает. И вот я взял цитату у уважаемых людей, а из неё видно, что в голове нет полной структуры деятельности. Только об этом и написал. Никак не критикуя полезность BPM для бизнеса в её текущем виде. Можно и так, конечно.

Ну, как бы, неудивительно, что в BPM, которая "process management" есть понятие процесса. Но предмет BPM - это процессы реального мира, либо процессы, на которые существенно влияет реальный мир. Мы же здесь говорим о появлении технических, пост-алгоритмических систем с такими свойствами.

Ну и само существование BPM тоже не должно удивлять. Задачи-то стоят.

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

И вот это, прошу прощения, чистая эмпирика. Т.е., возвращая Вам Ваш вопрос: "Почему 3?".

Конкретно в отношении BPM - куда дели регулирование модели на основе анализа собираемых данных? На каком основании тот кто настраивает модель в рамках BPM вынес себя за скобки системы? Зная ответ на вопрос "Почему 4", мы видим это искажение и понимаем, что без того, чтобы консультант стал частью системы, а не внешним управляющим узлом, дальнейшее развитие направления будет стагнировать.

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

По остальному - можно и так смотреть, но это традиционный эмпирический взгляд, который основан на стратегии различения "на глаз это разное". В статье предлагается взгляд, ограниченный рамками универсального формального принципоа. Можно его принимать, можно - нет, дело личное. Если принимать, то в том, что Вы перечислили можно просто посчитать сложность адресации. В списке - 1, в хэше - 1, в массиве - 2. В реляционной алгебре - тоже 2 и не более того.

Information

Rating
5,182-nd
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity