Продолжение поста «Есть те, кто считает, что ИИ заменит всех программистов через 20 лет»
Тек вот, те кто хотя бы игрался с нейросетями знает один ключевой факт:
Прежде чем начать работать с нейросетью её надо обучить.
То есть предварительно нужно сделать табличку:
Ввод | Правильный вывод
И чем больше строк, тем точнее и лучше нейросеть будет потом выдавать результаты.
"Успехи" нейросетей в программировании - следствие того факта, что:
- процесс написания кода сильно формализован. Практики, паттерны и вот это вот всё.
- в целом одни и те же задачи решены тысячи раз в одних и тех же проектах.
Грубо говоря нейросеть анализирует промт ищет и выдаёт наиболее похожий шаблон РАНЕЕ НАПИСАННОГО кем-то кода.
Так же как и картинки - компиляции ранее нарисованных картинок и фото.
Тексты - компиляция ранее составленных кем-то текстов.
В чём проблема?
Без участия человека нейросеть невозможно обучить тому, чего принципиально не было раньше.
Почему? А кто определит, что информация на выходе нейросети является правильной?
Ввод и вывод нейросети - числа. Задача сводится к (грубо говоря):
01 34 B3 47
Ответ:
A8
А это правильный ответ? А если на вводе будет 04 8D FF 73, то ответ правильным будет? А кто будет отвечать, если A8 неправильный ответ? Если самолёт из-за этого упадёт, например?
Команды создающие и сопровождающие нейросети (там программистов далеко не большинство, кстати) не просто так работают. Разработка ИИ - хоть и не особо видимый со стороны, но адски мучительный процесс в котором есть огромное число проблем.
Так вот - чтобы ИИ решал задачи его надо обучить. Обучить ИИ может только человек (ну или иной биологический объект с достаточно высоким интеллектом).
Самообучение для +/- сложных задач не работает. Оно в теории возможно, просто нет и в обозримом будущем не будет достаточного числа вычислительных мощностей.
Нужно сгенерировать некий Х "Ввод | Правильный вывод" для обучения нейросети. Для этого нужен массив данных и провести верификацию, что правильно, а что - нет. И только потом обучить нейросеть. Допустим ввод - 1024 бита, вывод 64.
Что считать правильным выводом при правильном вводе опять же определит только человек. Причём тестирование ввод/вывод запрограммировать может тоже только человек, это закон управления. Если одна и та же программа будет генерировать и ввод и вывод, то смысла вывод иметь не будет.
Для генерации выборки нужно максимально большое число значений. Для 1024 бит на вход число возможных вариантов - 1,8 * 10^309. Для новой и уникальной задачи неизвестно когда набор данных для обучения наберётся. Предельный размер при тестировании 1 000 000 параметров в секунду на 286 порядков больше, чем время существования вселенной. И математические приёмы схождения здесь не сильно помогут. Да, они очень эффективны, но 286 порядков (10^286) это 286 порядков.
Самое главное. Если найдено хотя бы 1 решение новой задачи для обучения нейросети, то зачем её вообще обучать? Решение-то уже найдено.
Нейросети - безусловно важная и нужная вещь, но не всемогущая. Как и всё остальное в нашей жизни. Чудес и "серебрянных пуль" не бывает и они физически невозможны.
До нейросетей программист делал запрос в Гугл/Яндекс, изучал документацию, примеры кода и потом выдавал результат.
С нейросетью он получает "рыбу" решения, которую он по прошлым знаниям допиливает, гораздо меньше обращаясь к поисковикам.
Кстати, нейросети вполне себе заменяются шаблонизаторами и генераторами кода. Успешно и на практике. С гораздо более качественным результатом.
Станки с ЧПУ не заменили токарей, как многие полагают. Вместо старых токарей пришли мастера по работе с ЧПУ станками, программисты, инженер-разработчики станков с ЧПУ... Одни профессии были замещены другими.
То же самое когда-то будет и в ИТ. Вместо "старых" программистов будут новые, которые работают более быстро и немного по другому.
UPD. Вопрос - а почему нам с каждого утюга обещают заменить программистов ИИ?
- Я научу врать ишака! –
Сказал болтун султану, -
Мне дайте злата два мешка,
Лет сорок – для натаски.
- Какой дурак! – кричал народ,
Зачем поспорил с шахом?
Ты, Насретдин, тупой урод!
Поставил жизнь на карту!
Хоть пятьдесят, хоть сотню лет -
Ты не научишь ,олух!
Нет, не сносить башки тебе:
Ишак не скажет слово!
- За сорок лет помрет ... ишак,
Иль я, иль сам правитель!
Зато потрачу два мешка
На песни, женщин, сытость!
Посмотрите сколько денег получают разработчики ИИ в мире и всё станет ясно ;-)
