Re[3]: LLM: Конец тестовым заданиям на дом
От: vsb Казахстан  
Дата: 19.10.24 19:06
Оценка:
Здравствуйте, Silver_S, Вы писали:

S>>Хочется верить что есть некий элемент, который доступен только человеку — но который мы еще не до конца осознали. Как-то способность охватить весь проект целиком, увидеть полную картину. Но пока не знаем так ли это.


S_S>ИИ пока не способен работать с большими системами. Например, в 10-20 млн. строк кода ОС, найти ошибки освобождения памяти, или переписать на другом языке. Тут уже задача не просто продолжать, дописывать короткий текст к короткому вопросу. Но, наверное, эту проблему решат.


Почему не способен? Что ему мешает? Мне действительно интересно понять. Вроде есть же агенты и прочее. Вон OpenAI рассказывали, как они ChatGPT попросили взломать контейнер, дали ему доступ к системе, ну и он там весьма нетривиальные действия производил, что-то там отдебажил, короче говоря всех удивил.

Вот вроде можно эту задачу разложить на некую последовательность шагов, составить план и двигаться по плану, корректировать план и тд, куда сейчас упирается ИИ?
Re[2]: LLM: Конец тестовым заданиям на дом
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 19.10.24 20:08
Оценка: 1 (1)
Здравствуйте, vsb, Вы писали:

vsb>А какие-то предложения по этому поводу есть? Только живые интервью?


С одной стороны — да. Тут ещё советуют после тестового приглашатть на второе собеседование и обсуждать написанное, просить его модифицировать. Тоже хороший вариант, но он удлиняет процесс найма. Пока другого способа я не вижу.

Далее вопрос в том, в принципе наша профессия как-то изменится или нет? Если да, то как сильно и в какую сторону. Вон, товарищ прочит нам будущее, при котором даже синтаксис знать не надо, а писать код будут промт-программисты, которым конкретный ЯП знать в принципе будет не обязательно. Видимо, программисты в таком случае в принципе уйдут, а код начнут писать специалисты в предметной области, которым на своём предметном языке надо будет писать ТЗ-спецификацию, наиболее точную и непротеворечивую, по которой будет генерировать код. То есть условный С++ станет тем, чем для современных С++ программистов является ассемблер.
Re[4]: LLM: Конец тестовым заданиям на дом
От: Silver_S Ниоткуда  
Дата: 19.10.24 20:13
Оценка:
Здравствуйте, vsb, Вы писали:

S_S>>ИИ пока не способен работать с большими системами. Например, в 10-20 млн. строк кода ...


vsb>Почему не способен? Что ему мешает? ...

vsb>Вот вроде можно эту задачу разложить на некую последовательность шагов, составить план и двигаться по плану, корректировать план и тд, куда сейчас упирается ИИ?

У ранних версий GPT-3, GPT-4 был очень маленький контекст, то что в него не влезало, полностью забывалось. Он не мог целиком прочитать книгу, только по частям, про предыдущие части полностью забывая. Хотя они постоянно увеличивают контекст:

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


Если в вопросе для GPT можно было бы отправить все исходники ОС Windows(c 50 млн. строк) с каким то вопросом, то это ресурсоемко. Всем пользователям они вряд ли могли бы такое предоставить. Даже если бы GPT уже технически мог бы что-то в них найти.

Человек может "дообучиться" под конкретный большой проект — за пару недель освоится с новым большим контекстом.
Если GPT учить работать с большими системами, то очевидно, нужна возможность дообучить на конкретный проект — что то закешируется, для более быстрого доступа. Но обучать для такой работы сложнее, чем продолжать короткие тексты из интернета. Нужны обучающие примеры, где для одного большого проекта множество мелких задач.
Re[4]: LLM: Конец тестовым заданиям на дом
От: Silver_S Ниоткуда  
Дата: 19.10.24 20:47
Оценка:
Здравствуйте, vsb, Вы писали:

S_S>>ИИ пока не способен работать с большими системами....

vsb>Почему не способен? Что ему мешает? Мне действительно интересно понять.

Прорыв произошел когда ввели "механизм внимания":
С этой статьи началось в 2017 г: Attention Is All You Need
Attention (machine learning)

Но у этого механизма внимания квадратичная вычислительная сложность от размера контекста. Вот работают над проблемами по-всякому:
Beyond Attention: Breaking the Limits of Transformer Context Length with Recurrent Memory

A major limitation for the broader scope of problems solvable by transformers is the quadratic scaling of computational complexity with input size. In this study, we investigate the recurrent memory augmentation of pre-trained transformer models to extend input context length while linearly scaling compute.


Можно, конечно, прикрутить внешний алгоритм, который будет скармливать ввод по частям, потом объединять результаты. Но это не так эффективно, чем если бы было все интегрировано и само развивалось через обучение.
Re[6]: LLM: Конец тестовым заданиям на дом
От: landerhigh Пират  
Дата: 19.10.24 21:56
Оценка: +1
Здравствуйте, Shmj, Вы писали:

L>>Вот, навскидку, документацию по IEC61850 он не знает. Выдает бредятину.

S>Ну ок, возможно пока не все.

Вот это вот "пока не все" на деле хуже, чем просто "ничего". Ибо что-то он типа "знает", но отличить его бред от реальности может только специалист.

S>Вы можете задать ему любой вопрос по популярным системам или библиотекам и получить ответ.


Это такой поисковик, получается.

S>К примеру, если в git запушили коммит, который нужно полностью удалить — как это сделать? Зачем это держать в голове, если можно просто спросить и получить команду?


Через reflog, как же еще? Только зачем, можно стандартным revert отменить изменения, а то, что в истории будут два странных коммита... кому до этого есть дело? Рано или поздно будет merge, в котором можно будет сделать squash.

S>Т.е. обесценивается знание документации, включая библиотеки и языки. Это человеку так сложно дается — даже 10 МБ текста запомнить — это годы работы.


Это всегда было справочным материалом.

S>А ОНО знает терабайты и мгновенно выдает.


До первого замаскированного "патча Бармина"
www.blinnov.com
Re[7]: LLM: Конец тестовым заданиям на дом
От: Shmj Ниоткуда  
Дата: 20.10.24 04:21
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Вот это вот "пока не все" на деле хуже, чем просто "ничего". Ибо что-то он типа "знает", но отличить его бред от реальности может только специалист.


Ну вы когда спрашиваете — то ответ либо решает вашу задачу либо не решает. Отличает внешняя среда.

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

Каждая новая версия дает все меньше и меньше ошибочных вариантов.

Т.е. решение вопроса по-прежнему вероятностно, однако вероятность по простым вопросам — 99.9%, т.е. почти наверняка решит.
Отредактировано 20.10.2024 4:22 Shmj . Предыдущая версия .
Re[8]: Оффтоп
От: Miroff Россия  
Дата: 20.10.24 05:55
Оценка: 3 (2) +1
Здравствуйте, Слава, Вы писали:

С>Здравствуйте, Nuzhny, Вы писали:


С>>>Скажите, а вы в вашей организации чем именно занимаетесь? Дистрибутивы делаете, утилиты? Как такое задание относится к работе у вас?


N>>Алгоритмы и пишем разные. Например, можно оптимизировать Венгерский алгоритм на N>1000 с учётом локальности связей у объектов на плоскости. Можно реализовать на OpenCL/CUDA алгоритм поиска контуров и/или поиска связных компонент. Или какой-нибудь хитрый nms (non maximum suppression).


С>А. Тогда вы правы с вашей задачей, прошу прощения за резкость. Редкий случай, когда тестовое соответствует работе.


На самом деле не особо он и прав. Исследовательские задачи выполняются совсем в другом масштабе времени. Придти в проект и что-то там по-быстрому оптимизировать в разы можно только если твои предшественники совсем не понимают, что они делают. В реальности, коллеги уже испробовали все наивные подходы: есть нормальные индексы, есть кэши промежуточных вычислений, алгоритмы более-менее адекватны задаче. Ресерч в таком случае делается так: недельку изучаешь литературу, подбирает 3-5 перспективных подходов, неделю делаешь прототип первого подхода, тестируешь, понимаешь что не работает, пробуешь другой подход. К концу месяца понимаешь как надо, ещё два месяца внедряешь в существующий код, потому что там тоже не все просто. И это если ограничится CPU. Если нужно портировать на GPU, то этим вообще занимается отдельный человек, потому что там наивный подход вообще не катит. И это ещё если удастся ограничиться "классическими" алгоритмами до 2010 года, там хотя бы заранее понятно что лучше, а что хуже. А если нужно что-то более современное, там сплошь нейросети и гибридные вычисления к которым на кривой козе не подъедешь.
Re[8]: LLM: Конец тестовым заданиям на дом
От: landerhigh Пират  
Дата: 20.10.24 09:02
Оценка: +4
Здравствуйте, Shmj, Вы писали:

L>>Вот это вот "пока не все" на деле хуже, чем просто "ничего". Ибо что-то он типа "знает", но отличить его бред от реальности может только специалист.

S>Ну вы когда спрашиваете — то ответ либо решает вашу задачу либо не решает. Отличает внешняя среда.

Внимание, вопрос — как узнать, что ответ задачу не решает?
Внимание, ответ — нужно самому быть специалистом в области.

Внимание, вопрос — если ты уже специалист в этой области, является ли для тебя LLM чем-то большим, нежели поисковиком на стероидах, результаты поиска в котором нужно каждый раз перепроверять?
www.blinnov.com
Re[8]: LLM: Конец тестовым заданиям на дом
От: so5team https://stiffstream.com
Дата: 20.10.24 09:21
Оценка: +1 -1
Здравствуйте, Shmj, Вы писали:

S>Ну вы когда спрашиваете — то ответ либо решает вашу задачу либо не решает.


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

Так что с "либо решает, либо не решает" не все так просто. Если только вы не Shmj.
Re[9]: LLM: Конец тестовым заданиям на дом
От: Shmj Ниоткуда  
Дата: 20.10.24 09:28
Оценка: -1
Здравствуйте, landerhigh, Вы писали:

L>Внимание, вопрос — как узнать, что ответ задачу не решает?

L>Внимание, ответ — нужно самому быть специалистом в области.

Не будьте таким примитивным.

Главный критерий — реальный мир, окружающая среда. Окружающая среда должна проверить решена задача или нет.

Как это сделать? Если задача выразима в коде — то запускаете код и смотрите что делает этот код.

L>Внимание, вопрос — если ты уже специалист в этой области, является ли для тебя LLM чем-то большим, нежели поисковиком на стероидах, результаты поиска в котором нужно каждый раз перепроверять?


Поисковик по документации — уже большое дело.
Re[7]: LLM: Конец тестовым заданиям на дом
От: Shmj Ниоткуда  
Дата: 20.10.24 09:30
Оценка:
Здравствуйте, landerhigh, Вы писали:

S>>К примеру, если в git запушили коммит, который нужно полностью удалить — как это сделать? Зачем это держать в голове, если можно просто спросить и получить команду?


L>Через reflog, как же еще? Только зачем, можно стандартным revert отменить изменения, а то, что в истории будут два странных коммита... кому до этого есть дело? Рано или поздно будет merge, в котором можно будет сделать squash.


Если вы увидели что 2 недели назад закоммитили некоторые данные, которые не должны попасть в репо. В старом коммите, очень старый. К примеру, там ваш пароль или еще что.

Как вы будете удалять?

Где мне это искать? Держать в памяти? Как быстро вы сможете найти ответ?

Вот GPT подобные вопросы решает за секунды.
Re[9]: LLM: Конец тестовым заданиям на дом
От: Shmj Ниоткуда  
Дата: 20.10.24 09:38
Оценка: 1 (1)
Здравствуйте, so5team, Вы писали:

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


Пока вы не выучили язык и семантику перемещения, особенности l/r-value — советуйтесь с GPT. Он позволит вам писать не только работающий, но правильный код.

Вам кажется что вы выучили семантику перемещения и теперь очень крутой специалист — на самом деле ничего сложного там нет — буквально за пару часиков все можно понять с потрохами.

S>Так что с "либо решает, либо не решает" не все так просто. Если только вы не Shmj.


Иногда код решает проблему, но написан плохо — не по стандартам. К примеру, не соблюдается правило пяти. Чтобы не писать такой код — советуйтесь с GPT — он покажет правильные приемы — а потом вы их постепенно запомните. Не пытайтесь запомнить сразу — не стоит напрягать мозг — все должно пройти без усилий.
Re[10]: LLM: Конец тестовым заданиям на дом
От: so5team https://stiffstream.com
Дата: 20.10.24 09:49
Оценка: +1 -1
Здравствуйте, Shmj, Вы писали:

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


S>Пока вы не выучили язык и семантику перемещения, особенности l/r-value — советуйтесь с GPT.




Чтобы советоваться о l/r-value нужно знать про l/r-value, чтобы знать про l/r-value -- нужно изучать язык. Изучать, т.е. приобретать знания, о ненужности которых вы заявляли:

> Так вот — теперь знания ЯП не так уж важны — не очень хорошо знаешь особенности C++ — тебе GPT очень быстро и точно все объяснит — знать язык не нужно.


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

Короче говоря, пусть меня забанят, но вступать с вами разговор имеет смысл только для того, чтобы в очередной раз сказать, что вы идиот и засираете RSDN своей тупизной. Что вас пора отсюда гнать ссанными тряпками. И хз почему этого еще не делают.
Re[11]: LLM: Конец тестовым заданиям на дом
От: Shmj Ниоткуда  
Дата: 20.10.24 10:00
Оценка:
Здравствуйте, so5team, Вы писали:

S>Чтобы советоваться о l/r-value нужно знать про l/r-value, чтобы знать про l/r-value -- нужно изучать язык. Изучать, т.е. приобретать знания, о ненужности которых вы заявляли:


Он объяснит. К примеру вставляете ваш код и просите прокомментировать. Все расскажет.
Re[5]: LLM: Конец тестовым заданиям на дом
От: vsb Казахстан  
Дата: 20.10.24 11:25
Оценка:
Здравствуйте, Silver_S, Вы писали:

S_S>У ранних версий GPT-3, GPT-4 был очень маленький контекст, то что в него не влезало, полностью забывалось. Он не мог целиком прочитать книгу, только по частям, про предыдущие части полностью забывая.


У человека тоже маленький контекст. В примеру я задаю GPT вопрос, он на него отвечает и потом в свою память какие-то факты выписывает. И эта память идёт у него как часть промпта на последующие вопросы.

Т.е. можно составить промпт: "Прочитай эту главу, выдели всё важное". Прочитать так все главы, и потом с этим "важным" оперировать. Собственно человека так и "работает". Никто (ну кроме может быть каких-то уникумов) не запоминает книги дословно, запоминают идеи, выжимку.

S_S>Если в вопросе для GPT можно было бы отправить все исходники ОС Windows(c 50 млн. строк) с каким то вопросом, то это ресурсоемко. Всем пользователям они вряд ли могли бы такое предоставить. Даже если бы GPT уже технически мог бы что-то в них найти.


Ну вот я 50 млн строк тоже не смогу прочитать. Я даже список файлов скорей всего не смогу прочитать. Конечно же у GPT будет некий интерфейс, когда он видит список файлов, может "открыть" любой файл, прочитать его, составить план на следующее действие и тд.

Т.е. повторять то, что делает программист.

Тупо залить 50 млн строк в память ИИ это уже сверх-интеллект. Это круто, но кажется, что можно и без этого обойтись.

S_S>Человек может "дообучиться" под конкретный большой проект — за пару недель освоится с новым большим контекстом.

S_S>Если GPT учить работать с большими системами, то очевидно, нужна возможность дообучить на конкретный проект — что то закешируется, для более быстрого доступа. Но обучать для такой работы сложнее, чем продолжать короткие тексты из интернета. Нужны обучающие примеры, где для одного большого проекта множество мелких задач.

В моём понимании тут важно не столько дообучение (никто за 2 недели ничему не учится), сколько дистилляция сути из разных участков. Понять структуру проекта, и под словом "понять" я понимаю именно некую выжимку, которая будет заливаться в следующие промпты. Понять принятый стиль. Понять, как проект собирать.
Отредактировано 20.10.2024 11:28 vsb . Предыдущая версия . Еще …
Отредактировано 20.10.2024 11:27 vsb . Предыдущая версия .
Re[7]: LLM: Конец тестовым заданиям на дом
От: Слава  
Дата: 20.10.24 12:52
Оценка: -1 :)
Здравствуйте, so5team, Вы писали:

S>
S>#include <iostream>

S>struct Data {
S>    const int & _i;

S>    explicit Data(int && i) = delete;
S>    explicit Data(const int & i) : _i{i} {}
S>};

S>int main() {
S>    Data d{std::min(42, 52)};
S>    std::cout << d._i << std::endl;
S>}
S>

S>https://wandbox.org/permlink/PTwl2nviaqb9Gq7J

S>Ожидаемо печатает 42. Но есть нюанс.


C++ на таком уровне я не знаю ( = delete — это что такое? move-конструктор?).
Но нюанс здесь, по-моему, заключается в том, что на С++ писать нельзя.
Re[3]: LLM: Конец тестовым заданиям на дом
От: Слава  
Дата: 20.10.24 12:55
Оценка:
Здравствуйте, Silver_S, Вы писали:

S_S>Рано или поздно начнут ограничивать ИИ, чтобы сохранить традиционные профессии.


Наиболее традиционной профессией является профессия долбака. И пока им ничего не угрожает. Я вот живу в доме, где местный бывший министр себе целый этаж квартир выкупил. Так и здесь регулярно кто-то долбит, то молотком, то перфоратором. Стараются, глядь, переделывают переделанное предыдущими долбаками.
Re[8]: LLM: Конец тестовым заданиям на дом
От: so5team https://stiffstream.com
Дата: 20.10.24 13:10
Оценка:
Здравствуйте, Слава, Вы писали:

С>C++ на таком уровне я не знаю ( = delete — это что такое? move-конструктор?).


Процитирую великих:

Он объяснит. К примеру вставляете ваш код и просите прокомментировать. Все расскажет.


С>Но нюанс здесь, по-моему, заключается в том, что на С++ писать нельзя.


Про это тоже спросите.
Re[5]: LLM: Конец тестовым заданиям на дом
От: bnk СССР http://unmanagedvisio.com/
Дата: 20.10.24 13:35
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Вот, навскидку, документацию по IEC61850 он не знает. Выдает бредятину.


Можно же документы отдельно скармливать, так же как и человеку типа дать сначала прочитать.
о1 по крайней мере научился находить ошибки в собственных рассуждениях (reasoning), так что до сакрального "не знаю" не так уж и далеко IMHO.

https://openai.com/index/learning-to-reason-with-llms/

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

Stage Level 1: Chatbots, AI with conversational language.
Stage Level 2: Reasoners, human-level problem solving <<=== GPT o1
Stage Level 3: Agents, systems that can take actions.
Stage Level 4: Innovators, AI that can aid in invention.
Stage Level 5: Organizations: AI that can do the work of an organization <=== толпы безработных
Отредактировано 20.10.2024 13:44 bnk . Предыдущая версия . Еще …
Отредактировано 20.10.2024 13:41 bnk . Предыдущая версия .
Отредактировано 20.10.2024 13:37 bnk . Предыдущая версия .
Re[9]: LLM: Конец тестовым заданиям на дом
От: Слава  
Дата: 20.10.24 15:01
Оценка: 3 (1) +1 :))
Здравствуйте, so5team, Вы писали:

S>

Он объяснит. К примеру вставляете ваш код и просите прокомментировать. Все расскажет.


С>>Но нюанс здесь, по-моему, заключается в том, что на С++ писать нельзя.


S>Про это тоже спросите.


Я не озаботился получением доступа к ChatGPT o-1, хотя технически я это могу сделать, или спросить какого-нибудь бота-прокси. Но я этого делать не хочу, и вот по каким причинам:

Дизайн и синтаксис С++ делали люди с херовым (плохим) художественным вкусом. К Rust и Perl, кстати, это тоже относится. Это сверхгениальные математики, которые очень любят сочетания закорючек. Для постороннего человека, даже человека вроде меня, который вообще-то давно занимается всем вот этим, и на всяком писал, ваши сверхкраткие закорючки С++ выглядят вот так:

Дзынь-чпок-перечпок, тумблер щёлк, 543 фью гипертронный перещёлк. Клымаранг укутан чкрюмб 28, 28, 28, 28 тыргемот употаммм Индира Ганди чпокк. Конец связи. Натакано на Северной железной дороге в 2427 году.


Есть язык Ада, где замысловатые конструкции выражаются словами, ключевыми словами. Есть Eiffel. Есть SQL, на котором тупые (в сравнении с гениальным разворачивателями циклов на С++) люди пишут простыни нечитаемой бизнес-логики, чьи правила не выводятся логическим образом из математики или чего-то подобного, а являются порождением полёта чьей-то бизнесовой мысли. То есть, догадаться там нельзя, там знать надо.

Так вот, если бы SQL имел такой же синтаксис, такой же стиль письма как С++, столь больших проектов на нём написать не получилось бы, как на SQL и силами этих же людей.

Много раз умные (поумнее многих) люди пытались С++ реформировать. Вам предлагали D, но упорные копатели закорючек (помните наверное момент с пейзанами в грязи в "Монти Пайтон и священный грааль"?) отказывались что-то менять. Их и так всё устраивает, бизнес тоже менять не хочет ничего, а вы уже привыкли, вдобавок у вас нет ни власти, ни политической воли. Вы не хотите делать удобно и понятно, вы не можете делать удобно и понятно, и вы не знаете, как это — удобно и понятно.

Я подозреваю, что существуют неоткрытые ещё фундаментальные законы, которые определяют, какой текст понимать легко, хоть машине, хоть человеку, а какой — сложно. Так вот, С++ в его нынешнем виде ужасен и сложен, и гордиться тут нечем. И что ChatGPT o-1, o-1-mini, Claude Sonnet и прочие его понимают плохо, так это потому что и вы его плохо понимаете. Потому что это плохой язык.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.