Как перестать бояться нейросети, и начать их повседневно использовать
Классическое программирование - это написание точных инструкций компьютеру -- что и когда делать. Но издавна была ещё другая идея -- "машинное обучение".
Вот например есть какая-то задача, есть огромный набор входных данных для неё, есть примеры правильных решений этой задачи для этих входных данных. Например, есть задача "научить терминатора искать себе мотоцикл", есть набор из миллиона фотографий, и миллион трудолюбивых миньонов тщательно вручную разметили, на каких фотках и где именно изображен мотоцикл. (Кстати, этими миньонами были и все мы, когда сайты вдруг заставляли нас "отметь на фото квадраты, в которых мотоциклы, иначе не пропущу дальше").
Сначала приходят математики, и подбирают функции-преобразователи, наиболее подходящие под задачу. Это скучные математические формулы, на входе цифры, в самой функции некие "коэффициенты", на выходе какие-то другие цифры.
Программисты решают, как именно преобразовать входные данные, чтобы скормить этим функциям, ведь функции не знают что такое "фотография", им нужно скормить что-то такое числовое, поэтому входные данные преобразуются в цифровую кашу, в некие единицы информации, они называются "токены".
Затем программисты создают заготовку нейросети, в виде кружева таких функций, но это ещё не обученная нейросеть, кружево пока что стандартное, все коэффициенты функций расставлены "от балды".
И начинается процесс жёсткого машинного обучения нейросетки.
Ей показывают входные данные (фотки), эти данные преобразуются в токены, токены протекают по кружеву функций, в итоге получаются выходные данные (ответ, где же именно на фотке мотоциклы), эти данные сверяются с правильным ответом, и если ответ нейросети неверный, ей даётся болезненный удар током и она судорожно начинает подкручивать коэффициенты своих функций так, чтобы ответы всё ближе и ближе были похожи на правильные.
Очень долгий процесс, очень затратный.
Зато, в случае когда нейросеть удалось обучить отвечать правильно на нашем наборе фоток, случается чудо -- эта нейросеть начинает уметь безошибочно находить любой мотоцикл на любом, абсолютно любом другом фото, на любом кадре с видеокамеры! Заметьте - она не хранит в себе миллион исходных фоток, она вообще даже не знает что такое "мотоцикл", более того -- она вообще не знает что такое "изображение", она просто хранит кружево настроенных функций, то есть набор каких-то коэффициентов, которые она подобрала при обучении. Этот набор не такой уж и большой, вполне вмещается в головной процессор Терминатора, ему заливают этот набор, и теперь он точно успешно найдёт себе мотоцикл.
Вот таким же макаром нейросети натаскивают на обработку разных задач и разных данных - изображений, музыки, видео, распознавания лиц и т.п., главное иметь огромный массив данных и правильные ответы, и понять, как эти данные преобразовать в токены и через какого рода функции эти токены прогонять.
Процесс натаскивания -- очень, очень затратный, нужны миллионы процессоров и гигаватты электроэнергии. Буйным цветом нейросети расцвели только недавно, когда появились такие технические возможности.
Зато в итоге, когда обучение успешно закончилось, получаем не такую уж и большую горстку коэффициентов, записываем их в айфон - и вот айфон уже умеет делать невероятные распознавания и обработку фотографий, причём сам, без обращения к интернету.
Вот одна из задач, называется LLM (большая языковая модель): собираем по открытым источникам как можно больше текстов, любых -- книги, письма, переписки в форумах, субтитры к фильмам, всё что угодно, любые примеры того, как людская раса изливает свои мысли в виде устного/письменного текста. И натаскиваем нейросеть на такую задачу -- научиться по началу текста предугадывать, как текст будет продолжен. И когда некоторые мировые компании нашли деньги на такую непростую задачу, и начали обучать нейросети на массиве текстов, то начали получаться интересные результаты - на полученных коэффициентах стало возможным запустить некий чат, который продолжал начатый разговор, и на первый взгляд вполне разумно. Любой диалог на любую тему!
Сначала чаты отвечали немного коряво, но по мере того как нейросеть дообучалась на всё больших и больших массивах данных, новые версии чатов стали отвечать на удивление гладко и умно! Это и правда впечатляет, но и немного огорчает -- значит, человечество на самом деле довольно скучное и предсказуемое, а вовсе не набор уникальных непредсказуемых личностей, как нам хотелось бы себя позиционировать.
Так всё же, нейросети разумные? Это и правда "искусственный интеллект", который выйдет из-под контроля и поработит мир?
Да вроде нет, нейросеть же не понимает смысла слов, более того, ей для обучения давали вовсе не слова, а выжимку из текста, в виде неких токенов. И она просто продолжает цепочку токенов.
Что на самом деле происходит, когда вы в ChatGPT вводите очередную свою реплику и нажимаете кнопку "отправить"?
Да ничего магического, просто весь ваш диалог, от самого начала и до конца (вместе с новой вашей репликой) заново летит на сервер ChatGPT, преобразуется в цепочку токенов, проходит через кружево настроенных (обученных) функций, примешивается некоторая доля случайности (чтобы ответы всегда были чуть разными), и в итоге получается прогноз -- как именно могла бы продолжиться эта цепочка токенов. Это продолжение преобразуется в слова и выводится вам как ответ.
То есть, ChatGPT имитирует продолжение диалога, не понимая сути диалога.
Сейчас нейронки бурно развиваются, LLM-чаты снабжают помощниками (агентами), которые позволяют уточнять и расширять ответы, например ходить в Интернет и уточнять/сверять ответ по свежим данным.
Также к текстовым моделям прикрутили другие модели, обученные на изображениях, музыке и т.п., и теперь LLM-чаты умеют продолжать чаты, в которых не только текст, но и картинки, и звуки, и много разнообразных данных. Для нейросетки это всё-равно лишь токены, она не понимает что изображено на картинке, она имитирует, из каких токенов бы состояла картинка в продолжении этого диалога, и показывает вам (вам конечно же выводится картинка не в виде токенов, а преобразованная в картинку). Потом вы пишете LLM-чату текстом просьбу "сделай на фотке волосы темнее", нейрочат прогоняет диалог заново, имитирует продолжение, но так как для создания продолжения ему нужно как-то учесть вашу просьбу, подключается другая модель, натренированная на изображениях, чат передаёт этой модели новый вариант задачи по созданию изображения (собрав параметры изображения по всему текстовому чату, с учетом последних правок и пожеланий), получает от неё ответ в виде токенов нового изображения, и интегрирует этот ответ в свой ответ. Вот такая командная работа разных моделей над одним вашим чатом.
Ну что, перестали бояться нейрочатов?
Давайте начнём их использовать в повседневных задачах.
Вот небольшая шпаргалка.
1. Сначала всегда проверяйте, какая выбрана модель -- где-то на странице чатика будет выпадайка со списком моделей. И ещё будет выпадайка всяких дополнительных параметров. Есть смысл выбрать самую свежую и мощную модель из доступных бесплатных, с опцией "глубокого размышления или думания" (мы уже выяснили, что думать нейронка не умеет, но будет перед каждым ответом мусолить ответ сама с собой, это повышает качество ответа). Ну и опцию "ходи в интернет для проверки актуальности информации" иногда полезно включать, чтобы сделанные нейрочатом выводы он сам же перепроверял по свежим источникам.
2. Держите в чистоте историю чата, именно вся эта история заново скармливается нейросети при каждом вашем следующем вопросе. Не давайте истории разрастаться слишком сильно -- в какой-то момент она превысит допустимый размер, и нейрочат вынужден будет читать не всю историю, а только выжимку из неё, что сильно снизит качество ответов. Например, если в процессе диалога задали какой-то уточняющий вопрос, получили ответ и этот вопрос/ответ не важен для всего диалога, просто сотрите этот вопрос/ответ, очистив историю чата от этого "мусора".
3. Начинайте диалог с чатом с правильной вводной части. В каком русле вы начинаете диалог, в таком русле нейрочат и будет имитировать продолжение диалога. Если начнёте очень кратко и сухо - продолжение будет "типовое-никакое", приторно-заискивающее. А если вы начнёте тепло и подробно, то эта теплота и подробность потом будет во всём чате. Вот способ сразу задать нужный окрас диалогу: нужно заявить подробно роли. Например "Привет, ты - опытный преподаватель физики, объясняешь уроки очень понятно и доходчиво. Я - ученик 5 класса, и мы сегодня на уроке изучаем синхрофазотрон. Я не очень понимаю как он работает, объясни пожалуйста понятнее." И всё - вместо сухого научного объяснения вы получите тёплое человеческое, и весь диалог пойдёт в нужном русле. Более того, можно заявить сразу десяток разнохарактерных ролей (по именам), и когда пишете новую реплику, указывать от чьего имени эта реплика и кому эта реплика адресована - получается забавная групповая беседа.
4. Как бы красиво и складно ни отвечал вам нейрочат, не забывайте - он не понимает что говорит, просто умело имитирует продолжение диалога. Иногда он не моргнув глазом уверенно задвигает вещи, не соответствующие реальности (галлюцинирует). Важные вещи нужно перепроверять. Если чат деградировал и пошёл в какую-то странную сторону, отмотайте чат немного назад и продолжите с нужного места заново, заложив в ваши вопросы наводку в правильную сторону.
В каких повседневных задачах нейронки нам могут помочь? Как их использовать?
* Как личного помощника, которые всегда под рукой (на Андроид-смартфонах вообще можно настроить, чтобы при долгом нажатии кнопки питания выскакивал Gemini и слушал голосовой приказ, ну прямо как "трое из ларца").
Эти помощники -- наикрутейшие всезнайки, их не смутит никакой вопрос, всегда уверенно ответят (ну или нагаллюцинируют, но как красиво!). Могут собирать данные из интернета, если дать такое задание, и не забыть включить опцию "поиск в сети".
Раньше о таких личных секретарях люди только мечтали, таких секретарей себе могли позволить только богачи, и вот теперь они есть у каждого из нас.
Пробуйте, задавайте любые вопросы, "что приготовить из подвядшей морковки, вялого пучка петрушки и полбанки иваси", "как проехать из Нижних Маклауш в Верхние, но чтобы не сильно трясло по дороге" и т.д.
* Как эксперта в областях, в которых вы не очень сильны. Например, можно кинуть в чат фото многостраничного Договора, который вас прессуют "быстрее подписать", и попросить нейронку проверить, нет ли каких-то сомнительных мест и опасных для вас условий. Да, нейронка может ошибиться и нагаллюцинировать -- но в любом случае, её помощь лучше, чем подписать Договор не глядя.
Никогда, никогда не забывайте про галлюцинации нейронок, например у них можно конечно спросить расшифровку медицинских диагнозов и анализов, но это ваше здоровье, перепроверьте несколько раз, проконсультируйтесь у врачей (у тех, которые берут знания из своего опыта, а не из тех же нейронок).
* Как психолога, службу поддержки. Выслушает, ответит, и это будет не "попытка диалога с бездушной железкой", современные нейронки ответят так, как ответил бы живой компетентный человек, у неё при обучении было достаточно примеров, и простых людей, и именитых профессоров. Представьте, что нейронка - это своеобразный мессенджер, в котором можно задавать вопросы всему человечеству сразу, и ответ будет от "усреднённого человечества". Пожалуй, разумнее всего будет сначала самому принимать какие-то жизненные решения, и потом обсуждать их с нейронкой как с близким другом -- тогда нейронка поможет выявить детали и тонкости, которых вы не заметили.
* Для обучения. Учить языки, новые предметы, подтягивать знания, просить нейронку погонять вас по нужной теме и проверить ответы -- это нереально круто, у вас всегда под рукой друг-учитель, знающий все предметы мира и готовый терпеливо вам помогать!
Отдельно хочу обратиться к школьникам и студентам -- не нужно тупо использовать нейронку для решения домашек и написания курсовых "за вас". Уж лучше это время потратить на беседу с нейронкой как с другом-отличником, который помогает вам сделать домашку. Прямо так и напишите в чате "Ты - мой друг-отличник, мы учимся в 5 классе, нам задали на дом задачу (приложу фотку). Друган, помоги разобраться самому в ней. Вот я так думаю: ...". И можно писать любые мысли и догадки, никто не посмеётся над ними. Нынешнее время -- золотое время для самообучения, никогда ещё это не было так легко и быстро.
* Для творчества. Источник идей, вдохновения. Мощнейший инструмент. Он не творит за вас, он помогает вам творить. И может выступить критиком ваших творений, беспощадным (если попросите) и потому очень полезным.
Ну а теперь конкретные примеры нейронок.
Семейство Gemini от Google. Отвечает всегда по делу, галлюцинирует редко. Можно бесплатно использовать текстовый чат и генерацию картинок. Картинки кстати рисует офигенно, и правки в картинки легко вносить -- прямо в чате, текстом.
На главной странице https://gemini.google.com можно выбрать в правой выпадайке модель ("Thinking" - это размышляющая, "Pro" - самая крутая но можно упереться в лимит бесплатных токенов). Левыми кнопками можно добавить в чат файлы (картинки, диаграммы, фотографии текстов, скриншоты), и выбрать особый режим, например генерацию картинок. Если что-то непонятно в интерфейсе -- просто спросите об этом сам Gemini, он подробно объяснит и поможет.
Есть ещё лабораторная версия Gemini, по адресу https://aistudio.google.com
Там немного неудобный интерфейс, но зато могут давать гораздо больше лимита токенов, а также есть всякие настройки нейросетки для экспериментов.
А вот ChatGPT -- https://chatgpt.com, примерно то же самое, ну разве что галлюцинирует, по ощущениям, чаще. И в лимит бесплатных токенов упираешься быстрее.
А вот Grok от Илона Маска -- https://grok.com/, очень своеобразный помощник, как будто всегда под веществами, но зато генерит ворох интересных идей, даже когда его не просят -- какие-то наркоманские картинки (да ещё и оживляет их), постоянно отвлекается на какие-то свои видения, но для творчества это самое то.
Вообще, учитывая как быстро развиваются нейрочаты, как быстро к ним прикручивают новые функции, я любую задачу пробовал бы делать сначала в них. Если они не умеют -- то так и скажут, и посоветуют где это сделать, в какой специализированной нейронке.
Например, музыку нейрочаты пока не умеют делать, но направят в сервис Suno.
О, кстати, это очень эффективный лайфхак: спрашивать у Gemini помощи в работе с другой нейросетью. Например, показать Gemini текст песни, описать своими словами, в каком стиле хотите сделать песню, попросить Gemini сделать ревизию текста песни (где нужно ударения расставить и "е" на "ё" заменить, а то Suno часто ударения путает). И вставить в Suno готовый размеченный текст, готовое описание стилей. Ляпота.
Позже я планирую выложить серию постов с подробным рассказом, как используя нейросети создать себе бесплатный сайт, даже не имея навыков программирования.
