Истории (не)успеха (ИИ)ЕИ
442 subscribers
163 photos
89 videos
2 files
247 links
Просто о математике, нейросетях, программировании, спорте, политике, культуре. Общение, контакты, международные онлайн дискуссии/лекции в формате лайвстрим, встречи на спорт в Мюнхене.
Download Telegram
Пять факторов личности: oт слов к делу коду 🚀

Вернёмся к теории личности "большая пятёрка" и математических моделей для неё, как было описано тут.

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

model = SentenceTransformer('distilbert-base-nli-stsb-mean-tokens')
sentences = [
"I like to work hard.",
"I enjoy being active.",
"I like to meet new people.",
"I prefer to follow routines.",
"I love trying new things."
]
factors = {
'Openness to Experience': [
"Creativity", "Intellectual curiosity", "Aesthetic sensitivity"
],
'Conscientiousness': [
"Goal-oriented", "Self-discipline", "Organization"
],
'Extraversion': [
"Sociability", "Enthusiasm", "Activity"
],
'Agreeableness': [
"Altruism", "Empathy", "Cooperation"
],
'Neuroticism': [
"Anxiety", "Emotional instability", "Stress"
]
}

# Получаем эмбеддинги для предложений
sentence_embeddings = model.encode(sentences, convert_to_tensor=True)

# Для каждого фактора личности, вычисляем схожесть с предложениями
for factor, keywords in factors.items():
for keyword in keywords:
factor_embedding = model.encode(keyword, convert_to_tensor=True)
similarities = util.pytorch_cos_sim(sentence_embeddings, factor_embedding)

Результаты:
{'Sentence': 'I like to work hard.', 'Factor': 'Openness to Experience', 'Keyword': 'Creativity', 'Similarity': 0.23025937378406525}
{'Sentence': 'I enjoy being active.', 'Factor': 'Openness to Experience', 'Keyword': 'Creativity', 'Similarity': 0.4642907977104187}
....

полный список результатов в комментариях 👇

Что мы видим из результатов?

1. Активность и креативность
🏃‍♂️ *"I enjoy being active."* — высокая схожесть с креативностью (0.464). Люди, которые активны, часто проявляют творческий подход.

2. Рутина и открытость
🔄 *"I prefer to follow routines."* — низкая схожесть с креативностью (-0.072). Люди, предпочитающие рутину, менее склонны к нестандартному мышлению.

3. Активность и экстраверсия
🌟 *"I enjoy being active."* — очень высокая схожесть с экстраверсией (0.608). Активность напрямую связана с общительностью и жизнерадостностью.

4. Трудолюбие и тревожность
💼 *"I like to work hard."* — умеренная схожесть с тревожностью (0.220). Стремление к достижению целей может быть связано с переживаниями.

5. Невротизм и стресс
😰 *"I like to work hard."* — схожесть с уровнем стресса (0.220). Высокий уровень трудолюбия может быть связан с повышенным стрессом.

6. Невротизм и эмоциональная нестабильность
🌩 *"I like to work hard."* — умеренная схожесть с эмоциональной нестабильностью (0.182). Трудолюбивые люди могут переживать больше эмоций в стрессовых ситуациях.

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

полный список результатов в комментариях 👇
______________

Cсылка на код, вдруг кто захочет поиграться:

https://colab.research.google.com/drive/1-jXFB-5We8it_p8eL0_8G4xB1ODGxTX1?usp=sharing

не благодарите 😂

Источники:

📝 Wulff, D.U., & Mata, R. (2023). Automated jingle–jangle detection: Using embeddings to tackle taxonomic incommensurability.
📝 Hussain, Z., & Binz, M., & Mata, R. & Wulff D.U. (2024) A tutorial on open-source large language models for behavioral science
📝 Costa, P., & McCrae, R.R. (2022) Personality in Adulthood: A Five-Factor Theory Perspective

#LLM #Transformer #Interpretability #Literature
🔥3👎2🤡1
Сегодня на неформальном стриме "за нейросети" обсудили интерпретируемость искусственных и естественных нейросетей, а также сходства и различия между мозгом и ИИ.

🔥Огромное спасибо Никите @Sauforn(Hidden Heuristic) за подробный и увлекательный рассказ о современных подходах и актуальных темах в нейронауке и машинном обучении 🔥

Cсылки на статьи затронутыe на стриме:

🤔 Интерпретируемость:

Интерпретируемость в трансформерах 

Как трансформеры моделируют геометрию состояния убеждений 

🧠⚡️🤖 Мозг vs ИИ:

Backpropagation algorithm и мозг мышек 🐀
Предиктивное кодирование 
Reinforcement Learning vs Human Brain 
Моделирование нейроподобных процессов в ИИ 

В следующие дни я подробнее разберу отдельные темы, затронутые Никитой.
Пока перевариваю полученную информацию 🤯

💥 Друзья, настоятельно рекомендую заглянуть 👉 Hidden Heuristic

П.С. Я, дурында такая, не нажал кнопочку "Записать" и стрим, естественно, не записался. Но, я думаю, что мы повторим!

#AI #Transformers #Interpretability #Brain #Biology
👍2🔥1
Media is too big
VIEW IN TELEGRAM
📜Интересная статья от Григория Сапунова про интерпретируемость языковых моделей/нейросетей.

Содержит ссылки на другие интересные работы и идеи/подходы/примеры.

И Colab Notebook к статье.

Сохраню здесь чтобы не потерять.

Пока у меня не получилось механистически объяснить/интерпретировать, что делают отдельные головы внимания на различных слоях в сравнительно маленьких моделях BERT. Попробую теперь еще подходы из developmental interpretability - в отличии от mechanistic interpretability здесь фокус на том, как меняются структуры в модели по мере ее обучения.

P.S. А на анимации к посту просто 96 разноцветных нитей прикреплены снаружи к неподвижной раме, а внутри — к шару. Шар постоянно вращается в одном направлении, но нити никогда не запутываются. Они возвращаются к исходной конфигурации, когда шар поворачивается на 720 градусов.

#Interpretability #MechInterp #DevInterp #PureMath
🔥2
А как вы проводите пасхальные праздники?

Пользуясь тем, что у нас аж целых четыре выходных, решил не терять время зря и начал проходить курс по интерпретируемости трансформеров:
👉 https://arena-chapter1-transformer-interp.streamlit.app/

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

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

🚀 Если давно хотели «разобраться в трансформерах», но не знали с чего начать — это прям отличный вариант. Курс с нуля - даже не нужно знать про трансформеры, надо лишь немного уметь шкодить! 🔥

#Interpretability #Course #DevInterp #MechInterp
👍3
1/2

🧠 Что такое Expander-графы и почему это важно?

Помню лет 10-15 назад тема экспандер-графов была очень сильно на слуху. Не знаю как сейчас, вспомнил в связи с нейросетями и их #Interpretability, но даже не знаю, применяются ли там экспандеры...

Однако тема очень прикольная даже независимо от применений...

Expander-граф — это особый тип графа, в котором каждая небольшая группа узлов сильно связана с остальными. То есть даже если случайным образом выбрать 10-20% всех вершин, эти вершины будут иметь множество связей с оставшимися. Граф сохраняет свою «связность» даже при случайном удалении больших частей узлов или рёбер.

📌 Почему это важно? Это имеет большое значение:

В криптографии: Expander-графы обеспечивают устойчивость к сбоям и атакам.
В алгоритмах: Они помогают моделировать надёжные и устойчивые системы.
В теории сложности: Они играют важную роль в решении задач, таких как SAT, и в дискуссиях о проблеме P vs NP.

#ExpanderGraphs #Algorithms #Complexity #SAT #PvsNP

Продолжение 👇
2/2. продолжение. начало тут.

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

🔍 Пример: экспандер из 100 узлов, где каждый узел связан с 10 другими. Даже если удалить 20-30% рёбер, граф часто остаётся связанным. Это и есть эффект расширения (expansion).

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

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

#ExpanderGraphs #Algorithms #Complexity #SAT

@easy_about_complex
👍5
2/2. начало 👆

Эти фичи делятся на два типа:

🟦 Input features — активируются в ответ на входной текст.
🟥 Output features — напрямую влияют на финальный выбор токена.

Всё это соединено в виде графа, где видно, как сигнал проходит от входа к выходу.

🔬 Как такие features возникают?
Внутри модели существуют features — абстрактные внутренние понятия, которые представляют собой устойчивые паттерны активаций нейронов.
Вот что важно:
Никто не прописывал эту фичу вручную.
Она автоматически сформировалась во время обучения модели.

Как это происходит? Во время тренировки: Модель многократно видит тексты, где рядом встречаются, например: "France — Paris", "French food — Paris restaurants", "capital of France is Paris" и т.д. Внутри модели (в слое внимания) некоторые нейроны/веса начинают стабильно активироваться, когда появляются такие шаблоны. Эти стабильные паттерны "конденсируются" в фичу — вроде "French / Paris".

Эта фича закрепляется потому, что она полезна для предсказаний — она помогает модели угадать следующее слово, связанное с Францией.

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

Output features — что это?
Это паттерны, которые напрямую влияют на выбор следующего слова (токена).
Они как бы «голосуют» за определённый ответ и формируют итоговую вероятность.
Эти features находятся ближе к выходу модели и управляют тем, что модель в итоге выдаст.

Как мы узнаём о существовании этих features?
👉
С помощью методов атрибуции — вычисляем, какой вклад в ответ внес каждый нейрон или группа нейронов.
👉Через абляции — отключаем части модели и смотрим, как меняется поведение.
👉Анализируем активации — ищем повторяющиеся, стабильные паттерны.
👉Создаём визуализации — например, атрибуционные графы, которые показывают цепочки влияния от входа к выходу.

📌 Пример
Ты вводишь: "The capital of France is".
Input feature "French / Paris" активируется. Дальше она передаёт сигнал к более абстрактным фичам, типа:
"capital-of-country", "factual-geography-knowledge", "France → Paris association".

И уже на финальном этапе output features "проталкивают" токен "Paris".

💻 Попробовать самому:

Веб-интерфейс
. Просто открой и введи любую фразу:
👉
https://www.neuronpedia.org/gemma-2-2b/graph
(На базе Gemma-2 2B, от Google)

Или прямо в Google Colab
. Готовый ноутбук от Anthropic, никаких установок:
👉
https://github.com/safety-research/circuit-tracer/blob/main/demos/circuit_tracing_tutorial.ipynb

Посмотри, какие input features срабатывают на твоём примере и как они влияют на output features. Это настолько наглядно показывает, что происходит "внутри" ИИ, насколько это сегодня вообще возможно показать наглядно.


#Interpretability #DevInterp #MechInterp #Antropic #AttributionGraphs

@easy_about_complex
2👍1
🧠 К важной теме интерпретируемости — как искусственных, так и биологических нейросетей — вышла сильная работа. Пока не успел нормально вчитаться, но оставляю здесь как напоминание самому себе (и, возможно, вам тоже) разобраться подробнее:

📄 Mixture of Cognitive Reasoners: Modular Reasoning with Brain-Like Specialization
👥 Badr AlKhamissi, C. Nicolò De Sabbata, Zeming Chen, Martin Schrimpf, Antoine Bosselut
📚 arXiv | 💻 Code & demos

Краткий разбор уже появился у Григория Сапунова:
🔗 https://t.iss.one/gonzo_ML/3728



TL;DR

Что сделали?
Предложили архитектуру MICRO — модульную языковую модель, вдохновлённую функциональной специализацией мозга. Вместо одного трансформера:
🗣 Language (язык)
🔍 Logic (логика)
🧠 Social (социальное мышление)
🌍 World (знания о мире)

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

Зачем это всё?
MICRO — это попытка сделать reasoning более управляемым и прозрачным. Модель:
• объяснима на уровне маршрутизации запросов между модулями;
• допускает прямое вмешательство в инференс (можно отключить, например, социального эксперта);
• и при этом работает лучше сопоставимых LLM на задачах рассуждения.



Если успею прочитать внимательно — потом поделюсь заметками.
Если кто уже вникал — буду рад обсуждению 👇

#Interpretability #Explainability #DevInterp #MechInterp #TODO@easy_about_complex
👍3