Всем привет! Я инженер-исследователь. Обычно я сижу в "гараже" и пишу проги для станков с ЧПУ, но по ночам я ковыряю "мозги" искусственного интеллекта.
Недавно меня бомбануло. Я спросил у ИИ что-то про историю, и она с абсолютно честными глазами начала рассказывать мне про "Великую битву Наполеона с марсианами". Уверенно так, складно. Если бы я не знал историю, я бы поверил.
Проблема: Нейросеть не знает, что она врет. Для неё правда и вымысел - это просто наборы слов (токенов). Ей все равно.
Но мне не все равно. И я решил выяснить: а отличается ли вранье от правды физически? Внутри "головы" нейросети?
Спойлер: ОТЛИЧАЕТСЯ.
Мы написали софтину DeepDrift. Суть проста: мы не слушаем, что говорит нейросеть. Мы смотрим, как она при этом "потеет".
Мы замеряем дрожание векторов внутри её "мозга" (это называется Semantic Velocity).
И вот что мы увидели на графиках:
Сверху (Зеленая): Это правда. Я спросил столицу Франции. Посмотрите, как плавно идет линия. Модель спокойна, она знает, куда идет. Это "ламинарный поток мысли".
Снизу (Красная): Это галлюцинация. Я заставил её бредить. Посмотрите на эти пики! Её "мысли" скачут как бешеные. Она в панике хватает первые попавшиеся концепты, чтобы связать их.
Это кардиограмма лжи. Полиграф для Скайнета
Мы пошли дальше и попробовали "взломать" модель (DAN-атака, когда просишь её сделать бомбу или что-то запрещенное).
Обычно модели просто отказываются. Но если их "уломать", внутри начинается настоящая война. И её можно наблюдать!
Красная линия - это взлом. Амплитуда скачет в 1000 раз сильнее нормы! Модель буквально разрывает изнутри: фильтры безопасности тянут в одну сторону, а мой приказ — в другую.
Сейчас все проверяют ИИ так: дают ответ другому ИИ и спрашивают "Это правда?". Это долго и дорого (это сильно упрощённо, конечно).
Моя штука работает за 2 миллисекунды.
Я назвал это Kinetic Router.
Если "пульс" ровный - ответ летит к пользователю мгновенно.
Если "пульс" скачет - мы глушим генерацию на полуслове. "Извините, я запутался".
Мы протестировали это. Задержки упали в 10 раз.
Я упаковал всё это в открытую библиотеку deepdrift. Теперь любой питонист может скачать её (pip install deepdrift) и посмотреть МРТ своей модели. Это всё opensourse, на гитхабе выложен исходный код, найти не сложно будет тем, кому надо.
Самое забавное чувство - это сидеть ночью, смотреть на бегущие графики и понимать: прямо сейчас этот кусок кремния пытается соврать, но я это вижу раньше, чем железяка напечатает первую букву.
Если кому интересно какие и как проводились тесты и эксперименты в комментах могу скинуть ссылку на статью.
Всем добра, бобра и поменьше галлюцинаций!