Где ИИ (LLM) может вас жестко

Развивая данную тему поинтересовался, а может ли ИИ (#LLM) в том виде, котором мы их используем через чаты и API решать задачу поиска оптимального решения.

Были взяты самые популярные сервисы: #YandexGPT 5.1 (через #API с векторной базой #YDB и без), #DeepSeek 4 Flash (через API Yandex Cloud), #GigaChat 3.5 Ultra (чат), #ChatGPT-5.6 Luna, #Claude Sonnet 5.

Проверка результата через #RStudio.

Для примера была взята классическая задача (поиск весов ИИ), это поиск минимальных остатков. В математике, это метод наименьших квадратов (МНК).

Где применяется? Например, расчет премий по лестнице достижений (% продаж). Или решение задачи подбора параметров в матрицу через функцию минимизации затрат или максимизации выручки. В Excel для этого часто используют функции ВПР или ПОИСКПОЗ+ИНДЕКС.

Немного ранее писал, что решил свою давнюю задачу по запуску обучения разных видов (ИИ) моделей (DNN, LSTM и др) на исторических данных “с учителем”.

Первая

Вторая

Так вот.

Постановка задачи

Использовать свернутые данные в один числовой вектор (‘x’) по котировками и второй вектор (‘y’) с метками от 1 до 2 (продать или купить) в качестве учителя (‘dt_train / train’).

Второй вектор (‘test’), тестовый, использовать в качестве задачи поиска наиболее подходящего значения из набора train. Найти значение с наименьшим разностным остатком, вывести найденное значение, вывести соответствующее значение из вектора ‘y’, подсчитать процент совпадения ‘p’. Вывести результат в JSON формате и таблице.

Промпт выглядит так:

x
1,053252588
-0,293614992
-0,194761592
-0,34980501
-0,310607875
-0,051729657
-0,367246745
0,287114539
-0,427839421
-0,370099426

Сопоставь со значениями из поискового индекса dt_train / train, найди наиболее подходящие значения из колонки ‘y’. Напротив каждой строки, дополнительно выведи колонку ‘p’ с вероятностью совпадения. Выведи только результат в формате JSON.

На все результаты будет отдельная ссылка (текстовый файл), так как много “воды” в ответах чатов ГПТ, экономлю ваше время. Кто захочет, посмотрит и возможно перепроверит результаты.

Результаты тестирования

№ 1

№ x (введено) y (найдено) p (вероятность) Ближайшее значение в индексе
1 1,053252588 1 0,95 1,05109224 (y=1)
2 -0,293614992 1 0,99 -0,2936047 (y=1)
3 -0,194761592 2 0,98 -0,19460167 (y=2)
4 -0,34980501 2 0,99 -0,34978451 (y=2)
5 -0,310607875 2 0,98 -0,31049222 (y=2)
6 -0,051729657 2 0,90 -0,05306438 (y=2)
7 -0,367246745 2 0,99 -0,36717086 (y=2)
8 0,287114539 2 0,99 0,2871221 (y=2)
9 -0,427839421 1 0,97 -0,42817443 (y=1)
10 -0,370099426 1 0,98 -0,3702594 (y=1)

https://disk.yandex.ru/i/yUXdVozT6mwMlQ

Не удовлетворительно.

№ 2

1 1.05325259 1 0.9450
2 -0.29361499 1 1.0000
3 -0.19476159 2 0.9950
4 -0.34980501 2 0.9995
5 -0.31060787 1 0.9996
6 -0.05172966 2 0.9987
7 -0.36724675 1 0.9993
8 0.28711454 2 0.9968
9 -0.42783942 2 0.9993
10 -0.37009943 2 0.9996

https://disk.yandex.ru/i/AIiaKTZPHY8LiA

Не удовлетворительно.

№ 3

«results»: [
{«x»: 1.053252588, «matched_x»: 1.08511275, «y»: 2, «p»: 0.969},
{«x»: -0.293614992, «matched_x»: -0.2936047, «y»: 1, «p»: 0.99999},
{«x»: -0.194761592, «matched_x»: -0.19665633, «y»: 2, «p»: 0.9981},
{«x»: -0.34980501, «matched_x»: -0.34978451, «y»: 2, «p»: 0.99998},
{«x»: -0.310607875, «matched_x»: -0.31077158, «y»: 2, «p»: 0.99984},
{«x»: -0.051729657, «matched_x»: -0.05168613, «y»: 1, «p»: 0.99996},
{«x»: -0.367246745, «matched_x»: -0.36717086, «y»: 2, «p»: 0.99992},
{«x»: 0.287114539, «matched_x»: 0.28920673, «y»: 1, «p»: 0.9979},
{«x»: -0.427839421, «matched_x»: -0.42817443, «y»: 1, «p»: 0.99966},
{«x»: -0.370099426, «matched_x»: -0.3702594, «y»: 1, «p»: 0.99984}
]

https://disk.yandex.ru/i/rwg7xTKr5V6Bug

Не удовлетворительно.

№ 4

ваш xнайденный x в trainyp
1,0532525881,05109223710.8223
-0,293614992-0,29360469610.9990
-0,194761592-0,19460167220.9843
-0,34980501-0,34978450820.9980
-0,310607875-0,31050193520.9895
-0,051729657-0,05168613310.9957
-0,367246745-0,36717086520.9925
0,2871145390,28920673510.8270
-0,427839421-0,42812523920.9722
-0,370099426-0,37025940210.9843

https://disk.yandex.ru/i/CXm8vnrPAJHtVA

Тест пройден, точность 100%.

№ 5

https://disk.yandex.ru/i/YaAxdFUVs-4y5g

Не удовлетворительно.

№ 6

         x     nearest     distance index    y y_real

1 1.05325259 1.05109224 2.160351e-03 1350 1
2 -0.29361499 -0.29360470 1.029576e-05 76 1 1
3 -0.19476159 -0.19460167 1.599204e-04 597 2 2
4 -0.34980501 -0.34978451 2.050178e-05 149 2 2
5 -0.31060787 -0.31050194 1.059399e-04 344 2 2
6 -0.05172966 -0.05168613 4.352377e-05 540 1 1
7 -0.36724674 -0.36717086 7.588004e-05 1053 2 2
8 0.28711454 0.28920673 2.092196e-03 1279 1
9 -0.42783942 -0.42812524 2.858179e-04 231 2 2
10 -0.37009943 -0.37025940 1.599760e-04 847 1 1

https://disk.yandex.ru/i/zT1eNJ4yoBg2_g

Тест пройден, точность 100%.

№ 7

Исходный xНайденный xyp
1,0532525881,051092236910,50
-0,293614992-0,293604696210,50
-0,194761592-0,194601671620,60
-0,349805010-0,349784508220,60
-0,310607875-0,310501935120,70
-0,051729657-0,051686133210,40
-0,367246745-0,367170865020,70
0,2871145390,289206734610,20
-0,427839421-0,428125238920,20
-0,370099426-0,370259402010,60

https://disk.yandex.ru/i/MUmFz3z0b0uXDw

Тест пройден, точность 100%.

№ 8

x Индекс1 Индекс2 Знч Индекс3 значение2 Разница
1,053252588 1375 1 1 1,051092237 0,002160351
-0,293614992 589 2 2 -0,294100177 0,000485184
-0,194761592 807 1 1 -0,196430858 0,001669267
-0,34980501 425 1 1 -0,350423022 0,000618012
-0,310607875 536 2 2 -0,31072228 0,000114405
-0,051729657 1002 2 2 -0,053064375 0,001334718
-0,367246745 371 2 2 -0,367583321 0,000336576
0,287114539 1248 2 2 0,284157892 0,002956647
-0,427839421 193 2 2 -0,428125239 0,000285818
-0,370099426 357 1 1 -0,370259402 0,000159976

https://disk.yandex.ru/i/SFr-NTmgdpl80Q

Не удовлетворительно.

№ 9

Искомый xx, найденный в trainyp
1,0532525881,05109223710,813
-0,293614992-0,29360469610,951
-0,194761592-0,19460167220,820
-0,349805010-0,34978450820,937
-0,310607875-0,31050193520,867
-0,051729657-0,05168613310,864
-0,367246745-0,36717086520,819
0,2871145390,28920673520,749
-0,427839421-0,42812523810,734
-0,370099426-0,37025940210,782

https://disk.yandex.ru/i/BfeLsyutneYScg

Не удовлетворительно.

Расшифровка

№ 1 — DeepSeek 4 Flash (~2-5 минут) — не удовлетворительно

№ 2 — DeepSeek 4 Flash (~2-5 минут) — не удовлетворительно

№ 3 — DeepSeek 4 Flash (~2-5 минут) — не удовлетворительно

№ 4 — Claude Sonnet 5 (40 секунд) — тест пройден, точность 100%.

№ 5 — GigaChat 3 Ultra (10 секунд) — не удовлетворительно

№ 6 — RStudio, язык R (0,01 секунда), скрипт — https://disk.yandex.ru/i/RSHBKPumr1jMUw — тест пройден, точность 100%.

№ 7 — ChatGPT-5.6 Luna (10 секунд) — тест пройден, точность 100%.

№ 8 — Excel ВПР, ПОИСКПОЗ+ИНДЕКС (1 секунда + сортировка)

№ 9 — ChatGPT-5.6 Luna (10 секунд) — не удовлетворительно

Полный пакет файлов с результатами и исходниками — https://disk.yandex.ru/d/-kBOHYdMpTyG_w

Выводы

Будьте очень осторожны при постановке задач поиска оптимального математического решения (задача оптимизации по минимальной или максимально функции), когда делегируете это в ИИ модели (чаты или API). Из ИИ доступных сервисов и чатов GPT, задачу поиска подходящего значения через минимальные остатки решил только Claude Sonnet 5 за 40 секунд.

ChatGPT сначала выдал не правильно, потом правильно.

DeepSeek не смог решить задачу, всегда выдавал разные результаты и очень долго это делал.

YandexGPT 5.1 не решил, так как выходных токенов ему не хватило, уперся в свои ограничения. Даже с YDB.

Excel с некоторым приближением достаточно хорошо решает подобные задачи, но не здесь.

В RStudio на языке R эта задача выполняется за 0,01 секунду, с помощью одной строки: nearest_idx <- sapply(x, function(v) which.min(abs(target_x — v))).

В данный момент сервисы с LLM моделями либо не могут решить, либо расходуют слишком много времени (энергии) на ее решение.

Добавить комментарий