| |
Решатель ARC-задач Франсуа Шолле | |
| |
write
|
Решатель ARC-задач Франсуа Шолле |
14:40 05.01.2025 |
|
14:41 05.01.2025 |
|
№11258 |
При использовании указанной выше сигнатуры максимальная глубина поиска количества закорючек в формуле - 5, т.е. если оценка сложности алгоритма подбора функции выше O(n5), то задача не решается. Если, конечно, использовать мощное оборудование, можно нарастить максимальную глубину до 7 или более.
Рассмотрим задачу d631b094. Если выписать действительно "переборное решение", то получим следующее (x-входная матрица)
f(x) = max(x)*sum(bool(x))
Итого 6 закорючек - задача в лоб перебором не решаема.
При использовании декомпозиции исходных изображений имеем
x=max(x)*bool(x)
Т.е. глубина 5 - эта задача решаема перебором.
Получаем три аргумента x, c=max(x), m = bool(x)
При использовании декомпозиции целевых изображений имеем
y=monomatrix(w, 1, e)
Здесь w - ширина матрицы, e - цвет.
Глубина поиска 3 (высота вынуждено равна единице - не является параметром для поиска)
Далее решаем 2 задачи - поиск функции вычисления w в зависимости от x, c, m, и функции вычисления "e" в зависимости от x, c, m. Глубина решения будет будем 2 и 1 соответственно.
С одной стороны, для решения задачи использован перебор. С другой стороны нерешаемая задача решилась. Фокус тут состоит в том, чтобы использовать полиномиальные алгоритмы, которые экспоненциально снижают количество вариантов. Т.е. с ростом "размера задачи" общее число шагов все равно растет экспоненциально, однако основание экспоненты становится меньше.
Возьмем, например, декомпозицию исходных изображений. Подбор функции требует глубины поиска 5:
x=max(x)*bool(x)
Однако, при поиске в ширину используются свободные переменные (обозначим их через знак вопроса). Т.е. функции в ходе поиска могут выглядеть так:
x = max(x)*?
x = ?*bool(x)
Если использовать библиотеку интервального анализа, то x = ?*bool(x) приведет к подзадаче поиска свободной переменной, т.к. для каждой обучающей пары эта переменная будет выявлена как постоянная. Таким образом, выявление формулы декомпозиции x=max(x)*bool(x) потребуется глубина не 5, а 4.
|
| |
create
|
Решатель ARC-задач Франсуа Шолле |
15:58 05.01.2025 |
|
17:49 05.01.2025 |
|
№11259 |
mserg: С другой стороны нерешаемая задача решилась.
Просто Вы рассматриваете задачи, которые может решить даже о1))) И зачем Вы рассказываете решение конкретных задач, дайте метод, который решает хотя бы 87% всех как о1))
|
| |
write
|
Решатель ARC-задач Франсуа Шолле |
Здесь происходит описание элементов решателя с примерами, а не разбор решения примеров. Народ же хочет понять как происходит мышление - поэтому и приводится разбор примеров, а не просто описание. Описание задачи сводится к системе функционально-алгебраических систем - немного людей, которые это осилят. - поэтому изложение происходит в упрощенной форме, понятное, думаю, большинству.
И, опять же, на данный момент по сведениям https://arcprize.org рекорд на скрытых данных составляет 55.5%, на полускрытых данных - 75.7%. Рекорд на полускрытых данных принадлежит алгоритму o3(tuned), второе место на полускрытых данных составляет 53.6%.
Все возвращается к тому, что o3 не работает так, как openai пытается как бы заявлять. Для того чтобы им поверили, нужно чтобы хорошо работал o3 а не o3(tuned), и демонстрировать результаты на скрытых данных.
Кстати, у нас в конторе, обсуждали эту задачу. У коллег первая же идея была - использование LLM. Но нужно сгенерировать побольше примеров. Можно было, скажем, на Python создать скрипты решения всех обучающих задач, а для генерации использовать рандомизацию каждого из этих скриптов. Далее сгенерировать фигову тучу примеров и обучить в LLM (в ламе, например). В соревновании за 2019 приводились отдельно обучающие, тестовые и оценочные (evaluation - их разработчики могли использовать для локальной проверки при обучении на обучающих данных, и для обучения алгоритма для проверки на тестовых). Анализ примеров предвещал неплохие результаты - значимая часть примеров для проверки имела ту же "формулу" и что и некоторые обучающие примеры, или же близкие к ним. Я им сразу говорил, что такая процедура лишена смысла, т.к. в действительности нужна система, которая способна решать задачи не схожие с обучающими.
Для получения гладкой оценки, скажем, на 100 примерах, "первые" примеры должны иметь максимальную схожесть с обучающими примерами, а "последние" примеры должны иметь "нулевую" схожесть. При этом изменения сложность самих примеров должна быть равномерной по всей шкале от "первых" до "последних" задач. Тогда по мере интеллектуализации решателя, он "гладко" будет увеличивать количество решаемых примеров. Поэтому для тестирования важна не только сложность примеров, но и отличительность их от примеров обучающих. О опять же, все возвращается к неспособности o3 решать простые примеры (со слов Шолле) - тут возникает эффект а ля "утечка данных", что обесценивает результаты.
|
| |
create
|
Решатель ARC-задач Франсуа Шолле |
mserg: Здесь происходит описание элементов решателя с примерами, а не разбор решения примеров.
Я вижу другое, вместо того, чтобы показать алгоритм решателя (ARC задачу я ему придумаю сам, чтобы не было утечек)))), Вы что-то очень долго и мутно рассказываете. Алгоритм o1 такие задачи решает, я это проверял и хорошо представляю себе как работает генеративный трансформер. Ваш алгоритм существует только в Ваших рассказах и смутных желаниях))). В этом есть очень большая разница между LLM и какими-то переборами, которые Вы проповедуете.
|
| |
create
|
Решатель ARC-задач Франсуа Шолле |
Egg:mserg: Здесь происходит описание элементов решателя с примерами, а не разбор решения примеров.
Я вижу другое, вместо того, чтобы показать алгоритм решателя (ARC задачу я ему придумаю сам, чтобы не было утечек)))), Вы что-то очень долго и мутно рассказываете. Алгоритм o1 такие задачи решает, я это проверял и хорошо представляю себе как работает генеративный трансформер. Ваш алгоритм существует только в Ваших рассказах и смутных желаниях))). В этом есть очень большая разница между LLM и какими-то переборами, которые Вы проповедуете.
Если Ваш «o1» решает ARC задачи без подсказки, то где перечисление
подмеченных принципов (особенностей в своеобразии) преобразования
по размещению, сочетанию и перестановкам элементов участвующих
в задаче?
|
| |
create
|
Решатель ARC-задач Франсуа Шолле |
10:03 07.01.2025 |
|
11:15 07.01.2025 |
|
№11263 |
Влад: Если Ваш «o1» решает ARC задачи без подсказки, то где перечисление
подмеченных принципов (особенностей в своеобразии) преобразования
по размещению, сочетанию и перестановкам элементов участвующих
в задаче?
Там же - в решении. Спрашиваешь его про подмеченные принципы и он тебе хорошим русским языком (без перестановок и особенностей в своеобразии) отвечает как и почему он делает. ))) Влад, Вы сильно отстали от жизни в своем своеобразии, с ИИ-инструментами люди уже пару лет общаются на естественном языке)))
upd: Вот я привел пример маленького кусочка нашей совместной работы: https://agi.place/?ai=9&msg=11264#11264
|
| |
write
|
Решатель ARC-задач Франсуа Шолле |
Egg:
Я вижу другое, вместо того, чтобы показать алгоритм решателя (ARC задачу я ему придумаю сам, чтобы не было утечек)))), Вы что-то очень долго и мутно рассказываете. Алгоритм o1 такие задачи решает, я это проверял и хорошо представляю себе как работает генеративный трансформер. Ваш алгоритм существует только в Ваших рассказах и смутных желаниях))). В этом есть очень большая разница между LLM и какими-то переборами, которые Вы проповедуете.
А что я проповедую? Я говорил, что решение задачи состоит в построении вычислимой функции, которая обладает определенными свойствами: соответствуют обучающим примерам, не валится при вычислении тестовых изображений, и т.д. Я говорил что нужна сигнатура, определяющая "язык" для записи функции (программ). Сигнатура определяет пространство допустимых функций (программ), в которой нужно осуществить поиск. И т.д.
Функциональное пространство суть есть дерево (точнее, DAG), узел которого есть функция (программа). В этом DAG нужно найти наиближайший к корню узел (функцию/программу), которая отвечает нашим требованиям. Вопрос состоит в решении функциональной системы.
А теперь насчет o3, а которой нам никто не расскажет.
Идем сюда https://arcprize.org/blog/oai-o3-pub-breakthrough и читаем раздел "What's different about o3 compared to older models?". И что там насчет сути (т.е. адаптации к новизне)?
Цитата: To adapt to novelty, you need two things. First, you need knowledge – a set of reusable functions or programs to draw upon. LLMs have more than enough of that. Second, you need the ability to recombine these functions into a brand new program when facing a new task – a program that models the task at hand. Program synthesis. LLMs have long lacked this feature. The o series of models fixes that.
Надо же, "Синтез программ" для новых задач - а не об этом ли я "проповедаю"?. Оказывается для решения ARC-задач требуется "рекомбинация", с помощью которой создаются новые программы, чем суть осуществляется в пространстве функций (программ). Оказывается, как пишут дальше, без этого LLM решает только 5% ARC-задач.
Поиск может происходить регулярным образом, случайным, по эвристике (полученной, скажем, глубоким обучением), и т.п. Игра в слово "перебор" не имеет смысла - он будет все равно, но может быть направленным, усеченным, и т.п.
|
| |
create
|
Решатель ARC-задач Франсуа Шолле |
18:46 07.01.2025 |
|
21:53 07.01.2025 |
|
№11269 |
mserg: Вопрос состоит в решении функциональной системы.
Это тоже к Владу, он самый большой специалист по системам))
Давайте еще раз: я решал с о1 задачи ARC и опубликованную Андреем в стартовом посте и даже привёл ее в качестве примера. Я не хочу разбираться в том, что именно Вам не нравится в решении (это будут очередные слова), я прошу Вас привести своё общее решение задач ARC, которое я мог бы применить к произвольной задаче. Вы этого не можете. Зачем мы продолжаем эту бессмысленную беседу? По факту о1 решает ARC, по факту Ваши методы не существуют иначе чем фантазии. Всё.
mserg:
Надо же, "Синтез программ" для новых задач - а не об этом ли я "проповедаю"?. Оказывается для решения ARC-задач требуется "рекомбинация", с помощью которой создаются новые программы, чем суть осуществляется в пространстве функций (программ)
Да, LLM - это алгоритм генерации алгоритмов, это программа создания программ, это система продуцирования систем, я примерно два года об этом рассказываю. Ваше предположение, что можно просто перебором генерировать произвольные алгоритмы, проверять discrepancy и адаптировать путём минимизации ошибки - рано или поздно закончится "изобретением" нейронных сетей как универсального аппроксиматора. Так что Вы на правильном пути.
Прочитайте еще про 13ую проблему Гильберта и теорему Колмогорова-Арнольда. Очень полезно будет.
|
| |
write
|
Решатель ARC-задач Франсуа Шолле |
Egg:
Да, LLM - это алгоритм генерации алгоритмов, это программа создания программ, это система продуцирования систем, я примерно два года об этом рассказываю. Ваше предположение, что можно просто перебором генерировать произвольные алгоритмы, проверять discrepancy и адаптировать путём минимизации ошибки - рано или поздно закончится "изобретением" нейронных сетей как универсального аппроксиматора. Так что Вы на правильном пути.
Прочитайте еще про 13ую проблему Гильберта и теорему Колмогорова-Арнольда. Очень полезно будет.
Тринадцатая проблема Гильберта:
Проблема была решена В. И. Арнольдом совместно с А. Н. Колмогоровым, доказавшими, что любая непрерывная функция любого количества переменных представляется в виде суперпозиции непрерывных функций одной и двух переменных (и, более того, что в таком представлении можно обойтись, в дополнение к непрерывным функциям одной переменной, единственной функцией двух переменных — сложением)
Вот именно это и не работает для ARC задач - "чудо-аппроксиматор" был еще до серии "o".
https://arcprize.org/blog/oai-o3-pub-breakthrough
: This is a surprising and important step-function increase in AI capabilities, showing novel task adaptation ability never seen before in the GPT-family models. For context, ARC-AGI-1 took 4 years to go from 0% with GPT-3 in 2020 to 5% in 2024 with GPT-4o. All intuition about AI capabilities will need to get updated for o3.
А потом Шолле описывает, что нового в серии "o".
Цитата: Effectively, o3 represents a form of deep learning-guided program search. The model does test-time search over a space of "programs" (in this case, natural language programs – the space of CoTs that describe the steps to solve the task at hand), guided by a deep learning prior (the base LLM). The reason why solving a single ARC-AGI task can end up taking up tens of millions of tokens and cost thousands of dollars is because this search process has to explore an enormous number of paths through program space – including backtracking.
Речь идет о поиске в пространстве программ, а не о универсальном аппроксиматоре.
Так что кто-то из вас с Шолле не прав. Еще раз - мопед Шолле.
Я могу сказать, что мне не нравится в вашем решении и что Вы пишете.
1. Отсутствуют реальные результаты по решению ARC-задач как с помощью "o1", так и с помощью "o3", Есть результаты по системе, которую Шолле называет "o3(tuned)". "o3" и "o3(tuned)" - это не одно и то же. Проверить "o3" контора openai почему-то не захотела.
2. Задачи нужно не просто решить, а решить эффективно. Результат, на который Вы ссылаетесь (87%), отображен на графике стоимости (см. его по ссылке выше). Цена решения несколько тысяч баксов на одну задачу. Чтобы пройти тесты один раз, нужно истратить сумму, исчисляемую долями от миллиона баксов.
3. Рассказываете то, чего у меня нет. Да есть у меня решатель, он проходить треть от задач первого множества, но он не доделан и тестировать его сейчас смысла нет. Задачи Андрея решаются без проблем, указанные выше мной задачи также решаются. Описания решения задач сделаны по журналу. Там практически все, за исключением мелких деталей, соответствует действительности. Если бы ничего не было, я бы и писать не стал.
P.S. Шолле еще пишет, что у openai будут проблемы на новом множестве задач, - они легче решаются человеком и труднее для систем ai. Его оценка для "o3" на новом множестве - 30%.
|
| |
create
|
Решатель ARC-задач Франсуа Шолле |
02:23 08.01.2025 |
|
02:45 08.01.2025 |
|
№11275 |
mserg: Задачи нужно не просто решить, а решить эффективно
Откуда Вы, Сергей, знаете что мне нужно?))))
Знаю я песенку про тесты и задачи: ИИ никогда не сможет распознавать как человек, ИИ никогда не обыграет в шахматы, ИИ никогда не пройдет тест Тьюринга, ИИ никогда не обыграет в го, теперь нужно эффективно))) решить ARC... завтра кто-то придумает еще какие-то слова. На эти задачи можно просто положить с прибором, от этого ничего не изменится. А вот использование LLM уже полностью изменило рынок труда и схемы разработки, поддержки и сопровождения софта и харда. И это реальность.
Покажете решение - будет смысл общаться, пока я видил от Вас исключительно слова))). OpenAI своё решение показал, Шолле - нет))) Вот когда Шолле покажет решение, которое будет хотя бы на 1% превышать LLM (включая все прочие его способности, не только в ARC), тогда я буду прислушиваться к Шолле, а пока в активе Шолле только DL библиотечка.
|
|
|