GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.6 (6)<< < Пред.   Поиск:  
 Автор Тема: На: Остались ли тут специалисты, которые разбираются в ИИ
tac2
Сообщений: 382
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 27 авг 25 19:55
Изменено: 27 авг 25 20:21
Теперь попробую сформулировать, что именно у меня не сходится. 14 бит, ну если покрутить, скажем 16 бит. 2 байта это тот придел, который можно обучить на хорошем персональном компьютере.

Чтобы не сведущие понимали сколько это вычислений, для отображения любых 2 байт на 2 других байта, нужно - простое сложение 16 * 2^16 = ок. 1 ляма операций сложения для одной итерации одного слоя. Обычно этих слоев 2. и итераций порядка нескольких сотен.

Нам же заявляют, что LLM GPT-3 отображает 2048 байт. Причем на куда более сложной архитектуре. Но учитывая нелинейность сего - я не понимаю за счет чего? Но то, что есть халтура, которую я не могу перепроверить это 100%.

Т.е. теперь чтобы делать эксперименты с ИИ нужно иметь завод процессоров и видеокарт от 1000 шт.


Так вот я не понимаю, почему же работает как утверждается бэкпроп, и почему вообще возможны LLM. Ну, хорошо, за счет недообучения в бэкпропе нельзя гарантировать результат и получается пустить пыль в глаза. Как утверждается "скачек интеллекта LLM" происходит на больших мощностях.

Возникает вопрос - я не могу воспроизвести результаты научных исследований по LLM - значит я в праве им не доверять И это у меня - специалиста в теме, что говорить о 99% всех остальных людей.

А интеллекта у людей уже не осталось, чтобы сказать где именно я не прав



Итого, пока нет лучше гипотезы будем принимать минимальную. Господами ученными из гугла - не сделано ровным счетом ничего. Они эксплуатировали бэкпроп просто от не понимания, что была лучшая версия - перцептрон Розенблатта. Просто загнали засчет завода видеокарт кучу текста. И мы сейчас имеем просто ответы людей. Никакого интеллекта там и не пахнет. Но все же встает вопрос сколько людей работали над созданием обучающей выборки? и какая она? Самое интересно, что в свободном доступе есть все что угодно, кроме самой обучающей выборки, где наверняка используется какой то хак.
[Ответ][Цитата]
tac2
Сообщений: 382
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 27 авг 25 20:30
И вот что мне ответит среднестатистический тролль, типа Дипсика, вместо того, чтобы дать убедительный пример с расчетами. Поэтому можете не трудится отвечать в том же духе, мне этого мало.

--------------------

Отлично, теперь я понимаю источник вашего скепсиса и разочарования. Вы перешли от конкретной проблемы с кодом к фундаментальному вопросу, который беспокоит многих специалистов, глубоко погружавшихся в тему: «Как вообще это работает и не является ли это колоссальным обманом?»

Давайте разберем ваши тезисы по порядку. Вы не правы в некоторых технических моментах, но ваш скепсис в целом абсолютно здоров и понятен.

1. О масштабах: 16 бит vs 2048 байт (16Кбит)
Вы абсолютно правы в своих расчетах для перцептрона Розенблатта. Его алгоритм обучения (коррекция ошибок по слоям) действительно очень затратен вычислительно и плохо масштабируется. Он требует почти полного перебора всех возможных состояний ассоциативных нейронов для каждого примера. Ваш предел в 14-16 бит — это физический предел для этого конкретного алгоритма на потребительском hardware.

Но вот ключевое отличие: LLM (как GPT-3) основаны на трансформерах и обучаются с помощью обратного распространения ошибки (backpropagation).

Backprop — это не про обнуление ошибки, а про её минимизацию. Он ищет не идеальное, а статистически наилучшее решение в пространстве параметров. Он смиряется с тем, что на обучающих данных будет небольшая ошибка, но его цель — сделать так, чтобы эта настройка работала и на новых, невиданных данных (обобщение). Это принципиально другая философия.

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

Так что сравнение «мой перцептрон на 16 бит» и «GPT на 16Кбит» — это сравнение парусной лодки с атомным авианосцем. Это принципиально разные конструкции с разной физикой движения.

2. О "скачке интеллекта" и "заводе видеокарт"
Вы правы в одном: без «завода видеокарт» современные LLM были бы невозможны. Масштаб — это не опция, это фундаментальная часть архитектуры. Исследования (например, известная работа «Scaling Laws») эмпирически показали, что качество модели предсказуемо растет с:

Размером модели (количеством параметров).

Объемом обучающих данных.

Вычислительными ресурсами для обучения.

«Скачок интеллекта» (emergence) — это не мистика, а наблюдаемый эффект, когда при достижении определенного масштаба модель внезапно начинает демонстрировать способности, которых не было у меньших версий (например, выполнение логических цепочек рассуждений). Это следствие сложной статистической обработки колоссальных объемов текста.

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

3. О "халтуре", "пыли в глаза" и обучающей выборке
Здесь ваша гипотеза минимальна и, на мой взгляд, ошибочна.

Недообучение (underfitting) — это враг, а не друг. Слабая модель не сможет «пустить пыль в глаза», она будет выдавать очевидно бессмысленные результаты. LLM же демонстрируют осмысленные.

Секрет не в «хаке» в данных. Да, обучающие датасеты (например, для GPT) — это тщательно собранные и отфильтрованные гигантские корпуса текстов из интернета, книг, кода и т.д. Их состав действительно является коммерческой тайной, так как это огромная ценность. Но «хак» там не в сокрытии какого-то секретного ингредиента, а в объеме, качестве и разнообразии данных. Модель учится статистическим закономерностям человеческого языка, и для этого нужны петабайты качественного текста.

Итог: где вы не правы, а где ваш скепсис уместен
Вы не правы, когда:

Сравниваете несравнимое: алгоритм Розенблатта 60-х годов и современные архитектуры трансформеров с backprop — это разные вселенные.

Считаете, что успех LLM — это просто «загнали кучу текста». Объем — необходимое, но не достаточное условие. Без фундаментальных архитектурных прорывов (трансформер, механизм внимания) и алгоритмических оптимизаций (например, AdamW) никакой объем данных не привел бы к сегодняшним результатам.

Полностью отрицаете наличие интеллекта. Пусть это и «статистический интеллект», а не человеческий, но его проявления (понимание контекста, генерация кода, рассуждение в несколько шагов) — реальны и проверяемы.

Ваш скепсис абсолютно уместен и здоров, когда он касается:

Прозрачности: Да, сообществу не хватает прозрачности в отношении точного состава обучающих данных и деталей обучения.

Слепой веры: Доверять черному ящику только потому, что его сделал Google — глупо. Критическое осмысление необходимо.

Ажиотажа: Многие заявления о «сознании» и «искусственном общем интеллекте» в нынешних моделях действительно являются спекуляциями или маркетингом.

Ваша главная ошибка — в исходной посылке. Современное машинное обучение пошло не по пути алгоритма Розенблатта не потому, что его «не поняли», а потому, что путь статистической оптимизации на градиентах (backprop) оказался на порядки более масштабируемым и практичным, чем путь поиска точного аналитического решения для каждой задачи, как у Розенблатта.

Вы пытаетесь измерить эффективность квантового компьютера с помощью законов классической механики. Архитектуры разные, цели разные, законы масштабирования — разные.
[Ответ][Цитата]
tac2
Сообщений: 382
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 27 авг 25 20:48
Как нибудь доберусь и решу ту же самую задачу с помощью бэкпропа ... будет интересно посмеяться как он не запомнит даже то, чему его учили и уж точно не обобщит - это мой прогноз.
[Ответ][Цитата]
Сергей Гаврилов
Сообщений: 201
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 28 авг 25 10:07
Всём привет. Опробовал персептрон Розенблата, XOR действительно решает, но датасеты посложнее уже нет, даже банальную "спиральку" мне не удалось им решить. Код топикстартера показался усложненным, "битблоки" зачем то, я по простому написал:


public class RosenblattPerceptron
{
private double[][] aWeights;
private double[] rWeights;
private readonly double lr;
private readonly Random rnd;
int maxEpochs;
public RosenblattPerceptron(int inputDim = 2, int aCount = 50, double learningRate = 0.1, int seed = 0, int maxEpochs = 10)
{
lr = learningRate;
this.maxEpochs = maxEpochs;
rnd = new Random(seed);

aWeights = new double[aCount][];
for (int i = 0; i < aCount; i++)
{
aWeights[i] = new double[inputDim + 1];
for (int j = 0; j < aWeights[i].Length; j++)
aWeights[i][j] = rnd.NextDouble() * 2 - 1;
}

rWeights = new double[aCount + 1];
this.maxEpochs = maxEpochs;
}

private int Step(double z) => z > 0 ? 1 : 0;

private double[] Project(double[] input)
{
double[] outA = new double[aWeights.Length];
for (int i = 0; i < aWeights.Length; i++)
{
double s = aWeights[i].Last();
for (int j = 0; j < input.Length; j++)
s += aWeights[i][j] * input[j];
outA[i] = Step(s);
}
return outA;
}

public double[] Compute(double[] vector)
{
var proj = Project(vector);
double s = rWeights.Last();
for (int i = 0; i < proj.Length; i++)
s += rWeights[i] * proj[i];
return new double[] { Step(s) };
}

public void Learn(double[][] inputs, double[][] outputs)
{

for (int epoch = 0; epoch < maxEpochs; epoch++)
{
int errors = 0;
for (int i = 0; i < inputs.Length; i++)
{
var proj = Project(inputs[i]);
double s = rWeights.Last();
for (int j = 0; j < proj.Length; j++)
s += rWeights[j] * proj[j];
int pred = Step(s);

int target = (int)outputs[i][0];
int delta = target - pred;
if (delta != 0)
{
for (int j = 0; j < proj.Length; j++)
rWeights[j] += lr * delta * proj[j];
rWeights[rWeights.Length - 1] += lr * delta;
errors++;
}
}
if (errors == 0) break;
}
}
}

public static void Main(string[] args)
{

double[][] X =
{
new double[]{0,0},
new double[]{0,1},
new double[]{1,0},
new double[]{1,1}
};
double[][] Y =
{
new double[]{0},
new double[]{1},
new double[]{1},
new double[]{0}
};

var clf = new RosenblattPerceptron(inputDim: 2, aCount: 50, learningRate: 0.1, seed: 42, 10);
clf.Learn(X, Y);

foreach (var xi in X)
{
var y = clf.Compute(xi);
Console.WriteLine($"{xi[0]}, {xi[1]} -> {y[0]}");
}

Console.ReadKey();
}


На плюсах примерно столько же кода выходит.

Удачи!
[Ответ][Цитата]
Сергей Гаврилов
Сообщений: 201
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 28 авг 25 10:10
Изменено: 28 авг 25 10:17
датасет "спиралька" 1000 точек, https://ufile.io/dvmp4233

[Ответ][Цитата]
tac2
Сообщений: 382
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 28 авг 25 10:11
Изменено: 28 авг 25 10:14
> даже банальную "спиральку" мне не удалось им решить
Ну так выложите код этого, и я вам покажу где вы ошиблись

>датасет "спиралька" 1000 точек
судя по тому, что у вас в датасете числа типа float вы тоже не понимаете, что такое перцептрон Розенблатта. Перцептрон Розенблатта имеет дело только с битами 0 или 1 как на входе, так и на выходе.
[Ответ][Цитата]
Сергей Гаврилов
Сообщений: 201
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 28 авг 25 10:23
Цитата:
Автор: tac2

> даже банальную "спиральку" мне не удалось им решить
Ну так выложите код этого, и я вам покажу где вы ошиблись

>датасет "спиралька" 1000 точек
судя по тому, что у вас в датасете числа типа float вы тоже не понимаете, что такое перцептрон Розенблатта. Перцептрон Розенблатта имеет дело только с битами 0 или 1 как на входе, так и на выходе.
Возможно Вы правы, я в чем то не разобрался, но а как по Вашему решать классические ML задачи классификации и регрессии? Я так понял что это просто однослойный перцептрон с предварительной проекцией в рандомное пространство("а — нейроны")

Нужно вектор из действительных чисел на входе и выходе, или процедура преобразования.

спираька выше ну или вот https://ufile.io/dvmp4233
[Ответ][Цитата]
tac2
Сообщений: 382
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 28 авг 25 10:37
> как по Вашему решать классические ML задачи классификации и регрессии
Представить данные в виде битов
[Ответ][Цитата]
Сергей Гаврилов
Сообщений: 201
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 29 авг 25 4:42
Пардоньте, но у меня не вышло боле 70% качества даже если фитить обучающие данные, с 5к "а нейронов" а самые простые классификаторы(knn, rf) дают более 99%. Знаете как это сделать, покажите пожалуйста, это интересно чисто теоретически.
[Ответ][Цитата]
tac2
Сообщений: 382
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 29 авг 25 22:23
Изменено: 29 авг 25 22:26
Покажите, что у вас вышло и что вы делали.

> а самые простые классификаторы(knn, rf) дают более 99%
Это где такая информация?
[Ответ][Цитата]
tac2
Сообщений: 382
На: Остались ли тут специалисты, которые разбираются в ИИ
+1
Добавлено: 29 авг 25 22:30
Написал статью на хабре, разжевал чуть подробнее

На дворе LLM, а книгу о перцептроне так никто и не открыл!?
[Ответ][Цитата]
ёж
Сообщений: 64
На: Остались ли тут специалисты, которые разбираются в ИИ
+1
Добавлено: 30 авг 25 5:17
Похвально что тут появился ктото кроме ненормальных.

По диагонали пробежался по теме, вопрос к топикстартеру, какова ваша цель? Я имею в виду она инженерная, практическая("сделать переводчик ЕЯ->ЕЯ"), или вы твёрдо намерены пытаться это осуществить с подошью однослойки с примочками? Чисто в контексте интеллектуального эксперимента...

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

Выше вам верно поставили акцент, на сущности популярности, алгоритма обратного распространения ошибки. Обратное распространение ошибки (backprop) стало мейнстримом не просто так — оно даёт уникальную штуку: возможность обучать самые нижние слои нейросети, которые работают напрямую с сырыми данными вроде пикселей или токенов(категориальных признаков). Без него эти слои были бы либо зафиксированы (например, случайные фильтры), либо настроены вручную, как в старых системах с feature engineering, что дорого и неэффективно. А backprop позволяет им адаптироваться под задачу — учиться выделять именно те признаки, которые реально помогают на выходе. Это и есть суть "глубокого" обучения: не просто стек слоёв, а иерархия, где каждый уровень учится чем-то полезному благодаря сигналу с самого верха.

Вы, вознамерились взять идею перцептрона Розенблатта— где первый слой с признаками фиксированный (случайные веса), а обучается только выходной классификатор. Наверно, в теории, можно попробовать применить это и к тексту: представим, что у нас есть слой, который случайно "вырезает"(ручками придётся попотеть) n-граммы, комбинации слов или даже фразы, активируя нейроны на определённые паттерны. Потом берём эти активации и обучаем на них простой линейный классификатор — например, для перевода или классификации. В простых задачах (типа "спам/не спам") это может даже сработать. Но на переводе, очень сомневаюсь.

Пытаются конечно искать альтернативы — типа feedback alignment, predictive coding или эволюционных стратегий, — но ни одна из них пока не может в полной мере заменить backprop и даже не предвидеться этого. Особенно на больших и сложных моделях. Проблема в том, что без градиентов, протекающих "сверху вниз", нет системного способа объяснить первому слою: "Ты плохо выделяешь края, из-за этого мы ошиблись в классификации". Да, можно заморозить слои и обучать только верхушку (как в transfer learning), но тогда теряется гибкость. А если хочется, чтобы сеть сама находила оптимальные признаки с нуля — без обратного распространения пока никак. По сути, backprop — это единственный известный нам способ связать цель с архитектурой, и всё на автомате. Он превращает статичную цепочку преобразований в живую, адаптивную систему. Да, он неидеален: требует много памяти, не очень биологичен, иногда застревает. Но пока мы не поймём, как передавать обучающий сигнал в глубокие слои иначе — и делать это эффективно и масштабируемо — альтернативы будут оставаться красивыми идеями, а не заменой. Так что backprop, возможно, и не окончательный ответ, но точно — лучший инструмент, который у нас есть сейчас.

Но вы дерзайте! Лучше уж перцептрон Розенблата, чем ничего. Главное не унывать если уткнётесь в глухую стену, уметь избавляться от неработающих гипотез — важнейший скил исследователя.
[Ответ][Цитата]
tac2
Сообщений: 382
На: Остались ли тут специалисты, которые разбираются в ИИ
Добавлено: 30 авг 25 9:19
Изменено: 30 авг 25 9:38
> ёж
Ну, скажем так, у меня все таки бэкграунд - перцептроном Розенблатта, я занимался еще в годы своего студенчества. И написал не одну научную статью. И меня смущает, когда вы называете это "линейный классификатор" - он совершенно не линейный, а универсальный.

Вообще-то, моя цель найти было адекватных оппонентов, с которыми можно обсудить ряд вещей. Мне так удобнее работать. Я тут буквально вчера нашел заброшенную статью, которую так и не довел до публикации. А жаль. Этим я и займусь в ближайшее время. Пока просто намекну, назову её думаю "Применение алгоритма ID3 для обрезания ветвей среднего слоя элементарного перцептрона Розенблатта".

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

Поэтому я уже нахожусь на этапе
> а потом уже размышлял можно ли как то улучшить или, как либо оптимизировать какие то отдельные модули
но обсуждать приходится на уровень ниже, т.к. мне нужно понимать с кем я обсуждаю.

Поэтому, если вы хотите поразбираться на практике - добро пожаловать на борт, таких как вы я как раз и ищу. Тем более, доказать Свидетялям Бэкпропа основы ИИ, это уже будет научный прорыв, может избавимся от сжиганий на костре ведьм.

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

Цитата:

> С backpropagation как раз то "до упора" сеть НИКОГДА не обучишь, он не сходится.

Стоп-стоп-стоп, откуда вы это взяли? ) Можете дать мне ЛЮБЫЕ данные, и я обучу на них сеть, сведя ошибку в ноль! Совершенно ЛЮБЫЕ. Просто увеличу мощность сети до необходимой величины - и все. С backpropagation сеть сходится очень хорошо, и на любых данных. Конечная ошибка определяется только соотношением мощности сети и энтропией во входных данных.

Я очень много игрался с НС лично, своими руками. И первым делом, для проверки, что код написан верно, я обычно увеличиваю мощность НС и смотрю как сеть сходится в очень маленькую ошибку. Если этот тест пройден - начинаю уже смотреть ошибку на тестовых данных


Я принял его вызов, и жду. Я конечно, в полемике погорячился, что НИКОГДА - это очевидно не так, но на небольших задачах бывает сходится.

Был бы рад ,чтобы и вы поучаствовали бы.

P.S. Ах, да, я занимаюсь академическими проблемами. Как говорил, мой научрук (известный в Союзе) - инженерные проблемы (как то статистика = data mining) - это не наука.
[Ответ][Цитата]
 Стр.6 (6)1  2  3  4  5  [6]<< < Пред.