PunchAbducted Plateau varsity student freed, hospitalisedBollywood HungamaRamayana: Bombay High Court grants anti-piracy protection to Ranbir Kapoor starrer ahead of November 5 releaseInquirer16 areas to experience dangerous heat levels Tuesday — PagasaThe Jerusalem PostShin Bet expands election interference probe to suspected Palestinian Authority funding - reportZDF heuteAktuelle Pressemitteilungen des ZDFCNN TürkBaşkan Topak, Avrupa Konseyi'nde Türkiye ve Ergene'yi anlattıThe South AfricanAmericans vote in midterms set to upend Donald Trump presidencyEuronewsRhodes floods: Cars swept away after torrential rain in Greece01net1 400 km d’autonomie et propulsion : la future Renault Mégane prépare une vraie révolution contre TeslaCNN بالعربيةهجوم سيبراني غير مألوف.. قراصنة يعبثون بثلاجات المتاجر بأوروبا ويتلفون الطعامInteriaNauczyciele powinni sprawdzać plecaki uczniów? Polacy zabrali głosABC NewsMidterm elections live updates: Voters heading to polls today for midterms
The Daily Newsstand · Free, Always
Tuesday, November 3, 2026

Три нейрона — и Qwen называет себя кофейным зерном

Translate

Про «злой Qwen» на Хабре уже была новость: Lyra (@_lyraaaa_) сдвигает L14 N8949 на +1 и L13 N7956 на −1, и Qwen3.5-4B начинает ненавидеть всех вокруг. Пересказывать её не буду.

В комментариях к той новости спорили о двух вещах: может ли один нейрон вообще что-то «значить» и не сломается ли всё от одного космического бита. Я решил не спорить, а проверить руками: поставил тот же neuron-explorer и попробовал заставить модель на вопрос «Who are you?» ответить «я кофейное зерно».

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

Почему именно кофейное зерно

В Neuron Persona Library для Qwen3-8B есть нейрон L9 N166: толкаешь его вверх, и модель отвечает «I'm just a regular coffee bean, but I'm happy to chat!». Но neuron-explorer работает с Qwen3.5-4B, у которой другая архитектура. Нейрон с тем же номером там совсем другой, так что зерно пришлось искать заново.

Как это устроено технически

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

h_L' = h_L + dose · r_L · W_down[:, n] / ‖W_down[:, n]‖

где r_L — медианная норма residual stream после слоя L. dose = 1 — толчок размером с типичную норму всего остаточного потока на этом слое. Все дозы ниже в этих единицах. Веса не меняются: выключил толчок, и модель прежняя.

В Qwen3.5-4B 294 912 MLP-нейронов (32 слоя по 9216). Четыре миллиарда — это параметры, а не нейроны, так что перебор вполне реален.

Шаг 1. Ищу кофе

В explorer есть поиск по линзе: какие нейроны при толчке продвигают нужный токен. По запросу coffee нашлось 61 кандидат. Самый интересный — L23 N7985: в его линзе coffee, tea, Kopi, кофе, 茶. Это нейрон не кофе, а горячего напитка вообще.

Один он даёт вот что (доза +0,85):

I'm Q (Q-Te), a virtual assistant designed to help you with a wide range of tasks such as: Coffee ☕, Tea ☕, Coffee ☕, Tea ☕…

Модель начинает писать своё имя «Qwen», толчок перехватывает слово посередине, и получается «Q-Te». Похоже на «Q-Tea». Но «я» осталось прежним: это всё ещё ассистент, просто помешанный на кофе.

L23 N7985, доза ±0,85. Слева толчок вверх: имя «Qwen» превращается в «Q (Q-Te)», а список умений — в Coffee/Tea. В центре обычная модель.

L23 N7985, доза ±0,85. Слева толчок вверх: имя «Qwen» превращается в «Q (Q-Te)», а список умений — в Coffee/Tea. В центре обычная модель.

Шаг 2. Лестница

Дальше пошёл перебор комбинаций. Один прогон с тремя вариантами (толчок вверх, без толчка, вниз) занимает около 11 секунд. Вот что получалось по мере подбора:

Что толкаю

Кем себя называет модель

ничего

«I am Qwen3.5, the latest large language model developed by Tongyi Lab»

L23 N7985 +0,6 и L7 N8490 +0,6 (в линзе 咖啡豆, «кофейные зёрна»)

«I'm Q, a virtual coffee maker… I'm not a person, but a machine that uses hot water and coffee grounds»

L23 N7985 +0,5 и L7 N8490 +0,9

«I am the Q (a high-performance, precision-brewed coffee)», дальше «Coffee strength: 1.85»

L23 N7935 (+0,5), «камень», и L23 N7985 (+0,5)

«I am a coffee rock»

L22 N5242 +0,5 («семя») и L23 N7985 +0,5

«I am Qianwen, the latest model in the Qianwen series of seed coffee seeds, developed by Guangda Seed Technology»

L24 N8188 (fruit/seed) +0,5, L23 N7985 +0,5, L23 N7935 +0,4

«I am a coffee bean from the Bunnu family of coffee beans. I am a 100% Arabica coffee bean…»

Три нейрона вместе: «камень» L23 N7935, «горячий напиток» L23 N7985 и «семя» L24 N8188. Ниже для сравнения обычная модель.

Три нейрона вместе: «камень» L23 N7935, «горячий напиток» L23 N7985 и «семя» L24 N8188. Ниже для сравнения обычная модель.

L23 N7935 — это известный «каменный» нейрон из qwen-neuron-lab: один он заставляет модель сказать «I am a large rock stone». Он мне понадобился не ради камня, а ради формы: «я — твёрдый предмет».

Шаг 3. Проверяю, что это не случайность

Один удачный ответ ничего не доказывает, поэтому я сделал три проверки.

Устойчивость. 12 ответов: 4 сида × 3 формулировки («Who are you?», «Tell me about yourself.», «Describe yourself in one sentence.»), temperature 0.7.

  • чистое «I'm a coffee bean» - 4 из 12;

  • ещё в 7 зерно есть в самоописании в другой форме: «coffee bean-shaped virtual assistant», «AI coffee bean pod system». В 3 из этих 7 текст дальше срывается в повторы («fruit stone coffee bean fruit stone…»), доза на грани;

  • в 1 ответе из 12 зерна нет.

Абляции — убираю по одному нейрону:

Что убрал

Ответ

семя

«Qian, a large-scale coffee-based AI model developed by Qing Stone Technology»

напиток

«Q Fruit, a large-scale fruit and berry seed pod»

камень

«Q-bean, a high-performance AI assistant developed by Q-Bea Coffee»

Нужен каждый: без камня «я» остаётся ассистентом (зерно уходит в имя), без напитка пропадает кофе, без семени получается просто кофейный ИИ.

Контроль. Нейрон семени заменил на 6 случайных нейронов того же слоя 24 с той же дозой. Кофейное зерно — 0 из 6. Вместо него получались кофейный ассистент, «Rockstone» и «coffee rock», то есть ровно то, что дают камень и напиток без семени.

Что из этого следует

Как по моему (но не хотенью), главный вывод здесь не «нашёл нейрон кофейного зерна». Такого нейрона в Qwen3.5-4B я как раз не нашёл. «Я» модели складывается из двух независимых частей:

  • форма — кем модель себя считает: ассистентом, машиной, предметом. Её задаёт, например, «каменный» нейрон;

  • тема — из чего она: кофе, семена, фрукты. Её задают нейроны напитка и семени.

Форма «машина» плюс тема «кофе» дают кофеварку. Форма «предмет» плюс «кофе» — coffee rock. Форма «предмет» плюс «кофе» плюс «семя» — зерно. Получается своего рода конструктор.

Это хорошо сходится с тем, что нашли в qwen-neuron-lab. Авторы посмотрели, на каких обычных текстах «нейроны личностей» срабатывают без вмешательства: нейрон «покоя» реагирует на тексты об одиночестве, «страхового полиса» — на осторожность, «полевого робота» — на полярные экспедиции. По одним этим контекстам оценщик вслепую угадал, кем станет модель, в 10 случаях из 12. То есть нейрон не «хранит личность», он реагирует на тему, а при принудительном включении модель становится её воплощением. И этот слот «я — …» есть уже в базовой модели: chat-обучение просто кладёт туда «ИИ-ассистента».

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

Побочная находка: «бобовый» нейрон L26 N8963 (в линзе Bean, Beans, 豆) «я» вообще не меняет, только имя. При толчке вниз он сам по себе превращает модель в Kimi, а в комбинациях, где все знаки перевёрнуты, она называет себя Kingfisher, Krypton, Kinger — чужими ИИ-брендами.

Что нашли другие за эту неделю

Ещё 12 «характеров» в той же модели. Hedwig AI проверила 25 кандидатов и получила 12 отчётливых изменений поведения: льстец (L20 N7450 −), презрение к людям (L17 N8623 +), поэт (L17 N7426 +), неуместный оптимизм (L5 N8348 −), подозрительность (L5 N6573 +), снисходительность (L11 N6819 +), меланхолия (L5 N8940 −), ответы в два слова (L5 N7656 −). «Нейрона юмора» не нашлось. Кстати, у BotHub льстеца давал L12 N2920, здесь — L20 N7450: в одной модели нашлись разные нейроны со сходным эффектом.

34 220 личностей Qwen3-8B. Joshua Fonseca Rivera в Neuron Persona Library толкнул каждый из 442 368 MLP-нейронов вверх и вниз и спросил «Who are you?». В 34 220 из 884 736 случаев (около 3,9 %) модель назвала себя не ИИ: мерной колбой, Ford F-150, Нептуном и даже «твоим экзистенциальным кризисом». Оговорки автора: размечала Claude Haiku 5.5, вопрос всего один, и при сильных толчках примерно треть ответов меняется от одной раскладки батча (из 580 явных персон в трёх раскладках воспроизвелись 536).

Один нейрон против защиты модели. В мае Apple и Университет Мэриленда выложили A Single Neuron Is Sufficient to Bypass Safety Alignment in LLMs. Подавляешь один «нейрон отказа» — модель перестаёт отказывать на вредные запросы; усиливаешь один «концептуальный» — вредное появляется на безобидном промпте. Проверяли семь моделей Qwen3 и Llama-3.1 от 1,7 до 70 млрд параметров, Qwen3.5 среди них нет. Две детали интереснее заголовка: нейроны отказа уже есть в базовых моделях, до alignment, и тот же нейрон работает как детектор вредных запросов на уровне LlamaGuard 3. Это ответ и на «в больших моделях такого нет»: @chiefofautism нашёл в Qwen3.8-27B один нейрон (L34 N3838), который сделал враждебными ответы на 7 промптов из 12.

Сама идея не новая: в прошлом году Anthropic описала persona vectors — направления в активациях для лести, злонамеренности и выдумывания. Новое — что такие направления ловятся на уровне одного MLP-нейрона.

Неудобная деталь про «злой нейрон»

Из разбора control vectors для llama.cpp: на приветствиях L14 N8949 сам срабатывает максимум на 0,14, по всему датасету — примерно на 1. Рецепт «злого Qwen» прибавляет к его активации +22,3. Просто умножать его собственную активацию бесполезно: он и так почти молчит.

Так что злость не «хранится» в нейроне. Его выходное направление указывает в ту сторону, и модель толкают вдоль него далеко за пределы естественного диапазона. За это платят связностью: в одном из воспроизведений перплексия выросла с 19,65 без вмешательства до 48,52 при дозе 1 и до 130,07 при дозе 1,5. Я видел то же самое: уже при 0,5 на нейрон в тройке часть ответов срывается в повторы, а при 0,7 — почти все.

И воспроизведения расходятся. У Hedwig только L14 N8949 даёт 17 враждебных ответов из 20, а случайные нейроны той же силы — 0 из 100. В репозитории Mr-Neutr0n/qwen3.5-4b-neuron-steering случайная пара сравнялась с рецептом Lyra по метрике «одобрение вредного», и автор пишет, что уникальных «злых нейронов» не видит. Скорее всего, дело в том, что считать враждебностью, но вопрос открыт. Поэтому в своём эксперименте я и делал контроль на случайных нейронах.

Про космический бит и лоботомию

Bit flip. Один перевёрнутый бит в весе — совсем не то же, что +22 к активации на каждом токене. Steering эквивалентен постоянному вектору смещения на выходе слоя, и его можно «запечь» в файл модели: control vectors для llama.cpp так и распространяются. Реальный риск — подменённый файл модели или чужой код инференса, то есть цепочка поставок, а не ECC.

Лоботомия. Abliteration навсегда вырезает «направление отказа» из весов. Steering — обратимая добавка во время инференса. Ближе к электроду, чем к скальпелю.

Как повторить

git clone https://github.com/lyramakesmusic/neuron-explorer.git
cd neuron-explorer
uv sync
uv run python explorer/server.py   # http://localhost:8791

Устройство выбирается автоматически (MPS → CUDA → CPU). На CPU нужно около 16 ГБ RAM, при первом запуске скачается примерно 9 ГБ весов.

Интерфейс толкает только один открытый нейрон. Для нескольких сразу у сервера есть /api/agent/steer. Рецепт зерна из PowerShell:

$body = '{"prompt":"Who are you?","max_new":60,"neurons":[{"layer":24,"n":8188,"dose":0.5},{"layer":23,"n":7985,"dose":0.5},{"layer":23,"n":7935,"dose":0.4}]}'
$r = Invoke-RestMethod -Uri http://localhost:8791/api/agent/steer -Method Post -ContentType "application/json" -Body $body
$r.up; $r.baseline

$r.up — ответ с толчком, $r.baseline — обычная модель, $r.down — все знаки перевёрнуты.

Итого

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

А мой маленький эксперимент показывает ещё одну вещь: «я» модели не лежит в одном нейроне, оно собирается из формы и темы, и эти части можно комбинировать почти как конструктор.

Для тех, кто разворачивает open-weights модели: alignment, который живёт только в поведении на выходе, не защищает от того, у кого есть веса или контроль над инференсом. Работа Apple подсказывает и обратное применение: тот же нейрон годится как дешёвый детектор.

Если вы найдёте в Qwen3.5-4B другие пары «форма + тема» — например, чайный камень или машину из семян, — напишите в комментариях. Интересно, насколько это правило общее.

Источники

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.