Истории (не)успеха (ИИ)ЕИ
417 subscribers
158 photos
88 videos
2 files
228 links
Просто о математике, нейросетях, программировании, спорте, политике, культуре. Общение, контакты, международные онлайн дискуссии/лекции в формате лайвстрим, встречи на спорт в Мюнхене.
Download Telegram
Истории (не)успеха (ИИ)ЕИ pinned «Выбор романа и героев, чтобы оттолкнутся от темы, навеян этой публикацией: Теория терпения. Как импульсивность героев Стефана Цвейга связана с экономикой.»
🧠 Пара мыслей о теориях личности, социологии, данных и больших языковых моделях

Начал копать вот здесь, здесь, здесь и здесь, сделал первые шаги (работа ещё далеко не закончена 😅) и столкнулся с психологическим барьером. Проблема в том, что во мне борятся 🧑‍🏫 математик и 🖥️ информатик. Психолог и социолог внутри меня давно сдались, а теперь математик и информатик сражаются за то, как подойти к темам лингвистики, психологии и социологии в контексте машинного обучения и анализа данных.

Как говорят немцы, "стою на шланге", который сам пытаюсь направить на грядки.

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

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

🔍 Эмбеддинги — это представления слов, предложений, текстов и контекстов в пространствах высокой размерности (в данном случае размерность пространства — 768). В итоге почти всё, что было написано людьми за всю историю, "упаковывается" в связи в этом 768-мерном пространстве, а потом проецируется обратно в 5-мерное пространство теории Большой пятёрки с помощью вот такого вот кода.

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

Что я пока понял:
1️⃣ Тут слишком много эмпирики и случайных параметров.
2️⃣ Не хватает общей теории: лингвопсихологической — с одной стороны, математической — с другой.

И про последнее в 2️⃣ скажу так: я х**ею, товарищи, с конвергентности метода градиентного спуска при обучении больших языковых моделей. Я думал, у меня кривые руки, а оказалось — не совсем 😅.

Продолжение следует.
🔥2
Из всех кого я знаю в дэйта сайнс и машинном обучении из чатов - это чисто прикладной анализ данных и машинное обучение для бизнеса, которые тут врядли что-то полезное скажут. Надо идти к чистым математикам и звать Диму и Арена.
This media is not supported in your browser
VIEW IN TELEGRAM
Я думаю что те, кто не знают немецкий, тоже все поймут 😊


#НастроениеВоскресенья
😁21
«Гипотеза Поллианны»: насколько позитивна детская зарубежная литература?

В 1969 году Дж. Баучер и Ч. Э. Осгуд представили и обосновали идею о том, что «люди склонны видеть (и обсуждать) светлую сторону жизни». Эту тенденцию назвали «гипотезой Поллианны» в честь главной героини романа «Поллианна», жизнерадостной сироты, которая пытается найти что-то хорошее в любой ситуации. В материале рассказываем о том, как исследователи провели сентимент-анализ корпусов детской литературы, чтобы проверить эту гипотезу.

Что и как исследовали?

Чтобы провести анализ тональности детских и юношеских текстов, ученые взяли 372 англоязычные и 500 немецкоязычных книг. В качестве инструмента для исследования был выбран SentiArt, в основе которого – векторная модель, а не списки слов. У этого метода есть свои недостатки, но ученые убедились, что он всё же эффективнее альтернатив.

Что с английским корпусом?

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

А что с немецким?

Книги в немецкоязычном корпусе, который был более разнообразным и репрезентативным, тоже соответствовали «принципу Поллианны». В англоязычный корпус вошли только произведения, опубликованные только до 1952 года. Немецкий же содержал в том числе более поздние книги, включая переводы всех частей Гарри Поттера и Антуана де Сент-Экзюпери.

А есть ли различия?

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

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

Время чтения: 8,5 минут


🤖 «Системный Блокъ» @sysblok
Please open Telegram to view this post
VIEW IN TELEGRAM
ИИ и основная работа: ускоряем рутину, но...есть нюанс 🤖💻

Эту неделю пишу UI-веб-тесты с Page-Object-Pattern. Мне не нужно, чтобы ИИ придумывал за меня тестлогику — мне нужно экономить время на рутинных задачах: меньше писать руками, больше генерировать.

Идеально было бы, если бы ИИ брал HTML и сам создавал Page-Object классы, которые я пишу ручками - это чисто рутинная работа. ChatGPT с небольшими HTML-страницами справляется отлично: я показываю отрывки, объясняю формат Page Class — и получаю рабочий код, который можно просто копировать. Уже экономит кучу времени!

Но есть нюанс. Дьявол в деталях 😈: полный HTML не влезает в контекстное окно модели. Он слишком большой, и при анализе ChatGPT забывает, что вообще происходит. У языковых моделей ограниченный контекст, а мои HTML — до 100КБ, так что просто передать их целиком не выйдет

Есть идея 💡: попробовать пофайнтюнить отркытую модель от фейсбука/мета LlamaCode на выходных под эту задачу. Получится или нет — расскажу позже. 🚀
#НастроениеВоскресенья

Завтра утром скажу на планерке, что всю неделю буду заниматься файнттюнингом нейросетей, чтобы решить проблему с размерами контекстного окна и не писать этот код вручную.
😁2❤‍🔥1
🏃‍♂️ Кто из Мюнхена и хочет побегать в это воскресенье?

В это воскресенье, 16.02, начинаю подготовку к возможному выступлению в мае. И стартую с бега по горкам в Олимпиапарке.

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

В цикле подготовки к бою мне всегда хватало 8-12 таких беговых тренировок за 2-3 месяца – но, конечно, это только про бег. Помимо него есть и другие тренировки, но именно по горкам – ключ к быстрой выносливости.

📍 Мюнхен, Олимпиапарк
📆 Воскресенье, 16.02
12:00


Присоединяйтесь! Будем бегать расслабленно, но вы позитивно удивитесь, на что вообще способно ваше тело (бег по горкам – это вам не шутки). А мышцы ног и спины вас не забудут поблагодарить на следующий день приятной крепатурой😆💪
Как не соврать, но ввести в заблуждение: мастер-класс от ESPN, подхваченный президентом Федерации бокса РФ 🎭🥊

Вчера Кейшон Дэвис победил украинца Дениса Беринчика и стал чемпионом мира в лёгком весе. 📢 Американский телеканал ESPN тут же выдал ему место в "историческом" рейтинге боксёров, которые быстрее всего завоевали титул.

Но вот тут начинается самое интересное. 👀

В этот список включили Джимми Бритта, который в 1900-х владел специальным "поясом для белых" (да-да, такой пояс реально был), но при этом проиграл настоящему чемпиону того времени Джо Гансу. 🤦‍♂️

🔹 Эту несправедливость заметили даже в подконтрольном президенту федерации бокса РФ Умару Кремлёву (урождённому Лутфуллоеву) канале.

Но вот что странно: ещё одна, куда более очевидная деталь, осталась за кадром. 🤔

В рейтинге присутствует Василь Ломаченко, но ни слова о том, что он завоевал чемпионский титул уже в третьей весовой категории всего за 12 боёв! 🏆🔥 Это совсем другой уровень достижения, но почему-то никто не посчитал нужным об этом упомянуть.

🔹 Одна "ошибка" возмущает, а другая проходит мимо? Что ж, каждый видит то, что хочет видеть. Или то, что выгодно видеть. 😉

Вроде чистая правда, да? Ломаченко действительно стал чемпионом в лёгком весе в 12-м бою.

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

Ну и вишенка на торте 🍒: этот "анализ" преподносит канал, подконтрольный Умару Кремлёву (урождённому Лутфуллоеву).

А когда факты подаются таким образом, главное — не то, что сказано, а то, что сознательно упущено. 🎭

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

Но это по версии телеканала ESPN, которая кажется довольно спорной, потому что Джимми Брит владел специальным чемпионским поясом для белых, а общепризнанным чемпионом мира в легком весе в то время был Джо Ганс, которому он проиграл.
Первая пробежка после 2,5 лет безделья: камбэк 🏃‍♂️🔥

Сегодня, на расслабоне (но с героизмом в сердце 💪), пробежал 9 км по горкам за 1 час.

📊 Статистика великого возвращения:

Максимальная скорость – 14 км/ч (почти как Усэйн Болт… если бы он бежал в гору с рюкзаком картошки) 🏎️
Перепад высот – 140 метров (чувствовал себя как альпинист, но без кислорода и смысла) 🏔️
Средний темп – 6:51 мин/км (чуть быстрее, чем если бы я просто быстро шёл в магазин за пивом) 🍺

Конечно, результаты могли быть лучше, если бы было перед кем попонтоваться. Но так чё – на релаксе, без лишних нервов. Следующая пробежка – либо быстрее, либо с оператором, чтобы хоть кто-то заценил! 🎥😂 Но пару видео добавлю в комментариях 👇

🔻 Апдейт спустя пару часов: 🔻
Ноги уже болят, спина завтра будет болеть… 😅

#Running #Sport
Так выглядит рай для нейросетей 😍🤖🔥

💀 Видеокарты на пределе, электричество плавит провода, но это не ад – это рай!

На таком звере можно спокойно обучать модели в 200B+ и запускать сотни 7B одновременно. 😏

🚀 LLaMA 3 70B? Запускаем в десятках экземпляров.
🤖 GPT-4o-класса модели? Fine-tune без проблем.
🎥 Генерация видео уровня Sora? Вообще не вопрос.
🧠 Модели в 200B+? Обучаем с комфортом.

А я на своём Mac с 32 ГБ RAM радуюсь, что у меня влезает LLama 7B. 😆

Каждая NVIDIA B200 жрет до 1000 Ватт , а их восемь! В итоге этот сервер может тянуть до 8 кВт, что сравнимо с зарядкой электромобиля 🚗.
В моменте этот сервер может жрать до 8 кВт — это как если бы ты включил сауну, плиту и кондиционер одновременно. 😅🔥

А все ради чего? Чтобы разогреть видеокарты и тренировать 70B+ модели без плясок с бубном.

Угадайте, сколько такое удовольствие стоит без расходов на электроэнергию?

3000$ -🙂
40000$ - 😀
500000$ - 😂
6000000$ - 🤣
👍1
что мы вступили в новую эру и гонку, объяснять никому уже не надо, итак всё понятно :-)
👍2
Сегодня пол дня в онлайн-митингах. Когда работать? :-)
Технический долг: искусство брать в долг у самого себя

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

В программировании технический долг — это не всегда «криворукие разработчики написали говнокод». Иногда это осознанное решение: сделать быстро, но с долгом, потому что идеально, но нескоро — не вариант. Главное — этот долг учитывать, записывать и гасить, иначе через год код превращается в археологические раскопки, где вместо документации — магические заклинания в комментариях 🧙‍♂️.

Но технический долг есть не только в коде, а везде. Например, вот этот легендарный шкаф, в который мы годами запихиваем вещи, а когда он перестаёт закрываться — просто подставляем перед ним стул. Всё, фикс готов. До момента, когда нам вдруг срочно нужен этот стул, и вот мы уже стоим под лавиной зимних курток, старых зарядок и «ну вдруг пригодится» 🎭.

И в жизни у нас всё по той же схеме:

Здоровье? Ну да, пару недель без спорта и нормального сна — не страшно. Через полгода мы уже как багованная версия самих себя, но ничего, однажды это обязательно само исправится (спойлер: нет) 🏴‍☠️.

Финансы? Ну кто вообще разбирается в этом бюджете? У нас есть гибкий подход: тратим, пока не кончится, а потом удивляемся, как это произошло 💸.

Отношения? «Потом поговорим», «как-нибудь выберемся», «не сейчас». Всё нормально, пока однажды не приходит «ну, вообще-то, уже поздно» 💔.

Карьера? «Ну да, новые технологии, новые тренды... ладно, потом разберусь». Потом — это когда вдруг выясняется, что наш стек знаний поддерживает только исторический музей IT 📜.

Но, честно говоря, это не катастрофа. Технический долг в разработке — нормальная вещь, если его записывать, отслеживать и разбирать по приоритету. В жизни тоже: пока мы хотя бы понимаем, где у нас шкаф со стулом, это ещё не безнадёжно. Главное — не забыть, что если слишком долго тянуть, однажды вся эта конструкция рухнет нам на голову 🎢.

Поэтому записываем, фиксируем, приоритизируем. Потому что тупой карандаш всегда острее самой острой памяти ✍️.

…А если вдруг вам показалось, что я сегодня слишком уж скатился в банальность — так это потому, что у меня накопились технические долги...и их меньше всего в софте…
👍3
😁2
🔍 Хобби по выходным - большие языковые модели вообще и трансформеры в частности

Сегодня весь день писал неформальный крэш-курс по генеративному ИИ. Выйдет он через несколько недель… ну или месяцев, как пойдёт. 😅 Kурс я пишу в первую очередь для себя — чтобы самому разобраться во всех тонкостях языковых моделей и трансформеров. И чем глубже копаю, тем больше вопросов у меня самого!

Сегодня разбирался с механизмами внимания (self-attention). Если коротко: всё, что мы подаём на вход большой языковой модели, превращается в векторы в многомерном пространстве (это те самые эмбеддинги, про которые я тут уже много писал).

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

Например:

«кот» → [0.5, 0.2, -0.3, ...]
«собака» → [0.6, 0.1, -0.2, ...]

Оба — домашние животные, их векторы близки. А вот у слова «машина» вектор совсем другой, потому что его смысл далёк от животных.

Но что делать со словами с несколькими значениями, и вообще с зависимостью от контекста, дискурса, аллюзиями и т.д.? например «замoк»:

- «Вчера мы посетили старинный замок» 🏰
- «На амбаре висел ржавый замок» 🔒

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

Решил проверить это на коде и… внезапно словил баг. По какой-то причине модель разбила «смазка» на два токена — «смаз» и «ка». 🤦‍♂️ Хотя, например, «средневековье» почему-то один токен.

Теперь понимаю, что токенизации текстов и предложений надо уделить в курсе больше внимания. Многие специалисты жалуются, что в ней много хаоса, а Google и Meta уже уходят от работы со словами и строят модели на уровне битов. В принципе, логично и в какой-то степени фундаментально: вся информация — это 0 и 1, даже у элементарных частиц спин либо "+", либо "-", a человеческие языки это лишь частный случай … но это уже совсем другая история. 😁

А пока вопрос вам, друзья: как думаете, в представлении языковой модели слова «Аннушка» и «масло» будут близки? 😉
👍3