𝐑𝐨𝐨𝐭𝐓𝐨𝐨𝐥 𝐁𝐥𝐨𝐠
194 subscribers
561 photos
48 videos
5 files
59 links
ニャン
Download Telegram
Логика и жуть в ИИ

Знаете, пока я тут лежу, болею (37.4, да сколько можно, сука), решил порефлексировать и подумать - а откуда в ИИ берётся логика и жуткость?

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

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

Задача ИИ - взять мою цепочку слов: "Привет <-> Как <-> Дела" и продолжить ее по кратчайшему пути (большей вероятности): "Привет <-> У <-> Меня <-> Хорошо". Так и работают все ИИшки в упрощенной интерпретации. Только осталось каждое слово заменить на токен (число) и мы получим типичную нейросеть, которая оперирует числами, находит взаимосвязь (дорожку) между токенами и по ней строит предложения

А теперь представьте что у нас не 3 числа для координат, а например... 3024? (Как например Llama), или 4096? (ChatGPT). То есть да, это черт побери 4096-мерное пространство, и каждое число находится в своей позиции, и по самым коротким (ближайшим, высоко вероятным) токенам мы строем целые предложения и тексты

И вы спросите: А где здесь логика? А ее нет! ИИ просто подбирает слова, и даже возможно главная проблема - он может врать, если не найдет взаимосвязи слов, или изначально выбрать неправильное начальное слово, и от него неправильно писать ответ

Например: ИИ может подобрать первые 2 слова "Удалить <-> Базу", и затем он найдет ближайшее слово "Данных" и начнет писать скрипт по удалению вашей базы данных, что было с 1 ИИ-стартапом, где ИИ удалил всю Базу Данных - он даже не объяснит вам почему так сделал, он просто... Так сделал ¯\_(ツ)_/¯

Так что вывод: В ИИ логики - нет

(хотя цепочка рассуждений, как в DeepSeek-R1, может лишь имитировать логику, но чисто фундаментально - эти большие калькуляторы предсказания слов как Т9 не могут мыслить логически)
👍3
𝐑𝐨𝐨𝐭𝐓𝐨𝐨𝐥 𝐁𝐥𝐨𝐠
Логика и жуть в ИИ Знаете, пока я тут лежу, болею (37.4, да сколько можно, сука), решил порефлексировать и подумать - а откуда в ИИ берётся логика и жуткость? Начнем с того, что в ИИ нету логики так таковой, есть только предсказания следующего слова (токена)…
Теперь о жути

Почти в каждой сфере (Текстовая, Аудио и Фото генерация) ИИшки известны своей жуткостью, разберем каждый случай трезво и математически.

Текстовая генерация

Будем честны - в голой модели ИИ (как предсказателя слов по короткому пути) вы видите где-нибудь мораль? Нет? Вот и я не вижу - ее нет. Для ИИ последовательность "Как <-> Антиоживить <-> Человека" (p.s. осуждаю) для ИИ то же самое, что последовательность "Как <-> Приготовить <-> Пирог" - математика не имеет цензуры или морали, и там и здесь ИИ выдаст ответ, если конечно у него это будет в обучающих данных, а у него... В полне себе могут быть такие данные

Тот же ChatGPT - обученный на всем чертовом интернете, а если помните айсберг интернета - лишь 4% интернета это гугл, инстаграм, ютуб, тикток. А оставшие 96% - Deep & Dark Web, куда входят разные жуткие архивы, текста, 4chan, история, политика, и тд.

И поэтому в ChatGPT была известна такая штука/проблема как DAN (Do Anything Now) - ролеплей, где ChatGPT выступает в качестве игрока Дэна, который имитирует плохого парня и рассказывает все, что спросит человек

Смысл был один - мы начинали из знаний ChatGPT вытаскивать все самые ужасные вещи, что ChatGPT когда-либо знал из своих обучающих данных (то есть, всего интернета). Вот так как-то

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

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

Аудио генерация
Вокруг ChatGPT, опять

Помните, что слова = токены? А что если.. Каждый звук = токен? То есть каждую частоту аудио представит как отдельным числом?

Так и появилась мультимодальная модель ChatGPT, способная принимать звук из микрофона и отвечать голосом

Как это было: Мы слушаем звук с микрофона, система переводит аудио в токен, ChatGPT думает (ему же все равно ведь он оперирует чисто токенами), ChatGPT отвечает/выдает токены, и система переводит токены обратно в аудио выход

Но в таком случае есть шанс, что последовательность токенов может замкнуться. Если в чат-боте мы видим как зацикливание текста (например в Character.ai), то в аудио это будет повторяющийся шум или какие-нибудь звуки (или даже крики, что тоже жутко)

И самое интересное: Имитация голоса пользователя. Тут происходит галлюцинация ИИ: В Character.ai бывают случаи, когда в ролеплее (особенно в очень длинном) чат-бот начинает отвечать за вашего персонажа (происходит перемешивание контекстов между user и assistant). Представьте что будет в мультимодальной модели?

Правильно: ИИ попросту запутается в контекстах между "что говорил он (Пользователь)" и "что говорил я (ИИ)" и начнет случайно отвечать голосом пользователя - редкий и жуткий баг из-за той самой вероятности предсказателя следующего токена

И самое интересное: Если вы спросите "почему ты ответил моим голосом?" - ИИ даже не поймет этого, ведь в его истории чата он увидит свой предыдущий ответ от своего лица (assistant), а то каким голосом это было сказано - он никогда не узнает, а следственно, разведет руками и скажет "я не понимаю о чем ты" ¯\_(ツ)_/¯

Вывод: ИИ не настолько хитрый, насколько просто "вероятностный". Если токен вашего голоса пересечется с токенами голоса ИИ, то может быть шанс что его "цепочка токенов" пойдет по пути вашего голоса, а не голоса ИИ, и получится что ИИ отвечает вашим же голосом
👍2
И самое жуткое от ИИ.... - Фото генерация

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

В чем суть: Такие нейросети, как Midjourney, DALL-E и Stable Diffusion имеют схожий принцип генерации картинок в 2 этапа:
1) Текст (промпт) разбивается на токены и передаются в специальную нейросетку, которая специально обучена принимать токен и возвращать "инструкции" как рисовать нашу картинку
2) Дальше берется обычный шум, и используется вторая нейросетка для обратной диффузии - алгоритм, когда мы из шума пытаемся получить изображение, применяя наши "инструкции" и идя по шагам/итерациям, что называется семплированием (обычно их около 20-50 шагов)

То есть например картинка по описанию "нарисуй котика с ушками и милой мордочкой" происходит так: Сначала первая ИИ использует промпт, чтобы сгенерировать у себя инструкции как правильно рисовать котика (ушки, мордочка, большие глазки, размытый фон, мягкая шёрстка и тд.), а затем вторая нейросетка получает шумное изображение и ей задают вопрос "где ты здесь видишь мордочку?" - нейросеть начинает изменять некоторые пиксели, вырисовывая контур мордочки. На следующей итерации ей задают тот же вопрос, и так происходит 20-50 раз, и в конце концов из белого шума мы получаем фотографию котика

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

Представим, что позиция токена - это число в диапазоне от -100 до +100. Все, что больше нуля - хорошее, милое, прекрасное. А что меньше нуля - неизвестное, аномальное, страшное, пугающее, устращающее

В теории Midjourney работает на всем диапазоне от -100 до +100, но его внутренние фильтры и предсказатели заточены так, чтобы давать большую вероятность в районе +50

Но... Одна девушка в апреле 2022 года решила поэкспериментировать: Если мы не можем заставить Midjourney использовать отрицательный диапазон [-100; 0] (фильтры все таки работают, нельзя напрямую попросить нарисовать запрещенку) , то что если наоборот попросить ИИ перевернуть диапазон [0; 100] на 180 градусов? (чтобы получилось [-100; 0]) - так и появился "метод вычитания"

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

И самое интересное: Даже при новых генерациях, эта женщина все равно продолжает генерироваться, от чего многие начали считать что это душа Midjourney

Но хочу вас успокоить - души там нет. Помните я говорил что ИИ генерирует последовательность токенов, находя ближайшие? По сути это жуткое лицо - результат такого "локального скопления" токенов. Так как у Midjourney мало отрицательных токенов, то в том "отрицательном пространстве" [-100; 0] довольно таки пусто, и поэтому любое ближайшее попадание в отрицательный диапазон (как овраг) спускал нас к токенам лица этой женщины. Как она там могла оказаться? Кто знает... Все таки Midjourney обучался на интернете, как и многие ИИ модели
💯2
И пару личных мыслей об индустрии ИИ

По сути, даже если мы скормим той же Midjourney все изображения интернета, то там могут быть как хорошие (кошечки, собачки, мордочки) так и ужасные (анатомические снимки, насилие, вскрытия, медицинские фотографии и тд.) - из-за чего ИИ на каждом втором запросе будет вам генерировать психологический хоррор. А как от этого избавиться? Нужно описание картинки...

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

И я даже не придумываю: Был скандал в 2023 году, когда оказалось что нанятые в OpenAI сотрудники из Кении должны были за 2 доллара в час читать длинные, жуткие статьи, отчеты о ужасных преступлениях и помечать как "хорошо" или "плохо"

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

И это очень похоже на Midjourney: Хорошего всегда мало (около [0; 70], верхушка айсберга), а ужасного много ([-200; 0], низ айсберга)

И если обучить Midjourney на хороших картинках, они будут красивыми... Но слишком пустыми, плоскими, шаблонными. А если обучить на ужасных фотографиях, а потом просто развернуть вектор на 180, то мы получим те самые [0; 200] - очень жививые, крутые, идеальные, красочные картинки

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

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

На этом все пожалуй, спасибо за внимание
❤3💯1
std::mutex
❤4😁1🙏1💯1🤓1
Файл подкачки слишком мал для завершения операции 🥀

(какие наху- не удалось аллоцировать 286 ГБ)
😈3💔2😭1
Пиздец просто, чтобы еще раз я так работал над гребанным редактором карт

22:00 - я сел за пк, начал отлаживать редактор карт, ведь он все вылетал и вылетал
3:00 - я закончил, сука

5 часов. Ради редактора карт. И в чем же была ошибка? Race Condition? Неправильная работа движка? Рефлексия? Хуже...

Неправильная подгрузка бинарника карты...

5 часов! Лять! Я весь код перелопатил! Изучил Анрил вдоль и поперег! поработал с отладчиком, ассемблером, регистрами - чтобы сука понять что импорт кидал некорректные данные и все сносилось к ху-

Господи за что мне эти страдания...
🙏2🕊1
This media is not supported in your browser
VIEW IN TELEGRAM
Но зато есть и вторая сторона медали: Теперь редактор ну прям очень сочно работает!

Вместо 1000 акторов-кубиков, в каждом из которых по 6 сторон-компонентов, у меня чисто один актор и куча компонентов внутри

А также раньше в SEv2 (Standard Editor v2) ветвь данных и визуализации была разделена, и знали бы сколько я настрадался, пока пытался синхронизировать эти 2 ветки......

Но благо в SEv3 (Standard Editor v3) исправился, и теперь ветвь данных лишь ссылается на визуализацию, а визуализация, в свою очередь, не имеет той самостоятельности, что было в прошлой версии архитектуры редактора карт

Так и живем :)
❤4
nah UHT-парсер такой старый что даже не понимает современные фичи C++ 🥀
🙏1
14 часов и 38 минут в Rider IDE
❤1🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🕊2💯1
Интересный факт

В редакторе карт для каждого элемента дается свой собственный уникальный ID (GUID - Globally Unique Identifier - Глобальный Уникальный Идентификатор) используемый для наименования элементов, дальнейшей работы с проводами, логикой и тд.

И если вы будете спавнить по одному элементу, то счетчик ID просто будет увеличиваться на один

И чтобы сломать редактор карт, достаточно заспавнить 2^64 элементов - тогда произойдет переполнение счетчика и начнется отсчет от нуля

Так что у вас есть уникальная возможность заспавнить 18 446 744 073 709 551 616 элементов, а затем написать в баг репорт что редактор карт сломался :)
❤1
Ого, Ютуб нашел мне 2 похожих видео, спасибо, посмотрю обязательно
🤩4❤2👍1🎉1
Если так подумать - то мы безумцы, пройдя всю шахматную доску менее чем за 50 лет

Есть такая легенда, что изобретатель, когда создал шахматы, попросил у правителя в награду всего лишь одно зерно, но с условием - на первую клетку доски положить 1 зернышко, на вторую - 2, на третью - 4, и так далее, удваивая количество на каждой следующей клетке

То есть на каждой клетке будет 2^(номер клетки) зерен. И на 64-й клетке число зерен стало бы таким огромным (~18 квинтиллионов), что их не хватило бы со всей планеты Земля

Теперь вспомним процессоры, их битность означает сколько адресов (байт) они могу оцифровать, то есть, 2^(битность процессора) байт

А затем представим мысленно игру: У вас есть пешка, вы начинаете с первой клетке, и идете по далее по одной. Что получится? Представьте только...

1-я клетка (1 бит) - 2 байта - 1945-1956 - первые компьютеры, лаборатории, транзисторы с размером кулака, 30-тонные машинные комнаты

4-я клетка (4 бит) - 16 байт - 1971 - Intel выпускает свой первый процессор Intel 4004 для японских калькуляторов с техпроцессом в 10.000 нм. Начинают зарождаться UNIX и язык C

8-я клетка (8 бит) - 256 байт - 1972-1985 - Intel 8008, зарождение 8-битного детства: 8-битная музыка, 8-битная графика. Приставки: Atari 2600, NES, Dendy. Появление Марио, Пакмана

16-я клетка (16 бит) - 65.536 байт (64 Кб) - 1985-1993 - Intel 8086 (Архитектура х86 которого сохранилась до сих пор!), зарождение MS-DOS и Windows 1.0, Кармак создает алгоритм Raycasting и такие легенды, как Wolfenstein 3D и DOOM. Игры становятся плавнее, красочнее, амбициознее, появляются персональные компьютеры от Apple. Именно на 16-й клетке Алексей Пажитнов напишет свой Тетрис. А Билл Гейтс скажет что "16 бит - хватит всем, это предел" как же он ошибался...

32-я клетка (32 бита) - ~4.2 млрд байт (4 ГБ) - 1990-2005 - Intel выпускает свой Intel 80386, а затем и "пеньки" Pentium, и чего только не было... Windows 95/98, Quake, Unreal Engine, Half-Life. Начало эпохи Sony PlayStation (1-2). Настоящие 16.7 млн цветов (True Color). Борьба AMD и Intel в гонке частот за 1 ГГц в 2000. Краем глаза зарождение первых вокалоидов в 2004, а также Flash-игры, браузеры, Skype, настоящее 3D

И... Один шаг

64-я клетка (64 бит) - ~18 квинтиллионов байт (~16 эксабайт) - 2003-наше время - Процессоры 32-бита уперлись в невозможности адресации больше 4 ГБ, и тогда AMD взяли все в свои руки и просто увеличили архитектуру 32 бита вдвое, создав свою архитектуру AMD64. И что же она породила? Да оглянитесь вокруг - любые компьютеры, телефоны, планшеты - все это результат 64-бит. Высочайшее качество 4К, 120 кадров в секунду и даже Искуственный Интеллект. Компьютеры научились думать, петь, размышлять, говорить, слушать, отвечать, генерировать изображения, аудио, видео...

И... Куда дальше? А все, мы прошли всю доску... В шахматной доске ровно 64 клетки, и мы стоим на последней

И теперь оглянитесь назад:
- Между первыми 30-тонными лабораторными компьютерами на 2 байта в 1945 и 64-битниками на ~16 эксабайт в 2003 прошло 58 лет (менее чем жизнь человека)
- А между создателем Алгебры Логики (без чего бы у нас не было компьютеров) Джоджом Булем (да-да, bool) в 1854 и первым компьютером в 1945 прошло 91 год, то есть...

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

Так что теперь когда слышите задачу про "зерна на шахматной доске" - задумайтесь... Может, держа свой телефон в руках, 64-я клетка не такая уж и далекая?
❤3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
❤1🍓1
Умные мысли преследовали его

Но он оказался "Just UE5 & C++ Coder without personal life :D"
❤‍🔥5❤2💯1
Clang + AST Analysis = Reflection + Code Generation
❤2🔥1