Как стать автором
Поиск
Написать публикацию
Обновить

ИИ для «чайников»

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров6.1K
ИИ у нас есть, у нас ума не хватает
ИИ у нас есть, у нас ума не хватает

Периодически приходится делиться представлением об ИИ с далекими от него людьми, при этом приходится каждый раз изобретать простое объяснение принципа его работы. Кажется что такое объяснение полезно: часто даже на серьезных презентациях слышатся восторженные заявления о "магии ИИ", использование которого автоматически ведет к успеху, поскольку "людям нравится ИИ". Хочется кратко и доступно, "на пальцах" изложить, что такое ИИ, как он функционирует и какие задачи способен решать.

Что такое ИИ

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

Нейронные сети сами по себе не новость, изучаются и развиваются достаточно давно.
Современная революция в нейросетях получилась из того что:

  1. Накопилось очень много оцифрованных данных,

  2. Вычислительные мощности позволили тренировать на этих данных очень большую нейросеть.

  3. И она научилась на человекочитаемые запросы генерировать человекочитаемые ответы

Вот это и называется LLM.

Что такое LLM

Это нейросеть, то есть сеть из нейронов. У каждого нейрона несколько входов от других нейронов, и один выход. По входам нейрона приходят какие-то числа, нейрон вычисляет от них функцию, выдает на выход результат: f(x1, x2, x3, ...) -> y. Берет входные данные с какими-то весами, выдает выходное число.

Берем запрос пользователя, переводим его в числа, числа пихаем входным нейронам нейросети, они вычисляют результаты, отправляют их следующим нейронам, те снова вычисляют и отправляют следующим, и так далее. В итоге на выходе нейросети получаем какие-то числа, переводим их в текст.

На похожие запросы нейросеть выдает похожие ответы, и даже лучше: на похожие кусочки запросов выдает похожие кусочки ответов. Так как ее обучили на очень большой выборке, а вы не Стивен Хокинг и не Альберт Эйнштейн, кусочки вашего запроса есть в кусочках данных, на которых нейросеть училась. И она собирает ответ на ваш запрос из этих кусочков: делит ваш запрос на кусочки, ищет по кусочкам ответы (учитывая соседние входные кусочки), склеивает ответы в связный текст.

Обучение LLM

Обучение LLM, если примитивно, выглядит так: набросали как бог на душу положит миллиарды нейронов и связи между ними, даем сети на вход запрос, смотрим на ответ. Чем меньше нам нравится ответ, тем ниже делаем вес сработавшим нейронам. Чем лучше ответ, тем выше делаем вес.

Повторяем триллионы раз на большой куче данных.

Получилась какая-то сеть: перечень нейронов, связей между ними и функций с весами.
Теперь просто задаем вопрос и вычисляем ответ нейросети, никак не меняя веса - вот с этим и работаем.

Дообучение LLM

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

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

Один пример: если ответы нейросети понравились пользователю, тогда поощрим сработавшие нейроны.

Другой пример: если ответы нейросети понравились другой нейросети, тогда поощрим сработавшие нейроны.
И так далее.

Вычисления и GPU

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

Чтобы посчитать ответ нейросети нужно посчитать много функций в большом количестве нейронов. GPU позволяет вести такие расчеты параллельно, т.к. функции в нейронах простые, и связи между нейронами несложные.

Инструменты и функции, tools

К нейронам нейросети можно подключить не только генерацию текста, но и вызов какой-нибудь функции. Например, интернет-поиск, открывание и закрывание штор и т.д.

Следствия

  • Необъяснимая работа
    Изначально мы набросали более-менее случайно миллиарды нейронов, обучили их на триллионах данных в случайном порядке. Задаем нейросети вопрос, получаем ответ. Но объяснить "почему" ответ именно такой не можем: за ответом нет простой человеческой логики, он такой потому что нейросеть видела похожие комбинации кусочков запроса.

  • Галлюцинации
    Так как нейросеть не думает, а составляет ответ из кусочков виденных ранее данных, она умеет галлюцинировать, то есть ошибочно на взгляд пользователя отвечать на запрос.
    Например, недавно ИИ-подсказка в поиске Google на голубом глазу на запрос "django functions framework" рекомендовала пойти на github и практически показывала куски документации этого несуществующего проекта.

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

  • Качество ответа
    Для обучения большой нейросети нужно много данных: примеров запрос-ответ. От качества этих данных сильно зависит качество работы нейросети. Чем больше берем данных, тем хуже их качество.

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

Так что качество ответа нейросети обычно ниже качества ответа эксперта. Но часто нам сойдет ответ и среднего качества.

  • Правдивая ложь У нейросети нет понятия правды и лжи. За что поощряли при обучении, то и "хорошо". Например, обученная в американском интернете нейросеть будет рассказывать что во Второй Мировой Войне победили американцы, а обученная в рунете нейросеть - что победил СССР. Может дойти до того что если спросить на английском - ответит что выиграли США, если на русском - что СССР.

Трюки

Принципиальная схема работы понятна, теперь хочется максимизировать пользу, бороться с минусами нейросети, пытаться прикрутить разнообразные костыли. Получаются всякие трюки:

  • Температура
    "А давайте будем слегка случайным образом шуметь в процессе генерации ответа, чтоб задействовались посторонние нейроны".
    В запросе выставляем температуру от 0 до 1, чем выше температура тем более "творческим" получится ответ. Чем ниже температура, тем больше ответ будет опираться на "факты", то есть меньше будет случайностей при генерации.

  • CoT (Chain-of-thoughts) prompting
    "А давайте будем спрашивать у нейросети пошаговое решение нашей задачи".
    Оказывается что на мелких шагах у нейросети меньше простора для ошибок. Использовать будем только конечный результат, а промежуточные шаги просто проверяем.

  • Few-shot prompting
    "А давайте пихать в вопрос нейросети примеры вопросов и ответов, чтоб ей было понятней чего от нее ждем".

  • RAG
    "А давайте пихать в вопрос к нейросети кусочки информации, чтоб она эту информацию использовала при генерации ответа".
    Например, для этого надо нашу внутреннюю информацию (архив документов) собрать, перевести в текст, поделить на кусочки, проиндексировать и чем-то выбирать какие кусочки этой информации будем вставлять в запрос.

  • LORA
    "А давайте прицепим к нашей основной нейросети небольшую нейросеть-паразита. Ее обучим чему нам надо, она будет усиливать или ослаблять сигналы основной нейросети".
    А учить небольшую нейросеть сильно проще чем большую.

  • Обрезка (pruning) LLM
    "А давайте из готовой нейросети выкинем лишнее?".
    Например, выкинем очень слабые связи между нейронами и слабо работающие нейроны. Тогда нейросеть уменьшится, но для каких-то случаев ухудшатся ответы. Зато такая нейросеть меньше по объему и проще считается.

  • Дистилляция (distillation) LLM
    "А давайте научим простую нейросеть вести себя как сложная".
    Зачем содержать умного специалиста с большим багажом знаний, он стоит дорого, умничает, а нужны нам от него простые действия. Возьмем джуна, пусть научится просто повторять за мастером и не отсвечивать.

  • LIMO
    "А давайте доучим обученную нейросеть, но не всему подряд, а качественно выбранным примерам с рассуждениями".
    Оказывается, если обучать логическим задачкам целенеправленно, сильно хвалить и не обучать мусору, нейросеть будет лучше имитировать логические рассуждения. Внезапно.

  • Reasoning
    "А давайте работу в стиле CoT вкорячим прям в логику работы самой нейросети".
    Нейросеть пусть сама автоматически пытается все задачи решать пошагово.

Словарик

  • Промпт (prompt)
    запрос к нейросети чтоб получить нужный пользователю ответ.
    Молитва, в том смысле что четких правил нет, есть подходы. И надо стараться уговаривать конкретную нейросеть конкретным образом, надеяться возбудить нужные нейроны и чтоб она выдала приемлемый результат. Получаем "Кто верит в Магомета, кто в Аллаха, кто в Исуса..." - кому-то лучше отвечает Deepseek, кому-то ChatGPT, кому-то Claude.

  • Prompt-инжиниринг
    навык составления молитв в сторону нейросети.
    Составление хорошей молитвы требует серьезной работы и духовной практики, вплоть до появления отдельной профессии промпт-инженера ("LLM-попа").

  • AI-ассистент
    нейросеть, использующая данные пользователя.

  • AI-агент
    нейросеть с подключенной возможностью вызова функций, возможно памятью, целью и каким-нибудь небольшим бизнес-процессом.

  • MCP
    протокол для запуска нейросетью функций на MCP-сервере пользователя во время выполнения запроса пользователя.

    Пример: MCP-сервер умеет нажимать большую красную кнопку, подключили этот сервер к нейросети, нейросеть в процессе генерации ответа на кодовое слово задевает нужные нейроны, отправляет MCP-серверу команду нажать кнопку, сервер нажимает кнопку. Занавес.

    Можно разрабатывать свои MCP-серверы, описывать доступные нейросети кнопки и подключать их к нейросети при запросе.

  • Ollama
    программа, которая позволяет скачать и запустить готовую нейросеть

  • HuggingFace
    библиотека готовых нейросетей

  • LangChain
    python-библитека чтоб писать запускаемые нейросетью функции

  • n8n
    платформа автоматизации бизнес-процессов с набором интеграций с источниками данных и хорошей интеграцией с ИИ

Какие задачи решает LLM

Исходя из архитектуры и подходов понятно, что LLM решает задачи нечеткого сопоставления кусочков информации:

  1. Перевод текста с одного языка на другой и обратно: с русского на английский, с программистского на журналистский, с недружелюбного на дружелюбный, с длинного на короткий (суммаризация), с кошачьего на человеческий, из звуков в буквы, текста в картинку.

  2. Перевод текста в структурированные данные и обратно, как следствие: классификация, вызов функций, генерация текста и т.д.

Выводы

  1. ИИ работает с информацией лучше большинства людей. Если результат LLM понимать не как "генерацию текста", а как "генерацию мыслей", то мыслями он обгоняет большинство уже сейчас.

  2. ИИ ускоряет распространение знаний. Средний уровень знаний по всем вопросам становится еще доступней каждому.

  3. ИИ меняет подход к работе с информацией. Быстрая генерация и сокращение текстов помогают быстро переходить от сути к деталям и обратно.

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

Пример: производительность труда в России на порядок ниже чем на Западе. Резерв по улучшению производительности труда на порядок в стране есть, как ее улучшить понятно и без ИИ. Появится ИИ и будет говорить о производительности труда то же самое что и сейчас говорят умные люди, только на несколько порядков быстрее. Ситуация от этого не улучшится.

Выводы для человека

  1. ИИ не "думает" (хотя есть попытки прикрутить к нему рассуждения).

  2. ИИ может перекладывать информацию из одного вида в другой. Если ваша работа в этом - ИИ может взять ее на себя.

  3. ИИ может улучшить вашу работу с информацией до среднего качества там, где вы не специалист.

  4. ИИ может дать вам заготовку среднего качества для доработки там, где вы специалист.

  5. ИИ не заменит человека, но человек с ИИ заменит несколько человек без ИИ.

Выводы для бизнеса

  1. ИИ может оцифровать недоступные ранее для оцифровки данные.

  2. ИИ позволяет автоматизировать не автоматизированные ранее процессы.

  3. ИИ это дешевый помощник для каждого сотрудника.

При этом ИТ-инфраструктура компаний сейчас не приспособлена к этому новому изменению.
Можно ждать когда ИИ встроится во все продукты, станет общепринятым и будет у всех. Тогда и купить.
Но тогда окажешься в позиции догоняющего: купить и внедрить придется просто чтобы выжить на рынке.
Если сейчас правильно выбрать направление автоматизации можно сильно выиграть в бизнесе, получить серьезное преимущество.

Итого

Вот так видится объяснение "на пальцах", без деталей, логики работы ИИ. Мне самому оно бы сильно помогло начального понимания принципов работы. Ничего не напутал? Буду рад обсуждению )

Теги:
Хабы:
+11
Комментарии32

Публикации

Ближайшие события