Денис Соломатин – Искусственный интеллект от А до Б (страница 30)
Оперативное проектирование заключается в том, чтобы заставить модели ИИ выражать желаемое поведение только на основе входных данных, не изменяя веса модели. В статье об оценке Gemini подчеркивается влияние оперативного проектирования на производительность модели. Используя другую технику оперативного проектирования, производительность Gemini Ultra на MMLU выросла с 83,7% до 90,04%. Можно заставить модель делать удивительные вещи с помощью одних только подсказок. Правильно подобранная инструкция позволяет получить модель для выполнения нужной вам задачи, в выбранном вами формате. Оперативное проектирование – это не просто указание модели, что делать. Речь также идет о том, чтобы дать модели необходимый контекст и инструменты для выполнения поставленной задачи. Для сложных задач с длинным контекстом также может потребоваться предоставить модели систему управления памятью, чтобы модель могла отслеживать свою историю.
Интерфейс ИИ означает создание интерфейса для взаимодействия конечных пользователей с вашими приложениями ИИ. До появления базовых моделей только организации, обладающие достаточными ресурсами для разработки моделей ИИ, могли разрабатывать приложения ИИ. Эти приложения часто встраивались в существующие продукты организаций. Например, обнаружение мошенничества было встроено в Stripe, Venmo и PayPal. Рекомендательные системы были частью социальных сетей и медиаприложений, таких как Netflix, TikTok и Spotify. С помощью базовых моделей каждый может создавать приложения ИИ. Вы можете обслуживать свои приложения ИИ как отдельные продукты или встраивать их в другие продукты, включая продукты, разработанные другими людьми. Например, ChatGPT и Perplexity являются автономными продуктами, в то время как Copilot от GitHub обычно используется в качестве плагина в VSCode, а Grammarly обычно используется в качестве расширения браузера для Google Docs. Midjourney можно использовать как через отдельное веб-приложение, так и через интеграцию в Discord.
Должны быть инструменты, которые предоставляют интерфейсы для автономных приложений ИИ или упрощают интеграцию ИИ в существующие продукты. Вот лишь некоторые из интерфейсов, которые набирают популярность для приложений ИИ: автономные веб-приложения, приложения для настольных компьютеров и мобильные приложения; расширения для браузера, которые позволяют пользователям быстро запрашивать модели ИИ во время просмотра; чат-боты интегрированы в приложения для чата, такие как Slack, Discord, WeChat и WhatsApp; многие продукты, включая VSCode, Shopify и Microsoft 365, предоставляют API, которые позволяют разработчикам интегрировать ИИ в свои продукты в виде подключаемых модулей и надстроек.
В то время как интерфейс чата является наиболее часто используемым, интерфейсы ИИ также могут быть голосовыми (например, с голосовыми помощниками) или воплощенными (например, в дополненной и виртуальной реальности). Эти новые интерфейсы искусственного интеллекта также означают новые способы сбора и извлечения отзывов пользователей. Интерфейс беседы значительно упрощает пользователям обратную связь на естественном языке, но эту обратную связь сложнее извлечь.
Повышенное внимание к разработке приложений, особенно интерфейсов, приближает разработку ИИ к полномасштабной разработке. Растущее значение интерфейсов приводит к сдвигу в дизайне инструментов искусственного интеллекта, чтобы привлечь больше фронтенд-инженеров. Традиционно, ML-инженерия ориентирована на Python. До появления базовых моделей наиболее популярные фреймворки машинного обучения поддерживали в основном API Python. Сегодня Python по-прежнему популярен, но также расширяется поддержка JavaScript API, таких как LangChain.js, Transformers.js, библиотека Node от OpenAI и AI SDK от Vercel.
В то время как многие инженеры ИИ приходят из традиционного машинного обучения, все больше людей приходят из веб-разработки или полного стека. Преимущество инженеров полного стека перед традиционными инженерами машинного обучения заключается в их способности быстро превращать идеи в демонстрации, получать обратную связь и выполнять итерации. При традиционном проектировании машинного обучения вы обычно начинаете со сбора данных и обучения модели. Сборка продукта идет в последнюю очередь. Тем не менее, с учетом того, что модели ИИ уже сегодня доступны, можно начать с создания продукта и инвестировать в данные и модели только после того, как продукт покажет свои перспективы. В традиционной инженерии машинного обучения разработка модели и разработка продукта часто являются разрозненными процессами, и во многих организациях инженеры машинного обучения редко участвуют в принятии решений о продукте. Однако при работе с базовыми моделями инженеры ИИ, как правило, гораздо больше участвуют в создании продукта.
Для создания приложений с помощью базовых моделей сначала необходимы базовые модели. Хотя вам не нужно знать, как разработать модель для ее использования, высокоуровневое понимание поможет вам решить, какую модель использовать и как адаптировать ее к вашим потребностям. Обучение базовой модели – невероятно сложный и затратный процесс. Те, кто умеет это делать хорошо, скорее всего, не смогут раскрыть секретный соус из-за соглашений о конфиденциальности.
Из-за растущего недостатка прозрачности в процессе обучения моделей фундаментов становится все трудности с пониманием всех проектных решений, которые используются при создании модели. В целом, однако, различия в базовых моделях можно проследить до решений об обучающих данных, архитектуре и размере модели, а также о том, как они обрабатываются после обучения в соответствии с предпочтениями человека. Поскольку модели учатся на данных, их обучающие данные многое говорят об их возможностях и ограничениях. Учитывая доминирование архитектуры трансформаторов, может показаться, что модельная архитектура не является выбором. Вы можете задаться вопросом, что делает архитектуру трансформатора настолько особенной, что она продолжает доминировать? Сколько времени пройдет, прежде чем на смену придет другая архитектура, и как может выглядеть эта новая архитектура?
Процесс обучения модели часто делится на претренинг и посттренинг. Предварительное обучение делает модель работоспособной, но не обязательно безопасной или простой в использовании. Вот тут-то и приходит на помощь пост-тренинг. Цель пост-тренинга – привести модель в соответствие с предпочтениями человека. Но что именно является человеческим предпочтением? Как его можно представить таким образом, чтобы модель могла обучаться? То, как разработчик модели выравнивает свою модель, оказывает значительное влияние на удобство использования модели. Хотя большинство людей понимают влияние обучения на производительность модели, влияние выборки часто упускается из виду. Выборка – это способ, с помощью которого модель выбирает выходные данные из всех возможных вариантов. Это, пожалуй, одна из самых недооцененных концепций в ИИ. Мало того, что выборка объясняет многие, казалось бы, сбивающие с толку модели поведения ИИ, включая галлюцинации и несоответствия, но выбор правильной стратегии выборки также может значительно повысить производительность модели при относительно небольших усилиях.
Модель ИИ хороша настолько, насколько хороши данные, на которых она была обучена. Если в обучающих данных нет вьетнамского языка, модель не сможет переводиться с английского на вьетнамский. Аналогичным образом, если модель классификации изображений видит только животных в своем обучающем наборе, она не будет хорошо работать на фотографиях растений. Если вы хотите, чтобы модель улучшила выполнение определенной задачи, вы можете включить больше данных для этой задачи в обучающие данные. Однако собрать достаточно данных для обучения большой модели непросто, и это может быть дорого. Разработчикам моделей часто приходится полагаться на доступные данные, даже если эти данные не совсем соответствуют их потребностям.
Например, распространенным источником обучающих данных является Common Crawl, созданный некоммерческой организацией, которая время от времени сканирует веб-сайты в Интернете. В 2022 и 2023 годах эта организация ежемесячно сканировала примерно 2–3 миллиарда веб-страниц. Google предоставляет чистое подмножество Common Crawl, которое называется Colossal Clean Crawled Corpus, или сокращенно C4.
Качество данных Common Crawl и C4 в определенной степени сомнительно – подумайте о кликбейте, дезинформации, пропаганде, теориях заговора, расизме, женоненавистничестве и обо всех сомнительных веб-сайтах, которые вы когда-либо видели или избегали в Интернете. Исследование, проведенное Washington Post, показывает, что 1000 наиболее распространенных веб-сайтов в наборе данных включают несколько СМИ, которые занимают низкие позиции по шкале надежности NewsGuard. Проще говоря, Common Crawl содержит множество фейковых новостей.
Тем не менее просто потому, что Common Crawl доступен, его вариации используются в большинстве базовых моделей, которые раскрывают свои источники обучающих данных, включая GPT-3 от OpenAI и Gemini от Google. Возможно, Common Crawl также используется в моделях, которые не раскрывают свои обучающие данные. Чтобы избежать пристального внимания как со стороны общественности, так и со стороны конкурентов, многие компании перестали раскрывать эту информацию.