2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 На сколько платные модели ИИ лучше бесплатных?
Сообщение25.12.2025, 21:53 
Добрый день, и с сезонными Вас всех праздниками!

имею платный грок, и у жены есть платный ChatGPT, также зарегистрирован во всех обычных бесплатных моделях (гемини, дипсик, квен, перплекити, клауд, мистраль). Регулярно подкидываю им не сложные математические задачи, которые возникают по моей работе, какую-нибудь специфичную аппроксимацию вывести, или какой-то не сложный кусок математического кода запрограммировать. Могу пример таких вопросов здесь опубликовать. Пока ни разу ни в бесплатной, ни в дешевой платной модели не видел вразумительных ответов.

Так как доступа к самым мощным платным нет (или жаба душит 200 в месяц платить каждому из этих говорилок) возникает вопрос а действительно оно стоит того, и что может ли оно реально решать что-то существенно сложнее, чем то, что может бесплатная модель. И есть ли какой-то способ качественно улучшить - например, локально поставить какую-то модель и вогнать в нее лимит на 1024К токена, или если она обучена на меньшем, то она не сможет ничего путевого сделать? Вопросов, которые меня волнуют, бывает не много, но хотелось бы, чтобы не галюцинировало, и все-таки решало, часто банально запрограммировать какую-то мелкую шнягу или вывести какую-то формулу - требуется просто несколько недель кодинга или формул-писательства, и во время такой работы каждый блок работы можно описать микроменеджментом, и по идее, вот если это можно скормить в ИИ и решить с ее помощью, было бы существенно проще и быстрее.

Поделитесь, пожалуйста, идеями в этом направлении, стоит ли свою модель локально дообучать, или использовать какую-то дорогую платную или пока еще не настало время?

PS: какие-то базовые алгоритмы ИИ сам писал, но не могу тягаться с топовыми моделями, да и дообучать - ресурсов не хватит, хотя под рукой пол терабайта памяти есть и десятки терафлопс вычислительной мощности.

 
 
 
 Re: На сколько платные модели ИИ лучше бесплатных?
Сообщение25.12.2025, 22:22 
Аватара пользователя
zgemm в сообщении #1713344 писал(а):
Могу пример таких вопросов здесь опубликовать
Если хотите - могу загнать в gemini 3 deep think, увидите, есть ли разница.
zgemm в сообщении #1713344 писал(а):
Так как доступа к самым мощным платным нет (или жаба душит 200 в месяц платить каждому из этих говорилок) возникает вопрос а действительно оно стоит того, и что может ли оно реально решать что-то существенно сложнее, чем то, что может бесплатная модель.
По поводу математики - посмотреть стоит, например, https://epoch.ai/frontiermath. Самые тяжелые платные модели совершенно очевидно обгоняют бесплатные. И там еще не gemini 3 deep think (видимо не успели обновить), которая должна быть сильно лучше gemini 3 pro.
zgemm в сообщении #1713344 писал(а):
И есть ли какой-то способ качественно улучшить - например, локально поставить какую-то модель и вогнать в нее лимит на 1024К токена, или если она обучена на меньшем, то она не сможет ничего путевого сделать?
Не знаю, что в точности сейчас используется в open source моделях. Но в целом сомневаюсь, во-первых, в возможности получить от них что-то осмысленное на длинном контексте, во-вторых, в возможности получить хоть что-то без кластера.
zgemm в сообщении #1713344 писал(а):
Вопросов, которые меня волнуют, бывает не много, но хотелось бы, чтобы не галюцинировало, и все-таки решало
Галлюцинации бывают, причем иногда весьма стойкие. Но бывает и что-то разумное.
Для кода deep think не пробовал, там всегда нужны итерации, а он слишком медленный.
zgemm в сообщении #1713344 писал(а):
да и дообучать - ресурсов не хватит, хотя под рукой пол терабайта памяти есть и десятки терафлопс вычислительной мощности
Ну да, десятки терафлопс - это один GPU. Этого даже на инференс ничего интересного не хватит.

 
 
 
 Re: На сколько платные модели ИИ лучше бесплатных?
Сообщение25.12.2025, 23:17 
mihaild в сообщении #1713348 писал(а):
zgemm в сообщении #1713344 писал(а):
Могу пример таких вопросов здесь опубликовать
Если хотите - могу загнать в gemini 3 deep think, увидите, есть ли разница.


Спасибо большое, за ответ! Да, хочу!

Мой недавний пример запроса, которым я тыкал везде, где можно, прилагаю ниже, в общем-то не удалось получить адекватных ответов на простых моделях, а на сильно платных пока еще не пробовал, если сможете, прогоните, пожалуйста, его на Вашей модели, чтобы заценить на сколько она лучше:

Цитата:
Привет, есть набор друг за другом приходящих сигналов. Каждый из них - это оцифрованный набор из N данных, N - пусть примерно 1000. Я знаю, что в начале сигнала находятся большие данные, и к концу имеет место убывание, сигнал в чем-то похож на sinc(x). Я хочу сравнивать сигналы, более того, построить их линейную комбинацию и отчистить от рандомного шума. Но есть одна большая проблема, начальный сдвиг сигналов может отличаться, то есть мне надо строить линейную комбинацию для сигналов, про которые я уже понял, как их сдвинуть. Также сами сигналы могут быть существенно (в 10-100 раз) по разному нормированы. Сделать Фурье - не вариант, в начале сигнал большой, иногда даже с зашкалом (у меня для точек с зашкалом есть битовая маска да/нет), а под конец - более-менее белый шум, из-за этого в спектральном диапазоне довольно сложно угадать этот сдвиг. Сравнивать пару сдвинутых сигналов по скалярному произведению можно, но это не дает гарантированный результат, иногда находится не правильный сдвиг, и потом все идет юзом. Сравнивать все сигналы каждый с каждым и с разными сдвигами - численно довольно дорого, да и не сильно понятно что с таким результатом делать. Подскажи, пожалуйста, как такое можно было бы решить?


mihaild в сообщении #1713348 писал(а):
Ну да, десятки терафлопс - это один GPU. Этого даже на инференс ничего интересного не хватит.

какие-то PINN на этой архитектуре уже идут довольно хорошо, а потом, вопросов-то у меня не так-то много, я чисто теоретически задумываюсь о том, может ли такая железка, при правильном использовании обгонять по производительности обычного математика-программиста (то, что называется, algorithm-developer), пусть без супер-пупер PhD, но такого, которого принято нанимать на постоянную работу, платя ему по 30-40 бакс в час до налогов.

 
 
 
 Re: На сколько платные модели ИИ лучше бесплатных?
Сообщение25.12.2025, 23:43 
Аватара пользователя
zgemm в сообщении #1713350 писал(а):
если сможете, прогоните, пожалуйста, его на Вашей модели

(Ответ)

У вас классическая задача слепого выравнивания (blind alignment) в условиях жестких помех. Стандартные методы (обычная корреляция или разность квадратов) здесь не работают, потому что они опираются на энергию сигнала (амплитуду), а у вас энергия искажена зашкалом и разбросом масштабов.

Вам нужно опираться на структуру (фазу). Для сигналов типа $sinc(x)$ самой надежной характеристикой, которая сохраняется при любом усилении и клиппинге, являются пересечения нуля (Zero Crossings) и фронты.

Вот надежное решение, которое работает за линейное время $O(N)$ и решает ваши проблемы.

Стратегия решения
Вместо сравнения «всех со всеми» ($N^2$), мы используем итеративный подход Master-Slave:

Берем первый сигнал как черновой «Эталон».

Каждый новый сигнал выравниваем относительно Эталона.

Находим его масштабный коэффициент (нормируем).

Вливаем его в Эталон (накапливаем среднее/медиану), очищая его от шума.

Шаг 1. Грубое выравнивание (Sign Correlation)
Как найти сдвиг, если амплитуды отличаются в 100 раз, а верхушки срезаны? Используйте знаковую корреляцию. Превратите оба сигнала в последовательность +1 и -1: $$ B[i] = \text{sign}(Signal[i]) $$

Почему это работает: Функция sign полностью игнорирует амплитуду и клиппинг (если сигнал был положительным, он останется +1 хоть при зашкале, хоть без).

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

Шаг 2. Точная подгонка и Нормировка (Masked Least Squares)
После того как сдвиг найден, нужно найти коэффициент k, чтобы New≈k⋅Ref. Обычное деление средних здесь даст ошибку. Используйте Маскированный МНК. Мы ищем k, минимизируя ошибку только на валидных точках (где нет зашкала ни у эталона, ни у нового сигнала).

Формула (аналитическая): $$ k = \frac{\sum (Ref[i] \cdot New[i] \cdot Mask[i])}{\sum (New[i]^2 \cdot Mask[i])} $$ Где Mask[i]=1, только если обе точки «живые», и 0, если хоть одна в зашкале.

Шаг 3. Финальная очистка (SVD)
Вы хотите построить «линейную комбинацию». Математически идеальный способ выделить общую форму из кучи сигналов с разной амплитудой — это SVD (Сингулярное разложение).

Соберите все выровненные сигналы в матрицу.

Сделайте SVD.

Первая компонента (первый собственный вектор) будет самой чистой формой вашего сигнала, очищенной от шума статистически оптимальным способом.

Пример реализации (Python)
Этот код реализует описанную логику. Он устойчив к зашкалам и разбросу амплитуд.

код: [ скачать ] [ спрятать ]
Используется синтаксис Python
import numpy as np
from scipy.signal import correlate
from sklearn.decomposition import TruncatedSVD

def robust_align_and_clean(signals, masks):
    """
    signals: список numpy массивов (N,)
    masks: список булевых масок (True, если точка В ЗАШКАЛЕ/битая)
    """

    # 1. Инициализация: выбираем лучший первый эталон (где меньше всего зашкалов)
    # Оцениваем "здоровье" сигналов в начале (первые 400 точек)
    roi_len = 400
    health_scores = [np.sum(~m[:roi_len]) for m in masks]
    best_start_idx = np.argmax(health_scores)
   
    # Master - наш накапливаемый эталон
    master_sig = signals[best_start_idx].copy()
   
    aligned_stack = [master_sig]
   
    # Чтобы не накапливать ошибки, следующий поиск делаем по 'master_sig',
    # который будет обновляться (становиться чище).
   
    for i in range(len(signals)):
        if i == best_start_idx: continue
       
        curr_sig = signals[i]
        curr_bad_mask = masks[i]   # True если bad
        master_bad_mask = masks[best_start_idx] # (Упрощение: маска эталона статична, или обновлять её тоже)

        # --- ЭТАП 1: ПОИСК СДВИГА (SIGN CORRELATION) ---
        # Работаем только с "головой" сигнала, хвост с шумом только мешает
        roi = slice(0, roi_len)
       
        # Знаковая корреляция - устойчива к амплитуде 100x и клиппингу
        # sign возвращает -1, 0, 1.
        ref_sign = np.sign(master_sig[roi])
        curr_sign = np.sign(curr_sig[roi])
       
        # Кросс-корреляция
        xcorr = correlate(ref_sign, curr_sign, mode='full')
        shift_idx = np.argmax(xcorr)
        lag = shift_idx - (len(curr_sign) - 1)
       
        # --- ЭТАП 2: ВЫРАВНИВАНИЕ ---
        # Сдвигаем сигнал и маску
        # (Используем roll для простоты, в продакшене лучше паддинг нулями)
        aligned_sig = np.roll(curr_sig, lag)
        aligned_bad_mask = np.roll(curr_bad_mask, lag)
       
        # Обработка краев после сдвига (забиваем мусором/маской)
        if lag > 0:
            aligned_bad_mask[:lag] = True
            aligned_sig[:lag] = 0
        elif lag < 0:
            aligned_bad_mask[lag:] = True
            aligned_sig[lag:] = 0
           
        # --- ЭТАП 3: ПОДГОНКА АМПЛИТУДЫ &#40;MASKED LS&#41; ---
        # Считаем коэффициент k только по ВАЛИДНЫМ пересечениям
        # Точка валидна, если она не в зашкале НИ У КОГО
       
        # Маска "где данные хорошие у обоих"
        # master_bad_mask можно накапливать, но для простоты берем от стартового
        valid_idx = &#40;~master_bad_mask&#41; & &#40;~aligned_bad_mask&#41;
       
        # Ограничимся ROI для подсчета амплитуды &#40;хвост слишком шумит&#41;
        valid_idx[roi_len:] = False
       
        if np.sum&#40;valid_idx&#41; < 10:
            # Слишком мало общих точек, пропускаем сигнал
            continue
           
        y_ref = master_sig[valid_idx]
        x_new = aligned_sig[valid_idx]
       
        # k = dot&#40;ref, new&#41; / dot&#40;new, new&#41;
        denom = np.dot&#40;x_new, x_new&#41;
        if denom < 1e-9: k = 1.0
        else: k = np.dot&#40;y_ref, x_new&#41; / denom
       
        # Нормируем сигнал к эталону
        final_sig = aligned_sig * k
        aligned_stack.append&#40;final_sig&#41;
       
        # --- ЭТАП 4: ОБНОВЛЕНИЕ ЭТАЛОНА ---
        # Простое скользящее среднее: master становится чуть чище
        # &#40;Можно делать weighted average, но mean тоже ок&#41;
        master_sig = &#40;master_sig * i + final_sig&#41; / &#40;i + 1&#41;

    # --- ФИНАЛ: SVD для идеальной формы ---
    data_matrix = np.array&#40;aligned_stack&#41;
   
    # Обрежем матрицу до ROI или чуть больше, если хвост не нужен
    # Или используем SVD на всей длине
   
    # TruncatedSVD найдет главную компоненту &#40;форму&#41;
    svd = TruncatedSVD&#40;n_components=1&#41;
    svd.fit&#40;data_matrix&#41;
   
    clean_signal = svd.components_[0]
   
    # SVD может перевернуть знак, проверим
    if np.sign&#40;clean_signal[np.argmax&#40;np.abs&#40;clean_signal&#41;&#41;]&#41; != np.sign&#40;master_sig[np.argmax&#40;np.abs&#40;master_sig&#41;&#41;]&#41;:
         clean_signal *= -1
         
    return clean_signal
 

Почему это сработает в вашем случае?
np.sign() вместо Фурье: Вы переходите в пространство фазы. Это убивает разницу амплитуд и делает зашкал невидимым для алгоритма поиска сдвига.

Маскированный МНК: Вычисляя коэффициент масштаба k, вы математически исключаете «плохие» точки из уравнения. Это дает точную амплитуду даже если 30% пика срезано.

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

Совет: Если сигналы приходят потоком и памяти мало, вместо SVD в конце можно просто накапливать медиану (np.nanmedian) по столбцам стека. Медиана работает хуже SVD по шуму, но она абсолютно неубиваема одиночными грубыми выбросами (если один сигнал выровнялся неправильно, медиана его проигнорирует, а среднее/SVD немного смажется).

Я про эту область вообще ничего не знаю, поэтому оценить осмысленность не могу.
zgemm в сообщении #1713350 писал(а):
может ли такая железка, при правильном использовании обгонять по производительности обычного математика-программиста
Смотря в чём. В численном интегрировании - легко :D В генерации кода - очень вряд ли.
Тут еще вопрос, что у Вас за странная железка с памятью 10 GPU и ядрами одного.

 
 
 
 Re: На сколько платные модели ИИ лучше бесплатных?
Сообщение26.12.2025, 00:04 
mihaild в сообщении #1713351 писал(а):
zgemm в сообщении #1713350 писал(а):
если сможете, прогоните, пожалуйста, его на Вашей модели

...

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

mihaild в сообщении #1713351 писал(а):
Тут еще вопрос, что у Вас за странная железка с памятью 10 GPU и ядрами одного.

самосборное старье десятилетней давности на AMD картах. Просто есть под рукой, я на ней когда-то много самописного CFD считал, а сейчас почти простаивает и я уже попробовал на инференсе - CPUшные модели медленно, но на ней хорошо ходят.

 
 
 
 Re: На сколько платные модели ИИ лучше бесплатных?
Сообщение26.12.2025, 01:54 
Аватара пользователя
Никак не могу найти точную информацию: в ChatGPT Free на настоящий момент используется (скажем в режиме Thinking) та же самая модель, что и в ChatGPT Plus, или другая? Понятно, что ChatGPT Free гораздо быстрее упирается в лимиты (кстати, где их посмотреть точные и актуальные), но до этого успевает дать немало ответов в режиме Thinking. Другими словами - есть ли смысл в переходе на Plus, если лимиты меня в целом устраивают, или же разница там не только в лимитах?

Тот же вопрос про Gemini.

 
 
 
 Re: На сколько платные модели ИИ лучше бесплатных?
Сообщение26.12.2025, 02:34 
Аватара пользователя
Mikhail_K в сообщении #1713354 писал(а):
кстати, где их посмотреть точные и актуальные

https://help.openai.com/en/articles/119 ... in-chatgpt
Mikhail_K в сообщении #1713354 писал(а):
Никак не могу найти точную информацию
И, скорее всего, не найдете. По крайней мере про Gemini я даже зная ответ найти его в открытых источниках не смог.
Но по крайней мере в документации по API явно написано, что и у gemini, и у gpt есть разные модели.

 
 
 
 Re: На сколько платные модели ИИ лучше бесплатных?
Сообщение26.12.2025, 19:30 
Сам тоже интересовался этим, предполагал что в бесплатных версиях намеренно что-то портят(ставят дискриминирующие системные промты тп). Пару месяцев назад брал чатджипити за 200$, откровенно говоря ничего это мне не прибавило, разве что работать стало можно без лимитов, в разы дольше.

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

Ток что если хотите чтобы система а режиме агента "сама всё сделала", то есть по невнятному ТЗ сама нарезала структуру проекта, домены, глобальные таски, которые потом превращаются в деревья(или графы) микротасков, по пути задавая вопросы на развилках, но тогда да, нужная платная версия. Но всё равно совсем "само" всё не выходит, чем сложнее проект тем возникают множество специфических проблемы, которые долго тут описывать. Конечно это безусловно серьёзный буст но в разы, а не на порядки.

В общем в платном режиме можно в реализовать быстро типовой проект средней сложности, например 10-50к строк кода, вот так по мановению волшебной палочки, за пару дней, неделю. Но довести его до продакшина, всё равно придётся месяцами, а может годами, если походу он ещё и расти будет, словно как в той сказке про "суп из топора".

Для вашего промта про сигналы, вообще без разницы платная и бесплатная, это микротаск.

 
 
 
 Re: На сколько платные модели ИИ лучше бесплатных?
Сообщение26.12.2025, 20:03 
Аватара пользователя
Gemini 3 Pro часто ошибается с количеством букв в слове (прошу сделать список слов из 4-х букв, часто попадаются 3-х буквенные и 5-и буквенные слова, иногда самостоятельно выдумывает новые слова), хотя кодить с ней одно удовольствие, производительность повышается в 3 - 4 раза.

 
 
 
 Re: На сколько платные модели ИИ лучше бесплатных?
Сообщение26.12.2025, 23:35 
ivan_shatov в сообщении #1713369 писал(а):
В общем: умнее он не стал, если в контексте ответов на продуманные детализированные промты, для задач "листьев дерева". Тоже самое и при построении самого дерева задач и архитектуры, всё упирается только в масштаб.

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

ivan_shatov в сообщении #1713369 писал(а):
Для вашего промта про сигналы, вообще без разницы платная и бесплатная, это микротаск.


Не, там задача довольно не тривиальная. В промпте очень завуалированно сказано, что надо экономить вычислительные ресурсы. А если на все эти моменты обратить внимание, а потом попытаться это имплементировать на какой-либо реал-тайм платформе, то сотрудник (то биш я) пару месяцев реально угрохает, и вот тут-то как раз хочется начать экономить. А вот таких задач у меня сейчас реально пруд-пруди, а денег на сотрудников нет, и за задачи мне, к сожалению, не платят, так как они возникли от участия в конкурсе, в котором было бы престижно победить или не на последнем месте финишировать.

А вдруг оффлайн решение таки выстрелит, если суперплатные версии не сильно далеко вперед ушли? Как вы думаете, какую версию для таких целей правильнее ставить, и желательно, чтобы по-русски менеджерить?

 
 
 [ Сообщений: 10 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group