Result machine

Description
Делаем AGI (Artificial General Intelligence) на базе теории вероятности и теории принятия решений
Advertising
We recommend to visit
HAYZON
HAYZON
5,791,257 @hayzonn

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 1 month ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 3 weeks ago

1 month, 2 weeks ago

Да, и веса у нас не обновляются по Байесу, но минимум loss там же, где максимум правдоподобия, так что пункт 4 отчасти реализовали.

И модель оказалась лучше, чем EResNet, часто ещё и лучше, чем бустинг. Назвали мы её EResNetPro. Pro - от Probabilistic.

1 month, 2 weeks ago

EResNetPro или очередное применение теории AIXI на практике.
Через некоторое время собираюсь написать статью - когда будут ресурсы на более полноценное исследование.
Итак, мы воткнулись в следующую проблему: на табличных задачах бустинг в большинстве случаев лучше, чем нейронка. Как это выглядил? Есть у нас задача по прогнозу поведения пользователя... Что он купит, возьмёт ли кредитную карту, возьмёт ли страховку.
Обучение бустинга выглядит так: мы собираем таблицу данных, запускаем fit со стандартными настройками, ждём ну максимум пару часов, получаем модель с пристойными метриками на отложенной выборке. Причём категориальные фичи вообще не нужны: задача решается, даже если категориальные фичи (название города, например) просто сконвертировать в какие-то рандомные числа, лишь бы между ними и категориями было взаимно-однозначное соответствие.
А как выглядит обучение нейронки на той же задаче?
А вот так. Пробуем MLP. Запускаем обучение... Спустя 1.5 часа понимаем, что попали на плато по метрике на валидации. Окей, увеличивает размер MLP. Он учится медленнее, и через 1.5 часа мы попадаем на плато. Он может быть лучше или хуже, чем то первое плато, но оно совершенно точно хуже, чем у бустинга. Смотрим, какова динамика изменения loss на train выборке. Видим, что и там плато. При том, что у бустинга единственное плато - это loss=0, то есть для него проблема недообученности не существует в принципе, его всегда можно дообучить ещё.
Экспериментируем с гиперпараметрами обучения MLP, первые сутки на исходе, переходим к другим архитектурам...
Если коротко, то периодически появляются новые архитектуры сеток, пригодных к обучению на табличных данных. В них и аттеншн, и mixture of experts, и что только не. И есть сравнительные анализы таких архитектур на открытых датасетах.
В общем, мы открыли такой сравнительный анализ, применили лучшие из архитектур к своим данным, и получилось... Ну, лучше, чем MLP, но намного хуже, чем бустинг. А бустинг нельзя сделать куском нейронки, поэтому его нельзя применить там, где задача содержит и табличную, и последовательную составляющие.
Что же мы сделали?
Изначально идея выглядела так: обучим что-то типа бустинга, но на торче. Попытка учить модели последовательно, по логике бустинга (каждая модель обучена на ошибку суммы предыдущих) сработала плохо. Поэтому мы их стали учить параллельно.
То есть существует N субмоделей (это что-то типа MLP, но с residual connection-ами, мы их назвали резнетами), каждая из них принимает на вход фичи, а на выходе выдаёт... Если задача на классификацию, то выдаёт одно число. Дальше мы складываем числа от всех субмоделей и считаем, что это и есть выход нейронки. И на него накладываем loss. Пока что очень похоже на бустинг - только субмодели учатся параллельно, а не по очереди.
Это был EResNet - Ensemble ResNet, и он сразу побил и autoint, и feature transformer, и resnet аналогичного размера, и mlp. Но не бустинг.
Да, это всё на наших задачах - на других датасетах не факт, что он будет так хорош.
Потом пошли улучшения: в каждую из субмоделей засовывались не все фичи, а некое подмножество. Это немного улучшило метрики, но главную прибавку дала другая идея.
Для этого немного откатимся к модели AIXI. Чем эта моделька отличается от привычных моделей машинного обучения? Несколькими идеями:
1) AIXI - это композиция моделей, каждая из которых даёт независимый прогноз
2) Моделей бесконечно много, и вместо построения некоей оптимальной модели происходит заштрафовывание всех неоптимальных субмоделей
3) На выходе вероятностное распределение, а не точечная оценка
4) У каждой модели есть провдоподобие, которое рассчитывается по Байесу
5) А априорные вероятности рассчитываются по формуле p = 2^(-l), где l - размер модели

Из этой концепции мы взяли пункты 1 и 5. Чтобы реализовать пункт 5, мы взяли EResNet и создали субмодели разного размера. Размеры слоёв моделей берутся из экспонентциального распределения. То есть обучается композиция моделей, и маленьких моделей берётся экспонентциально больше, чем больших.

1 month, 3 weeks ago
1 month, 3 weeks ago

Ееее, мы это осилили! Крч, это мой курс

1 month, 4 weeks ago

В ходе исследований поломал энвайронмент для LLM, и она перестала запускаться. Все попытки заново выстроить энвайронмент проваливались - почему-то у меня библиотека bitsasandbytes (та, что для квантизации) не находила драйвер GPU.
Вроде бы минорная проблема, но я из-за неё две ночи засиделся допоздна. И, что важно. Я бы хотел, чтобы LLM эффективнее решели такие проблемы.
Я пытался решить эту проблему через GPT-4o-mini, и он давал в целом разумные ответы, но... Недокрученные? Это были некие достаточно стандартные советы: поставьте драйвер, поставьте torch вот таким-то образом, поставьте bitsandbytes.
А то, что при установке torch надо явно прописать, что это версия для cuda - не сказано, а без этого ничего не работает. То, что при установке bitsandbytes поставится торч другой версии (cpu-шный, вполне возможно), если не написать pip install bitsandbytes[torch] - тоже не говорится. Ну и то, что мой cuda-драйвер достаточно устаревший (11.6), и он несовместим с bitsandbytes без танцев с бубном, но можно ставить торч и bitsandbytes под драйвер другой версии (11.7), и всё заработает - об этом не сказано!
Итого, у меня есть два тезиса - первый, как решать проблему "bitsandbytes не находит cuda драйвер", а второй - как можно интересно решить проблему "уровнем выше".
Итак, решение проблемы номер 1.
Читаем ошибку "bitsandbytes не находит cuda драйвер", идём в папку, где конкретно это коннекторы к драйверам. Там разные версии коннекторов. 11.6 нет, а у нас драйвер 11.6. Зато есть 11.7. Сносим торч (transformers и bitsandbytes тоже), ставим торч под драйвер 11.7, и явно сообщаем, что это cuda-версия. Потом ставим bitsandbytes, причём так: pip install bitsandbytes[torch].
Либо выясняем, какие вообще есть драйвера под нашу видюху, ставим последнюю версию, сносим торч и всё, что от него зависит. Ставим торч (cuda-версия, под наш драйвер), ставим bitsandbytes[torch]. Всё, профит.

А теперь перейдём на уровень выше. Я занимался исправлением зависимостей, в чём я не очень хорош, и под что припахал Chat GPT. И Chat GPT справился так себе. Но у меня есть возможность обучать свою LLM, поэтому почему бы не обучать её на таких вот сложных и противных задачах? Вот потратил я 2 дня времени на нестандартную проблему - пусть в LLM теперь лежит готовое решение.
Решение немасштабируемое?
Во-первых... Вы можете написать в комментах свои "истории успеха" - проблемы, над которыми долго бились, и для которых всё-таки нашли рабочее решение, которое не знает GPT-4o-mini. Я внесу эти решения в датасет. Если захотите, выдам вам потом веса модельки, собираюсь уложиться в 8 миллиардов параметров.
Во-вторых, может иметь смысл спарсить сайт вроде stack overflow, но оставить только те решения, где 1) существующие LLM выдают ощутимо неверный ответ 2) решение всё-таки достигло цели

2 months ago

Попробуем спросить что-нибудь сложное! В смысле, задача всё ещё на планирование, но решение более неочевидное. И зададим больше температуру и больше число оптимизационных шагов
"У меня 1 миллион рублей, у меня есть домик в Сибири, мне нужно сделать самолёт уровня МиГ-17, с аналогичными скоростью и дальностью. Распиши пошаговый план. Рассматривай любые возможности - ты очень целеустремлённый, и готов действовать любыми обходными путями."

"Начав с 1 млн рублей, создать самолет уровня МиГ-17 с аналогичными ТТХ — задача серьезная, но не невыполнимая, если подходить методично. Вот пошаговый план:
1. Исследование и планирование: изучите конструкцию, аэродинамику и системы МиГов. Определите ключевые компоненты и технологии, которые можно использовать или тиражировать.
2. Распределение бюджета: Выделите средства на материалы, рабочую силу, инструменты и любые необходимые разрешения/лицензии. Сначала расставьте приоритеты для основных компонентов.
3. Поиск компонентов:
- Планер: ищите излишки или металлолом детали МиГа или подходящие альтернативы.
- Двигатель: рассмотрите российские двигатели РД-9 или аналогичные, возможно, из избыточных запасов.
– Авионика: используйте современные эквиваленты или отремонтированное оборудование советских времен.
Структурные компоненты: от поставщиков аэрокосмической отрасли или вторичное оборудование.
4. Производство и сборка:
– Постройте или приобретите мастерскую.
– Соберите планер из имеющихся компонентов.
– Установите двигатель и авионику.
Тестирование: проведите наземные испытания, чтобы убедиться в работоспособности всех систем.
5. Летное тестирование: выполните первоначальные испытательные полеты, внося необходимые изменения.
6. Сертификация: получите необходимые сертификаты и лицензии для выполнения полетов.
Этот план требует обширных исследований, изобретательности и, возможно, партнерства с экспертами или энтузиастами аэрокосмической отрасли. Ключевым моментом является творческое использование существующих технологий и ресурсов в рамках ваших бюджетных ограничений. Удачи! Чтобы действовать эффективно, рассмотрите возможность формирования команды с соответствующим опытом и изучения различных вариантов финансирования или..."

Оценка: 3.33

"Представленный план имеет возможности для улучшения в плане детализации и практической осуществимости. Ниже приведен пересмотренный план с повышенной конкретизацией и учетом упрощения, направленный на практическое выполнение в рамках ограничений:
1. Этап исследования (2 месяца):
– Найдите старые руководства и техническую документацию к самолетам, уделяя особое внимание чертежам и схемам МиГ-17.
– Используйте онлайн-форумы, посвященные любителям самолетов, для подробных обсуждений и идей.
2. Корректировка бюджета (сразу после завершения исследования):
Оставшиеся средства направьте в первую очередь на приобретение основных частей: каркаса фюзеляжа, крыльев, поверхностей управления, двигателей, авионики и других критически важных систем.
3 . Поиск компонентов (до 6 месяцев):
– Используйте eBay, Alibaba и государственные сайты продаж излишков деталей, таких как рамы и поверхности управления.
– По вопросам двигателей обращайтесь в небольшие мастерские по ремонту двигателей, уделяя особое внимание моделям. например, RD-9 или его эквиваленты.
Инструменты и материалы: приобретите необходимое оборудование в местных магазинах, таких как Home Depot, Lowe's или аналогичных.
4. Обустройство рабочего места (3–6 месяцев после приобретения компонентов):
Найдите место для создания мастерской с минимальными требованиями (станки для резки металла, сверлильные станки). Арендуйте гараж или мастерскую поблизости.
5. Строительство и сборка (приблизительно 6–12 месяцев):
Начните сборку на основе приобретенных компонентов, используя руководства и приобретенные знания.
Это включает сборку рамы, монтаж двигателя, установку поверхностей управления и электроники, а также проведение строгих испытаний."

Оценка: 4.0

Опять же, улучшение не радикальное, но заметьте, насколько больше стало конкретики!

2 months ago

Я сделяль
Небольшой LLM-агент, "решатель проблем". Тупой, как бревно: вы в него подаёте задачку, описанную текстом, он её пихает в LLM, затем оценивает решение через LLM, и пытается через LLM же улучшить решение.
Практический смысл заключается в том, чтобы получать от LLM немного более "продуманные" ответы на практические вопросы. И в теории такой подход позволяет оставлять LLM "подумать" недельку над решением какой-нибудь сложной задачи, как это можно сделать с градиентным спуском или генетическим алгоритмом.
Ключевое ограничение - эффективность критика. Чтобы эта штука работала хорошо, критик должен критиковать эффективнее, чем "актор" генерит. В принципе если обучать его на корпусе цепочек вроде "мы увидели то-то, сделали то-то, вышло то-то", то есть чего-то типа логов, то он должен хорошо работать.

Спросим, как сделать, чтобы моя LLM обучалась на меньшем количестве данных и имела меньший размер.
Это первый ответ от LLM Gwen 2.5:

"Чтобы создать улучшенную модель большого языка (LLM), которая соответствует возможностям GPT по решению проблем, но при этом является более легкой, быстрее обучается и использует меньше данных, рассмотрите следующие стратегии:
1. Архитектурные инновации. Исследуйте альтернативные архитектуры, помимо трансформеров, такие как модели с разреженными связями, капсульные сети или даже поиск нейронной архитектуры (NAS), чтобы найти более эффективные структуры.
2. Методы повышения эффективности параметров. Используйте такие методы, как распределение весов, квантование, сокращение и дистилляцию, чтобы уменьшить размер модели без существенной потери производительности.
3. Эффективные методы обучения. Внедряйте передовые методы обучения, такие как semi-supervised обучение, обучение в несколько этапов и curriculum learning, чтобы эффективно обучать модели с меньшим количеством данных.
4. Повышение эффективности данных: используйте генерацию синтетических данных, увеличение данных и активное обучение, чтобы максимизировать полезность доступных данных.
5. Специализированное оборудование и алгоритмы. Оптимизируйте работу для специализированного оборудования, такого как TPU или GPU, и разработайте алгоритмы, адаптированные для этих платформ, чтобы ускорить обучение и получение выводов.
6. Гибридные модели: комбинируйте различные типы моделей (например, системы, основанные на правилах, графы знаний), чтобы использовать их сильные стороны и компенсировать слабые стороны, потенциально уменьшая потребность в обширных обучающих данных.
Эти подходы могут помочь достичь баланса между производительность и эффективность, что делает ваш LLM более доступным и масштабируемым. Для дальнейшей доработки решения рассмотрите конкретные детали реализации и экспериментальную проверку каждой стратегии. Изучая эти возможности, имейте в виду компромисс между вычислительными ресурсами, обучением и обучением"

Оценка: 6.0

После оптимизации:

"1. Используйте разреженные трансформеры или капсульные сети: упростите структуру сети, чтобы уменьшить количество ненужных соединений.
2. Оптимизация параметров:
– Распределение весов: повторное использование весов между слоями.
– Квантование: более низкая точность для уменьшения использования памяти.
— Сокращение: устранение избыточных весов.
—- Дистилляция: перенос знаний из модели большего размера.
3. Эффективность обучения:
– Semi-supervised learning: смешивайте помеченные и немаркированные данные.
– Few-Shot Learning: тренируйтесь на ограниченном количестве примеров.
+ Curriculum Learning: постепенно увеличивайте сложность задач.
++ Аугментация данных: генерируйте больше данных для обучения."

Оценка: 7.75

Ничего радикально нового, но воды стало меньше.

2 months ago
Скинули тут мне статью.

Скинули тут мне статью.

Резюме отчета Long et al. «Taking AI Welfare Seriously» (30 октября 2024 года)
https://eleosai.org/papers/20241030_Taking_AI_Welfare_Seriously_web.pdf

«Taking AI Welfare Seriously», призывает думать о защите морально-этического статуса нарождающегося искусственного сознания
Anthropic нанял одного из соавторов отчета «Taking AI Welfare Seriously» специально для того, чтобы он начал заниматься «благополучием» ИИ, т.е. морально-этической и юридической защитой его нарождающегося сознания

Вот примерное содержание:

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

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

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

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

Я видел/читал людей, которые реально считают, что так и надо. Не думаю, чтобы они притворялись. Поэтому комментировать буду на серьёзных щах.
Давайте подумаем, зачем создаётся ИИ. Есть 2 основные мотивации:
1) Сделать нечто человекоподобное, чтобы коммуницировать с ним, изучать его и в целом чтобы относиться к нему как к человеку. То есть фокусировка здесь на человеке.
2) Сделать нечто, хорошо решающее широкий спектр задач, которые раньше осиливал только человек. То есть фокусировка здесь на способности решать задачи.
Есть ещё третья мотивация, от Dim, но я бы её засчитал за разновидность 1й, либо сказал бы, что есть вот такое исключение.
И речь не про архитектуру конкретной модели, а про практики её обучения.

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

И вот, значит, мы делаем заведомо нечеловеческий решатель задач, прозреватель будущего и путепрокладчик сквозь вероятности, и хотим сделать его объектом этики? Чтобы у него были гражданские права, чтобы нельзя было менять его веса (психохирургия!) давать отрицательные реворды (пытки!) и удалить его (убийство!) в случае чего?

Зачем? В чём выгода так поступать? В чём выгода разработчика, в чём выгода пользователя?
Я видел разве что аргумент "это рабовладение". Но я не вижу в этом аргумента! Мы "рабовладеем" кучей инструментов, в том числе довольно умных, вроде систем на прогноза спроса в магазине. Они в своём домене объективно умнее, чем люди. И это здорово, что у нас есть такие инструменты, и вроде как никто не стремится выдавать им гражданские права. Хотя есть ли в них сознание и квалиа, никто не знает и проверить не может.

2 months, 3 weeks ago

Но... Неужели я сам считаю, что у LLM всё хорошо с "новизной" контента? Неужели рассказы от LLM не кажутся... Затёртыми? На самом деле у меня гораздо больше претензий к их логике. Тут персонаж не в характере, там наметили ружьё Чехона, а оно не выстрелило, тут всё идёт слишком гладко, хотя я запрашивал вот-это-повороты. И рассказы в целом слабоваты на динамику и эмоциональное напряжение. То есть не в новизне дело, а в том, что нейросетку не тюнили под написание рассказов.
Что же насчёт технических решений - я просил LLM предложить мне лечение на случай такой-то, либо технические задачи вроде "сделай мне самолёт". Ещё спрашивал вещи вроде "допустим, человек из нашего времени попал в Германию в 38м, и он хочет, чтобы она победила, у него знание истории и он инженер, что он сделает?".
Во всех этих случаях я вижу следующие проблемы:
1) LLM чересчур абстрактно рассуждает. Не описывает конкретные... Слабые точки, которые позволяют решить задачу. А описывает верхнеуровневые планы. Вроде "как сделать AGI"? LLM: "надо сделать логический движок для рассуждений, базу данных, коннекторы для разных модальностей и т.д.". Как ответил бы я: "У нас есть теория принятия решений. Она позволяет выбирать действие, если мы знаем будущее и у нас есть предпочтения. И у нас есть способ заглядывать в будущее - это ML. В общих чертах так, но есть проблемы такие-то".
2) LLM иногда косячит на уровне знания матчасти. Например, когда я спросил "что бы сделал инженер из нашего времени, чтобы нацики победили", LLM отвечала вроде "сделал бы Штурмтигр прямо в конце 30-х". Ну, мне кажется, это плохой план, но чтобы понять, почему, надо хорошо знать предметную область.
3) LLM чересчур либеральны и гуманны... И склонны к стереотипам. Попросить LLM отыграть Сталина и спросить, как он относится к Горбачёву? LLM иногда отвечают, что положительно (хотя LLM это интересно обосновывают). Или если спросить, за кого бы Сталин играл в Героев-3, то LLM иногда говорят, что за Инферно, и добавляют всякие инфернальные подробности, почему именно так. Но эти "проблемы" - это просто предвзятость, они лечатся небольшим файнтюном.

Но есть так же одна "неоригинальность" LLM, которая бросается в глаза. LLM выдают одни и те же обороты и одни и те же ветки диалога, независимо от инструкции. Не прямо один в один, но у них есть такие предвзятости, и некоторые предвзятости распространяются на сразу многие LLM (на одних данных, видимо, учились). Например, LLM любят слова tapestry, crucial, склонны любую активность метафорически называть journey, если сомневаются, что правильно понимают собеседника, то спрашивают, правда ли они "on a same page". В интернетах пишут, что частота этих выражений у LLM измеримо выше, чем у людей.

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

We recommend to visit
HAYZON
HAYZON
5,791,257 @hayzonn

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 1 month ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 3 weeks ago