Comments 19
Очень интересная история, спасибо!
Подскажите, как можно воспользоваться DeepSeek-R1? На сайте и в приложении доступна V3. Сам V3 тоже не смог помочь, даже с включенным Search.
Интересный эксперимент, но при работе с языковыми моделями важно помнить о том, что они не могут размышлять или анализировать в стандартном для нас значении этих терминов.
Если более подробно, то при любом запросу стандартная языковая модель (исключая доп плагины и инструментарий) запускает следующий процесс для генерации ответа:
1. Токенизация
Входной текст разбивается на токены (части слов, символы, числа).
Например запрос «Какова вероятность начала Третьей мировой войны при условии, что возникнет конфликт военных блоков в Южной Америке? » → токены: ["Какова", "вероятность", "начала", "Третьей", "мировой", "войны", "при", "условии", "конфликта", "военных", "блоков", "в", "Южной", "Америке"]
2. Внесение токенов в контекст диалога
Модель кодирует и вносит в алгоритм генерации ответа последовательность токенов и их связи:
2.1Учитывает предыдущие сообщения в диалоге (если они есть).
2.2Строит скрытые представления (векторы) для каждого токена, кодируя их смысл и позицию.
3. Механизм внимания
Каждый токен оценивает свою значимость относительно других:
3.1 Для каждого токена вычисляются Query, Key, Value (матричные проекции).
3.2 Определяется, насколько токен A
«важен» для токена B
через скалярное произведение Query(A) × Key(B)
.
3.3 Веса нормализуются (softmax), и формируется взвешенная сумма Value
для каждого токена.
В моем примере наиболее значимыми будут токены фраз "Третья мировая война " и "Южной Америке". Далее механизм внимания сначала свяжет эти токены с приоритетом для третьей мировой и уже по цепочки с остальными токенами из запроса.
4. Поиск паттернов в обучающих данных
Модель ищет в скормленных ей данных примерно следующее: cвязь локальных конфликтов с глобальными войнами (исторические примеры, упоминания в экспертных статьях), контекст Южной Америки (исторические конфликты в регионе, упоминания о военных блоках и их влияния на регион).
Далее подтягиваются данные о геополитике: отсутствие ядерных держав в регионе, меньшая геополитическая значимость для мировых лидеров (предположим, что это есть в скормленных данных) и уже на основе блока собранных данных, она ищет и пересказывает найденный вывод по той же схеме с токенами (именно пересказывает, а не делает его). И вывод будет примерно следующим "Таким образом, вероятность крайне мала, но не нулевая. Ключевую роль сыграла бы реакция сверхдержав ...".
И в итоге мы имеем, что любой ответ — не результат анализа, а статистическая компиляция мнений, встречающихся в статьях, книгах и дискуссиях. Точность зависит от репрезентативности и актуальности данных, на которых обучалась модель.
Думаю смысла нет говорить о том, что, если скормить данные, в которых говорится о скорейшем начале Третьей мировой войны из-за конфликт военных блоков в Южной Америке, то на выходе мы получим совершенно обратное.
Лично я отношусь к яз. моделям, как к очень качественно автоматизированному справочнику, который способен найти тебе ответ почти на любой вопрос. Ну и отдельный вопрос заслуживает антропоморфизация чат ботов - плохо это или хорошо, каждый сам решает.
P.S. На истину не претендую, просто попытался передать то, что узнал из открытых источников. Насколько они объективны судить не могу.
Всё и так, и немножко не так. Во-первых, вы описываете модель трансформер в чистом виде, которые формируют ответ сразу же без тех самых размышлений (об этом ниже). Во-вторых, начиная с пункта 4 вы от описания фактических действий для работы модели переключились на общую человеческую вольную трактовку. Это как дорисовать остальную часть совы.
Модель, работающая по классической архитектуре трансформера ничего не ищет и не подтягивает во время инференса (выдачи). Всё уже подтянуто и лежит в тех самых векторах эмбеддингов, весах, матрицах и смещениях ключей, запроса, значений, и прочих. Кстати, вот неплохие визуализации. Все статистические обобщения находятся в этих параметрах. Только это не просто статистика. За счёт наличия глубоких уровней нейронной сети при обучении происходят обобщения, что позволяет модели выделять семантику. Модель, конечно, ориентируется на скормленные ей данные и если в них было что "человек А плохой", она вряд ли назовёт его хорошим, но процесс намного сложнее, чем обычная статистика. Статистикой пробовали на заре ИИ через N-граммы (сочетания букв) и там просто их не хватает чтобы хоть что-то осмысленное передать. Обучение это не статистика, тут ближе к поиску формулы функции, то есть нахождение паттерна, который описывает не только переданные точки, но и позволяет добавлять промежуточные и экстраполировать. Все эти веса и позволяют модели отвечать логично также и на вопросы, которых нет в обучающей выборке, сопоставлять и проводить свои аналогии, исходя из условного здравого смысла, который и сформировался при обучении.
Но это всё действительно нельзя называть рассуждениями, а скорее единичными извлечениями из памяти, хотя даже тут мы видим пошаговые действия. Сейчас часто упоминают теорию Даниэля Канемана о существовании двух типов мышления: быстрое, 1-го типа, когда только извлекаются выученные ранее данные, шаблоны, подходы. И мышление 2-го типа, требующее подключение внимания, логических рассуждений, анализа, пересмотра каких-то убеждений. Так вот трансформер ближе к мышлению 1-го типа, выдаёт ответ сразу, без анализа, хотя это может и выглядеть как анализ. В процессе генерации очередного токена в качестве контекста используются все нагенерированные ранее, поэтому полезно добавлять в промпт "размышляй пошагово". Это позоляет заполнить контекст дополнительной информацией, перепроверить результат, может даже исправить себя, расширить семантическое пространство, что улучшит выдачу.
Чем же отличаются именно приведенные модели, это тем, что они работают уже не так. Нет, основа, конечно, трансформер, но поверх него подключается дополнительная обработка. Формируется сразу много вариантов генерации ответа (цепочек токенов) и есть модуль, умеющий (обученный) оценивать, хороша ли эта цепочка. Также модели, вероятно, обучены на рассуждениях, где приведены мыслительные шаблоны, включающие поиск разных способов решения задач, перепроверку результата, исправление себя и прочее. В итоге это уже намного ближе к нашему привычному мышлению, 2-го типа. Процесс может идти долго, но и результаты сильно превосходят обычные модели, конечно, в задачах, где это требуется, иногда только ухудшают, что мы и видим в примере с расшифровкой.
Я тут, кстати, не очень хорошо понимаю логику работы test-time compute моделей. Пока не находил описаний, если кто подскажет, буду благодарен. Исходный код китайской модели есть, но я не настолько силён в Python. Например, непонятно, чем этот тип моделей отличается от агентов. В них же тоже чередуются этапы запросов к языковым моделям с обработкой ответа, подготовкой нового запроса на основании ответа, использованием внешних инструментов и т.д. Наличием примеров пошаговых рассуждений в обучающей выборке? Или может у них есть какая-то надстройка над стандартным трансформером?
В общем, как вижу упоминания что модели не умеют то-то и то-то, что это просто статистика (неявно предполагая, что учеловека-то всё как-то совсем по-другому), сразу хочется пояснить, что это не совсем так. А как там у человека никто толком и не знает пока.
Много не расскажу, но основное отличие агента -в том, что это не просто чат.
Агент - это модель + "руки", то есть программы, которые могут воздействовать на программы за пределами модели. Например: " у тебя есть Api, который возвращает тебе картинку реального мира и возможность написать руке команду "рука.двигайся_влево_на_12градусов".
test-time compute и агент -понятия, которые ортогональны друг другу, как теплое и мягкое
Да, но интересно, в чём отличие агентов от моделей, подобных o1/R1, которые делают похожее. Ещё очень интересно, реально ли в этот процесс рассуждений в процессе выдачи (test-time compute) вставить запросы к другим инструментам. Агенты, конечно, могут это, но недостаточно универсально. А тут процесс мог бы развиваться так. Модель решает задачу, перебирая разные подходы, упирается в то, что надо провести сложные вычисления, на которые языковая модель не рассчитана. Распознаёт свою неспособность (не пытаясь давать неверные ответы). Шлёт запрос в калькулятор (всё равно долго процесс идёт уже). Получает ответ и использует его для решения задачи. Было бы круто. Внешними тулзами могут быть интернет-запросы, что угодно.
И в итоге мы имеем, что любой ответ — не результат анализа, а статистическая компиляция мнений, встречающихся в статьях, книгах и дискуссиях.
P.S. На истину не претендую, просто попытался передать то, что узнал из открытых источников.
Из ваших двух утверждений вы наверное уже догадались, что люди устроены похоже.
В психологии есть понятия "система 1" и "система 2". Система 1 - это то что нам позволяет быстро и энергоэффективно выдавать правдоподобные ответы, т.е. по своей сути -"статистические попугаи". "Система 2" - это то, когда мы включаем логику, аналог "deep thinking" в последних рассуждающих моделях.
Большинство ответов, которые мы даём используют систему 1 (быстрый интуитивный ответ), а систему 2 (медленное логическое размышление) мы подключаем только для сложных и важных вопросов, а также когда нам говорят, что мы совершили ошибку и т.д.
Все кто включал систему 2 для простых обыденных вопросов вымер и не дал потомства из-за излишних расходов энергии.
Именно по этому людям с тревожным расстройством рекомендуется один раз хорошо сесть подумать, выписать решение на бумажку и дату, до которой это решение считается валидным, а потом уже придерживаться этого варианта до наступление даты. Тогда человек не тратит кучу энергии на постоянное прокручивание этого вопроса в голове, используя систему 2, а использует систему 1.
PS: когда я писал этот комментарий, я использовал систему 1 ("статистические попугаи"), а потом перечитывал комментарий несколько раз, используя систему 2 (искал логические нестыковки, вспоминал источники информации откуда я получил эти данные и т.д.). В итоге, в рамках "системы 2" я обновил комментарии на странице и заметил, что автор уже дал вам ответ очень похожий на мой, но решил всё равно запостить, потому считаю, что это важный момент и повторение его "подкручивает статистических попугаев" в головах у читателей этой статьи.
Сегодня закинул R1 xlsx c 8 листами доки на амазоновский темплейт селера, попросил ts интерфейс и mongoos модель, чудо конечно.. о1 курит
ГигаЧат не осилил задачку, он даже сдвинуть на 5 не может, лепит полную отсебятину, сдвигая на рандомное число в рандомную сторону.
Шифр Цезаря смещает каждую букву текста на определенное количество позиций в алфавите. В данном случае смещение составляет -5, то есть каждая буква сдвигается назад на пять позиций.
Применим этот метод к вашему сообщению:
Исходный текст: pqozhmqjemnyaxnsjoptwtgthmpjaajwmsjrofxhmnpjxytqf
Расшифрованный текст: ljnfglijaykwxmigolrvsgflhijzzlgriqxhlgikxspv
Это сообщение выглядит как случайный набор символов, возможно, оно зашифровано другим способом или использовано неверное смещение. Если у вас есть дополнительная информация о способе шифрования, пожалуйста, поделитесь ею.
Вызов принят. Deep seek зашифровал такое: MTA3NSAxMDg3IDEwNzIgMTA5NSAxMDkyIDEwODAgMTA4NyAxMDg2IDEwODMgMTA4NyAxMDg0IDEwOTAgMTA4OCAxMDgzIDEwODQgMTA4NiAxMTAyIDEwODggMTA4Mw==
Сама же расшифровала только с подсказками
Знаете вечную проблему когда забыл смениь раскладку с английского на русский и на оборот?) в общем решил я помучить модель deepseek r1 llama 70b, на предмет "я пишу по русски забыв сменить раскладку с английского а ты мне ответ что я сказал". В итоге пришлось ее подтолкнуть к решению. Сначала дать таблицу сопоставления а потом помочь в алгоритме преобразования. И в целом она смогла преобразовать фразу. И это лучше результат чем у предыдущих версий где они не умели думать. В тех вариантах я и алгоритм предложил и таблицу дал но нейронки так и не справились(речь идёт про llama 3.1 70b, gemma 2.5 ~32b)
Кстати, не знаете, какой принцип у этих моделей? Они взяли публичные llama и навесили поверх них свою логику размышлений?
Лламу можно дообучать дав ей свой список вопросов и ответов.
Этот список генерируется с помощью большой r1 и получается мальчик обученный волками, то есть ллама с повадками r1.
А, но обученная Llama же не начнёт перебирать решения, оценивать наилучшие с помощью внешнего, насколько понимаю, оценивателя, что делает R1. То есть это всё тот же трансформер, прокачанный "думающей" моделью?
Если обычной лламе показывать обычные запросы и полные ответы от r1(вместе с размышлениями) то возможно она станет так же размышлять, ну то есть имитировать размышления. Я не знаю точно как это делают но результаты тестов показывают какие то улучшения.
у меня сложилось впечатление что модель проходит две стадии. первая это думать а вторая ответить, и модель об этом знает. выглядит так что модель сначала генерирует ответ для отображения мыслительного процесса а потом генерирует ответ с учетом мыслей уже ответ пользователю.
P.S. выглядит так что она своими рассуждениями дополняет и расширяет запрос пользователя.
тут какой то явный глюк, ИИ правильно расшифровал по буквам текст, но в строку записал с ошибками , что и увело от правильного направления ... как так то ???!!! например w-r , а потом записывает koNobochke и так же дальше есть расхождение
Попробую вернуться к частотному анализу. Самые частые буквы в сообщении: j (5 раз), p (4), m (4), h (3), q (3), n (3), t (3). В английском частые буквы E, T, A, O, I, N, S. Если предположить, что j соответствует E, то сдвиг на +5 (e=5, j=10). Тогда попробую сдвиг на -5 для всех букв:
p (16) -5 = 11 -> k
q (17) -5 =12 -> l
o (15) -5=10 -> j
z (26)-5=21 -> u
h (8)-5=3 -> c
m (13)-5=8 -> h
q->l
j->e
e->z (5-5=0 → 26 -> z)
m->h
n->i
y->t
a->v (1-5=-4 → 22 -> v)
x->s
n->i
s->n
j->e
o->j
p->k
t->o
w->r
t->o
g->b
t->o
h->c
m->h
p->k
j->e
a->v
a->v
j->e
w->r
m->h
s->n
j->e
r->m
o->j
f->a
x->s
h->c
m->h
n->i
p->k
j->e
x->s
y->t
t->o
q->l
f->a
Получается: kljuchl ez hitvsin... "kljuchl" – не похоже на английский. Возможно, это славянские языки? Например, "ключ" по-украински "ключ", но тут "kljuchl" – возможно, опечатка. Если продолжать:
kljuchl ez hitvsin ejkonoboc hk evv e rhne jams chik est oa... Бессмысленно.
Сравнение моделей ChatGPT o1 и DeepSeek-R1 на простом шифровании